src/Sema.zig | 1753 ++------ src/Sema/arith.zig | 1609 ++++++++ src/Value.zig | 1202 ++---- src/Zcu.zig | 48 +- test/behavior/floatop.zig | 4 - test/behavior/math.zig | 137 +- test/behavior/vector.zig | 2 + test/behavior/x86_64/math.zig | 101 +- test/cases/compile_errors/add_assign_on_undefined_value.zig | 4 +- test/cases/compile_errors/add_on_undefined_value.zig | 24 - test/cases/compile_errors/assign_to_constant_destructure.zig | 4 +- test/cases/compile_errors/assign_to_constant_variable.zig | 36 +- test/cases/compile_errors/comptime_vector_overflow_shows_the_index.zig | 4 +- test/cases/compile_errors/div_assign_on_undefined_value.zig | 4 +- test/cases/compile_errors/div_on_undefined_value.zig | 11 - test/cases/compile_errors/mult_assign_on_undefined_value.zig | 4 +- test/cases/compile_errors/mult_on_undefined_value.zig | 38 - test/cases/compile_errors/mult_sat_on_undefined_value.zig | 38 - test/cases/compile_errors/mult_wrap_on_undefined_value.zig | 38 - test/cases/compile_errors/non-pure_function_returns_type.zig | 2 - test/cases/compile_errors/signed_integer_remainder_division.zig | 2 - test/cases/compile_errors/specify_enum_tag_type_that_is_too_small.zig | 17 +- test/cases/compile_errors/sub_assign_on_undefined_value.zig | 4 +- test/cases/compile_errors/sub_on_undefined_value.zig | 20 - test/cases/compile_errors/unable_to_evaluate_expr_inside_cimport.zig | 8 +- test/cases/compile_errors/undef_arith_is_illegal.zig | 6885 ++++++++++++++++++++++++++++++++ test/cases/compile_errors/undef_arith_returns_undef.zig | 2047 ++++++++++ 27 files changed, 11381 insertions(+), 2665 deletions(-)