authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-01-29 12:29:40-05:00
committergravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-01-31 23:00:34-05:00
log8195b64f575acaed9dbc59e745a98acebb71dc60
treee35412d6da9ee75806497c30818a199ef6461f74
parentc44be99f1abff2ab67d69964efecca380b96219e

x86_64: rewrite scalar float conversions


2 files changed, 8508 insertions(+), 1226 deletions(-)

src/arch/x86_64/CodeGen.zig+978-45
......@@ -1339,7 +1339,7 @@ fn addExtraAssumeCapacity(self: *CodeGen, extra: anytype) u32 {
13391339 self.mir_extra.appendAssumeCapacity(switch (field.type) {
13401340 u32 => @field(extra, field.name),
13411341 i32, Mir.Memory.Info => @bitCast(@field(extra, field.name)),
1342 bits.FrameIndex => @intFromEnum(@field(extra, field.name)),
1342 FrameIndex => @intFromEnum(@field(extra, field.name)),
13431343 else => @compileError("bad field type: " ++ field.name ++ ": " ++ @typeName(field.type)),
13441344 });
13451345 }
......@@ -2499,8 +2499,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
24992499 .cmp_lt_errors_len => try cg.airCmpLtErrorsLen(inst),
25002500
25012501 .bitcast => try cg.airBitCast(inst),
2502 .fptrunc => try cg.airFptrunc(inst),
2503 .fpext => try cg.airFpext(inst),
25042502 .intcast => try cg.airIntCast(inst),
25052503 .trunc => try cg.airTrunc(inst),
25062504 .is_non_null => try cg.airIsNonNull(inst),
......@@ -14558,8 +14556,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1455814556 } },
1455914557 }, .{
1456014558 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
14561 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1456214559 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any },
14560 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1456314561 .patterns = &.{
1456414562 .{ .src = .{ .to_mem, .none } },
1456514563 },
......@@ -14598,8 +14596,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1459814596 } },
1459914597 }, .{
1460014598 .required_features = .{ .@"64bit", .lzcnt, null, null },
14601 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1460214599 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any },
14600 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1460314601 .patterns = &.{
1460414602 .{ .src = .{ .to_mem, .none } },
1460514603 },
......@@ -14637,8 +14635,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1463714635 } },
1463814636 }, .{
1463914637 .required_features = .{ .@"64bit", null, null, null },
14640 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1464114638 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any },
14639 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1464214640 .patterns = &.{
1464314641 .{ .src = .{ .to_mem, .none } },
1464414642 },
......@@ -14676,8 +14674,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1467614674 } },
1467714675 }, .{
1467814676 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
14679 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1468014677 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
14678 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1468114679 .patterns = &.{
1468214680 .{ .src = .{ .to_mem, .none } },
1468314681 },
......@@ -14716,8 +14714,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1471614714 } },
1471714715 }, .{
1471814716 .required_features = .{ .@"64bit", .lzcnt, null, null },
14719 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1472014717 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
14718 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1472114719 .patterns = &.{
1472214720 .{ .src = .{ .to_mem, .none } },
1472314721 },
......@@ -14755,8 +14753,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1475514753 } },
1475614754 }, .{
1475714755 .required_features = .{ .@"64bit", null, null, null },
14758 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1475914756 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
14757 .dst_constraints = .{.{ .scalar_int_is = .byte }},
1476014758 .patterns = &.{
1476114759 .{ .src = .{ .to_mem, .none } },
1476214760 },
......@@ -14794,8 +14792,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1479414792 } },
1479514793 }, .{
1479614794 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
14797 .dst_constraints = .{.{ .scalar_int_is = .word }},
1479814795 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any },
14796 .dst_constraints = .{.{ .scalar_int_is = .word }},
1479914797 .patterns = &.{
1480014798 .{ .src = .{ .to_mem, .none } },
1480114799 },
......@@ -14834,8 +14832,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1483414832 } },
1483514833 }, .{
1483614834 .required_features = .{ .@"64bit", .lzcnt, null, null },
14837 .dst_constraints = .{.{ .scalar_int_is = .word }},
1483814835 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any },
14836 .dst_constraints = .{.{ .scalar_int_is = .word }},
1483914837 .patterns = &.{
1484014838 .{ .src = .{ .to_mem, .none } },
1484114839 },
......@@ -14873,8 +14871,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1487314871 } },
1487414872 }, .{
1487514873 .required_features = .{ .@"64bit", null, null, null },
14876 .dst_constraints = .{.{ .scalar_int_is = .word }},
1487714874 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .qword } }, .any },
14875 .dst_constraints = .{.{ .scalar_int_is = .word }},
1487814876 .patterns = &.{
1487914877 .{ .src = .{ .to_mem, .none } },
1488014878 },
......@@ -14912,8 +14910,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1491214910 } },
1491314911 }, .{
1491414912 .required_features = .{ .@"64bit", .false_deps_lzcnt_tzcnt, .lzcnt, null },
14915 .dst_constraints = .{.{ .scalar_int_is = .word }},
1491614913 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
14914 .dst_constraints = .{.{ .scalar_int_is = .word }},
1491714915 .patterns = &.{
1491814916 .{ .src = .{ .to_mem, .none } },
1491914917 },
......@@ -14952,8 +14950,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1495214950 } },
1495314951 }, .{
1495414952 .required_features = .{ .@"64bit", .lzcnt, null, null },
14955 .dst_constraints = .{.{ .scalar_int_is = .word }},
1495614953 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
14954 .dst_constraints = .{.{ .scalar_int_is = .word }},
1495714955 .patterns = &.{
1495814956 .{ .src = .{ .to_mem, .none } },
1495914957 },
......@@ -14991,8 +14989,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1499114989 } },
1499214990 }, .{
1499314991 .required_features = .{ .@"64bit", null, null, null },
14994 .dst_constraints = .{.{ .scalar_int_is = .word }},
1499514992 .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .xword, .is = .xword } }, .any },
14993 .dst_constraints = .{.{ .scalar_int_is = .word }},
1499614994 .patterns = &.{
1499714995 .{ .src = .{ .to_mem, .none } },
1499814996 },
......@@ -16356,8 +16354,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1635616354 },
1635716355 } },
1635816356 }, .{
16359 .dst_constraints = .{.{ .bool_vec = .byte }},
1636016357 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte } },
16358 .dst_constraints = .{.{ .bool_vec = .byte }},
1636116359 .patterns = &.{
1636216360 .{ .src = .{ .to_mem, .to_mem } },
1636316361 },
......@@ -16388,8 +16386,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1638816386 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
1638916387 } },
1639016388 }, .{
16391 .dst_constraints = .{.{ .bool_vec = .byte }},
1639216389 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word } },
16390 .dst_constraints = .{.{ .bool_vec = .byte }},
1639316391 .patterns = &.{
1639416392 .{ .src = .{ .to_mem, .to_mem } },
1639516393 },
......@@ -16420,8 +16418,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1642016418 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
1642116419 } },
1642216420 }, .{
16423 .dst_constraints = .{.{ .bool_vec = .byte }},
1642416421 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword } },
16422 .dst_constraints = .{.{ .bool_vec = .byte }},
1642516423 .patterns = &.{
1642616424 .{ .src = .{ .to_mem, .to_mem } },
1642716425 },
......@@ -16453,8 +16451,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1645316451 } },
1645416452 }, .{
1645516453 .required_features = .{ .@"64bit", null, null, null },
16456 .dst_constraints = .{.{ .bool_vec = .byte }},
1645716454 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword } },
16455 .dst_constraints = .{.{ .bool_vec = .byte }},
1645816456 .patterns = &.{
1645916457 .{ .src = .{ .to_mem, .to_mem } },
1646016458 },
......@@ -16485,8 +16483,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1648516483 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
1648616484 } },
1648716485 }, .{
16488 .dst_constraints = .{.{ .bool_vec = .byte }},
1648916486 .src_constraints = .{ .any_scalar_int, .any_scalar_int },
16487 .dst_constraints = .{.{ .bool_vec = .byte }},
1649016488 .patterns = &.{
1649116489 .{ .src = .{ .to_mem, .to_mem } },
1649216490 },
......@@ -16524,8 +16522,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1652416522 .{ ._, ._b, .j, .@"0b", ._, ._, ._ },
1652516523 } },
1652616524 }, .{
16527 .dst_constraints = .{.{ .bool_vec = .dword }},
1652816525 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte } },
16526 .dst_constraints = .{.{ .bool_vec = .dword }},
1652916527 .patterns = &.{
1653016528 .{ .src = .{ .to_mem, .to_mem } },
1653116529 },
......@@ -16557,8 +16555,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1655716555 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
1655816556 } },
1655916557 }, .{
16560 .dst_constraints = .{.{ .bool_vec = .dword }},
1656116558 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word } },
16559 .dst_constraints = .{.{ .bool_vec = .dword }},
1656216560 .patterns = &.{
1656316561 .{ .src = .{ .to_mem, .to_mem } },
1656416562 },
......@@ -16590,8 +16588,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1659016588 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
1659116589 } },
1659216590 }, .{
16593 .dst_constraints = .{.{ .bool_vec = .dword }},
1659416591 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword } },
16592 .dst_constraints = .{.{ .bool_vec = .dword }},
1659516593 .patterns = &.{
1659616594 .{ .src = .{ .to_mem, .to_mem } },
1659716595 },
......@@ -16624,8 +16622,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1662416622 } },
1662516623 }, .{
1662616624 .required_features = .{ .@"64bit", null, null, null },
16627 .dst_constraints = .{.{ .bool_vec = .dword }},
1662816625 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword } },
16626 .dst_constraints = .{.{ .bool_vec = .dword }},
1662916627 .patterns = &.{
1663016628 .{ .src = .{ .to_mem, .to_mem } },
1663116629 },
......@@ -16657,8 +16655,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1665716655 .{ ._, ._nc, .j, .@"0b", ._, ._, ._ },
1665816656 } },
1665916657 }, .{
16660 .dst_constraints = .{.{ .bool_vec = .dword }},
1666116658 .src_constraints = .{ .any_scalar_int, .any_scalar_int },
16659 .dst_constraints = .{.{ .bool_vec = .dword }},
1666216660 .patterns = &.{
1666316661 .{ .src = .{ .to_mem, .to_mem } },
1666416662 },
......@@ -16698,8 +16696,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1669816696 } },
1669916697 }, .{
1670016698 .required_features = .{ .@"64bit", null, null, null },
16701 .dst_constraints = .{.{ .bool_vec = .qword }},
1670216699 .src_constraints = .{ .{ .scalar_int_is = .byte }, .{ .scalar_int_is = .byte } },
16700 .dst_constraints = .{.{ .bool_vec = .qword }},
1670316701 .patterns = &.{
1670416702 .{ .src = .{ .to_mem, .to_mem } },
1670516703 },
......@@ -16732,8 +16730,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1673216730 } },
1673316731 }, .{
1673416732 .required_features = .{ .@"64bit", null, null, null },
16735 .dst_constraints = .{.{ .bool_vec = .qword }},
1673616733 .src_constraints = .{ .{ .scalar_int_is = .word }, .{ .scalar_int_is = .word } },
16734 .dst_constraints = .{.{ .bool_vec = .qword }},
1673716735 .patterns = &.{
1673816736 .{ .src = .{ .to_mem, .to_mem } },
1673916737 },
......@@ -16765,8 +16763,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1676516763 } },
1676616764 }, .{
1676716765 .required_features = .{ .@"64bit", null, null, null },
16768 .dst_constraints = .{.{ .bool_vec = .qword }},
1676916766 .src_constraints = .{ .{ .scalar_int_is = .dword }, .{ .scalar_int_is = .dword } },
16767 .dst_constraints = .{.{ .bool_vec = .qword }},
1677016768 .patterns = &.{
1677116769 .{ .src = .{ .to_mem, .to_mem } },
1677216770 },
......@@ -16799,8 +16797,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1679916797 } },
1680016798 }, .{
1680116799 .required_features = .{ .@"64bit", null, null, null },
16802 .dst_constraints = .{.{ .bool_vec = .qword }},
1680316800 .src_constraints = .{ .{ .scalar_int_is = .qword }, .{ .scalar_int_is = .qword } },
16801 .dst_constraints = .{.{ .bool_vec = .qword }},
1680416802 .patterns = &.{
1680516803 .{ .src = .{ .to_mem, .to_mem } },
1680616804 },
......@@ -16833,8 +16831,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1683316831 } },
1683416832 }, .{
1683516833 .required_features = .{ .@"64bit", null, null, null },
16836 .dst_constraints = .{.{ .bool_vec = .qword }},
1683716834 .src_constraints = .{ .any_scalar_int, .any_scalar_int },
16835 .dst_constraints = .{.{ .bool_vec = .qword }},
1683816836 .patterns = &.{
1683916837 .{ .src = .{ .to_mem, .to_mem } },
1684016838 },
......@@ -17326,11 +17324,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1732617324 } },
1732717325 }, .{
1732817326 .required_features = .{ .avx, .slow_incdec, null, null },
17329 .dst_constraints = .{.{ .bool_vec = .dword }},
1733017327 .src_constraints = .{
1733117328 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1733217329 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1733317330 },
17331 .dst_constraints = .{.{ .bool_vec = .dword }},
1733417332 .patterns = &.{
1733517333 .{ .src = .{ .to_mem, .to_mem } },
1733617334 },
......@@ -17371,11 +17369,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1737117369 } },
1737217370 }, .{
1737317371 .required_features = .{ .avx, null, null, null },
17374 .dst_constraints = .{.{ .bool_vec = .dword }},
1737517372 .src_constraints = .{
1737617373 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1737717374 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1737817375 },
17376 .dst_constraints = .{.{ .bool_vec = .dword }},
1737917377 .patterns = &.{
1738017378 .{ .src = .{ .to_mem, .to_mem } },
1738117379 },
......@@ -17416,11 +17414,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1741617414 } },
1741717415 }, .{
1741817416 .required_features = .{ .sse2, .slow_incdec, null, null },
17419 .dst_constraints = .{.{ .bool_vec = .dword }},
1742017417 .src_constraints = .{
1742117418 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1742217419 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1742317420 },
17421 .dst_constraints = .{.{ .bool_vec = .dword }},
1742417422 .patterns = &.{
1742517423 .{ .src = .{ .to_mem, .to_mem } },
1742617424 },
......@@ -17462,11 +17460,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1746217460 } },
1746317461 }, .{
1746417462 .required_features = .{ .sse2, null, null, null },
17465 .dst_constraints = .{.{ .bool_vec = .dword }},
1746617463 .src_constraints = .{
1746717464 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1746817465 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1746917466 },
17467 .dst_constraints = .{.{ .bool_vec = .dword }},
1747017468 .patterns = &.{
1747117469 .{ .src = .{ .to_mem, .to_mem } },
1747217470 },
......@@ -17508,11 +17506,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1750817506 } },
1750917507 }, .{
1751017508 .required_features = .{ .sse, .slow_incdec, null, null },
17511 .dst_constraints = .{.{ .bool_vec = .dword }},
1751217509 .src_constraints = .{
1751317510 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1751417511 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1751517512 },
17513 .dst_constraints = .{.{ .bool_vec = .dword }},
1751617514 .patterns = &.{
1751717515 .{ .src = .{ .to_mem, .to_mem } },
1751817516 },
......@@ -17556,11 +17554,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1755617554 } },
1755717555 }, .{
1755817556 .required_features = .{ .sse, null, null, null },
17559 .dst_constraints = .{.{ .bool_vec = .dword }},
1756017557 .src_constraints = .{
1756117558 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1756217559 .{ .multiple_scalar_float = .{ .of = .word, .is = .word } },
1756317560 },
17561 .dst_constraints = .{.{ .bool_vec = .dword }},
1756417562 .patterns = &.{
1756517563 .{ .src = .{ .to_mem, .to_mem } },
1756617564 },
......@@ -18675,11 +18673,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1867518673 } },
1867618674 }, .{
1867718675 .required_features = .{ .avx, .slow_incdec, null, null },
18678 .dst_constraints = .{.{ .bool_vec = .dword }},
1867918676 .src_constraints = .{
1868018677 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1868118678 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1868218679 },
18680 .dst_constraints = .{.{ .bool_vec = .dword }},
1868318681 .patterns = &.{
1868418682 .{ .src = .{ .to_mem, .to_mem } },
1868518683 },
......@@ -18720,11 +18718,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1872018718 } },
1872118719 }, .{
1872218720 .required_features = .{ .avx, .slow_incdec, null, null },
18723 .dst_constraints = .{.{ .bool_vec = .dword }},
1872418721 .src_constraints = .{
1872518722 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1872618723 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1872718724 },
18725 .dst_constraints = .{.{ .bool_vec = .dword }},
1872818726 .patterns = &.{
1872918727 .{ .src = .{ .to_mem, .to_mem } },
1873018728 },
......@@ -18765,11 +18763,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1876518763 } },
1876618764 }, .{
1876718765 .required_features = .{ .sse2, .slow_incdec, null, null },
18768 .dst_constraints = .{.{ .bool_vec = .dword }},
1876918766 .src_constraints = .{
1877018767 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1877118768 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1877218769 },
18770 .dst_constraints = .{.{ .bool_vec = .dword }},
1877318771 .patterns = &.{
1877418772 .{ .src = .{ .to_mem, .to_mem } },
1877518773 },
......@@ -18810,11 +18808,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1881018808 } },
1881118809 }, .{
1881218810 .required_features = .{ .sse2, .slow_incdec, null, null },
18813 .dst_constraints = .{.{ .bool_vec = .dword }},
1881418811 .src_constraints = .{
1881518812 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1881618813 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1881718814 },
18815 .dst_constraints = .{.{ .bool_vec = .dword }},
1881818816 .patterns = &.{
1881918817 .{ .src = .{ .to_mem, .to_mem } },
1882018818 },
......@@ -18855,11 +18853,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1885518853 } },
1885618854 }, .{
1885718855 .required_features = .{ .sse, .slow_incdec, null, null },
18858 .dst_constraints = .{.{ .bool_vec = .dword }},
1885918856 .src_constraints = .{
1886018857 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1886118858 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1886218859 },
18860 .dst_constraints = .{.{ .bool_vec = .dword }},
1886318861 .patterns = &.{
1886418862 .{ .src = .{ .to_mem, .to_mem } },
1886518863 },
......@@ -18900,11 +18898,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
1890018898 } },
1890118899 }, .{
1890218900 .required_features = .{ .sse2, .slow_incdec, null, null },
18903 .dst_constraints = .{.{ .bool_vec = .dword }},
1890418901 .src_constraints = .{
1890518902 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1890618903 .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } },
1890718904 },
18905 .dst_constraints = .{.{ .bool_vec = .dword }},
1890818906 .patterns = &.{
1890918907 .{ .src = .{ .to_mem, .to_mem } },
1891018908 },
......@@ -21901,6 +21899,939 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void {
2190121899 for (ops) |op| try op.die(cg);
2190221900 },
2190321901 .unreach => {},
21902 .fptrunc => |air_tag| if (use_old) try cg.airFptrunc(inst) else {
21903 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
21904 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
21905 var res: [1]Temp = undefined;
21906 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
21907 .required_features = .{ .f16c, null, null, null },
21908 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
21909 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
21910 .patterns = &.{
21911 .{ .src = .{ .to_sse, .none } },
21912 },
21913 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
21914 .each = .{ .once = &.{
21915 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },
21916 } },
21917 }, .{
21918 .required_features = .{ .f16c, null, null, null },
21919 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
21920 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .word } }},
21921 .patterns = &.{
21922 .{ .src = .{ .to_sse, .none } },
21923 },
21924 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
21925 .each = .{ .once = &.{
21926 .{ ._, .v_, .cvtps2ph, .dst0q, .src0x, .rm(.{}), ._ },
21927 } },
21928 }, .{
21929 .required_features = .{ .f16c, null, null, null },
21930 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .dword } }, .any },
21931 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .word } }},
21932 .patterns = &.{
21933 .{ .src = .{ .to_sse, .none } },
21934 },
21935 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
21936 .each = .{ .once = &.{
21937 .{ ._, .v_, .cvtps2ph, .dst0x, .src0y, .rm(.{}), ._ },
21938 } },
21939 }, .{
21940 .required_features = .{ .sse, null, null, null },
21941 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
21942 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
21943 .patterns = &.{
21944 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
21945 },
21946 .call_frame = .{ .alignment = .@"16" },
21947 .extra_temps = .{
21948 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncsfhf2" } } },
21949 .unused,
21950 .unused,
21951 .unused,
21952 .unused,
21953 .unused,
21954 .unused,
21955 .unused,
21956 .unused,
21957 },
21958 .dst_temps = .{.{ .ref = .src0 }},
21959 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
21960 .each = .{ .once = &.{
21961 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
21962 } },
21963 }, .{
21964 .required_features = .{ .sse, null, null, null },
21965 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
21966 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
21967 .patterns = &.{
21968 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
21969 },
21970 .call_frame = .{ .alignment = .@"16" },
21971 .extra_temps = .{
21972 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncdfhf2" } } },
21973 .unused,
21974 .unused,
21975 .unused,
21976 .unused,
21977 .unused,
21978 .unused,
21979 .unused,
21980 .unused,
21981 },
21982 .dst_temps = .{.{ .ref = .src0 }},
21983 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
21984 .each = .{ .once = &.{
21985 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
21986 } },
21987 }, .{
21988 .required_features = .{ .avx, null, null, null },
21989 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
21990 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
21991 .patterns = &.{
21992 .{ .src = .{ .mem, .none } },
21993 },
21994 .dst_temps = .{.{ .rc = .sse }},
21995 .each = .{ .once = &.{
21996 .{ ._, .v_ps, .xor, .dst0x, .dst0x, .dst0x, ._ },
21997 .{ ._, .v_ss, .cvtsd2, .dst0x, .dst0x, .src0q, ._ },
21998 } },
21999 }, .{
22000 .required_features = .{ .avx, null, null, null },
22001 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
22002 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22003 .patterns = &.{
22004 .{ .src = .{ .to_sse, .none } },
22005 },
22006 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22007 .each = .{ .once = &.{
22008 .{ ._, .v_ss, .cvtsd2, .dst0x, .src0x, .src0q, ._ },
22009 } },
22010 }, .{
22011 .required_features = .{ .sse2, null, null, null },
22012 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
22013 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22014 .patterns = &.{
22015 .{ .src = .{ .mut_sse, .none } },
22016 },
22017 .dst_temps = .{.{ .ref = .src0 }},
22018 .each = .{ .once = &.{
22019 .{ ._, ._ss, .cvtsd2, .dst0x, .src0q, ._, ._ },
22020 } },
22021 }, .{
22022 .required_features = .{ .sse2, null, null, null },
22023 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
22024 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22025 .patterns = &.{
22026 .{ .src = .{ .mem, .none } },
22027 .{ .src = .{ .sse, .none } },
22028 },
22029 .dst_temps = .{.{ .rc = .sse }},
22030 .each = .{ .once = &.{
22031 .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ },
22032 .{ ._, ._ss, .cvtsd2, .dst0x, .src0q, ._, ._ },
22033 } },
22034 }, .{
22035 .required_features = .{ .sse2, null, null, null },
22036 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
22037 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22038 .patterns = &.{
22039 .{ .src = .{ .to_mut_sse, .none } },
22040 },
22041 .dst_temps = .{.{ .ref = .src0 }},
22042 .each = .{ .once = &.{
22043 .{ ._, ._ss, .cvtsd2, .dst0x, .src0q, ._, ._ },
22044 } },
22045 }, .{
22046 .required_features = .{ .x87, null, null, null },
22047 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
22048 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22049 .patterns = &.{
22050 .{ .src = .{ .to_mem, .none } },
22051 },
22052 .extra_temps = .{
22053 .{ .type = .f80, .kind = .{ .reg = .st7 } },
22054 .unused,
22055 .unused,
22056 .unused,
22057 .unused,
22058 .unused,
22059 .unused,
22060 .unused,
22061 .unused,
22062 },
22063 .dst_temps = .{.mem},
22064 .each = .{ .once = &.{
22065 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
22066 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },
22067 } },
22068 }, .{
22069 .required_features = .{ .avx, null, null, null },
22070 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
22071 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .dword } }},
22072 .patterns = &.{
22073 .{ .src = .{ .mem, .none } },
22074 .{ .src = .{ .to_sse, .none } },
22075 },
22076 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22077 .each = .{ .once = &.{
22078 .{ ._, .v_ps, .cvtpd2, .dst0x, .src0q, ._, ._ },
22079 } },
22080 }, .{
22081 .required_features = .{ .sse2, null, null, null },
22082 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .qword } }, .any },
22083 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .dword } }},
22084 .patterns = &.{
22085 .{ .src = .{ .mem, .none } },
22086 .{ .src = .{ .to_sse, .none } },
22087 },
22088 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22089 .each = .{ .once = &.{
22090 .{ ._, ._ps, .cvtpd2, .dst0x, .src0q, ._, ._ },
22091 } },
22092 }, .{
22093 .required_features = .{ .avx, null, null, null },
22094 .src_constraints = .{ .{ .scalar_float = .{ .of = .yword, .is = .qword } }, .any },
22095 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
22096 .patterns = &.{
22097 .{ .src = .{ .mem, .none } },
22098 .{ .src = .{ .to_sse, .none } },
22099 },
22100 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22101 .each = .{ .once = &.{
22102 .{ ._, .v_ps, .cvtpd2, .dst0y, .src0x, ._, ._ },
22103 } },
22104 }, .{
22105 .required_features = .{ .@"64bit", .avx, null, null },
22106 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22107 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
22108 .patterns = &.{
22109 .{ .src = .{ .to_mem, .none } },
22110 },
22111 .call_frame = .{ .size = 16, .alignment = .@"16" },
22112 .extra_temps = .{
22113 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
22114 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncxfhf2" } } },
22115 .unused,
22116 .unused,
22117 .unused,
22118 .unused,
22119 .unused,
22120 .unused,
22121 .unused,
22122 },
22123 .dst_temps = .{.{ .reg = .xmm0 }},
22124 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22125 .each = .{ .once = &.{
22126 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
22127 .{ ._, .v_dqa, .mov, .mem(.tmp0x), .dst0x, ._, ._ },
22128 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
22129 } },
22130 }, .{
22131 .required_features = .{ .@"64bit", .sse2, null, null },
22132 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22133 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
22134 .patterns = &.{
22135 .{ .src = .{ .to_mem, .none } },
22136 },
22137 .call_frame = .{ .size = 16, .alignment = .@"16" },
22138 .extra_temps = .{
22139 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
22140 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncxfhf2" } } },
22141 .unused,
22142 .unused,
22143 .unused,
22144 .unused,
22145 .unused,
22146 .unused,
22147 .unused,
22148 },
22149 .dst_temps = .{.{ .reg = .xmm0 }},
22150 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22151 .each = .{ .once = &.{
22152 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
22153 .{ ._, ._dqa, .mov, .mem(.tmp0x), .dst0x, ._, ._ },
22154 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
22155 } },
22156 }, .{
22157 .required_features = .{ .@"64bit", .sse, null, null },
22158 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22159 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
22160 .patterns = &.{
22161 .{ .src = .{ .to_mem, .none } },
22162 },
22163 .call_frame = .{ .size = 16, .alignment = .@"16" },
22164 .extra_temps = .{
22165 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
22166 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__truncxfhf2" } } },
22167 .unused,
22168 .unused,
22169 .unused,
22170 .unused,
22171 .unused,
22172 .unused,
22173 .unused,
22174 },
22175 .dst_temps = .{.{ .reg = .xmm0 }},
22176 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22177 .each = .{ .once = &.{
22178 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },
22179 .{ ._, ._ps, .mova, .mem(.tmp0x), .dst0x, ._, ._ },
22180 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
22181 } },
22182 }, .{
22183 .required_features = .{ .x87, null, null, null },
22184 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22185 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22186 .patterns = &.{
22187 .{ .src = .{ .mem, .none } },
22188 .{ .src = .{ .to_x87, .none } },
22189 },
22190 .extra_temps = .{
22191 .{ .type = .f80, .kind = .{ .reg = .st7 } },
22192 .unused,
22193 .unused,
22194 .unused,
22195 .unused,
22196 .unused,
22197 .unused,
22198 .unused,
22199 .unused,
22200 },
22201 .dst_temps = .{.mem},
22202 .each = .{ .once = &.{
22203 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
22204 .{ ._, .f_p, .st, .dst0d, ._, ._, ._ },
22205 } },
22206 }, .{
22207 .required_features = .{ .x87, null, null, null },
22208 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22209 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22210 .patterns = &.{
22211 .{ .src = .{ .mem, .none } },
22212 .{ .src = .{ .to_x87, .none } },
22213 },
22214 .extra_temps = .{
22215 .{ .type = .f80, .kind = .{ .reg = .st7 } },
22216 .unused,
22217 .unused,
22218 .unused,
22219 .unused,
22220 .unused,
22221 .unused,
22222 .unused,
22223 .unused,
22224 },
22225 .dst_temps = .{.mem},
22226 .each = .{ .once = &.{
22227 .{ ._, .f_, .ld, .src0t, ._, ._, ._ },
22228 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
22229 } },
22230 }, .{
22231 .required_features = .{ .sse, null, null, null },
22232 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
22233 .dst_constraints = .{.{ .scalar_float = .{ .of = .word, .is = .word } }},
22234 .patterns = &.{
22235 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22236 },
22237 .call_frame = .{ .alignment = .@"16" },
22238 .extra_temps = .{
22239 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunctfhf2" } } },
22240 .unused,
22241 .unused,
22242 .unused,
22243 .unused,
22244 .unused,
22245 .unused,
22246 .unused,
22247 .unused,
22248 },
22249 .dst_temps = .{.{ .ref = .src0 }},
22250 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22251 .each = .{ .once = &.{
22252 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22253 } },
22254 }, .{
22255 .required_features = .{ .sse, null, null, null },
22256 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
22257 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22258 .patterns = &.{
22259 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22260 },
22261 .call_frame = .{ .alignment = .@"16" },
22262 .extra_temps = .{
22263 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunctfsf2" } } },
22264 .unused,
22265 .unused,
22266 .unused,
22267 .unused,
22268 .unused,
22269 .unused,
22270 .unused,
22271 .unused,
22272 },
22273 .dst_temps = .{.{ .ref = .src0 }},
22274 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22275 .each = .{ .once = &.{
22276 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22277 } },
22278 }, .{
22279 .required_features = .{ .sse, null, null, null },
22280 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
22281 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22282 .patterns = &.{
22283 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22284 },
22285 .call_frame = .{ .alignment = .@"16" },
22286 .extra_temps = .{
22287 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunctfdf2" } } },
22288 .unused,
22289 .unused,
22290 .unused,
22291 .unused,
22292 .unused,
22293 .unused,
22294 .unused,
22295 .unused,
22296 },
22297 .dst_temps = .{.{ .ref = .src0 }},
22298 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22299 .each = .{ .once = &.{
22300 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22301 } },
22302 }, .{
22303 .required_features = .{ .sse, null, null, null },
22304 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .xword } }, .any },
22305 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
22306 .patterns = &.{
22307 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22308 },
22309 .call_frame = .{ .alignment = .@"16" },
22310 .extra_temps = .{
22311 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__trunctfxf2" } } },
22312 .unused,
22313 .unused,
22314 .unused,
22315 .unused,
22316 .unused,
22317 .unused,
22318 .unused,
22319 .unused,
22320 },
22321 .dst_temps = .{.{ .reg = .st0 }},
22322 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22323 .each = .{ .once = &.{
22324 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22325 } },
22326 } }) catch |err| switch (err) {
22327 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
22328 @tagName(air_tag),
22329 ty_op.ty.toType().fmt(pt),
22330 cg.typeOf(ty_op.operand).fmt(pt),
22331 ops[0].tracking(cg),
22332 }),
22333 else => |e| return e,
22334 };
22335 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
22336 },
22337 .fpext => |air_tag| if (use_old) try cg.airFpext(inst) else {
22338 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
22339 var ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
22340 var res: [1]Temp = undefined;
22341 cg.select(&res, &.{ty_op.ty.toType()}, &ops, comptime &.{ .{
22342 .required_features = .{ .f16c, null, null, null },
22343 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
22344 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22345 .patterns = &.{
22346 .{ .src = .{ .to_sse, .none } },
22347 },
22348 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22349 .each = .{ .once = &.{
22350 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
22351 } },
22352 }, .{
22353 .required_features = .{ .f16c, null, null, null },
22354 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
22355 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .dword } }},
22356 .patterns = &.{
22357 .{ .src = .{ .mem, .none } },
22358 .{ .src = .{ .to_sse, .none } },
22359 },
22360 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22361 .each = .{ .once = &.{
22362 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
22363 } },
22364 }, .{
22365 .required_features = .{ .f16c, null, null, null },
22366 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .word } }, .any },
22367 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .dword } }},
22368 .patterns = &.{
22369 .{ .src = .{ .mem, .none } },
22370 .{ .src = .{ .to_sse, .none } },
22371 },
22372 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22373 .each = .{ .once = &.{
22374 .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ },
22375 } },
22376 }, .{
22377 .required_features = .{ .sse, null, null, null },
22378 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
22379 .dst_constraints = .{.{ .scalar_float = .{ .of = .dword, .is = .dword } }},
22380 .patterns = &.{
22381 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22382 },
22383 .call_frame = .{ .alignment = .@"16" },
22384 .extra_temps = .{
22385 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendhfsf2" } } },
22386 .unused,
22387 .unused,
22388 .unused,
22389 .unused,
22390 .unused,
22391 .unused,
22392 .unused,
22393 .unused,
22394 },
22395 .dst_temps = .{.{ .ref = .src0 }},
22396 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22397 .each = .{ .once = &.{
22398 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22399 } },
22400 }, .{
22401 .required_features = .{ .f16c, null, null, null },
22402 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
22403 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22404 .patterns = &.{
22405 .{ .src = .{ .to_sse, .none } },
22406 },
22407 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22408 .each = .{ .once = &.{
22409 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
22410 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .dst0d, ._ },
22411 } },
22412 }, .{
22413 .required_features = .{ .f16c, null, null, null },
22414 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .word } }, .any },
22415 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
22416 .patterns = &.{
22417 .{ .src = .{ .mem, .none } },
22418 .{ .src = .{ .to_sse, .none } },
22419 },
22420 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22421 .each = .{ .once = &.{
22422 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
22423 .{ ._, .v_pd, .cvtps2, .dst0x, .dst0q, ._, ._ },
22424 } },
22425 }, .{
22426 .required_features = .{ .f16c, null, null, null },
22427 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .word } }, .any },
22428 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
22429 .patterns = &.{
22430 .{ .src = .{ .mem, .none } },
22431 .{ .src = .{ .to_sse, .none } },
22432 },
22433 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22434 .each = .{ .once = &.{
22435 .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ },
22436 .{ ._, .v_pd, .cvtps2, .dst0y, .dst0x, ._, ._ },
22437 } },
22438 }, .{
22439 .required_features = .{ .sse, null, null, null },
22440 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
22441 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22442 .patterns = &.{
22443 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22444 },
22445 .call_frame = .{ .alignment = .@"16" },
22446 .extra_temps = .{
22447 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendhfdf2" } } },
22448 .unused,
22449 .unused,
22450 .unused,
22451 .unused,
22452 .unused,
22453 .unused,
22454 .unused,
22455 .unused,
22456 },
22457 .dst_temps = .{.{ .ref = .src0 }},
22458 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22459 .each = .{ .once = &.{
22460 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22461 } },
22462 }, .{
22463 .required_features = .{ .f16c, .x87, null, null },
22464 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
22465 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
22466 .patterns = &.{
22467 .{ .src = .{ .to_sse, .none } },
22468 },
22469 .extra_temps = .{
22470 .{ .type = .f32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } },
22471 .{ .type = .f32, .kind = .mem },
22472 .{ .type = .f80, .kind = .{ .reg = .st7 } },
22473 .unused,
22474 .unused,
22475 .unused,
22476 .unused,
22477 .unused,
22478 .unused,
22479 },
22480 .dst_temps = .{.{ .rc = .x87 }},
22481 .each = .{ .once = &.{
22482 .{ ._, .v_ps, .cvtph2, .tmp0x, .src0q, ._, ._ },
22483 .{ ._, .v_ss, .mov, .mem(.tmp1d), .tmp0x, ._, ._ },
22484 .{ ._, .f_, .ld, .mem(.tmp1d), ._, ._, ._ },
22485 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
22486 } },
22487 }, .{
22488 .required_features = .{ .sse, null, null, null },
22489 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
22490 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
22491 .patterns = &.{
22492 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22493 },
22494 .call_frame = .{ .alignment = .@"16" },
22495 .extra_temps = .{
22496 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendhfxf2" } } },
22497 .unused,
22498 .unused,
22499 .unused,
22500 .unused,
22501 .unused,
22502 .unused,
22503 .unused,
22504 .unused,
22505 },
22506 .dst_temps = .{.{ .reg = .st0 }},
22507 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22508 .each = .{ .once = &.{
22509 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22510 } },
22511 }, .{
22512 .required_features = .{ .sse, null, null, null },
22513 .src_constraints = .{ .{ .scalar_float = .{ .of = .word, .is = .word } }, .any },
22514 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
22515 .patterns = &.{
22516 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22517 },
22518 .call_frame = .{ .alignment = .@"16" },
22519 .extra_temps = .{
22520 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendhftf2" } } },
22521 .unused,
22522 .unused,
22523 .unused,
22524 .unused,
22525 .unused,
22526 .unused,
22527 .unused,
22528 .unused,
22529 },
22530 .dst_temps = .{.{ .ref = .src0 }},
22531 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22532 .each = .{ .once = &.{
22533 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22534 } },
22535 }, .{
22536 .required_features = .{ .avx, null, null, null },
22537 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22538 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22539 .patterns = &.{
22540 .{ .src = .{ .mem, .none } },
22541 },
22542 .dst_temps = .{.{ .rc = .sse }},
22543 .each = .{ .once = &.{
22544 .{ ._, .v_pd, .xor, .dst0x, .dst0x, .dst0x, ._ },
22545 .{ ._, .v_sd, .cvtss2, .dst0x, .dst0x, .src0d, ._ },
22546 } },
22547 }, .{
22548 .required_features = .{ .avx, null, null, null },
22549 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22550 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22551 .patterns = &.{
22552 .{ .src = .{ .to_sse, .none } },
22553 },
22554 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22555 .each = .{ .once = &.{
22556 .{ ._, .v_sd, .cvtss2, .dst0x, .src0x, .src0d, ._ },
22557 } },
22558 }, .{
22559 .required_features = .{ .sse2, null, null, null },
22560 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22561 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22562 .patterns = &.{
22563 .{ .src = .{ .mut_sse, .none } },
22564 },
22565 .dst_temps = .{.{ .ref = .src0 }},
22566 .each = .{ .once = &.{
22567 .{ ._, ._sd, .cvtss2, .dst0x, .src0d, ._, ._ },
22568 } },
22569 }, .{
22570 .required_features = .{ .sse2, null, null, null },
22571 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22572 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22573 .patterns = &.{
22574 .{ .src = .{ .mem, .none } },
22575 .{ .src = .{ .sse, .none } },
22576 },
22577 .dst_temps = .{.{ .rc = .sse }},
22578 .each = .{ .once = &.{
22579 .{ ._, ._pd, .xor, .dst0x, .dst0x, ._, ._ },
22580 .{ ._, ._sd, .cvtss2, .dst0x, .src0d, ._, ._ },
22581 } },
22582 }, .{
22583 .required_features = .{ .sse2, null, null, null },
22584 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22585 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22586 .patterns = &.{
22587 .{ .src = .{ .to_mut_sse, .none } },
22588 },
22589 .dst_temps = .{.{ .ref = .src0 }},
22590 .each = .{ .once = &.{
22591 .{ ._, ._sd, .cvtss2, .dst0x, .src0d, ._, ._ },
22592 } },
22593 }, .{
22594 .required_features = .{ .x87, null, null, null },
22595 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22596 .dst_constraints = .{.{ .scalar_float = .{ .of = .qword, .is = .qword } }},
22597 .patterns = &.{
22598 .{ .src = .{ .to_mem, .none } },
22599 },
22600 .extra_temps = .{
22601 .{ .type = .f80, .kind = .{ .reg = .st7 } },
22602 .unused,
22603 .unused,
22604 .unused,
22605 .unused,
22606 .unused,
22607 .unused,
22608 .unused,
22609 .unused,
22610 },
22611 .dst_temps = .{.mem},
22612 .each = .{ .once = &.{
22613 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },
22614 .{ ._, .f_p, .st, .dst0q, ._, ._, ._ },
22615 } },
22616 }, .{
22617 .required_features = .{ .avx, null, null, null },
22618 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any },
22619 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
22620 .patterns = &.{
22621 .{ .src = .{ .mem, .none } },
22622 .{ .src = .{ .to_sse, .none } },
22623 },
22624 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22625 .each = .{ .once = &.{
22626 .{ ._, .v_pd, .cvtps2, .dst0x, .src0q, ._, ._ },
22627 } },
22628 }, .{
22629 .required_features = .{ .sse2, null, null, null },
22630 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .dword } }, .any },
22631 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .qword } }},
22632 .patterns = &.{
22633 .{ .src = .{ .mem, .none } },
22634 .{ .src = .{ .to_sse, .none } },
22635 },
22636 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22637 .each = .{ .once = &.{
22638 .{ ._, ._pd, .cvtps2, .dst0x, .src0q, ._, ._ },
22639 } },
22640 }, .{
22641 .required_features = .{ .avx, null, null, null },
22642 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .dword } }, .any },
22643 .dst_constraints = .{.{ .scalar_float = .{ .of = .yword, .is = .qword } }},
22644 .patterns = &.{
22645 .{ .src = .{ .mem, .none } },
22646 .{ .src = .{ .to_sse, .none } },
22647 },
22648 .dst_temps = .{.{ .mut_rc = .{ .ref = .src0, .rc = .sse } }},
22649 .each = .{ .once = &.{
22650 .{ ._, .v_pd, .cvtps2, .dst0y, .src0x, ._, ._ },
22651 } },
22652 }, .{
22653 .required_features = .{ .x87, null, null, null },
22654 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22655 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
22656 .patterns = &.{
22657 .{ .src = .{ .to_mem, .none } },
22658 },
22659 .extra_temps = .{
22660 .{ .type = .f80, .kind = .{ .reg = .st7 } },
22661 .unused,
22662 .unused,
22663 .unused,
22664 .unused,
22665 .unused,
22666 .unused,
22667 .unused,
22668 .unused,
22669 },
22670 .dst_temps = .{.mem},
22671 .each = .{ .once = &.{
22672 .{ ._, .f_, .ld, .src0d, ._, ._, ._ },
22673 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
22674 } },
22675 }, .{
22676 .required_features = .{ .sse, null, null, null },
22677 .src_constraints = .{ .{ .scalar_float = .{ .of = .dword, .is = .dword } }, .any },
22678 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
22679 .patterns = &.{
22680 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22681 },
22682 .call_frame = .{ .alignment = .@"16" },
22683 .extra_temps = .{
22684 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendsftf2" } } },
22685 .unused,
22686 .unused,
22687 .unused,
22688 .unused,
22689 .unused,
22690 .unused,
22691 .unused,
22692 .unused,
22693 },
22694 .dst_temps = .{.{ .ref = .src0 }},
22695 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22696 .each = .{ .once = &.{
22697 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22698 } },
22699 }, .{
22700 .required_features = .{ .x87, null, null, null },
22701 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
22702 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .tbyte } }},
22703 .patterns = &.{
22704 .{ .src = .{ .to_mem, .none } },
22705 },
22706 .extra_temps = .{
22707 .{ .type = .f80, .kind = .{ .reg = .st7 } },
22708 .unused,
22709 .unused,
22710 .unused,
22711 .unused,
22712 .unused,
22713 .unused,
22714 .unused,
22715 .unused,
22716 },
22717 .dst_temps = .{.mem},
22718 .each = .{ .once = &.{
22719 .{ ._, .f_, .ld, .src0q, ._, ._, ._ },
22720 .{ ._, .f_p, .st, .dst0t, ._, ._, ._ },
22721 } },
22722 }, .{
22723 .required_features = .{ .sse, null, null, null },
22724 .src_constraints = .{ .{ .scalar_float = .{ .of = .qword, .is = .qword } }, .any },
22725 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
22726 .patterns = &.{
22727 .{ .src = .{ .{ .to_reg = .xmm0 }, .none } },
22728 },
22729 .call_frame = .{ .alignment = .@"16" },
22730 .extra_temps = .{
22731 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extenddftf2" } } },
22732 .unused,
22733 .unused,
22734 .unused,
22735 .unused,
22736 .unused,
22737 .unused,
22738 .unused,
22739 .unused,
22740 },
22741 .dst_temps = .{.{ .ref = .src0 }},
22742 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22743 .each = .{ .once = &.{
22744 .{ ._, ._, .call, .tmp0d, ._, ._, ._ },
22745 } },
22746 }, .{
22747 .required_features = .{ .@"64bit", .avx, null, null },
22748 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22749 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
22750 .patterns = &.{
22751 .{ .src = .{ .to_mem, .none } },
22752 },
22753 .call_frame = .{ .size = 16, .alignment = .@"16" },
22754 .extra_temps = .{
22755 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
22756 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendxftf2" } } },
22757 .unused,
22758 .unused,
22759 .unused,
22760 .unused,
22761 .unused,
22762 .unused,
22763 .unused,
22764 },
22765 .dst_temps = .{.{ .reg = .xmm0 }},
22766 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22767 .each = .{ .once = &.{
22768 .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
22769 .{ ._, .v_dqa, .mov, .mem(.tmp0x), .dst0x, ._, ._ },
22770 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
22771 } },
22772 }, .{
22773 .required_features = .{ .@"64bit", .sse2, null, null },
22774 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22775 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
22776 .patterns = &.{
22777 .{ .src = .{ .to_mem, .none } },
22778 },
22779 .call_frame = .{ .size = 16, .alignment = .@"16" },
22780 .extra_temps = .{
22781 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
22782 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendxftf2" } } },
22783 .unused,
22784 .unused,
22785 .unused,
22786 .unused,
22787 .unused,
22788 .unused,
22789 .unused,
22790 },
22791 .dst_temps = .{.{ .reg = .xmm0 }},
22792 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22793 .each = .{ .once = &.{
22794 .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ },
22795 .{ ._, ._dqa, .mov, .mem(.tmp0x), .dst0x, ._, ._ },
22796 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
22797 } },
22798 }, .{
22799 .required_features = .{ .@"64bit", .sse, null, null },
22800 .src_constraints = .{ .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, .any },
22801 .dst_constraints = .{.{ .scalar_float = .{ .of = .xword, .is = .xword } }},
22802 .patterns = &.{
22803 .{ .src = .{ .to_mem, .none } },
22804 },
22805 .call_frame = .{ .size = 16, .alignment = .@"16" },
22806 .extra_temps = .{
22807 .{ .type = .f80, .kind = .{ .frame = .call_frame } },
22808 .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__extendxftf2" } } },
22809 .unused,
22810 .unused,
22811 .unused,
22812 .unused,
22813 .unused,
22814 .unused,
22815 .unused,
22816 },
22817 .dst_temps = .{.{ .reg = .xmm0 }},
22818 .clobbers = .{ .eflags = true, .caller_preserved = .ccc },
22819 .each = .{ .once = &.{
22820 .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ },
22821 .{ ._, ._ps, .mova, .mem(.tmp0x), .dst0x, ._, ._ },
22822 .{ ._, ._, .call, .tmp1d, ._, ._, ._ },
22823 } },
22824 } }) catch |err| switch (err) {
22825 error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{
22826 @tagName(air_tag),
22827 ty_op.ty.toType().fmt(pt),
22828 cg.typeOf(ty_op.operand).fmt(pt),
22829 ops[0].tracking(cg),
22830 }),
22831 else => |e| return e,
22832 };
22833 try res[0].finish(inst, &.{ty_op.operand}, &ops, cg);
22834 },
2190422835 .optional_payload_ptr => if (use_old) try cg.airOptionalPayloadPtr(inst) else {
2190522836 const ty_op = air_datas[@intFromEnum(inst)].ty_op;
2190622837 const ops = try cg.tempsFromOperands(inst, .{ty_op.operand});
......@@ -42770,8 +43701,8 @@ const Select = struct {
4277043701
4277143702 const Case = struct {
4277243703 required_features: [4]?std.Target.x86.Feature = @splat(null),
42773 dst_constraints: [@intFromEnum(Select.Operand.Ref.src0) - @intFromEnum(Select.Operand.Ref.dst0)]Constraint = @splat(.any),
4277443704 src_constraints: [@intFromEnum(Select.Operand.Ref.none) - @intFromEnum(Select.Operand.Ref.src0)]Constraint = @splat(.any),
43705 dst_constraints: [@intFromEnum(Select.Operand.Ref.src0) - @intFromEnum(Select.Operand.Ref.dst0)]Constraint = @splat(.any),
4277543706 patterns: []const Select.Pattern,
4277643707 call_frame: packed struct(u16) { size: u10 = 0, alignment: InternPool.Alignment } = .{ .size = 0, .alignment = .none },
4277743708 extra_temps: [@intFromEnum(Select.Operand.Ref.dst0) - @intFromEnum(Select.Operand.Ref.tmp0)]TempSpec = @splat(.unused),
......@@ -43168,6 +44099,7 @@ const Select = struct {
4316844099 smax_mem: ConstInfo,
4316944100 umin_mem: ConstInfo,
4317044101 umax_mem: ConstInfo,
44102 frame: FrameIndex,
4317144103 symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 },
4317244104
4317344105 const ConstInfo = struct { ref: Select.Operand.Ref, vectorize_to: ?Memory.Size = null };
......@@ -43284,6 +44216,7 @@ const Select = struct {
4328444216 } })) else res_scalar_val;
4328544217 return .{ try cg.tempMemFromValue(res_val), true };
4328644218 },
44219 .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true },
4328744220 .symbol => |symbol| .{ try cg.tempInit(spec.type, .{ .lea_symbol = .{
4328844221 .sym_index = if (cg.bin_file.cast(.elf)) |elf_file|
4328944222 try elf_file.getGlobalSymbol(symbol.name, symbol.lib)
......@@ -43945,11 +44878,11 @@ fn select(
4394544878 @setEvalBranchQuota(33_600);
4394644879 cases: for (cases) |case| {
4394744880 for (case.required_features) |required_feature| if (required_feature) |feature| if (!cg.hasFeature(feature)) continue :cases;
43948 for (case.dst_constraints[0..dst_temps.len], dst_tys) |dst_constraint, dst_ty| if (!dst_constraint.accepts(dst_ty, cg)) continue :cases;
4394944881 for (case.src_constraints[0..src_temps.len], src_temps) |src_constraint, src_temp| if (!src_constraint.accepts(src_temp.typeOf(cg), cg)) continue :cases;
44882 for (case.dst_constraints[0..dst_temps.len], dst_tys) |dst_constraint, dst_ty| if (!dst_constraint.accepts(dst_ty, cg)) continue :cases;
4395044883 if (std.debug.runtime_safety) {
43951 for (case.dst_constraints[dst_temps.len..]) |dst_constraint| assert(dst_constraint == .any);
4395244884 for (case.src_constraints[src_temps.len..]) |src_constraint| assert(src_constraint == .any);
44885 for (case.dst_constraints[dst_temps.len..]) |dst_constraint| assert(dst_constraint == .any);
4395344886 }
4395444887 patterns: for (case.patterns) |pattern| {
4395544888 for (pattern.src[0..src_temps.len], src_temps) |src_pattern, src_temp| if (!src_pattern.matches(src_temp, cg)) continue :patterns;
test/behavior/x86_64/math.zig+7530-1181
......@@ -650,18 +650,18 @@ fn unary(comptime op: anytype, comptime opts: struct { strict: bool = false }) t
650650 try testArgs(f16, -nan(f16));
651651 try testArgs(f16, -inf(f16));
652652 try testArgs(f16, -fmax(f16));
653 try testArgs(f16, -10.0);
654 try testArgs(f16, -1.0);
655 try testArgs(f16, -0.1);
653 try testArgs(f16, -1e1);
654 try testArgs(f16, -1e0);
655 try testArgs(f16, -1e-1);
656656 try testArgs(f16, -fmin(f16));
657657 try testArgs(f16, -tmin(f16));
658658 try testArgs(f16, -0.0);
659659 try testArgs(f16, 0.0);
660660 try testArgs(f16, tmin(f16));
661661 try testArgs(f16, fmin(f16));
662 try testArgs(f16, 0.1);
663 try testArgs(f16, 1.0);
664 try testArgs(f16, 10.0);
662 try testArgs(f16, 1e-1);
663 try testArgs(f16, 1e0);
664 try testArgs(f16, 1e1);
665665 try testArgs(f16, fmax(f16));
666666 try testArgs(f16, inf(f16));
667667 try testArgs(f16, nan(f16));
......@@ -669,18 +669,18 @@ fn unary(comptime op: anytype, comptime opts: struct { strict: bool = false }) t
669669 try testArgs(f32, -nan(f32));
670670 try testArgs(f32, -inf(f32));
671671 try testArgs(f32, -fmax(f32));
672 try testArgs(f32, -10.0);
673 try testArgs(f32, -1.0);
674 try testArgs(f32, -0.1);
672 try testArgs(f32, -1e1);
673 try testArgs(f32, -1e0);
674 try testArgs(f32, -1e-1);
675675 try testArgs(f32, -fmin(f32));
676676 try testArgs(f32, -tmin(f32));
677677 try testArgs(f32, -0.0);
678678 try testArgs(f32, 0.0);
679679 try testArgs(f32, tmin(f32));
680680 try testArgs(f32, fmin(f32));
681 try testArgs(f32, 0.1);
682 try testArgs(f32, 1.0);
683 try testArgs(f32, 10.0);
681 try testArgs(f32, 1e-1);
682 try testArgs(f32, 1e0);
683 try testArgs(f32, 1e1);
684684 try testArgs(f32, fmax(f32));
685685 try testArgs(f32, inf(f32));
686686 try testArgs(f32, nan(f32));
......@@ -688,18 +688,18 @@ fn unary(comptime op: anytype, comptime opts: struct { strict: bool = false }) t
688688 try testArgs(f64, -nan(f64));
689689 try testArgs(f64, -inf(f64));
690690 try testArgs(f64, -fmax(f64));
691 try testArgs(f64, -10.0);
692 try testArgs(f64, -1.0);
693 try testArgs(f64, -0.1);
691 try testArgs(f64, -1e1);
692 try testArgs(f64, -1e0);
693 try testArgs(f64, -1e-1);
694694 try testArgs(f64, -fmin(f64));
695695 try testArgs(f64, -tmin(f64));
696696 try testArgs(f64, -0.0);
697697 try testArgs(f64, 0.0);
698698 try testArgs(f64, tmin(f64));
699699 try testArgs(f64, fmin(f64));
700 try testArgs(f64, 0.1);
701 try testArgs(f64, 1.0);
702 try testArgs(f64, 10.0);
700 try testArgs(f64, 1e-1);
701 try testArgs(f64, 1e0);
702 try testArgs(f64, 1e1);
703703 try testArgs(f64, fmax(f64));
704704 try testArgs(f64, inf(f64));
705705 try testArgs(f64, nan(f64));
......@@ -707,18 +707,18 @@ fn unary(comptime op: anytype, comptime opts: struct { strict: bool = false }) t
707707 try testArgs(f80, -nan(f80));
708708 try testArgs(f80, -inf(f80));
709709 try testArgs(f80, -fmax(f80));
710 try testArgs(f80, -10.0);
711 try testArgs(f80, -1.0);
712 try testArgs(f80, -0.1);
710 try testArgs(f80, -1e1);
711 try testArgs(f80, -1e0);
712 try testArgs(f80, -1e-1);
713713 try testArgs(f80, -fmin(f80));
714714 try testArgs(f80, -tmin(f80));
715715 try testArgs(f80, -0.0);
716716 try testArgs(f80, 0.0);
717717 try testArgs(f80, tmin(f80));
718718 try testArgs(f80, fmin(f80));
719 try testArgs(f80, 0.1);
720 try testArgs(f80, 1.0);
721 try testArgs(f80, 10.0);
719 try testArgs(f80, 1e-1);
720 try testArgs(f80, 1e0);
721 try testArgs(f80, 1e1);
722722 try testArgs(f80, fmax(f80));
723723 try testArgs(f80, inf(f80));
724724 try testArgs(f80, nan(f80));
......@@ -726,18 +726,18 @@ fn unary(comptime op: anytype, comptime opts: struct { strict: bool = false }) t
726726 try testArgs(f128, -nan(f128));
727727 try testArgs(f128, -inf(f128));
728728 try testArgs(f128, -fmax(f128));
729 try testArgs(f128, -10.0);
730 try testArgs(f128, -1.0);
731 try testArgs(f128, -0.1);
729 try testArgs(f128, -1e1);
730 try testArgs(f128, -1e0);
731 try testArgs(f128, -1e-1);
732732 try testArgs(f128, -fmin(f128));
733733 try testArgs(f128, -tmin(f128));
734734 try testArgs(f128, -0.0);
735735 try testArgs(f128, 0.0);
736736 try testArgs(f128, tmin(f128));
737737 try testArgs(f128, fmin(f128));
738 try testArgs(f128, 0.1);
739 try testArgs(f128, 1.0);
740 try testArgs(f128, 10.0);
738 try testArgs(f128, 1e-1);
739 try testArgs(f128, 1e0);
740 try testArgs(f128, 1e1);
741741 try testArgs(f128, fmax(f128));
742742 try testArgs(f128, inf(f128));
743743 try testArgs(f128, nan(f128));
......@@ -1623,6 +1623,6347 @@ fn unary(comptime op: anytype, comptime opts: struct { strict: bool = false }) t
16231623 };
16241624}
16251625
1626fn cast(comptime op: anytype, comptime opts: struct { strict: bool = false }) type {
1627 return struct {
1628 // noinline so that `mem_arg` is on the stack
1629 noinline fn testArgKinds(
1630 _: Gpr,
1631 _: Gpr,
1632 _: Gpr,
1633 _: Gpr,
1634 _: Gpr,
1635 _: Gpr,
1636 _: Gpr,
1637 _: Gpr,
1638 _: Sse,
1639 _: Sse,
1640 _: Sse,
1641 _: Sse,
1642 _: Sse,
1643 _: Sse,
1644 _: Sse,
1645 _: Sse,
1646 comptime Result: type,
1647 comptime Type: type,
1648 comptime imm_arg: Type,
1649 mem_arg: Type,
1650 ) !void {
1651 const expected = comptime op(Result, Type, imm_arg);
1652 var reg_arg = mem_arg;
1653 _ = .{&reg_arg};
1654 try checkExpected(expected, op(Result, Type, reg_arg), opts.strict);
1655 try checkExpected(expected, op(Result, Type, mem_arg), opts.strict);
1656 try checkExpected(expected, op(Result, Type, imm_arg), opts.strict);
1657 }
1658 // noinline for a more helpful stack trace
1659 noinline fn testArgs(comptime Result: type, comptime Type: type, comptime imm_arg: Type) !void {
1660 try testArgKinds(
1661 undefined,
1662 undefined,
1663 undefined,
1664 undefined,
1665 undefined,
1666 undefined,
1667 undefined,
1668 undefined,
1669 undefined,
1670 undefined,
1671 undefined,
1672 undefined,
1673 undefined,
1674 undefined,
1675 undefined,
1676 undefined,
1677 Result,
1678 Type,
1679 imm_arg,
1680 imm_arg,
1681 );
1682 }
1683 fn testInts() !void {
1684 try testArgs(i8, i1, -1);
1685 try testArgs(i8, i1, 0);
1686 try testArgs(u8, i1, -1);
1687 try testArgs(u8, i1, 0);
1688 try testArgs(i16, i1, -1);
1689 try testArgs(i16, i1, 0);
1690 try testArgs(u16, i1, -1);
1691 try testArgs(u16, i1, 0);
1692 try testArgs(i32, i1, -1);
1693 try testArgs(i32, i1, 0);
1694 try testArgs(u32, i1, -1);
1695 try testArgs(u32, i1, 0);
1696 try testArgs(i64, i1, -1);
1697 try testArgs(i64, i1, 0);
1698 try testArgs(u64, i1, -1);
1699 try testArgs(u64, i1, 0);
1700 try testArgs(i128, i1, -1);
1701 try testArgs(i128, i1, 0);
1702 try testArgs(u128, i1, -1);
1703 try testArgs(u128, i1, 0);
1704 try testArgs(i256, i1, -1);
1705 try testArgs(i256, i1, 0);
1706 try testArgs(u256, i1, -1);
1707 try testArgs(u256, i1, 0);
1708 try testArgs(i512, i1, -1);
1709 try testArgs(i512, i1, 0);
1710 try testArgs(u512, i1, -1);
1711 try testArgs(u512, i1, 0);
1712 try testArgs(i1024, i1, -1);
1713 try testArgs(i1024, i1, 0);
1714 try testArgs(u1024, i1, -1);
1715 try testArgs(u1024, i1, 0);
1716 try testArgs(i8, u1, 0);
1717 try testArgs(i8, u1, 1 << 0);
1718 try testArgs(u8, u1, 0);
1719 try testArgs(u8, u1, 1 << 0);
1720 try testArgs(i16, u1, 0);
1721 try testArgs(i16, u1, 1 << 0);
1722 try testArgs(u16, u1, 0);
1723 try testArgs(u16, u1, 1 << 0);
1724 try testArgs(i32, u1, 0);
1725 try testArgs(i32, u1, 1 << 0);
1726 try testArgs(u32, u1, 0);
1727 try testArgs(u32, u1, 1 << 0);
1728 try testArgs(i64, u1, 0);
1729 try testArgs(i64, u1, 1 << 0);
1730 try testArgs(u64, u1, 0);
1731 try testArgs(u64, u1, 1 << 0);
1732 try testArgs(i128, u1, 0);
1733 try testArgs(i128, u1, 1 << 0);
1734 try testArgs(u128, u1, 0);
1735 try testArgs(u128, u1, 1 << 0);
1736 try testArgs(i256, u1, 0);
1737 try testArgs(i256, u1, 1 << 0);
1738 try testArgs(u256, u1, 0);
1739 try testArgs(u256, u1, 1 << 0);
1740 try testArgs(i512, u1, 0);
1741 try testArgs(i512, u1, 1 << 0);
1742 try testArgs(u512, u1, 0);
1743 try testArgs(u512, u1, 1 << 0);
1744 try testArgs(i1024, u1, 0);
1745 try testArgs(i1024, u1, 1 << 0);
1746 try testArgs(u1024, u1, 0);
1747 try testArgs(u1024, u1, 1 << 0);
1748
1749 try testArgs(i8, i2, -1 << 1);
1750 try testArgs(i8, i2, -1);
1751 try testArgs(i8, i2, 0);
1752 try testArgs(u8, i2, -1 << 1);
1753 try testArgs(u8, i2, -1);
1754 try testArgs(u8, i2, 0);
1755 try testArgs(i16, i2, -1 << 1);
1756 try testArgs(i16, i2, -1);
1757 try testArgs(i16, i2, 0);
1758 try testArgs(u16, i2, -1 << 1);
1759 try testArgs(u16, i2, -1);
1760 try testArgs(u16, i2, 0);
1761 try testArgs(i32, i2, -1 << 1);
1762 try testArgs(i32, i2, -1);
1763 try testArgs(i32, i2, 0);
1764 try testArgs(u32, i2, -1 << 1);
1765 try testArgs(u32, i2, -1);
1766 try testArgs(u32, i2, 0);
1767 try testArgs(i64, i2, -1 << 1);
1768 try testArgs(i64, i2, -1);
1769 try testArgs(i64, i2, 0);
1770 try testArgs(u64, i2, -1 << 1);
1771 try testArgs(u64, i2, -1);
1772 try testArgs(u64, i2, 0);
1773 try testArgs(i128, i2, -1 << 1);
1774 try testArgs(i128, i2, -1);
1775 try testArgs(i128, i2, 0);
1776 try testArgs(u128, i2, -1 << 1);
1777 try testArgs(u128, i2, -1);
1778 try testArgs(u128, i2, 0);
1779 try testArgs(i256, i2, -1 << 1);
1780 try testArgs(i256, i2, -1);
1781 try testArgs(i256, i2, 0);
1782 try testArgs(u256, i2, -1 << 1);
1783 try testArgs(u256, i2, -1);
1784 try testArgs(u256, i2, 0);
1785 try testArgs(i512, i2, -1 << 1);
1786 try testArgs(i512, i2, -1);
1787 try testArgs(i512, i2, 0);
1788 try testArgs(u512, i2, -1 << 1);
1789 try testArgs(u512, i2, -1);
1790 try testArgs(u512, i2, 0);
1791 try testArgs(i1024, i2, -1 << 1);
1792 try testArgs(i1024, i2, -1);
1793 try testArgs(i1024, i2, 0);
1794 try testArgs(u1024, i2, -1 << 1);
1795 try testArgs(u1024, i2, -1);
1796 try testArgs(u1024, i2, 0);
1797 try testArgs(i8, u2, 0);
1798 try testArgs(i8, u2, 1 << 0);
1799 try testArgs(i8, u2, 1 << 1);
1800 try testArgs(u8, u2, 0);
1801 try testArgs(u8, u2, 1 << 0);
1802 try testArgs(u8, u2, 1 << 1);
1803 try testArgs(i16, u2, 0);
1804 try testArgs(i16, u2, 1 << 0);
1805 try testArgs(i16, u2, 1 << 1);
1806 try testArgs(u16, u2, 0);
1807 try testArgs(u16, u2, 1 << 0);
1808 try testArgs(u16, u2, 1 << 1);
1809 try testArgs(i32, u2, 0);
1810 try testArgs(i32, u2, 1 << 0);
1811 try testArgs(i32, u2, 1 << 1);
1812 try testArgs(u32, u2, 0);
1813 try testArgs(u32, u2, 1 << 0);
1814 try testArgs(u32, u2, 1 << 1);
1815 try testArgs(i64, u2, 0);
1816 try testArgs(i64, u2, 1 << 0);
1817 try testArgs(i64, u2, 1 << 1);
1818 try testArgs(u64, u2, 0);
1819 try testArgs(u64, u2, 1 << 0);
1820 try testArgs(u64, u2, 1 << 1);
1821 try testArgs(i128, u2, 0);
1822 try testArgs(i128, u2, 1 << 0);
1823 try testArgs(i128, u2, 1 << 1);
1824 try testArgs(u128, u2, 0);
1825 try testArgs(u128, u2, 1 << 0);
1826 try testArgs(u128, u2, 1 << 1);
1827 try testArgs(i256, u2, 0);
1828 try testArgs(i256, u2, 1 << 0);
1829 try testArgs(i256, u2, 1 << 1);
1830 try testArgs(u256, u2, 0);
1831 try testArgs(u256, u2, 1 << 0);
1832 try testArgs(u256, u2, 1 << 1);
1833 try testArgs(i512, u2, 0);
1834 try testArgs(i512, u2, 1 << 0);
1835 try testArgs(i512, u2, 1 << 1);
1836 try testArgs(u512, u2, 0);
1837 try testArgs(u512, u2, 1 << 0);
1838 try testArgs(u512, u2, 1 << 1);
1839 try testArgs(i1024, u2, 0);
1840 try testArgs(i1024, u2, 1 << 0);
1841 try testArgs(i1024, u2, 1 << 1);
1842 try testArgs(u1024, u2, 0);
1843 try testArgs(u1024, u2, 1 << 0);
1844 try testArgs(u1024, u2, 1 << 1);
1845
1846 try testArgs(i8, i3, -1 << 2);
1847 try testArgs(i8, i3, -1);
1848 try testArgs(i8, i3, 0);
1849 try testArgs(u8, i3, -1 << 2);
1850 try testArgs(u8, i3, -1);
1851 try testArgs(u8, i3, 0);
1852 try testArgs(i16, i3, -1 << 2);
1853 try testArgs(i16, i3, -1);
1854 try testArgs(i16, i3, 0);
1855 try testArgs(u16, i3, -1 << 2);
1856 try testArgs(u16, i3, -1);
1857 try testArgs(u16, i3, 0);
1858 try testArgs(i32, i3, -1 << 2);
1859 try testArgs(i32, i3, -1);
1860 try testArgs(i32, i3, 0);
1861 try testArgs(u32, i3, -1 << 2);
1862 try testArgs(u32, i3, -1);
1863 try testArgs(u32, i3, 0);
1864 try testArgs(i64, i3, -1 << 2);
1865 try testArgs(i64, i3, -1);
1866 try testArgs(i64, i3, 0);
1867 try testArgs(u64, i3, -1 << 2);
1868 try testArgs(u64, i3, -1);
1869 try testArgs(u64, i3, 0);
1870 try testArgs(i128, i3, -1 << 2);
1871 try testArgs(i128, i3, -1);
1872 try testArgs(i128, i3, 0);
1873 try testArgs(u128, i3, -1 << 2);
1874 try testArgs(u128, i3, -1);
1875 try testArgs(u128, i3, 0);
1876 try testArgs(i256, i3, -1 << 2);
1877 try testArgs(i256, i3, -1);
1878 try testArgs(i256, i3, 0);
1879 try testArgs(u256, i3, -1 << 2);
1880 try testArgs(u256, i3, -1);
1881 try testArgs(u256, i3, 0);
1882 try testArgs(i512, i3, -1 << 2);
1883 try testArgs(i512, i3, -1);
1884 try testArgs(i512, i3, 0);
1885 try testArgs(u512, i3, -1 << 2);
1886 try testArgs(u512, i3, -1);
1887 try testArgs(u512, i3, 0);
1888 try testArgs(i1024, i3, -1 << 2);
1889 try testArgs(i1024, i3, -1);
1890 try testArgs(i1024, i3, 0);
1891 try testArgs(u1024, i3, -1 << 2);
1892 try testArgs(u1024, i3, -1);
1893 try testArgs(u1024, i3, 0);
1894 try testArgs(i8, u3, 0);
1895 try testArgs(i8, u3, 1 << 0);
1896 try testArgs(i8, u3, 1 << 2);
1897 try testArgs(u8, u3, 0);
1898 try testArgs(u8, u3, 1 << 0);
1899 try testArgs(u8, u3, 1 << 2);
1900 try testArgs(i16, u3, 0);
1901 try testArgs(i16, u3, 1 << 0);
1902 try testArgs(i16, u3, 1 << 2);
1903 try testArgs(u16, u3, 0);
1904 try testArgs(u16, u3, 1 << 0);
1905 try testArgs(u16, u3, 1 << 2);
1906 try testArgs(i32, u3, 0);
1907 try testArgs(i32, u3, 1 << 0);
1908 try testArgs(i32, u3, 1 << 2);
1909 try testArgs(u32, u3, 0);
1910 try testArgs(u32, u3, 1 << 0);
1911 try testArgs(u32, u3, 1 << 2);
1912 try testArgs(i64, u3, 0);
1913 try testArgs(i64, u3, 1 << 0);
1914 try testArgs(i64, u3, 1 << 2);
1915 try testArgs(u64, u3, 0);
1916 try testArgs(u64, u3, 1 << 0);
1917 try testArgs(u64, u3, 1 << 2);
1918 try testArgs(i128, u3, 0);
1919 try testArgs(i128, u3, 1 << 0);
1920 try testArgs(i128, u3, 1 << 2);
1921 try testArgs(u128, u3, 0);
1922 try testArgs(u128, u3, 1 << 0);
1923 try testArgs(u128, u3, 1 << 2);
1924 try testArgs(i256, u3, 0);
1925 try testArgs(i256, u3, 1 << 0);
1926 try testArgs(i256, u3, 1 << 2);
1927 try testArgs(u256, u3, 0);
1928 try testArgs(u256, u3, 1 << 0);
1929 try testArgs(u256, u3, 1 << 2);
1930 try testArgs(i512, u3, 0);
1931 try testArgs(i512, u3, 1 << 0);
1932 try testArgs(i512, u3, 1 << 2);
1933 try testArgs(u512, u3, 0);
1934 try testArgs(u512, u3, 1 << 0);
1935 try testArgs(u512, u3, 1 << 2);
1936 try testArgs(i1024, u3, 0);
1937 try testArgs(i1024, u3, 1 << 0);
1938 try testArgs(i1024, u3, 1 << 2);
1939 try testArgs(u1024, u3, 0);
1940 try testArgs(u1024, u3, 1 << 0);
1941 try testArgs(u1024, u3, 1 << 2);
1942
1943 try testArgs(i8, i4, -1 << 3);
1944 try testArgs(i8, i4, -1);
1945 try testArgs(i8, i4, 0);
1946 try testArgs(u8, i4, -1 << 3);
1947 try testArgs(u8, i4, -1);
1948 try testArgs(u8, i4, 0);
1949 try testArgs(i16, i4, -1 << 3);
1950 try testArgs(i16, i4, -1);
1951 try testArgs(i16, i4, 0);
1952 try testArgs(u16, i4, -1 << 3);
1953 try testArgs(u16, i4, -1);
1954 try testArgs(u16, i4, 0);
1955 try testArgs(i32, i4, -1 << 3);
1956 try testArgs(i32, i4, -1);
1957 try testArgs(i32, i4, 0);
1958 try testArgs(u32, i4, -1 << 3);
1959 try testArgs(u32, i4, -1);
1960 try testArgs(u32, i4, 0);
1961 try testArgs(i64, i4, -1 << 3);
1962 try testArgs(i64, i4, -1);
1963 try testArgs(i64, i4, 0);
1964 try testArgs(u64, i4, -1 << 3);
1965 try testArgs(u64, i4, -1);
1966 try testArgs(u64, i4, 0);
1967 try testArgs(i128, i4, -1 << 3);
1968 try testArgs(i128, i4, -1);
1969 try testArgs(i128, i4, 0);
1970 try testArgs(u128, i4, -1 << 3);
1971 try testArgs(u128, i4, -1);
1972 try testArgs(u128, i4, 0);
1973 try testArgs(i256, i4, -1 << 3);
1974 try testArgs(i256, i4, -1);
1975 try testArgs(i256, i4, 0);
1976 try testArgs(u256, i4, -1 << 3);
1977 try testArgs(u256, i4, -1);
1978 try testArgs(u256, i4, 0);
1979 try testArgs(i512, i4, -1 << 3);
1980 try testArgs(i512, i4, -1);
1981 try testArgs(i512, i4, 0);
1982 try testArgs(u512, i4, -1 << 3);
1983 try testArgs(u512, i4, -1);
1984 try testArgs(u512, i4, 0);
1985 try testArgs(i1024, i4, -1 << 3);
1986 try testArgs(i1024, i4, -1);
1987 try testArgs(i1024, i4, 0);
1988 try testArgs(u1024, i4, -1 << 3);
1989 try testArgs(u1024, i4, -1);
1990 try testArgs(u1024, i4, 0);
1991 try testArgs(i8, u4, 0);
1992 try testArgs(i8, u4, 1 << 0);
1993 try testArgs(i8, u4, 1 << 3);
1994 try testArgs(u8, u4, 0);
1995 try testArgs(u8, u4, 1 << 0);
1996 try testArgs(u8, u4, 1 << 3);
1997 try testArgs(i16, u4, 0);
1998 try testArgs(i16, u4, 1 << 0);
1999 try testArgs(i16, u4, 1 << 3);
2000 try testArgs(u16, u4, 0);
2001 try testArgs(u16, u4, 1 << 0);
2002 try testArgs(u16, u4, 1 << 3);
2003 try testArgs(i32, u4, 0);
2004 try testArgs(i32, u4, 1 << 0);
2005 try testArgs(i32, u4, 1 << 3);
2006 try testArgs(u32, u4, 0);
2007 try testArgs(u32, u4, 1 << 0);
2008 try testArgs(u32, u4, 1 << 3);
2009 try testArgs(i64, u4, 0);
2010 try testArgs(i64, u4, 1 << 0);
2011 try testArgs(i64, u4, 1 << 3);
2012 try testArgs(u64, u4, 0);
2013 try testArgs(u64, u4, 1 << 0);
2014 try testArgs(u64, u4, 1 << 3);
2015 try testArgs(i128, u4, 0);
2016 try testArgs(i128, u4, 1 << 0);
2017 try testArgs(i128, u4, 1 << 3);
2018 try testArgs(u128, u4, 0);
2019 try testArgs(u128, u4, 1 << 0);
2020 try testArgs(u128, u4, 1 << 3);
2021 try testArgs(i256, u4, 0);
2022 try testArgs(i256, u4, 1 << 0);
2023 try testArgs(i256, u4, 1 << 3);
2024 try testArgs(u256, u4, 0);
2025 try testArgs(u256, u4, 1 << 0);
2026 try testArgs(u256, u4, 1 << 3);
2027 try testArgs(i512, u4, 0);
2028 try testArgs(i512, u4, 1 << 0);
2029 try testArgs(i512, u4, 1 << 3);
2030 try testArgs(u512, u4, 0);
2031 try testArgs(u512, u4, 1 << 0);
2032 try testArgs(u512, u4, 1 << 3);
2033 try testArgs(i1024, u4, 0);
2034 try testArgs(i1024, u4, 1 << 0);
2035 try testArgs(i1024, u4, 1 << 3);
2036 try testArgs(u1024, u4, 0);
2037 try testArgs(u1024, u4, 1 << 0);
2038 try testArgs(u1024, u4, 1 << 3);
2039
2040 try testArgs(i8, i5, -1 << 4);
2041 try testArgs(i8, i5, -1);
2042 try testArgs(i8, i5, 0);
2043 try testArgs(u8, i5, -1 << 4);
2044 try testArgs(u8, i5, -1);
2045 try testArgs(u8, i5, 0);
2046 try testArgs(i16, i5, -1 << 4);
2047 try testArgs(i16, i5, -1);
2048 try testArgs(i16, i5, 0);
2049 try testArgs(u16, i5, -1 << 4);
2050 try testArgs(u16, i5, -1);
2051 try testArgs(u16, i5, 0);
2052 try testArgs(i32, i5, -1 << 4);
2053 try testArgs(i32, i5, -1);
2054 try testArgs(i32, i5, 0);
2055 try testArgs(u32, i5, -1 << 4);
2056 try testArgs(u32, i5, -1);
2057 try testArgs(u32, i5, 0);
2058 try testArgs(i64, i5, -1 << 4);
2059 try testArgs(i64, i5, -1);
2060 try testArgs(i64, i5, 0);
2061 try testArgs(u64, i5, -1 << 4);
2062 try testArgs(u64, i5, -1);
2063 try testArgs(u64, i5, 0);
2064 try testArgs(i128, i5, -1 << 4);
2065 try testArgs(i128, i5, -1);
2066 try testArgs(i128, i5, 0);
2067 try testArgs(u128, i5, -1 << 4);
2068 try testArgs(u128, i5, -1);
2069 try testArgs(u128, i5, 0);
2070 try testArgs(i256, i5, -1 << 4);
2071 try testArgs(i256, i5, -1);
2072 try testArgs(i256, i5, 0);
2073 try testArgs(u256, i5, -1 << 4);
2074 try testArgs(u256, i5, -1);
2075 try testArgs(u256, i5, 0);
2076 try testArgs(i512, i5, -1 << 4);
2077 try testArgs(i512, i5, -1);
2078 try testArgs(i512, i5, 0);
2079 try testArgs(u512, i5, -1 << 4);
2080 try testArgs(u512, i5, -1);
2081 try testArgs(u512, i5, 0);
2082 try testArgs(i1024, i5, -1 << 4);
2083 try testArgs(i1024, i5, -1);
2084 try testArgs(i1024, i5, 0);
2085 try testArgs(u1024, i5, -1 << 4);
2086 try testArgs(u1024, i5, -1);
2087 try testArgs(u1024, i5, 0);
2088 try testArgs(i8, u5, 0);
2089 try testArgs(i8, u5, 1 << 0);
2090 try testArgs(i8, u5, 1 << 4);
2091 try testArgs(u8, u5, 0);
2092 try testArgs(u8, u5, 1 << 0);
2093 try testArgs(u8, u5, 1 << 4);
2094 try testArgs(i16, u5, 0);
2095 try testArgs(i16, u5, 1 << 0);
2096 try testArgs(i16, u5, 1 << 4);
2097 try testArgs(u16, u5, 0);
2098 try testArgs(u16, u5, 1 << 0);
2099 try testArgs(u16, u5, 1 << 4);
2100 try testArgs(i32, u5, 0);
2101 try testArgs(i32, u5, 1 << 0);
2102 try testArgs(i32, u5, 1 << 4);
2103 try testArgs(u32, u5, 0);
2104 try testArgs(u32, u5, 1 << 0);
2105 try testArgs(u32, u5, 1 << 4);
2106 try testArgs(i64, u5, 0);
2107 try testArgs(i64, u5, 1 << 0);
2108 try testArgs(i64, u5, 1 << 4);
2109 try testArgs(u64, u5, 0);
2110 try testArgs(u64, u5, 1 << 0);
2111 try testArgs(u64, u5, 1 << 4);
2112 try testArgs(i128, u5, 0);
2113 try testArgs(i128, u5, 1 << 0);
2114 try testArgs(i128, u5, 1 << 4);
2115 try testArgs(u128, u5, 0);
2116 try testArgs(u128, u5, 1 << 0);
2117 try testArgs(u128, u5, 1 << 4);
2118 try testArgs(i256, u5, 0);
2119 try testArgs(i256, u5, 1 << 0);
2120 try testArgs(i256, u5, 1 << 4);
2121 try testArgs(u256, u5, 0);
2122 try testArgs(u256, u5, 1 << 0);
2123 try testArgs(u256, u5, 1 << 4);
2124 try testArgs(i512, u5, 0);
2125 try testArgs(i512, u5, 1 << 0);
2126 try testArgs(i512, u5, 1 << 4);
2127 try testArgs(u512, u5, 0);
2128 try testArgs(u512, u5, 1 << 0);
2129 try testArgs(u512, u5, 1 << 4);
2130 try testArgs(i1024, u5, 0);
2131 try testArgs(i1024, u5, 1 << 0);
2132 try testArgs(i1024, u5, 1 << 4);
2133 try testArgs(u1024, u5, 0);
2134 try testArgs(u1024, u5, 1 << 0);
2135 try testArgs(u1024, u5, 1 << 4);
2136
2137 try testArgs(i8, i7, -1 << 6);
2138 try testArgs(i8, i7, -1);
2139 try testArgs(i8, i7, 0);
2140 try testArgs(u8, i7, -1 << 6);
2141 try testArgs(u8, i7, -1);
2142 try testArgs(u8, i7, 0);
2143 try testArgs(i16, i7, -1 << 6);
2144 try testArgs(i16, i7, -1);
2145 try testArgs(i16, i7, 0);
2146 try testArgs(u16, i7, -1 << 6);
2147 try testArgs(u16, i7, -1);
2148 try testArgs(u16, i7, 0);
2149 try testArgs(i32, i7, -1 << 6);
2150 try testArgs(i32, i7, -1);
2151 try testArgs(i32, i7, 0);
2152 try testArgs(u32, i7, -1 << 6);
2153 try testArgs(u32, i7, -1);
2154 try testArgs(u32, i7, 0);
2155 try testArgs(i64, i7, -1 << 6);
2156 try testArgs(i64, i7, -1);
2157 try testArgs(i64, i7, 0);
2158 try testArgs(u64, i7, -1 << 6);
2159 try testArgs(u64, i7, -1);
2160 try testArgs(u64, i7, 0);
2161 try testArgs(i128, i7, -1 << 6);
2162 try testArgs(i128, i7, -1);
2163 try testArgs(i128, i7, 0);
2164 try testArgs(u128, i7, -1 << 6);
2165 try testArgs(u128, i7, -1);
2166 try testArgs(u128, i7, 0);
2167 try testArgs(i256, i7, -1 << 6);
2168 try testArgs(i256, i7, -1);
2169 try testArgs(i256, i7, 0);
2170 try testArgs(u256, i7, -1 << 6);
2171 try testArgs(u256, i7, -1);
2172 try testArgs(u256, i7, 0);
2173 try testArgs(i512, i7, -1 << 6);
2174 try testArgs(i512, i7, -1);
2175 try testArgs(i512, i7, 0);
2176 try testArgs(u512, i7, -1 << 6);
2177 try testArgs(u512, i7, -1);
2178 try testArgs(u512, i7, 0);
2179 try testArgs(i1024, i7, -1 << 6);
2180 try testArgs(i1024, i7, -1);
2181 try testArgs(i1024, i7, 0);
2182 try testArgs(u1024, i7, -1 << 6);
2183 try testArgs(u1024, i7, -1);
2184 try testArgs(u1024, i7, 0);
2185 try testArgs(i8, u7, 0);
2186 try testArgs(i8, u7, 1 << 0);
2187 try testArgs(i8, u7, 1 << 6);
2188 try testArgs(u8, u7, 0);
2189 try testArgs(u8, u7, 1 << 0);
2190 try testArgs(u8, u7, 1 << 6);
2191 try testArgs(i16, u7, 0);
2192 try testArgs(i16, u7, 1 << 0);
2193 try testArgs(i16, u7, 1 << 6);
2194 try testArgs(u16, u7, 0);
2195 try testArgs(u16, u7, 1 << 0);
2196 try testArgs(u16, u7, 1 << 6);
2197 try testArgs(i32, u7, 0);
2198 try testArgs(i32, u7, 1 << 0);
2199 try testArgs(i32, u7, 1 << 6);
2200 try testArgs(u32, u7, 0);
2201 try testArgs(u32, u7, 1 << 0);
2202 try testArgs(u32, u7, 1 << 6);
2203 try testArgs(i64, u7, 0);
2204 try testArgs(i64, u7, 1 << 0);
2205 try testArgs(i64, u7, 1 << 6);
2206 try testArgs(u64, u7, 0);
2207 try testArgs(u64, u7, 1 << 0);
2208 try testArgs(u64, u7, 1 << 6);
2209 try testArgs(i128, u7, 0);
2210 try testArgs(i128, u7, 1 << 0);
2211 try testArgs(i128, u7, 1 << 6);
2212 try testArgs(u128, u7, 0);
2213 try testArgs(u128, u7, 1 << 0);
2214 try testArgs(u128, u7, 1 << 6);
2215 try testArgs(i256, u7, 0);
2216 try testArgs(i256, u7, 1 << 0);
2217 try testArgs(i256, u7, 1 << 6);
2218 try testArgs(u256, u7, 0);
2219 try testArgs(u256, u7, 1 << 0);
2220 try testArgs(u256, u7, 1 << 6);
2221 try testArgs(i512, u7, 0);
2222 try testArgs(i512, u7, 1 << 0);
2223 try testArgs(i512, u7, 1 << 6);
2224 try testArgs(u512, u7, 0);
2225 try testArgs(u512, u7, 1 << 0);
2226 try testArgs(u512, u7, 1 << 6);
2227 try testArgs(i1024, u7, 0);
2228 try testArgs(i1024, u7, 1 << 0);
2229 try testArgs(i1024, u7, 1 << 6);
2230 try testArgs(u1024, u7, 0);
2231 try testArgs(u1024, u7, 1 << 0);
2232 try testArgs(u1024, u7, 1 << 6);
2233
2234 try testArgs(i8, i8, -1 << 7);
2235 try testArgs(i8, i8, -1);
2236 try testArgs(i8, i8, 0);
2237 try testArgs(u8, i8, -1 << 7);
2238 try testArgs(u8, i8, -1);
2239 try testArgs(u8, i8, 0);
2240 try testArgs(i16, i8, -1 << 7);
2241 try testArgs(i16, i8, -1);
2242 try testArgs(i16, i8, 0);
2243 try testArgs(u16, i8, -1 << 7);
2244 try testArgs(u16, i8, -1);
2245 try testArgs(u16, i8, 0);
2246 try testArgs(i32, i8, -1 << 7);
2247 try testArgs(i32, i8, -1);
2248 try testArgs(i32, i8, 0);
2249 try testArgs(u32, i8, -1 << 7);
2250 try testArgs(u32, i8, -1);
2251 try testArgs(u32, i8, 0);
2252 try testArgs(i64, i8, -1 << 7);
2253 try testArgs(i64, i8, -1);
2254 try testArgs(i64, i8, 0);
2255 try testArgs(u64, i8, -1 << 7);
2256 try testArgs(u64, i8, -1);
2257 try testArgs(u64, i8, 0);
2258 try testArgs(i128, i8, -1 << 7);
2259 try testArgs(i128, i8, -1);
2260 try testArgs(i128, i8, 0);
2261 try testArgs(u128, i8, -1 << 7);
2262 try testArgs(u128, i8, -1);
2263 try testArgs(u128, i8, 0);
2264 try testArgs(i256, i8, -1 << 7);
2265 try testArgs(i256, i8, -1);
2266 try testArgs(i256, i8, 0);
2267 try testArgs(u256, i8, -1 << 7);
2268 try testArgs(u256, i8, -1);
2269 try testArgs(u256, i8, 0);
2270 try testArgs(i512, i8, -1 << 7);
2271 try testArgs(i512, i8, -1);
2272 try testArgs(i512, i8, 0);
2273 try testArgs(u512, i8, -1 << 7);
2274 try testArgs(u512, i8, -1);
2275 try testArgs(u512, i8, 0);
2276 try testArgs(i1024, i8, -1 << 7);
2277 try testArgs(i1024, i8, -1);
2278 try testArgs(i1024, i8, 0);
2279 try testArgs(u1024, i8, -1 << 7);
2280 try testArgs(u1024, i8, -1);
2281 try testArgs(u1024, i8, 0);
2282 try testArgs(i8, u8, 0);
2283 try testArgs(i8, u8, 1 << 0);
2284 try testArgs(i8, u8, 1 << 7);
2285 try testArgs(u8, u8, 0);
2286 try testArgs(u8, u8, 1 << 0);
2287 try testArgs(u8, u8, 1 << 7);
2288 try testArgs(i16, u8, 0);
2289 try testArgs(i16, u8, 1 << 0);
2290 try testArgs(i16, u8, 1 << 7);
2291 try testArgs(u16, u8, 0);
2292 try testArgs(u16, u8, 1 << 0);
2293 try testArgs(u16, u8, 1 << 7);
2294 try testArgs(i32, u8, 0);
2295 try testArgs(i32, u8, 1 << 0);
2296 try testArgs(i32, u8, 1 << 7);
2297 try testArgs(u32, u8, 0);
2298 try testArgs(u32, u8, 1 << 0);
2299 try testArgs(u32, u8, 1 << 7);
2300 try testArgs(i64, u8, 0);
2301 try testArgs(i64, u8, 1 << 0);
2302 try testArgs(i64, u8, 1 << 7);
2303 try testArgs(u64, u8, 0);
2304 try testArgs(u64, u8, 1 << 0);
2305 try testArgs(u64, u8, 1 << 7);
2306 try testArgs(i128, u8, 0);
2307 try testArgs(i128, u8, 1 << 0);
2308 try testArgs(i128, u8, 1 << 7);
2309 try testArgs(u128, u8, 0);
2310 try testArgs(u128, u8, 1 << 0);
2311 try testArgs(u128, u8, 1 << 7);
2312 try testArgs(i256, u8, 0);
2313 try testArgs(i256, u8, 1 << 0);
2314 try testArgs(i256, u8, 1 << 7);
2315 try testArgs(u256, u8, 0);
2316 try testArgs(u256, u8, 1 << 0);
2317 try testArgs(u256, u8, 1 << 7);
2318 try testArgs(i512, u8, 0);
2319 try testArgs(i512, u8, 1 << 0);
2320 try testArgs(i512, u8, 1 << 7);
2321 try testArgs(u512, u8, 0);
2322 try testArgs(u512, u8, 1 << 0);
2323 try testArgs(u512, u8, 1 << 7);
2324 try testArgs(i1024, u8, 0);
2325 try testArgs(i1024, u8, 1 << 0);
2326 try testArgs(i1024, u8, 1 << 7);
2327 try testArgs(u1024, u8, 0);
2328 try testArgs(u1024, u8, 1 << 0);
2329 try testArgs(u1024, u8, 1 << 7);
2330
2331 try testArgs(i8, i9, -1 << 8);
2332 try testArgs(i8, i9, -1);
2333 try testArgs(i8, i9, 0);
2334 try testArgs(u8, i9, -1 << 8);
2335 try testArgs(u8, i9, -1);
2336 try testArgs(u8, i9, 0);
2337 try testArgs(i16, i9, -1 << 8);
2338 try testArgs(i16, i9, -1);
2339 try testArgs(i16, i9, 0);
2340 try testArgs(u16, i9, -1 << 8);
2341 try testArgs(u16, i9, -1);
2342 try testArgs(u16, i9, 0);
2343 try testArgs(i32, i9, -1 << 8);
2344 try testArgs(i32, i9, -1);
2345 try testArgs(i32, i9, 0);
2346 try testArgs(u32, i9, -1 << 8);
2347 try testArgs(u32, i9, -1);
2348 try testArgs(u32, i9, 0);
2349 try testArgs(i64, i9, -1 << 8);
2350 try testArgs(i64, i9, -1);
2351 try testArgs(i64, i9, 0);
2352 try testArgs(u64, i9, -1 << 8);
2353 try testArgs(u64, i9, -1);
2354 try testArgs(u64, i9, 0);
2355 try testArgs(i128, i9, -1 << 8);
2356 try testArgs(i128, i9, -1);
2357 try testArgs(i128, i9, 0);
2358 try testArgs(u128, i9, -1 << 8);
2359 try testArgs(u128, i9, -1);
2360 try testArgs(u128, i9, 0);
2361 try testArgs(i256, i9, -1 << 8);
2362 try testArgs(i256, i9, -1);
2363 try testArgs(i256, i9, 0);
2364 try testArgs(u256, i9, -1 << 8);
2365 try testArgs(u256, i9, -1);
2366 try testArgs(u256, i9, 0);
2367 try testArgs(i512, i9, -1 << 8);
2368 try testArgs(i512, i9, -1);
2369 try testArgs(i512, i9, 0);
2370 try testArgs(u512, i9, -1 << 8);
2371 try testArgs(u512, i9, -1);
2372 try testArgs(u512, i9, 0);
2373 try testArgs(i1024, i9, -1 << 8);
2374 try testArgs(i1024, i9, -1);
2375 try testArgs(i1024, i9, 0);
2376 try testArgs(u1024, i9, -1 << 8);
2377 try testArgs(u1024, i9, -1);
2378 try testArgs(u1024, i9, 0);
2379 try testArgs(i8, u9, 0);
2380 try testArgs(i8, u9, 1 << 0);
2381 try testArgs(i8, u9, 1 << 8);
2382 try testArgs(u8, u9, 0);
2383 try testArgs(u8, u9, 1 << 0);
2384 try testArgs(u8, u9, 1 << 8);
2385 try testArgs(i16, u9, 0);
2386 try testArgs(i16, u9, 1 << 0);
2387 try testArgs(i16, u9, 1 << 8);
2388 try testArgs(u16, u9, 0);
2389 try testArgs(u16, u9, 1 << 0);
2390 try testArgs(u16, u9, 1 << 8);
2391 try testArgs(i32, u9, 0);
2392 try testArgs(i32, u9, 1 << 0);
2393 try testArgs(i32, u9, 1 << 8);
2394 try testArgs(u32, u9, 0);
2395 try testArgs(u32, u9, 1 << 0);
2396 try testArgs(u32, u9, 1 << 8);
2397 try testArgs(i64, u9, 0);
2398 try testArgs(i64, u9, 1 << 0);
2399 try testArgs(i64, u9, 1 << 8);
2400 try testArgs(u64, u9, 0);
2401 try testArgs(u64, u9, 1 << 0);
2402 try testArgs(u64, u9, 1 << 8);
2403 try testArgs(i128, u9, 0);
2404 try testArgs(i128, u9, 1 << 0);
2405 try testArgs(i128, u9, 1 << 8);
2406 try testArgs(u128, u9, 0);
2407 try testArgs(u128, u9, 1 << 0);
2408 try testArgs(u128, u9, 1 << 8);
2409 try testArgs(i256, u9, 0);
2410 try testArgs(i256, u9, 1 << 0);
2411 try testArgs(i256, u9, 1 << 8);
2412 try testArgs(u256, u9, 0);
2413 try testArgs(u256, u9, 1 << 0);
2414 try testArgs(u256, u9, 1 << 8);
2415 try testArgs(i512, u9, 0);
2416 try testArgs(i512, u9, 1 << 0);
2417 try testArgs(i512, u9, 1 << 8);
2418 try testArgs(u512, u9, 0);
2419 try testArgs(u512, u9, 1 << 0);
2420 try testArgs(u512, u9, 1 << 8);
2421 try testArgs(i1024, u9, 0);
2422 try testArgs(i1024, u9, 1 << 0);
2423 try testArgs(i1024, u9, 1 << 8);
2424 try testArgs(u1024, u9, 0);
2425 try testArgs(u1024, u9, 1 << 0);
2426 try testArgs(u1024, u9, 1 << 8);
2427
2428 try testArgs(i8, i15, -1 << 14);
2429 try testArgs(i8, i15, -1);
2430 try testArgs(i8, i15, 0);
2431 try testArgs(u8, i15, -1 << 14);
2432 try testArgs(u8, i15, -1);
2433 try testArgs(u8, i15, 0);
2434 try testArgs(i16, i15, -1 << 14);
2435 try testArgs(i16, i15, -1);
2436 try testArgs(i16, i15, 0);
2437 try testArgs(u16, i15, -1 << 14);
2438 try testArgs(u16, i15, -1);
2439 try testArgs(u16, i15, 0);
2440 try testArgs(i32, i15, -1 << 14);
2441 try testArgs(i32, i15, -1);
2442 try testArgs(i32, i15, 0);
2443 try testArgs(u32, i15, -1 << 14);
2444 try testArgs(u32, i15, -1);
2445 try testArgs(u32, i15, 0);
2446 try testArgs(i64, i15, -1 << 14);
2447 try testArgs(i64, i15, -1);
2448 try testArgs(i64, i15, 0);
2449 try testArgs(u64, i15, -1 << 14);
2450 try testArgs(u64, i15, -1);
2451 try testArgs(u64, i15, 0);
2452 try testArgs(i128, i15, -1 << 14);
2453 try testArgs(i128, i15, -1);
2454 try testArgs(i128, i15, 0);
2455 try testArgs(u128, i15, -1 << 14);
2456 try testArgs(u128, i15, -1);
2457 try testArgs(u128, i15, 0);
2458 try testArgs(i256, i15, -1 << 14);
2459 try testArgs(i256, i15, -1);
2460 try testArgs(i256, i15, 0);
2461 try testArgs(u256, i15, -1 << 14);
2462 try testArgs(u256, i15, -1);
2463 try testArgs(u256, i15, 0);
2464 try testArgs(i512, i15, -1 << 14);
2465 try testArgs(i512, i15, -1);
2466 try testArgs(i512, i15, 0);
2467 try testArgs(u512, i15, -1 << 14);
2468 try testArgs(u512, i15, -1);
2469 try testArgs(u512, i15, 0);
2470 try testArgs(i1024, i15, -1 << 14);
2471 try testArgs(i1024, i15, -1);
2472 try testArgs(i1024, i15, 0);
2473 try testArgs(u1024, i15, -1 << 14);
2474 try testArgs(u1024, i15, -1);
2475 try testArgs(u1024, i15, 0);
2476 try testArgs(i8, u15, 0);
2477 try testArgs(i8, u15, 1 << 0);
2478 try testArgs(i8, u15, 1 << 14);
2479 try testArgs(u8, u15, 0);
2480 try testArgs(u8, u15, 1 << 0);
2481 try testArgs(u8, u15, 1 << 14);
2482 try testArgs(i16, u15, 0);
2483 try testArgs(i16, u15, 1 << 0);
2484 try testArgs(i16, u15, 1 << 14);
2485 try testArgs(u16, u15, 0);
2486 try testArgs(u16, u15, 1 << 0);
2487 try testArgs(u16, u15, 1 << 14);
2488 try testArgs(i32, u15, 0);
2489 try testArgs(i32, u15, 1 << 0);
2490 try testArgs(i32, u15, 1 << 14);
2491 try testArgs(u32, u15, 0);
2492 try testArgs(u32, u15, 1 << 0);
2493 try testArgs(u32, u15, 1 << 14);
2494 try testArgs(i64, u15, 0);
2495 try testArgs(i64, u15, 1 << 0);
2496 try testArgs(i64, u15, 1 << 14);
2497 try testArgs(u64, u15, 0);
2498 try testArgs(u64, u15, 1 << 0);
2499 try testArgs(u64, u15, 1 << 14);
2500 try testArgs(i128, u15, 0);
2501 try testArgs(i128, u15, 1 << 0);
2502 try testArgs(i128, u15, 1 << 14);
2503 try testArgs(u128, u15, 0);
2504 try testArgs(u128, u15, 1 << 0);
2505 try testArgs(u128, u15, 1 << 14);
2506 try testArgs(i256, u15, 0);
2507 try testArgs(i256, u15, 1 << 0);
2508 try testArgs(i256, u15, 1 << 14);
2509 try testArgs(u256, u15, 0);
2510 try testArgs(u256, u15, 1 << 0);
2511 try testArgs(u256, u15, 1 << 14);
2512 try testArgs(i512, u15, 0);
2513 try testArgs(i512, u15, 1 << 0);
2514 try testArgs(i512, u15, 1 << 14);
2515 try testArgs(u512, u15, 0);
2516 try testArgs(u512, u15, 1 << 0);
2517 try testArgs(u512, u15, 1 << 14);
2518 try testArgs(i1024, u15, 0);
2519 try testArgs(i1024, u15, 1 << 0);
2520 try testArgs(i1024, u15, 1 << 14);
2521 try testArgs(u1024, u15, 0);
2522 try testArgs(u1024, u15, 1 << 0);
2523 try testArgs(u1024, u15, 1 << 14);
2524
2525 try testArgs(i8, i16, -1 << 15);
2526 try testArgs(i8, i16, -1);
2527 try testArgs(i8, i16, 0);
2528 try testArgs(u8, i16, -1 << 15);
2529 try testArgs(u8, i16, -1);
2530 try testArgs(u8, i16, 0);
2531 try testArgs(i16, i16, -1 << 15);
2532 try testArgs(i16, i16, -1);
2533 try testArgs(i16, i16, 0);
2534 try testArgs(u16, i16, -1 << 15);
2535 try testArgs(u16, i16, -1);
2536 try testArgs(u16, i16, 0);
2537 try testArgs(i32, i16, -1 << 15);
2538 try testArgs(i32, i16, -1);
2539 try testArgs(i32, i16, 0);
2540 try testArgs(u32, i16, -1 << 15);
2541 try testArgs(u32, i16, -1);
2542 try testArgs(u32, i16, 0);
2543 try testArgs(i64, i16, -1 << 15);
2544 try testArgs(i64, i16, -1);
2545 try testArgs(i64, i16, 0);
2546 try testArgs(u64, i16, -1 << 15);
2547 try testArgs(u64, i16, -1);
2548 try testArgs(u64, i16, 0);
2549 try testArgs(i128, i16, -1 << 15);
2550 try testArgs(i128, i16, -1);
2551 try testArgs(i128, i16, 0);
2552 try testArgs(u128, i16, -1 << 15);
2553 try testArgs(u128, i16, -1);
2554 try testArgs(u128, i16, 0);
2555 try testArgs(i256, i16, -1 << 15);
2556 try testArgs(i256, i16, -1);
2557 try testArgs(i256, i16, 0);
2558 try testArgs(u256, i16, -1 << 15);
2559 try testArgs(u256, i16, -1);
2560 try testArgs(u256, i16, 0);
2561 try testArgs(i512, i16, -1 << 15);
2562 try testArgs(i512, i16, -1);
2563 try testArgs(i512, i16, 0);
2564 try testArgs(u512, i16, -1 << 15);
2565 try testArgs(u512, i16, -1);
2566 try testArgs(u512, i16, 0);
2567 try testArgs(i1024, i16, -1 << 15);
2568 try testArgs(i1024, i16, -1);
2569 try testArgs(i1024, i16, 0);
2570 try testArgs(u1024, i16, -1 << 15);
2571 try testArgs(u1024, i16, -1);
2572 try testArgs(u1024, i16, 0);
2573 try testArgs(i8, u16, 0);
2574 try testArgs(i8, u16, 1 << 0);
2575 try testArgs(i8, u16, 1 << 15);
2576 try testArgs(u8, u16, 0);
2577 try testArgs(u8, u16, 1 << 0);
2578 try testArgs(u8, u16, 1 << 15);
2579 try testArgs(i16, u16, 0);
2580 try testArgs(i16, u16, 1 << 0);
2581 try testArgs(i16, u16, 1 << 15);
2582 try testArgs(u16, u16, 0);
2583 try testArgs(u16, u16, 1 << 0);
2584 try testArgs(u16, u16, 1 << 15);
2585 try testArgs(i32, u16, 0);
2586 try testArgs(i32, u16, 1 << 0);
2587 try testArgs(i32, u16, 1 << 15);
2588 try testArgs(u32, u16, 0);
2589 try testArgs(u32, u16, 1 << 0);
2590 try testArgs(u32, u16, 1 << 15);
2591 try testArgs(i64, u16, 0);
2592 try testArgs(i64, u16, 1 << 0);
2593 try testArgs(i64, u16, 1 << 15);
2594 try testArgs(u64, u16, 0);
2595 try testArgs(u64, u16, 1 << 0);
2596 try testArgs(u64, u16, 1 << 15);
2597 try testArgs(i128, u16, 0);
2598 try testArgs(i128, u16, 1 << 0);
2599 try testArgs(i128, u16, 1 << 15);
2600 try testArgs(u128, u16, 0);
2601 try testArgs(u128, u16, 1 << 0);
2602 try testArgs(u128, u16, 1 << 15);
2603 try testArgs(i256, u16, 0);
2604 try testArgs(i256, u16, 1 << 0);
2605 try testArgs(i256, u16, 1 << 15);
2606 try testArgs(u256, u16, 0);
2607 try testArgs(u256, u16, 1 << 0);
2608 try testArgs(u256, u16, 1 << 15);
2609 try testArgs(i512, u16, 0);
2610 try testArgs(i512, u16, 1 << 0);
2611 try testArgs(i512, u16, 1 << 15);
2612 try testArgs(u512, u16, 0);
2613 try testArgs(u512, u16, 1 << 0);
2614 try testArgs(u512, u16, 1 << 15);
2615 try testArgs(i1024, u16, 0);
2616 try testArgs(i1024, u16, 1 << 0);
2617 try testArgs(i1024, u16, 1 << 15);
2618 try testArgs(u1024, u16, 0);
2619 try testArgs(u1024, u16, 1 << 0);
2620 try testArgs(u1024, u16, 1 << 15);
2621
2622 try testArgs(i8, i17, -1 << 16);
2623 try testArgs(i8, i17, -1);
2624 try testArgs(i8, i17, 0);
2625 try testArgs(u8, i17, -1 << 16);
2626 try testArgs(u8, i17, -1);
2627 try testArgs(u8, i17, 0);
2628 try testArgs(i16, i17, -1 << 16);
2629 try testArgs(i16, i17, -1);
2630 try testArgs(i16, i17, 0);
2631 try testArgs(u16, i17, -1 << 16);
2632 try testArgs(u16, i17, -1);
2633 try testArgs(u16, i17, 0);
2634 try testArgs(i32, i17, -1 << 16);
2635 try testArgs(i32, i17, -1);
2636 try testArgs(i32, i17, 0);
2637 try testArgs(u32, i17, -1 << 16);
2638 try testArgs(u32, i17, -1);
2639 try testArgs(u32, i17, 0);
2640 try testArgs(i64, i17, -1 << 16);
2641 try testArgs(i64, i17, -1);
2642 try testArgs(i64, i17, 0);
2643 try testArgs(u64, i17, -1 << 16);
2644 try testArgs(u64, i17, -1);
2645 try testArgs(u64, i17, 0);
2646 try testArgs(i128, i17, -1 << 16);
2647 try testArgs(i128, i17, -1);
2648 try testArgs(i128, i17, 0);
2649 try testArgs(u128, i17, -1 << 16);
2650 try testArgs(u128, i17, -1);
2651 try testArgs(u128, i17, 0);
2652 try testArgs(i256, i17, -1 << 16);
2653 try testArgs(i256, i17, -1);
2654 try testArgs(i256, i17, 0);
2655 try testArgs(u256, i17, -1 << 16);
2656 try testArgs(u256, i17, -1);
2657 try testArgs(u256, i17, 0);
2658 try testArgs(i512, i17, -1 << 16);
2659 try testArgs(i512, i17, -1);
2660 try testArgs(i512, i17, 0);
2661 try testArgs(u512, i17, -1 << 16);
2662 try testArgs(u512, i17, -1);
2663 try testArgs(u512, i17, 0);
2664 try testArgs(i1024, i17, -1 << 16);
2665 try testArgs(i1024, i17, -1);
2666 try testArgs(i1024, i17, 0);
2667 try testArgs(u1024, i17, -1 << 16);
2668 try testArgs(u1024, i17, -1);
2669 try testArgs(u1024, i17, 0);
2670 try testArgs(i8, u17, 0);
2671 try testArgs(i8, u17, 1 << 0);
2672 try testArgs(i8, u17, 1 << 16);
2673 try testArgs(u8, u17, 0);
2674 try testArgs(u8, u17, 1 << 0);
2675 try testArgs(u8, u17, 1 << 16);
2676 try testArgs(i16, u17, 0);
2677 try testArgs(i16, u17, 1 << 0);
2678 try testArgs(i16, u17, 1 << 16);
2679 try testArgs(u16, u17, 0);
2680 try testArgs(u16, u17, 1 << 0);
2681 try testArgs(u16, u17, 1 << 16);
2682 try testArgs(i32, u17, 0);
2683 try testArgs(i32, u17, 1 << 0);
2684 try testArgs(i32, u17, 1 << 16);
2685 try testArgs(u32, u17, 0);
2686 try testArgs(u32, u17, 1 << 0);
2687 try testArgs(u32, u17, 1 << 16);
2688 try testArgs(i64, u17, 0);
2689 try testArgs(i64, u17, 1 << 0);
2690 try testArgs(i64, u17, 1 << 16);
2691 try testArgs(u64, u17, 0);
2692 try testArgs(u64, u17, 1 << 0);
2693 try testArgs(u64, u17, 1 << 16);
2694 try testArgs(i128, u17, 0);
2695 try testArgs(i128, u17, 1 << 0);
2696 try testArgs(i128, u17, 1 << 16);
2697 try testArgs(u128, u17, 0);
2698 try testArgs(u128, u17, 1 << 0);
2699 try testArgs(u128, u17, 1 << 16);
2700 try testArgs(i256, u17, 0);
2701 try testArgs(i256, u17, 1 << 0);
2702 try testArgs(i256, u17, 1 << 16);
2703 try testArgs(u256, u17, 0);
2704 try testArgs(u256, u17, 1 << 0);
2705 try testArgs(u256, u17, 1 << 16);
2706 try testArgs(i512, u17, 0);
2707 try testArgs(i512, u17, 1 << 0);
2708 try testArgs(i512, u17, 1 << 16);
2709 try testArgs(u512, u17, 0);
2710 try testArgs(u512, u17, 1 << 0);
2711 try testArgs(u512, u17, 1 << 16);
2712 try testArgs(i1024, u17, 0);
2713 try testArgs(i1024, u17, 1 << 0);
2714 try testArgs(i1024, u17, 1 << 16);
2715 try testArgs(u1024, u17, 0);
2716 try testArgs(u1024, u17, 1 << 0);
2717 try testArgs(u1024, u17, 1 << 16);
2718
2719 try testArgs(i8, i31, -1 << 30);
2720 try testArgs(i8, i31, -1);
2721 try testArgs(i8, i31, 0);
2722 try testArgs(u8, i31, -1 << 30);
2723 try testArgs(u8, i31, -1);
2724 try testArgs(u8, i31, 0);
2725 try testArgs(i16, i31, -1 << 30);
2726 try testArgs(i16, i31, -1);
2727 try testArgs(i16, i31, 0);
2728 try testArgs(u16, i31, -1 << 30);
2729 try testArgs(u16, i31, -1);
2730 try testArgs(u16, i31, 0);
2731 try testArgs(i32, i31, -1 << 30);
2732 try testArgs(i32, i31, -1);
2733 try testArgs(i32, i31, 0);
2734 try testArgs(u32, i31, -1 << 30);
2735 try testArgs(u32, i31, -1);
2736 try testArgs(u32, i31, 0);
2737 try testArgs(i64, i31, -1 << 30);
2738 try testArgs(i64, i31, -1);
2739 try testArgs(i64, i31, 0);
2740 try testArgs(u64, i31, -1 << 30);
2741 try testArgs(u64, i31, -1);
2742 try testArgs(u64, i31, 0);
2743 try testArgs(i128, i31, -1 << 30);
2744 try testArgs(i128, i31, -1);
2745 try testArgs(i128, i31, 0);
2746 try testArgs(u128, i31, -1 << 30);
2747 try testArgs(u128, i31, -1);
2748 try testArgs(u128, i31, 0);
2749 try testArgs(i256, i31, -1 << 30);
2750 try testArgs(i256, i31, -1);
2751 try testArgs(i256, i31, 0);
2752 try testArgs(u256, i31, -1 << 30);
2753 try testArgs(u256, i31, -1);
2754 try testArgs(u256, i31, 0);
2755 try testArgs(i512, i31, -1 << 30);
2756 try testArgs(i512, i31, -1);
2757 try testArgs(i512, i31, 0);
2758 try testArgs(u512, i31, -1 << 30);
2759 try testArgs(u512, i31, -1);
2760 try testArgs(u512, i31, 0);
2761 try testArgs(i1024, i31, -1 << 30);
2762 try testArgs(i1024, i31, -1);
2763 try testArgs(i1024, i31, 0);
2764 try testArgs(u1024, i31, -1 << 30);
2765 try testArgs(u1024, i31, -1);
2766 try testArgs(u1024, i31, 0);
2767 try testArgs(i8, u31, 0);
2768 try testArgs(i8, u31, 1 << 0);
2769 try testArgs(i8, u31, 1 << 30);
2770 try testArgs(u8, u31, 0);
2771 try testArgs(u8, u31, 1 << 0);
2772 try testArgs(u8, u31, 1 << 30);
2773 try testArgs(i16, u31, 0);
2774 try testArgs(i16, u31, 1 << 0);
2775 try testArgs(i16, u31, 1 << 30);
2776 try testArgs(u16, u31, 0);
2777 try testArgs(u16, u31, 1 << 0);
2778 try testArgs(u16, u31, 1 << 30);
2779 try testArgs(i32, u31, 0);
2780 try testArgs(i32, u31, 1 << 0);
2781 try testArgs(i32, u31, 1 << 30);
2782 try testArgs(u32, u31, 0);
2783 try testArgs(u32, u31, 1 << 0);
2784 try testArgs(u32, u31, 1 << 30);
2785 try testArgs(i64, u31, 0);
2786 try testArgs(i64, u31, 1 << 0);
2787 try testArgs(i64, u31, 1 << 30);
2788 try testArgs(u64, u31, 0);
2789 try testArgs(u64, u31, 1 << 0);
2790 try testArgs(u64, u31, 1 << 30);
2791 try testArgs(i128, u31, 0);
2792 try testArgs(i128, u31, 1 << 0);
2793 try testArgs(i128, u31, 1 << 30);
2794 try testArgs(u128, u31, 0);
2795 try testArgs(u128, u31, 1 << 0);
2796 try testArgs(u128, u31, 1 << 30);
2797 try testArgs(i256, u31, 0);
2798 try testArgs(i256, u31, 1 << 0);
2799 try testArgs(i256, u31, 1 << 30);
2800 try testArgs(u256, u31, 0);
2801 try testArgs(u256, u31, 1 << 0);
2802 try testArgs(u256, u31, 1 << 30);
2803 try testArgs(i512, u31, 0);
2804 try testArgs(i512, u31, 1 << 0);
2805 try testArgs(i512, u31, 1 << 30);
2806 try testArgs(u512, u31, 0);
2807 try testArgs(u512, u31, 1 << 0);
2808 try testArgs(u512, u31, 1 << 30);
2809 try testArgs(i1024, u31, 0);
2810 try testArgs(i1024, u31, 1 << 0);
2811 try testArgs(i1024, u31, 1 << 30);
2812 try testArgs(u1024, u31, 0);
2813 try testArgs(u1024, u31, 1 << 0);
2814 try testArgs(u1024, u31, 1 << 30);
2815
2816 try testArgs(i8, i32, -1 << 31);
2817 try testArgs(i8, i32, -1);
2818 try testArgs(i8, i32, 0);
2819 try testArgs(u8, i32, -1 << 31);
2820 try testArgs(u8, i32, -1);
2821 try testArgs(u8, i32, 0);
2822 try testArgs(i16, i32, -1 << 31);
2823 try testArgs(i16, i32, -1);
2824 try testArgs(i16, i32, 0);
2825 try testArgs(u16, i32, -1 << 31);
2826 try testArgs(u16, i32, -1);
2827 try testArgs(u16, i32, 0);
2828 try testArgs(i32, i32, -1 << 31);
2829 try testArgs(i32, i32, -1);
2830 try testArgs(i32, i32, 0);
2831 try testArgs(u32, i32, -1 << 31);
2832 try testArgs(u32, i32, -1);
2833 try testArgs(u32, i32, 0);
2834 try testArgs(i64, i32, -1 << 31);
2835 try testArgs(i64, i32, -1);
2836 try testArgs(i64, i32, 0);
2837 try testArgs(u64, i32, -1 << 31);
2838 try testArgs(u64, i32, -1);
2839 try testArgs(u64, i32, 0);
2840 try testArgs(i128, i32, -1 << 31);
2841 try testArgs(i128, i32, -1);
2842 try testArgs(i128, i32, 0);
2843 try testArgs(u128, i32, -1 << 31);
2844 try testArgs(u128, i32, -1);
2845 try testArgs(u128, i32, 0);
2846 try testArgs(i256, i32, -1 << 31);
2847 try testArgs(i256, i32, -1);
2848 try testArgs(i256, i32, 0);
2849 try testArgs(u256, i32, -1 << 31);
2850 try testArgs(u256, i32, -1);
2851 try testArgs(u256, i32, 0);
2852 try testArgs(i512, i32, -1 << 31);
2853 try testArgs(i512, i32, -1);
2854 try testArgs(i512, i32, 0);
2855 try testArgs(u512, i32, -1 << 31);
2856 try testArgs(u512, i32, -1);
2857 try testArgs(u512, i32, 0);
2858 try testArgs(i1024, i32, -1 << 31);
2859 try testArgs(i1024, i32, -1);
2860 try testArgs(i1024, i32, 0);
2861 try testArgs(u1024, i32, -1 << 31);
2862 try testArgs(u1024, i32, -1);
2863 try testArgs(u1024, i32, 0);
2864 try testArgs(i8, u32, 0);
2865 try testArgs(i8, u32, 1 << 0);
2866 try testArgs(i8, u32, 1 << 31);
2867 try testArgs(u8, u32, 0);
2868 try testArgs(u8, u32, 1 << 0);
2869 try testArgs(u8, u32, 1 << 31);
2870 try testArgs(i16, u32, 0);
2871 try testArgs(i16, u32, 1 << 0);
2872 try testArgs(i16, u32, 1 << 31);
2873 try testArgs(u16, u32, 0);
2874 try testArgs(u16, u32, 1 << 0);
2875 try testArgs(u16, u32, 1 << 31);
2876 try testArgs(i32, u32, 0);
2877 try testArgs(i32, u32, 1 << 0);
2878 try testArgs(i32, u32, 1 << 31);
2879 try testArgs(u32, u32, 0);
2880 try testArgs(u32, u32, 1 << 0);
2881 try testArgs(u32, u32, 1 << 31);
2882 try testArgs(i64, u32, 0);
2883 try testArgs(i64, u32, 1 << 0);
2884 try testArgs(i64, u32, 1 << 31);
2885 try testArgs(u64, u32, 0);
2886 try testArgs(u64, u32, 1 << 0);
2887 try testArgs(u64, u32, 1 << 31);
2888 try testArgs(i128, u32, 0);
2889 try testArgs(i128, u32, 1 << 0);
2890 try testArgs(i128, u32, 1 << 31);
2891 try testArgs(u128, u32, 0);
2892 try testArgs(u128, u32, 1 << 0);
2893 try testArgs(u128, u32, 1 << 31);
2894 try testArgs(i256, u32, 0);
2895 try testArgs(i256, u32, 1 << 0);
2896 try testArgs(i256, u32, 1 << 31);
2897 try testArgs(u256, u32, 0);
2898 try testArgs(u256, u32, 1 << 0);
2899 try testArgs(u256, u32, 1 << 31);
2900 try testArgs(i512, u32, 0);
2901 try testArgs(i512, u32, 1 << 0);
2902 try testArgs(i512, u32, 1 << 31);
2903 try testArgs(u512, u32, 0);
2904 try testArgs(u512, u32, 1 << 0);
2905 try testArgs(u512, u32, 1 << 31);
2906 try testArgs(i1024, u32, 0);
2907 try testArgs(i1024, u32, 1 << 0);
2908 try testArgs(i1024, u32, 1 << 31);
2909 try testArgs(u1024, u32, 0);
2910 try testArgs(u1024, u32, 1 << 0);
2911 try testArgs(u1024, u32, 1 << 31);
2912
2913 try testArgs(i8, i33, -1 << 32);
2914 try testArgs(i8, i33, -1);
2915 try testArgs(i8, i33, 0);
2916 try testArgs(u8, i33, -1 << 32);
2917 try testArgs(u8, i33, -1);
2918 try testArgs(u8, i33, 0);
2919 try testArgs(i16, i33, -1 << 32);
2920 try testArgs(i16, i33, -1);
2921 try testArgs(i16, i33, 0);
2922 try testArgs(u16, i33, -1 << 32);
2923 try testArgs(u16, i33, -1);
2924 try testArgs(u16, i33, 0);
2925 try testArgs(i32, i33, -1 << 32);
2926 try testArgs(i32, i33, -1);
2927 try testArgs(i32, i33, 0);
2928 try testArgs(u32, i33, -1 << 32);
2929 try testArgs(u32, i33, -1);
2930 try testArgs(u32, i33, 0);
2931 try testArgs(i64, i33, -1 << 32);
2932 try testArgs(i64, i33, -1);
2933 try testArgs(i64, i33, 0);
2934 try testArgs(u64, i33, -1 << 32);
2935 try testArgs(u64, i33, -1);
2936 try testArgs(u64, i33, 0);
2937 try testArgs(i128, i33, -1 << 32);
2938 try testArgs(i128, i33, -1);
2939 try testArgs(i128, i33, 0);
2940 try testArgs(u128, i33, -1 << 32);
2941 try testArgs(u128, i33, -1);
2942 try testArgs(u128, i33, 0);
2943 try testArgs(i256, i33, -1 << 32);
2944 try testArgs(i256, i33, -1);
2945 try testArgs(i256, i33, 0);
2946 try testArgs(u256, i33, -1 << 32);
2947 try testArgs(u256, i33, -1);
2948 try testArgs(u256, i33, 0);
2949 try testArgs(i512, i33, -1 << 32);
2950 try testArgs(i512, i33, -1);
2951 try testArgs(i512, i33, 0);
2952 try testArgs(u512, i33, -1 << 32);
2953 try testArgs(u512, i33, -1);
2954 try testArgs(u512, i33, 0);
2955 try testArgs(i1024, i33, -1 << 32);
2956 try testArgs(i1024, i33, -1);
2957 try testArgs(i1024, i33, 0);
2958 try testArgs(u1024, i33, -1 << 32);
2959 try testArgs(u1024, i33, -1);
2960 try testArgs(u1024, i33, 0);
2961 try testArgs(i8, u33, 0);
2962 try testArgs(i8, u33, 1 << 0);
2963 try testArgs(i8, u33, 1 << 32);
2964 try testArgs(u8, u33, 0);
2965 try testArgs(u8, u33, 1 << 0);
2966 try testArgs(u8, u33, 1 << 32);
2967 try testArgs(i16, u33, 0);
2968 try testArgs(i16, u33, 1 << 0);
2969 try testArgs(i16, u33, 1 << 32);
2970 try testArgs(u16, u33, 0);
2971 try testArgs(u16, u33, 1 << 0);
2972 try testArgs(u16, u33, 1 << 32);
2973 try testArgs(i32, u33, 0);
2974 try testArgs(i32, u33, 1 << 0);
2975 try testArgs(i32, u33, 1 << 32);
2976 try testArgs(u32, u33, 0);
2977 try testArgs(u32, u33, 1 << 0);
2978 try testArgs(u32, u33, 1 << 32);
2979 try testArgs(i64, u33, 0);
2980 try testArgs(i64, u33, 1 << 0);
2981 try testArgs(i64, u33, 1 << 32);
2982 try testArgs(u64, u33, 0);
2983 try testArgs(u64, u33, 1 << 0);
2984 try testArgs(u64, u33, 1 << 32);
2985 try testArgs(i128, u33, 0);
2986 try testArgs(i128, u33, 1 << 0);
2987 try testArgs(i128, u33, 1 << 32);
2988 try testArgs(u128, u33, 0);
2989 try testArgs(u128, u33, 1 << 0);
2990 try testArgs(u128, u33, 1 << 32);
2991 try testArgs(i256, u33, 0);
2992 try testArgs(i256, u33, 1 << 0);
2993 try testArgs(i256, u33, 1 << 32);
2994 try testArgs(u256, u33, 0);
2995 try testArgs(u256, u33, 1 << 0);
2996 try testArgs(u256, u33, 1 << 32);
2997 try testArgs(i512, u33, 0);
2998 try testArgs(i512, u33, 1 << 0);
2999 try testArgs(i512, u33, 1 << 32);
3000 try testArgs(u512, u33, 0);
3001 try testArgs(u512, u33, 1 << 0);
3002 try testArgs(u512, u33, 1 << 32);
3003 try testArgs(i1024, u33, 0);
3004 try testArgs(i1024, u33, 1 << 0);
3005 try testArgs(i1024, u33, 1 << 32);
3006 try testArgs(u1024, u33, 0);
3007 try testArgs(u1024, u33, 1 << 0);
3008 try testArgs(u1024, u33, 1 << 32);
3009
3010 try testArgs(i8, i63, -1 << 62);
3011 try testArgs(i8, i63, -1);
3012 try testArgs(i8, i63, 0);
3013 try testArgs(u8, i63, -1 << 62);
3014 try testArgs(u8, i63, -1);
3015 try testArgs(u8, i63, 0);
3016 try testArgs(i16, i63, -1 << 62);
3017 try testArgs(i16, i63, -1);
3018 try testArgs(i16, i63, 0);
3019 try testArgs(u16, i63, -1 << 62);
3020 try testArgs(u16, i63, -1);
3021 try testArgs(u16, i63, 0);
3022 try testArgs(i32, i63, -1 << 62);
3023 try testArgs(i32, i63, -1);
3024 try testArgs(i32, i63, 0);
3025 try testArgs(u32, i63, -1 << 62);
3026 try testArgs(u32, i63, -1);
3027 try testArgs(u32, i63, 0);
3028 try testArgs(i64, i63, -1 << 62);
3029 try testArgs(i64, i63, -1);
3030 try testArgs(i64, i63, 0);
3031 try testArgs(u64, i63, -1 << 62);
3032 try testArgs(u64, i63, -1);
3033 try testArgs(u64, i63, 0);
3034 try testArgs(i128, i63, -1 << 62);
3035 try testArgs(i128, i63, -1);
3036 try testArgs(i128, i63, 0);
3037 try testArgs(u128, i63, -1 << 62);
3038 try testArgs(u128, i63, -1);
3039 try testArgs(u128, i63, 0);
3040 try testArgs(i256, i63, -1 << 62);
3041 try testArgs(i256, i63, -1);
3042 try testArgs(i256, i63, 0);
3043 try testArgs(u256, i63, -1 << 62);
3044 try testArgs(u256, i63, -1);
3045 try testArgs(u256, i63, 0);
3046 try testArgs(i512, i63, -1 << 62);
3047 try testArgs(i512, i63, -1);
3048 try testArgs(i512, i63, 0);
3049 try testArgs(u512, i63, -1 << 62);
3050 try testArgs(u512, i63, -1);
3051 try testArgs(u512, i63, 0);
3052 try testArgs(i1024, i63, -1 << 62);
3053 try testArgs(i1024, i63, -1);
3054 try testArgs(i1024, i63, 0);
3055 try testArgs(u1024, i63, -1 << 62);
3056 try testArgs(u1024, i63, -1);
3057 try testArgs(u1024, i63, 0);
3058 try testArgs(i8, u63, 0);
3059 try testArgs(i8, u63, 1 << 0);
3060 try testArgs(i8, u63, 1 << 62);
3061 try testArgs(u8, u63, 0);
3062 try testArgs(u8, u63, 1 << 0);
3063 try testArgs(u8, u63, 1 << 62);
3064 try testArgs(i16, u63, 0);
3065 try testArgs(i16, u63, 1 << 0);
3066 try testArgs(i16, u63, 1 << 62);
3067 try testArgs(u16, u63, 0);
3068 try testArgs(u16, u63, 1 << 0);
3069 try testArgs(u16, u63, 1 << 62);
3070 try testArgs(i32, u63, 0);
3071 try testArgs(i32, u63, 1 << 0);
3072 try testArgs(i32, u63, 1 << 62);
3073 try testArgs(u32, u63, 0);
3074 try testArgs(u32, u63, 1 << 0);
3075 try testArgs(u32, u63, 1 << 62);
3076 try testArgs(i64, u63, 0);
3077 try testArgs(i64, u63, 1 << 0);
3078 try testArgs(i64, u63, 1 << 62);
3079 try testArgs(u64, u63, 0);
3080 try testArgs(u64, u63, 1 << 0);
3081 try testArgs(u64, u63, 1 << 62);
3082 try testArgs(i128, u63, 0);
3083 try testArgs(i128, u63, 1 << 0);
3084 try testArgs(i128, u63, 1 << 62);
3085 try testArgs(u128, u63, 0);
3086 try testArgs(u128, u63, 1 << 0);
3087 try testArgs(u128, u63, 1 << 62);
3088 try testArgs(i256, u63, 0);
3089 try testArgs(i256, u63, 1 << 0);
3090 try testArgs(i256, u63, 1 << 62);
3091 try testArgs(u256, u63, 0);
3092 try testArgs(u256, u63, 1 << 0);
3093 try testArgs(u256, u63, 1 << 62);
3094 try testArgs(i512, u63, 0);
3095 try testArgs(i512, u63, 1 << 0);
3096 try testArgs(i512, u63, 1 << 62);
3097 try testArgs(u512, u63, 0);
3098 try testArgs(u512, u63, 1 << 0);
3099 try testArgs(u512, u63, 1 << 62);
3100 try testArgs(i1024, u63, 0);
3101 try testArgs(i1024, u63, 1 << 0);
3102 try testArgs(i1024, u63, 1 << 62);
3103 try testArgs(u1024, u63, 0);
3104 try testArgs(u1024, u63, 1 << 0);
3105 try testArgs(u1024, u63, 1 << 62);
3106
3107 try testArgs(i8, i64, -1 << 63);
3108 try testArgs(i8, i64, -1);
3109 try testArgs(i8, i64, 0);
3110 try testArgs(u8, i64, -1 << 63);
3111 try testArgs(u8, i64, -1);
3112 try testArgs(u8, i64, 0);
3113 try testArgs(i16, i64, -1 << 63);
3114 try testArgs(i16, i64, -1);
3115 try testArgs(i16, i64, 0);
3116 try testArgs(u16, i64, -1 << 63);
3117 try testArgs(u16, i64, -1);
3118 try testArgs(u16, i64, 0);
3119 try testArgs(i32, i64, -1 << 63);
3120 try testArgs(i32, i64, -1);
3121 try testArgs(i32, i64, 0);
3122 try testArgs(u32, i64, -1 << 63);
3123 try testArgs(u32, i64, -1);
3124 try testArgs(u32, i64, 0);
3125 try testArgs(i64, i64, -1 << 63);
3126 try testArgs(i64, i64, -1);
3127 try testArgs(i64, i64, 0);
3128 try testArgs(u64, i64, -1 << 63);
3129 try testArgs(u64, i64, -1);
3130 try testArgs(u64, i64, 0);
3131 try testArgs(i128, i64, -1 << 63);
3132 try testArgs(i128, i64, -1);
3133 try testArgs(i128, i64, 0);
3134 try testArgs(u128, i64, -1 << 63);
3135 try testArgs(u128, i64, -1);
3136 try testArgs(u128, i64, 0);
3137 try testArgs(i256, i64, -1 << 63);
3138 try testArgs(i256, i64, -1);
3139 try testArgs(i256, i64, 0);
3140 try testArgs(u256, i64, -1 << 63);
3141 try testArgs(u256, i64, -1);
3142 try testArgs(u256, i64, 0);
3143 try testArgs(i512, i64, -1 << 63);
3144 try testArgs(i512, i64, -1);
3145 try testArgs(i512, i64, 0);
3146 try testArgs(u512, i64, -1 << 63);
3147 try testArgs(u512, i64, -1);
3148 try testArgs(u512, i64, 0);
3149 try testArgs(i1024, i64, -1 << 63);
3150 try testArgs(i1024, i64, -1);
3151 try testArgs(i1024, i64, 0);
3152 try testArgs(u1024, i64, -1 << 63);
3153 try testArgs(u1024, i64, -1);
3154 try testArgs(u1024, i64, 0);
3155 try testArgs(i8, u64, 0);
3156 try testArgs(i8, u64, 1 << 0);
3157 try testArgs(i8, u64, 1 << 63);
3158 try testArgs(u8, u64, 0);
3159 try testArgs(u8, u64, 1 << 0);
3160 try testArgs(u8, u64, 1 << 63);
3161 try testArgs(i16, u64, 0);
3162 try testArgs(i16, u64, 1 << 0);
3163 try testArgs(i16, u64, 1 << 63);
3164 try testArgs(u16, u64, 0);
3165 try testArgs(u16, u64, 1 << 0);
3166 try testArgs(u16, u64, 1 << 63);
3167 try testArgs(i32, u64, 0);
3168 try testArgs(i32, u64, 1 << 0);
3169 try testArgs(i32, u64, 1 << 63);
3170 try testArgs(u32, u64, 0);
3171 try testArgs(u32, u64, 1 << 0);
3172 try testArgs(u32, u64, 1 << 63);
3173 try testArgs(i64, u64, 0);
3174 try testArgs(i64, u64, 1 << 0);
3175 try testArgs(i64, u64, 1 << 63);
3176 try testArgs(u64, u64, 0);
3177 try testArgs(u64, u64, 1 << 0);
3178 try testArgs(u64, u64, 1 << 63);
3179 try testArgs(i128, u64, 0);
3180 try testArgs(i128, u64, 1 << 0);
3181 try testArgs(i128, u64, 1 << 63);
3182 try testArgs(u128, u64, 0);
3183 try testArgs(u128, u64, 1 << 0);
3184 try testArgs(u128, u64, 1 << 63);
3185 try testArgs(i256, u64, 0);
3186 try testArgs(i256, u64, 1 << 0);
3187 try testArgs(i256, u64, 1 << 63);
3188 try testArgs(u256, u64, 0);
3189 try testArgs(u256, u64, 1 << 0);
3190 try testArgs(u256, u64, 1 << 63);
3191 try testArgs(i512, u64, 0);
3192 try testArgs(i512, u64, 1 << 0);
3193 try testArgs(i512, u64, 1 << 63);
3194 try testArgs(u512, u64, 0);
3195 try testArgs(u512, u64, 1 << 0);
3196 try testArgs(u512, u64, 1 << 63);
3197 try testArgs(i1024, u64, 0);
3198 try testArgs(i1024, u64, 1 << 0);
3199 try testArgs(i1024, u64, 1 << 63);
3200 try testArgs(u1024, u64, 0);
3201 try testArgs(u1024, u64, 1 << 0);
3202 try testArgs(u1024, u64, 1 << 63);
3203
3204 try testArgs(i8, i65, -1 << 64);
3205 try testArgs(i8, i65, -1);
3206 try testArgs(i8, i65, 0);
3207 try testArgs(u8, i65, -1 << 64);
3208 try testArgs(u8, i65, -1);
3209 try testArgs(u8, i65, 0);
3210 try testArgs(i16, i65, -1 << 64);
3211 try testArgs(i16, i65, -1);
3212 try testArgs(i16, i65, 0);
3213 try testArgs(u16, i65, -1 << 64);
3214 try testArgs(u16, i65, -1);
3215 try testArgs(u16, i65, 0);
3216 try testArgs(i32, i65, -1 << 64);
3217 try testArgs(i32, i65, -1);
3218 try testArgs(i32, i65, 0);
3219 try testArgs(u32, i65, -1 << 64);
3220 try testArgs(u32, i65, -1);
3221 try testArgs(u32, i65, 0);
3222 try testArgs(i64, i65, -1 << 64);
3223 try testArgs(i64, i65, -1);
3224 try testArgs(i64, i65, 0);
3225 try testArgs(u64, i65, -1 << 64);
3226 try testArgs(u64, i65, -1);
3227 try testArgs(u64, i65, 0);
3228 try testArgs(i128, i65, -1 << 64);
3229 try testArgs(i128, i65, -1);
3230 try testArgs(i128, i65, 0);
3231 try testArgs(u128, i65, -1 << 64);
3232 try testArgs(u128, i65, -1);
3233 try testArgs(u128, i65, 0);
3234 try testArgs(i256, i65, -1 << 64);
3235 try testArgs(i256, i65, -1);
3236 try testArgs(i256, i65, 0);
3237 try testArgs(u256, i65, -1 << 64);
3238 try testArgs(u256, i65, -1);
3239 try testArgs(u256, i65, 0);
3240 try testArgs(i512, i65, -1 << 64);
3241 try testArgs(i512, i65, -1);
3242 try testArgs(i512, i65, 0);
3243 try testArgs(u512, i65, -1 << 64);
3244 try testArgs(u512, i65, -1);
3245 try testArgs(u512, i65, 0);
3246 try testArgs(i1024, i65, -1 << 64);
3247 try testArgs(i1024, i65, -1);
3248 try testArgs(i1024, i65, 0);
3249 try testArgs(u1024, i65, -1 << 64);
3250 try testArgs(u1024, i65, -1);
3251 try testArgs(u1024, i65, 0);
3252 try testArgs(i8, u65, 0);
3253 try testArgs(i8, u65, 1 << 0);
3254 try testArgs(i8, u65, 1 << 64);
3255 try testArgs(u8, u65, 0);
3256 try testArgs(u8, u65, 1 << 0);
3257 try testArgs(u8, u65, 1 << 64);
3258 try testArgs(i16, u65, 0);
3259 try testArgs(i16, u65, 1 << 0);
3260 try testArgs(i16, u65, 1 << 64);
3261 try testArgs(u16, u65, 0);
3262 try testArgs(u16, u65, 1 << 0);
3263 try testArgs(u16, u65, 1 << 64);
3264 try testArgs(i32, u65, 0);
3265 try testArgs(i32, u65, 1 << 0);
3266 try testArgs(i32, u65, 1 << 64);
3267 try testArgs(u32, u65, 0);
3268 try testArgs(u32, u65, 1 << 0);
3269 try testArgs(u32, u65, 1 << 64);
3270 try testArgs(i64, u65, 0);
3271 try testArgs(i64, u65, 1 << 0);
3272 try testArgs(i64, u65, 1 << 64);
3273 try testArgs(u64, u65, 0);
3274 try testArgs(u64, u65, 1 << 0);
3275 try testArgs(u64, u65, 1 << 64);
3276 try testArgs(i128, u65, 0);
3277 try testArgs(i128, u65, 1 << 0);
3278 try testArgs(i128, u65, 1 << 64);
3279 try testArgs(u128, u65, 0);
3280 try testArgs(u128, u65, 1 << 0);
3281 try testArgs(u128, u65, 1 << 64);
3282 try testArgs(i256, u65, 0);
3283 try testArgs(i256, u65, 1 << 0);
3284 try testArgs(i256, u65, 1 << 64);
3285 try testArgs(u256, u65, 0);
3286 try testArgs(u256, u65, 1 << 0);
3287 try testArgs(u256, u65, 1 << 64);
3288 try testArgs(i512, u65, 0);
3289 try testArgs(i512, u65, 1 << 0);
3290 try testArgs(i512, u65, 1 << 64);
3291 try testArgs(u512, u65, 0);
3292 try testArgs(u512, u65, 1 << 0);
3293 try testArgs(u512, u65, 1 << 64);
3294 try testArgs(i1024, u65, 0);
3295 try testArgs(i1024, u65, 1 << 0);
3296 try testArgs(i1024, u65, 1 << 64);
3297 try testArgs(u1024, u65, 0);
3298 try testArgs(u1024, u65, 1 << 0);
3299 try testArgs(u1024, u65, 1 << 64);
3300
3301 try testArgs(i8, i95, -1 << 94);
3302 try testArgs(i8, i95, -1);
3303 try testArgs(i8, i95, 0);
3304 try testArgs(u8, i95, -1 << 94);
3305 try testArgs(u8, i95, -1);
3306 try testArgs(u8, i95, 0);
3307 try testArgs(i16, i95, -1 << 94);
3308 try testArgs(i16, i95, -1);
3309 try testArgs(i16, i95, 0);
3310 try testArgs(u16, i95, -1 << 94);
3311 try testArgs(u16, i95, -1);
3312 try testArgs(u16, i95, 0);
3313 try testArgs(i32, i95, -1 << 94);
3314 try testArgs(i32, i95, -1);
3315 try testArgs(i32, i95, 0);
3316 try testArgs(u32, i95, -1 << 94);
3317 try testArgs(u32, i95, -1);
3318 try testArgs(u32, i95, 0);
3319 try testArgs(i64, i95, -1 << 94);
3320 try testArgs(i64, i95, -1);
3321 try testArgs(i64, i95, 0);
3322 try testArgs(u64, i95, -1 << 94);
3323 try testArgs(u64, i95, -1);
3324 try testArgs(u64, i95, 0);
3325 try testArgs(i128, i95, -1 << 94);
3326 try testArgs(i128, i95, -1);
3327 try testArgs(i128, i95, 0);
3328 try testArgs(u128, i95, -1 << 94);
3329 try testArgs(u128, i95, -1);
3330 try testArgs(u128, i95, 0);
3331 try testArgs(i256, i95, -1 << 94);
3332 try testArgs(i256, i95, -1);
3333 try testArgs(i256, i95, 0);
3334 try testArgs(u256, i95, -1 << 94);
3335 try testArgs(u256, i95, -1);
3336 try testArgs(u256, i95, 0);
3337 try testArgs(i512, i95, -1 << 94);
3338 try testArgs(i512, i95, -1);
3339 try testArgs(i512, i95, 0);
3340 try testArgs(u512, i95, -1 << 94);
3341 try testArgs(u512, i95, -1);
3342 try testArgs(u512, i95, 0);
3343 try testArgs(i1024, i95, -1 << 94);
3344 try testArgs(i1024, i95, -1);
3345 try testArgs(i1024, i95, 0);
3346 try testArgs(u1024, i95, -1 << 94);
3347 try testArgs(u1024, i95, -1);
3348 try testArgs(u1024, i95, 0);
3349 try testArgs(i8, u95, 0);
3350 try testArgs(i8, u95, 1 << 0);
3351 try testArgs(i8, u95, 1 << 94);
3352 try testArgs(u8, u95, 0);
3353 try testArgs(u8, u95, 1 << 0);
3354 try testArgs(u8, u95, 1 << 94);
3355 try testArgs(i16, u95, 0);
3356 try testArgs(i16, u95, 1 << 0);
3357 try testArgs(i16, u95, 1 << 94);
3358 try testArgs(u16, u95, 0);
3359 try testArgs(u16, u95, 1 << 0);
3360 try testArgs(u16, u95, 1 << 94);
3361 try testArgs(i32, u95, 0);
3362 try testArgs(i32, u95, 1 << 0);
3363 try testArgs(i32, u95, 1 << 94);
3364 try testArgs(u32, u95, 0);
3365 try testArgs(u32, u95, 1 << 0);
3366 try testArgs(u32, u95, 1 << 94);
3367 try testArgs(i64, u95, 0);
3368 try testArgs(i64, u95, 1 << 0);
3369 try testArgs(i64, u95, 1 << 94);
3370 try testArgs(u64, u95, 0);
3371 try testArgs(u64, u95, 1 << 0);
3372 try testArgs(u64, u95, 1 << 94);
3373 try testArgs(i128, u95, 0);
3374 try testArgs(i128, u95, 1 << 0);
3375 try testArgs(i128, u95, 1 << 94);
3376 try testArgs(u128, u95, 0);
3377 try testArgs(u128, u95, 1 << 0);
3378 try testArgs(u128, u95, 1 << 94);
3379 try testArgs(i256, u95, 0);
3380 try testArgs(i256, u95, 1 << 0);
3381 try testArgs(i256, u95, 1 << 94);
3382 try testArgs(u256, u95, 0);
3383 try testArgs(u256, u95, 1 << 0);
3384 try testArgs(u256, u95, 1 << 94);
3385 try testArgs(i512, u95, 0);
3386 try testArgs(i512, u95, 1 << 0);
3387 try testArgs(i512, u95, 1 << 94);
3388 try testArgs(u512, u95, 0);
3389 try testArgs(u512, u95, 1 << 0);
3390 try testArgs(u512, u95, 1 << 94);
3391 try testArgs(i1024, u95, 0);
3392 try testArgs(i1024, u95, 1 << 0);
3393 try testArgs(i1024, u95, 1 << 94);
3394 try testArgs(u1024, u95, 0);
3395 try testArgs(u1024, u95, 1 << 0);
3396 try testArgs(u1024, u95, 1 << 94);
3397
3398 try testArgs(i8, i96, -1 << 95);
3399 try testArgs(i8, i96, -1);
3400 try testArgs(i8, i96, 0);
3401 try testArgs(u8, i96, -1 << 95);
3402 try testArgs(u8, i96, -1);
3403 try testArgs(u8, i96, 0);
3404 try testArgs(i16, i96, -1 << 95);
3405 try testArgs(i16, i96, -1);
3406 try testArgs(i16, i96, 0);
3407 try testArgs(u16, i96, -1 << 95);
3408 try testArgs(u16, i96, -1);
3409 try testArgs(u16, i96, 0);
3410 try testArgs(i32, i96, -1 << 95);
3411 try testArgs(i32, i96, -1);
3412 try testArgs(i32, i96, 0);
3413 try testArgs(u32, i96, -1 << 95);
3414 try testArgs(u32, i96, -1);
3415 try testArgs(u32, i96, 0);
3416 try testArgs(i64, i96, -1 << 95);
3417 try testArgs(i64, i96, -1);
3418 try testArgs(i64, i96, 0);
3419 try testArgs(u64, i96, -1 << 95);
3420 try testArgs(u64, i96, -1);
3421 try testArgs(u64, i96, 0);
3422 try testArgs(i128, i96, -1 << 95);
3423 try testArgs(i128, i96, -1);
3424 try testArgs(i128, i96, 0);
3425 try testArgs(u128, i96, -1 << 95);
3426 try testArgs(u128, i96, -1);
3427 try testArgs(u128, i96, 0);
3428 try testArgs(i256, i96, -1 << 95);
3429 try testArgs(i256, i96, -1);
3430 try testArgs(i256, i96, 0);
3431 try testArgs(u256, i96, -1 << 95);
3432 try testArgs(u256, i96, -1);
3433 try testArgs(u256, i96, 0);
3434 try testArgs(i512, i96, -1 << 95);
3435 try testArgs(i512, i96, -1);
3436 try testArgs(i512, i96, 0);
3437 try testArgs(u512, i96, -1 << 95);
3438 try testArgs(u512, i96, -1);
3439 try testArgs(u512, i96, 0);
3440 try testArgs(i1024, i96, -1 << 95);
3441 try testArgs(i1024, i96, -1);
3442 try testArgs(i1024, i96, 0);
3443 try testArgs(u1024, i96, -1 << 95);
3444 try testArgs(u1024, i96, -1);
3445 try testArgs(u1024, i96, 0);
3446 try testArgs(i8, u96, 0);
3447 try testArgs(i8, u96, 1 << 0);
3448 try testArgs(i8, u96, 1 << 95);
3449 try testArgs(u8, u96, 0);
3450 try testArgs(u8, u96, 1 << 0);
3451 try testArgs(u8, u96, 1 << 95);
3452 try testArgs(i16, u96, 0);
3453 try testArgs(i16, u96, 1 << 0);
3454 try testArgs(i16, u96, 1 << 95);
3455 try testArgs(u16, u96, 0);
3456 try testArgs(u16, u96, 1 << 0);
3457 try testArgs(u16, u96, 1 << 95);
3458 try testArgs(i32, u96, 0);
3459 try testArgs(i32, u96, 1 << 0);
3460 try testArgs(i32, u96, 1 << 95);
3461 try testArgs(u32, u96, 0);
3462 try testArgs(u32, u96, 1 << 0);
3463 try testArgs(u32, u96, 1 << 95);
3464 try testArgs(i64, u96, 0);
3465 try testArgs(i64, u96, 1 << 0);
3466 try testArgs(i64, u96, 1 << 95);
3467 try testArgs(u64, u96, 0);
3468 try testArgs(u64, u96, 1 << 0);
3469 try testArgs(u64, u96, 1 << 95);
3470 try testArgs(i128, u96, 0);
3471 try testArgs(i128, u96, 1 << 0);
3472 try testArgs(i128, u96, 1 << 95);
3473 try testArgs(u128, u96, 0);
3474 try testArgs(u128, u96, 1 << 0);
3475 try testArgs(u128, u96, 1 << 95);
3476 try testArgs(i256, u96, 0);
3477 try testArgs(i256, u96, 1 << 0);
3478 try testArgs(i256, u96, 1 << 95);
3479 try testArgs(u256, u96, 0);
3480 try testArgs(u256, u96, 1 << 0);
3481 try testArgs(u256, u96, 1 << 95);
3482 try testArgs(i512, u96, 0);
3483 try testArgs(i512, u96, 1 << 0);
3484 try testArgs(i512, u96, 1 << 95);
3485 try testArgs(u512, u96, 0);
3486 try testArgs(u512, u96, 1 << 0);
3487 try testArgs(u512, u96, 1 << 95);
3488 try testArgs(i1024, u96, 0);
3489 try testArgs(i1024, u96, 1 << 0);
3490 try testArgs(i1024, u96, 1 << 95);
3491 try testArgs(u1024, u96, 0);
3492 try testArgs(u1024, u96, 1 << 0);
3493 try testArgs(u1024, u96, 1 << 95);
3494
3495 try testArgs(i8, i97, -1 << 96);
3496 try testArgs(i8, i97, -1);
3497 try testArgs(i8, i97, 0);
3498 try testArgs(u8, i97, -1 << 96);
3499 try testArgs(u8, i97, -1);
3500 try testArgs(u8, i97, 0);
3501 try testArgs(i16, i97, -1 << 96);
3502 try testArgs(i16, i97, -1);
3503 try testArgs(i16, i97, 0);
3504 try testArgs(u16, i97, -1 << 96);
3505 try testArgs(u16, i97, -1);
3506 try testArgs(u16, i97, 0);
3507 try testArgs(i32, i97, -1 << 96);
3508 try testArgs(i32, i97, -1);
3509 try testArgs(i32, i97, 0);
3510 try testArgs(u32, i97, -1 << 96);
3511 try testArgs(u32, i97, -1);
3512 try testArgs(u32, i97, 0);
3513 try testArgs(i64, i97, -1 << 96);
3514 try testArgs(i64, i97, -1);
3515 try testArgs(i64, i97, 0);
3516 try testArgs(u64, i97, -1 << 96);
3517 try testArgs(u64, i97, -1);
3518 try testArgs(u64, i97, 0);
3519 try testArgs(i128, i97, -1 << 96);
3520 try testArgs(i128, i97, -1);
3521 try testArgs(i128, i97, 0);
3522 try testArgs(u128, i97, -1 << 96);
3523 try testArgs(u128, i97, -1);
3524 try testArgs(u128, i97, 0);
3525 try testArgs(i256, i97, -1 << 96);
3526 try testArgs(i256, i97, -1);
3527 try testArgs(i256, i97, 0);
3528 try testArgs(u256, i97, -1 << 96);
3529 try testArgs(u256, i97, -1);
3530 try testArgs(u256, i97, 0);
3531 try testArgs(i512, i97, -1 << 96);
3532 try testArgs(i512, i97, -1);
3533 try testArgs(i512, i97, 0);
3534 try testArgs(u512, i97, -1 << 96);
3535 try testArgs(u512, i97, -1);
3536 try testArgs(u512, i97, 0);
3537 try testArgs(i1024, i97, -1 << 96);
3538 try testArgs(i1024, i97, -1);
3539 try testArgs(i1024, i97, 0);
3540 try testArgs(u1024, i97, -1 << 96);
3541 try testArgs(u1024, i97, -1);
3542 try testArgs(u1024, i97, 0);
3543 try testArgs(i8, u97, 0);
3544 try testArgs(i8, u97, 1 << 0);
3545 try testArgs(i8, u97, 1 << 96);
3546 try testArgs(u8, u97, 0);
3547 try testArgs(u8, u97, 1 << 0);
3548 try testArgs(u8, u97, 1 << 96);
3549 try testArgs(i16, u97, 0);
3550 try testArgs(i16, u97, 1 << 0);
3551 try testArgs(i16, u97, 1 << 96);
3552 try testArgs(u16, u97, 0);
3553 try testArgs(u16, u97, 1 << 0);
3554 try testArgs(u16, u97, 1 << 96);
3555 try testArgs(i32, u97, 0);
3556 try testArgs(i32, u97, 1 << 0);
3557 try testArgs(i32, u97, 1 << 96);
3558 try testArgs(u32, u97, 0);
3559 try testArgs(u32, u97, 1 << 0);
3560 try testArgs(u32, u97, 1 << 96);
3561 try testArgs(i64, u97, 0);
3562 try testArgs(i64, u97, 1 << 0);
3563 try testArgs(i64, u97, 1 << 96);
3564 try testArgs(u64, u97, 0);
3565 try testArgs(u64, u97, 1 << 0);
3566 try testArgs(u64, u97, 1 << 96);
3567 try testArgs(i128, u97, 0);
3568 try testArgs(i128, u97, 1 << 0);
3569 try testArgs(i128, u97, 1 << 96);
3570 try testArgs(u128, u97, 0);
3571 try testArgs(u128, u97, 1 << 0);
3572 try testArgs(u128, u97, 1 << 96);
3573 try testArgs(i256, u97, 0);
3574 try testArgs(i256, u97, 1 << 0);
3575 try testArgs(i256, u97, 1 << 96);
3576 try testArgs(u256, u97, 0);
3577 try testArgs(u256, u97, 1 << 0);
3578 try testArgs(u256, u97, 1 << 96);
3579 try testArgs(i512, u97, 0);
3580 try testArgs(i512, u97, 1 << 0);
3581 try testArgs(i512, u97, 1 << 96);
3582 try testArgs(u512, u97, 0);
3583 try testArgs(u512, u97, 1 << 0);
3584 try testArgs(u512, u97, 1 << 96);
3585 try testArgs(i1024, u97, 0);
3586 try testArgs(i1024, u97, 1 << 0);
3587 try testArgs(i1024, u97, 1 << 96);
3588 try testArgs(u1024, u97, 0);
3589 try testArgs(u1024, u97, 1 << 0);
3590 try testArgs(u1024, u97, 1 << 96);
3591
3592 try testArgs(i8, i127, -1 << 126);
3593 try testArgs(i8, i127, -1);
3594 try testArgs(i8, i127, 0);
3595 try testArgs(u8, i127, -1 << 126);
3596 try testArgs(u8, i127, -1);
3597 try testArgs(u8, i127, 0);
3598 try testArgs(i16, i127, -1 << 126);
3599 try testArgs(i16, i127, -1);
3600 try testArgs(i16, i127, 0);
3601 try testArgs(u16, i127, -1 << 126);
3602 try testArgs(u16, i127, -1);
3603 try testArgs(u16, i127, 0);
3604 try testArgs(i32, i127, -1 << 126);
3605 try testArgs(i32, i127, -1);
3606 try testArgs(i32, i127, 0);
3607 try testArgs(u32, i127, -1 << 126);
3608 try testArgs(u32, i127, -1);
3609 try testArgs(u32, i127, 0);
3610 try testArgs(i64, i127, -1 << 126);
3611 try testArgs(i64, i127, -1);
3612 try testArgs(i64, i127, 0);
3613 try testArgs(u64, i127, -1 << 126);
3614 try testArgs(u64, i127, -1);
3615 try testArgs(u64, i127, 0);
3616 try testArgs(i128, i127, -1 << 126);
3617 try testArgs(i128, i127, -1);
3618 try testArgs(i128, i127, 0);
3619 try testArgs(u128, i127, -1 << 126);
3620 try testArgs(u128, i127, -1);
3621 try testArgs(u128, i127, 0);
3622 try testArgs(i256, i127, -1 << 126);
3623 try testArgs(i256, i127, -1);
3624 try testArgs(i256, i127, 0);
3625 try testArgs(u256, i127, -1 << 126);
3626 try testArgs(u256, i127, -1);
3627 try testArgs(u256, i127, 0);
3628 try testArgs(i512, i127, -1 << 126);
3629 try testArgs(i512, i127, -1);
3630 try testArgs(i512, i127, 0);
3631 try testArgs(u512, i127, -1 << 126);
3632 try testArgs(u512, i127, -1);
3633 try testArgs(u512, i127, 0);
3634 try testArgs(i1024, i127, -1 << 126);
3635 try testArgs(i1024, i127, -1);
3636 try testArgs(i1024, i127, 0);
3637 try testArgs(u1024, i127, -1 << 126);
3638 try testArgs(u1024, i127, -1);
3639 try testArgs(u1024, i127, 0);
3640 try testArgs(i8, u127, 0);
3641 try testArgs(i8, u127, 1 << 0);
3642 try testArgs(i8, u127, 1 << 126);
3643 try testArgs(u8, u127, 0);
3644 try testArgs(u8, u127, 1 << 0);
3645 try testArgs(u8, u127, 1 << 126);
3646 try testArgs(i16, u127, 0);
3647 try testArgs(i16, u127, 1 << 0);
3648 try testArgs(i16, u127, 1 << 126);
3649 try testArgs(u16, u127, 0);
3650 try testArgs(u16, u127, 1 << 0);
3651 try testArgs(u16, u127, 1 << 126);
3652 try testArgs(i32, u127, 0);
3653 try testArgs(i32, u127, 1 << 0);
3654 try testArgs(i32, u127, 1 << 126);
3655 try testArgs(u32, u127, 0);
3656 try testArgs(u32, u127, 1 << 0);
3657 try testArgs(u32, u127, 1 << 126);
3658 try testArgs(i64, u127, 0);
3659 try testArgs(i64, u127, 1 << 0);
3660 try testArgs(i64, u127, 1 << 126);
3661 try testArgs(u64, u127, 0);
3662 try testArgs(u64, u127, 1 << 0);
3663 try testArgs(u64, u127, 1 << 126);
3664 try testArgs(i128, u127, 0);
3665 try testArgs(i128, u127, 1 << 0);
3666 try testArgs(i128, u127, 1 << 126);
3667 try testArgs(u128, u127, 0);
3668 try testArgs(u128, u127, 1 << 0);
3669 try testArgs(u128, u127, 1 << 126);
3670 try testArgs(i256, u127, 0);
3671 try testArgs(i256, u127, 1 << 0);
3672 try testArgs(i256, u127, 1 << 126);
3673 try testArgs(u256, u127, 0);
3674 try testArgs(u256, u127, 1 << 0);
3675 try testArgs(u256, u127, 1 << 126);
3676 try testArgs(i512, u127, 0);
3677 try testArgs(i512, u127, 1 << 0);
3678 try testArgs(i512, u127, 1 << 126);
3679 try testArgs(u512, u127, 0);
3680 try testArgs(u512, u127, 1 << 0);
3681 try testArgs(u512, u127, 1 << 126);
3682 try testArgs(i1024, u127, 0);
3683 try testArgs(i1024, u127, 1 << 0);
3684 try testArgs(i1024, u127, 1 << 126);
3685 try testArgs(u1024, u127, 0);
3686 try testArgs(u1024, u127, 1 << 0);
3687 try testArgs(u1024, u127, 1 << 126);
3688
3689 try testArgs(i8, i128, -1 << 127);
3690 try testArgs(i8, i128, -1);
3691 try testArgs(i8, i128, 0);
3692 try testArgs(u8, i128, -1 << 127);
3693 try testArgs(u8, i128, -1);
3694 try testArgs(u8, i128, 0);
3695 try testArgs(i16, i128, -1 << 127);
3696 try testArgs(i16, i128, -1);
3697 try testArgs(i16, i128, 0);
3698 try testArgs(u16, i128, -1 << 127);
3699 try testArgs(u16, i128, -1);
3700 try testArgs(u16, i128, 0);
3701 try testArgs(i32, i128, -1 << 127);
3702 try testArgs(i32, i128, -1);
3703 try testArgs(i32, i128, 0);
3704 try testArgs(u32, i128, -1 << 127);
3705 try testArgs(u32, i128, -1);
3706 try testArgs(u32, i128, 0);
3707 try testArgs(i64, i128, -1 << 127);
3708 try testArgs(i64, i128, -1);
3709 try testArgs(i64, i128, 0);
3710 try testArgs(u64, i128, -1 << 127);
3711 try testArgs(u64, i128, -1);
3712 try testArgs(u64, i128, 0);
3713 try testArgs(i128, i128, -1 << 127);
3714 try testArgs(i128, i128, -1);
3715 try testArgs(i128, i128, 0);
3716 try testArgs(u128, i128, -1 << 127);
3717 try testArgs(u128, i128, -1);
3718 try testArgs(u128, i128, 0);
3719 try testArgs(i256, i128, -1 << 127);
3720 try testArgs(i256, i128, -1);
3721 try testArgs(i256, i128, 0);
3722 try testArgs(u256, i128, -1 << 127);
3723 try testArgs(u256, i128, -1);
3724 try testArgs(u256, i128, 0);
3725 try testArgs(i512, i128, -1 << 127);
3726 try testArgs(i512, i128, -1);
3727 try testArgs(i512, i128, 0);
3728 try testArgs(u512, i128, -1 << 127);
3729 try testArgs(u512, i128, -1);
3730 try testArgs(u512, i128, 0);
3731 try testArgs(i1024, i128, -1 << 127);
3732 try testArgs(i1024, i128, -1);
3733 try testArgs(i1024, i128, 0);
3734 try testArgs(u1024, i128, -1 << 127);
3735 try testArgs(u1024, i128, -1);
3736 try testArgs(u1024, i128, 0);
3737 try testArgs(i8, u128, 0);
3738 try testArgs(i8, u128, 1 << 0);
3739 try testArgs(i8, u128, 1 << 127);
3740 try testArgs(u8, u128, 0);
3741 try testArgs(u8, u128, 1 << 0);
3742 try testArgs(u8, u128, 1 << 127);
3743 try testArgs(i16, u128, 0);
3744 try testArgs(i16, u128, 1 << 0);
3745 try testArgs(i16, u128, 1 << 127);
3746 try testArgs(u16, u128, 0);
3747 try testArgs(u16, u128, 1 << 0);
3748 try testArgs(u16, u128, 1 << 127);
3749 try testArgs(i32, u128, 0);
3750 try testArgs(i32, u128, 1 << 0);
3751 try testArgs(i32, u128, 1 << 127);
3752 try testArgs(u32, u128, 0);
3753 try testArgs(u32, u128, 1 << 0);
3754 try testArgs(u32, u128, 1 << 127);
3755 try testArgs(i64, u128, 0);
3756 try testArgs(i64, u128, 1 << 0);
3757 try testArgs(i64, u128, 1 << 127);
3758 try testArgs(u64, u128, 0);
3759 try testArgs(u64, u128, 1 << 0);
3760 try testArgs(u64, u128, 1 << 127);
3761 try testArgs(i128, u128, 0);
3762 try testArgs(i128, u128, 1 << 0);
3763 try testArgs(i128, u128, 1 << 127);
3764 try testArgs(u128, u128, 0);
3765 try testArgs(u128, u128, 1 << 0);
3766 try testArgs(u128, u128, 1 << 127);
3767 try testArgs(i256, u128, 0);
3768 try testArgs(i256, u128, 1 << 0);
3769 try testArgs(i256, u128, 1 << 127);
3770 try testArgs(u256, u128, 0);
3771 try testArgs(u256, u128, 1 << 0);
3772 try testArgs(u256, u128, 1 << 127);
3773 try testArgs(i512, u128, 0);
3774 try testArgs(i512, u128, 1 << 0);
3775 try testArgs(i512, u128, 1 << 127);
3776 try testArgs(u512, u128, 0);
3777 try testArgs(u512, u128, 1 << 0);
3778 try testArgs(u512, u128, 1 << 127);
3779 try testArgs(i1024, u128, 0);
3780 try testArgs(i1024, u128, 1 << 0);
3781 try testArgs(i1024, u128, 1 << 127);
3782 try testArgs(u1024, u128, 0);
3783 try testArgs(u1024, u128, 1 << 0);
3784 try testArgs(u1024, u128, 1 << 127);
3785
3786 try testArgs(i8, i129, -1 << 128);
3787 try testArgs(i8, i129, -1);
3788 try testArgs(i8, i129, 0);
3789 try testArgs(u8, i129, -1 << 128);
3790 try testArgs(u8, i129, -1);
3791 try testArgs(u8, i129, 0);
3792 try testArgs(i16, i129, -1 << 128);
3793 try testArgs(i16, i129, -1);
3794 try testArgs(i16, i129, 0);
3795 try testArgs(u16, i129, -1 << 128);
3796 try testArgs(u16, i129, -1);
3797 try testArgs(u16, i129, 0);
3798 try testArgs(i32, i129, -1 << 128);
3799 try testArgs(i32, i129, -1);
3800 try testArgs(i32, i129, 0);
3801 try testArgs(u32, i129, -1 << 128);
3802 try testArgs(u32, i129, -1);
3803 try testArgs(u32, i129, 0);
3804 try testArgs(i64, i129, -1 << 128);
3805 try testArgs(i64, i129, -1);
3806 try testArgs(i64, i129, 0);
3807 try testArgs(u64, i129, -1 << 128);
3808 try testArgs(u64, i129, -1);
3809 try testArgs(u64, i129, 0);
3810 try testArgs(i128, i129, -1 << 128);
3811 try testArgs(i128, i129, -1);
3812 try testArgs(i128, i129, 0);
3813 try testArgs(u128, i129, -1 << 128);
3814 try testArgs(u128, i129, -1);
3815 try testArgs(u128, i129, 0);
3816 try testArgs(i256, i129, -1 << 128);
3817 try testArgs(i256, i129, -1);
3818 try testArgs(i256, i129, 0);
3819 try testArgs(u256, i129, -1 << 128);
3820 try testArgs(u256, i129, -1);
3821 try testArgs(u256, i129, 0);
3822 try testArgs(i512, i129, -1 << 128);
3823 try testArgs(i512, i129, -1);
3824 try testArgs(i512, i129, 0);
3825 try testArgs(u512, i129, -1 << 128);
3826 try testArgs(u512, i129, -1);
3827 try testArgs(u512, i129, 0);
3828 try testArgs(i1024, i129, -1 << 128);
3829 try testArgs(i1024, i129, -1);
3830 try testArgs(i1024, i129, 0);
3831 try testArgs(u1024, i129, -1 << 128);
3832 try testArgs(u1024, i129, -1);
3833 try testArgs(u1024, i129, 0);
3834 try testArgs(i8, u129, 0);
3835 try testArgs(i8, u129, 1 << 0);
3836 try testArgs(i8, u129, 1 << 128);
3837 try testArgs(u8, u129, 0);
3838 try testArgs(u8, u129, 1 << 0);
3839 try testArgs(u8, u129, 1 << 128);
3840 try testArgs(i16, u129, 0);
3841 try testArgs(i16, u129, 1 << 0);
3842 try testArgs(i16, u129, 1 << 128);
3843 try testArgs(u16, u129, 0);
3844 try testArgs(u16, u129, 1 << 0);
3845 try testArgs(u16, u129, 1 << 128);
3846 try testArgs(i32, u129, 0);
3847 try testArgs(i32, u129, 1 << 0);
3848 try testArgs(i32, u129, 1 << 128);
3849 try testArgs(u32, u129, 0);
3850 try testArgs(u32, u129, 1 << 0);
3851 try testArgs(u32, u129, 1 << 128);
3852 try testArgs(i64, u129, 0);
3853 try testArgs(i64, u129, 1 << 0);
3854 try testArgs(i64, u129, 1 << 128);
3855 try testArgs(u64, u129, 0);
3856 try testArgs(u64, u129, 1 << 0);
3857 try testArgs(u64, u129, 1 << 128);
3858 try testArgs(i128, u129, 0);
3859 try testArgs(i128, u129, 1 << 0);
3860 try testArgs(i128, u129, 1 << 128);
3861 try testArgs(u128, u129, 0);
3862 try testArgs(u128, u129, 1 << 0);
3863 try testArgs(u128, u129, 1 << 128);
3864 try testArgs(i256, u129, 0);
3865 try testArgs(i256, u129, 1 << 0);
3866 try testArgs(i256, u129, 1 << 128);
3867 try testArgs(u256, u129, 0);
3868 try testArgs(u256, u129, 1 << 0);
3869 try testArgs(u256, u129, 1 << 128);
3870 try testArgs(i512, u129, 0);
3871 try testArgs(i512, u129, 1 << 0);
3872 try testArgs(i512, u129, 1 << 128);
3873 try testArgs(u512, u129, 0);
3874 try testArgs(u512, u129, 1 << 0);
3875 try testArgs(u512, u129, 1 << 128);
3876 try testArgs(i1024, u129, 0);
3877 try testArgs(i1024, u129, 1 << 0);
3878 try testArgs(i1024, u129, 1 << 128);
3879 try testArgs(u1024, u129, 0);
3880 try testArgs(u1024, u129, 1 << 0);
3881 try testArgs(u1024, u129, 1 << 128);
3882
3883 try testArgs(i8, i159, -1 << 158);
3884 try testArgs(i8, i159, -1);
3885 try testArgs(i8, i159, 0);
3886 try testArgs(u8, i159, -1 << 158);
3887 try testArgs(u8, i159, -1);
3888 try testArgs(u8, i159, 0);
3889 try testArgs(i16, i159, -1 << 158);
3890 try testArgs(i16, i159, -1);
3891 try testArgs(i16, i159, 0);
3892 try testArgs(u16, i159, -1 << 158);
3893 try testArgs(u16, i159, -1);
3894 try testArgs(u16, i159, 0);
3895 try testArgs(i32, i159, -1 << 158);
3896 try testArgs(i32, i159, -1);
3897 try testArgs(i32, i159, 0);
3898 try testArgs(u32, i159, -1 << 158);
3899 try testArgs(u32, i159, -1);
3900 try testArgs(u32, i159, 0);
3901 try testArgs(i64, i159, -1 << 158);
3902 try testArgs(i64, i159, -1);
3903 try testArgs(i64, i159, 0);
3904 try testArgs(u64, i159, -1 << 158);
3905 try testArgs(u64, i159, -1);
3906 try testArgs(u64, i159, 0);
3907 try testArgs(i128, i159, -1 << 158);
3908 try testArgs(i128, i159, -1);
3909 try testArgs(i128, i159, 0);
3910 try testArgs(u128, i159, -1 << 158);
3911 try testArgs(u128, i159, -1);
3912 try testArgs(u128, i159, 0);
3913 try testArgs(i256, i159, -1 << 158);
3914 try testArgs(i256, i159, -1);
3915 try testArgs(i256, i159, 0);
3916 try testArgs(u256, i159, -1 << 158);
3917 try testArgs(u256, i159, -1);
3918 try testArgs(u256, i159, 0);
3919 try testArgs(i512, i159, -1 << 158);
3920 try testArgs(i512, i159, -1);
3921 try testArgs(i512, i159, 0);
3922 try testArgs(u512, i159, -1 << 158);
3923 try testArgs(u512, i159, -1);
3924 try testArgs(u512, i159, 0);
3925 try testArgs(i1024, i159, -1 << 158);
3926 try testArgs(i1024, i159, -1);
3927 try testArgs(i1024, i159, 0);
3928 try testArgs(u1024, i159, -1 << 158);
3929 try testArgs(u1024, i159, -1);
3930 try testArgs(u1024, i159, 0);
3931 try testArgs(i8, u159, 0);
3932 try testArgs(i8, u159, 1 << 0);
3933 try testArgs(i8, u159, 1 << 158);
3934 try testArgs(u8, u159, 0);
3935 try testArgs(u8, u159, 1 << 0);
3936 try testArgs(u8, u159, 1 << 158);
3937 try testArgs(i16, u159, 0);
3938 try testArgs(i16, u159, 1 << 0);
3939 try testArgs(i16, u159, 1 << 158);
3940 try testArgs(u16, u159, 0);
3941 try testArgs(u16, u159, 1 << 0);
3942 try testArgs(u16, u159, 1 << 158);
3943 try testArgs(i32, u159, 0);
3944 try testArgs(i32, u159, 1 << 0);
3945 try testArgs(i32, u159, 1 << 158);
3946 try testArgs(u32, u159, 0);
3947 try testArgs(u32, u159, 1 << 0);
3948 try testArgs(u32, u159, 1 << 158);
3949 try testArgs(i64, u159, 0);
3950 try testArgs(i64, u159, 1 << 0);
3951 try testArgs(i64, u159, 1 << 158);
3952 try testArgs(u64, u159, 0);
3953 try testArgs(u64, u159, 1 << 0);
3954 try testArgs(u64, u159, 1 << 158);
3955 try testArgs(i128, u159, 0);
3956 try testArgs(i128, u159, 1 << 0);
3957 try testArgs(i128, u159, 1 << 158);
3958 try testArgs(u128, u159, 0);
3959 try testArgs(u128, u159, 1 << 0);
3960 try testArgs(u128, u159, 1 << 158);
3961 try testArgs(i256, u159, 0);
3962 try testArgs(i256, u159, 1 << 0);
3963 try testArgs(i256, u159, 1 << 158);
3964 try testArgs(u256, u159, 0);
3965 try testArgs(u256, u159, 1 << 0);
3966 try testArgs(u256, u159, 1 << 158);
3967 try testArgs(i512, u159, 0);
3968 try testArgs(i512, u159, 1 << 0);
3969 try testArgs(i512, u159, 1 << 158);
3970 try testArgs(u512, u159, 0);
3971 try testArgs(u512, u159, 1 << 0);
3972 try testArgs(u512, u159, 1 << 158);
3973 try testArgs(i1024, u159, 0);
3974 try testArgs(i1024, u159, 1 << 0);
3975 try testArgs(i1024, u159, 1 << 158);
3976 try testArgs(u1024, u159, 0);
3977 try testArgs(u1024, u159, 1 << 0);
3978 try testArgs(u1024, u159, 1 << 158);
3979
3980 try testArgs(i8, i160, -1 << 159);
3981 try testArgs(i8, i160, -1);
3982 try testArgs(i8, i160, 0);
3983 try testArgs(u8, i160, -1 << 159);
3984 try testArgs(u8, i160, -1);
3985 try testArgs(u8, i160, 0);
3986 try testArgs(i16, i160, -1 << 159);
3987 try testArgs(i16, i160, -1);
3988 try testArgs(i16, i160, 0);
3989 try testArgs(u16, i160, -1 << 159);
3990 try testArgs(u16, i160, -1);
3991 try testArgs(u16, i160, 0);
3992 try testArgs(i32, i160, -1 << 159);
3993 try testArgs(i32, i160, -1);
3994 try testArgs(i32, i160, 0);
3995 try testArgs(u32, i160, -1 << 159);
3996 try testArgs(u32, i160, -1);
3997 try testArgs(u32, i160, 0);
3998 try testArgs(i64, i160, -1 << 159);
3999 try testArgs(i64, i160, -1);
4000 try testArgs(i64, i160, 0);
4001 try testArgs(u64, i160, -1 << 159);
4002 try testArgs(u64, i160, -1);
4003 try testArgs(u64, i160, 0);
4004 try testArgs(i128, i160, -1 << 159);
4005 try testArgs(i128, i160, -1);
4006 try testArgs(i128, i160, 0);
4007 try testArgs(u128, i160, -1 << 159);
4008 try testArgs(u128, i160, -1);
4009 try testArgs(u128, i160, 0);
4010 try testArgs(i256, i160, -1 << 159);
4011 try testArgs(i256, i160, -1);
4012 try testArgs(i256, i160, 0);
4013 try testArgs(u256, i160, -1 << 159);
4014 try testArgs(u256, i160, -1);
4015 try testArgs(u256, i160, 0);
4016 try testArgs(i512, i160, -1 << 159);
4017 try testArgs(i512, i160, -1);
4018 try testArgs(i512, i160, 0);
4019 try testArgs(u512, i160, -1 << 159);
4020 try testArgs(u512, i160, -1);
4021 try testArgs(u512, i160, 0);
4022 try testArgs(i1024, i160, -1 << 159);
4023 try testArgs(i1024, i160, -1);
4024 try testArgs(i1024, i160, 0);
4025 try testArgs(u1024, i160, -1 << 159);
4026 try testArgs(u1024, i160, -1);
4027 try testArgs(u1024, i160, 0);
4028 try testArgs(i8, u160, 0);
4029 try testArgs(i8, u160, 1 << 0);
4030 try testArgs(i8, u160, 1 << 159);
4031 try testArgs(u8, u160, 0);
4032 try testArgs(u8, u160, 1 << 0);
4033 try testArgs(u8, u160, 1 << 159);
4034 try testArgs(i16, u160, 0);
4035 try testArgs(i16, u160, 1 << 0);
4036 try testArgs(i16, u160, 1 << 159);
4037 try testArgs(u16, u160, 0);
4038 try testArgs(u16, u160, 1 << 0);
4039 try testArgs(u16, u160, 1 << 159);
4040 try testArgs(i32, u160, 0);
4041 try testArgs(i32, u160, 1 << 0);
4042 try testArgs(i32, u160, 1 << 159);
4043 try testArgs(u32, u160, 0);
4044 try testArgs(u32, u160, 1 << 0);
4045 try testArgs(u32, u160, 1 << 159);
4046 try testArgs(i64, u160, 0);
4047 try testArgs(i64, u160, 1 << 0);
4048 try testArgs(i64, u160, 1 << 159);
4049 try testArgs(u64, u160, 0);
4050 try testArgs(u64, u160, 1 << 0);
4051 try testArgs(u64, u160, 1 << 159);
4052 try testArgs(i128, u160, 0);
4053 try testArgs(i128, u160, 1 << 0);
4054 try testArgs(i128, u160, 1 << 159);
4055 try testArgs(u128, u160, 0);
4056 try testArgs(u128, u160, 1 << 0);
4057 try testArgs(u128, u160, 1 << 159);
4058 try testArgs(i256, u160, 0);
4059 try testArgs(i256, u160, 1 << 0);
4060 try testArgs(i256, u160, 1 << 159);
4061 try testArgs(u256, u160, 0);
4062 try testArgs(u256, u160, 1 << 0);
4063 try testArgs(u256, u160, 1 << 159);
4064 try testArgs(i512, u160, 0);
4065 try testArgs(i512, u160, 1 << 0);
4066 try testArgs(i512, u160, 1 << 159);
4067 try testArgs(u512, u160, 0);
4068 try testArgs(u512, u160, 1 << 0);
4069 try testArgs(u512, u160, 1 << 159);
4070 try testArgs(i1024, u160, 0);
4071 try testArgs(i1024, u160, 1 << 0);
4072 try testArgs(i1024, u160, 1 << 159);
4073 try testArgs(u1024, u160, 0);
4074 try testArgs(u1024, u160, 1 << 0);
4075 try testArgs(u1024, u160, 1 << 159);
4076
4077 try testArgs(i8, i161, -1 << 160);
4078 try testArgs(i8, i161, -1);
4079 try testArgs(i8, i161, 0);
4080 try testArgs(u8, i161, -1 << 160);
4081 try testArgs(u8, i161, -1);
4082 try testArgs(u8, i161, 0);
4083 try testArgs(i16, i161, -1 << 160);
4084 try testArgs(i16, i161, -1);
4085 try testArgs(i16, i161, 0);
4086 try testArgs(u16, i161, -1 << 160);
4087 try testArgs(u16, i161, -1);
4088 try testArgs(u16, i161, 0);
4089 try testArgs(i32, i161, -1 << 160);
4090 try testArgs(i32, i161, -1);
4091 try testArgs(i32, i161, 0);
4092 try testArgs(u32, i161, -1 << 160);
4093 try testArgs(u32, i161, -1);
4094 try testArgs(u32, i161, 0);
4095 try testArgs(i64, i161, -1 << 160);
4096 try testArgs(i64, i161, -1);
4097 try testArgs(i64, i161, 0);
4098 try testArgs(u64, i161, -1 << 160);
4099 try testArgs(u64, i161, -1);
4100 try testArgs(u64, i161, 0);
4101 try testArgs(i128, i161, -1 << 160);
4102 try testArgs(i128, i161, -1);
4103 try testArgs(i128, i161, 0);
4104 try testArgs(u128, i161, -1 << 160);
4105 try testArgs(u128, i161, -1);
4106 try testArgs(u128, i161, 0);
4107 try testArgs(i256, i161, -1 << 160);
4108 try testArgs(i256, i161, -1);
4109 try testArgs(i256, i161, 0);
4110 try testArgs(u256, i161, -1 << 160);
4111 try testArgs(u256, i161, -1);
4112 try testArgs(u256, i161, 0);
4113 try testArgs(i512, i161, -1 << 160);
4114 try testArgs(i512, i161, -1);
4115 try testArgs(i512, i161, 0);
4116 try testArgs(u512, i161, -1 << 160);
4117 try testArgs(u512, i161, -1);
4118 try testArgs(u512, i161, 0);
4119 try testArgs(i1024, i161, -1 << 160);
4120 try testArgs(i1024, i161, -1);
4121 try testArgs(i1024, i161, 0);
4122 try testArgs(u1024, i161, -1 << 160);
4123 try testArgs(u1024, i161, -1);
4124 try testArgs(u1024, i161, 0);
4125 try testArgs(i8, u161, 0);
4126 try testArgs(i8, u161, 1 << 0);
4127 try testArgs(i8, u161, 1 << 160);
4128 try testArgs(u8, u161, 0);
4129 try testArgs(u8, u161, 1 << 0);
4130 try testArgs(u8, u161, 1 << 160);
4131 try testArgs(i16, u161, 0);
4132 try testArgs(i16, u161, 1 << 0);
4133 try testArgs(i16, u161, 1 << 160);
4134 try testArgs(u16, u161, 0);
4135 try testArgs(u16, u161, 1 << 0);
4136 try testArgs(u16, u161, 1 << 160);
4137 try testArgs(i32, u161, 0);
4138 try testArgs(i32, u161, 1 << 0);
4139 try testArgs(i32, u161, 1 << 160);
4140 try testArgs(u32, u161, 0);
4141 try testArgs(u32, u161, 1 << 0);
4142 try testArgs(u32, u161, 1 << 160);
4143 try testArgs(i64, u161, 0);
4144 try testArgs(i64, u161, 1 << 0);
4145 try testArgs(i64, u161, 1 << 160);
4146 try testArgs(u64, u161, 0);
4147 try testArgs(u64, u161, 1 << 0);
4148 try testArgs(u64, u161, 1 << 160);
4149 try testArgs(i128, u161, 0);
4150 try testArgs(i128, u161, 1 << 0);
4151 try testArgs(i128, u161, 1 << 160);
4152 try testArgs(u128, u161, 0);
4153 try testArgs(u128, u161, 1 << 0);
4154 try testArgs(u128, u161, 1 << 160);
4155 try testArgs(i256, u161, 0);
4156 try testArgs(i256, u161, 1 << 0);
4157 try testArgs(i256, u161, 1 << 160);
4158 try testArgs(u256, u161, 0);
4159 try testArgs(u256, u161, 1 << 0);
4160 try testArgs(u256, u161, 1 << 160);
4161 try testArgs(i512, u161, 0);
4162 try testArgs(i512, u161, 1 << 0);
4163 try testArgs(i512, u161, 1 << 160);
4164 try testArgs(u512, u161, 0);
4165 try testArgs(u512, u161, 1 << 0);
4166 try testArgs(u512, u161, 1 << 160);
4167 try testArgs(i1024, u161, 0);
4168 try testArgs(i1024, u161, 1 << 0);
4169 try testArgs(i1024, u161, 1 << 160);
4170 try testArgs(u1024, u161, 0);
4171 try testArgs(u1024, u161, 1 << 0);
4172 try testArgs(u1024, u161, 1 << 160);
4173
4174 try testArgs(i8, i191, -1 << 190);
4175 try testArgs(i8, i191, -1);
4176 try testArgs(i8, i191, 0);
4177 try testArgs(u8, i191, -1 << 190);
4178 try testArgs(u8, i191, -1);
4179 try testArgs(u8, i191, 0);
4180 try testArgs(i16, i191, -1 << 190);
4181 try testArgs(i16, i191, -1);
4182 try testArgs(i16, i191, 0);
4183 try testArgs(u16, i191, -1 << 190);
4184 try testArgs(u16, i191, -1);
4185 try testArgs(u16, i191, 0);
4186 try testArgs(i32, i191, -1 << 190);
4187 try testArgs(i32, i191, -1);
4188 try testArgs(i32, i191, 0);
4189 try testArgs(u32, i191, -1 << 190);
4190 try testArgs(u32, i191, -1);
4191 try testArgs(u32, i191, 0);
4192 try testArgs(i64, i191, -1 << 190);
4193 try testArgs(i64, i191, -1);
4194 try testArgs(i64, i191, 0);
4195 try testArgs(u64, i191, -1 << 190);
4196 try testArgs(u64, i191, -1);
4197 try testArgs(u64, i191, 0);
4198 try testArgs(i128, i191, -1 << 190);
4199 try testArgs(i128, i191, -1);
4200 try testArgs(i128, i191, 0);
4201 try testArgs(u128, i191, -1 << 190);
4202 try testArgs(u128, i191, -1);
4203 try testArgs(u128, i191, 0);
4204 try testArgs(i256, i191, -1 << 190);
4205 try testArgs(i256, i191, -1);
4206 try testArgs(i256, i191, 0);
4207 try testArgs(u256, i191, -1 << 190);
4208 try testArgs(u256, i191, -1);
4209 try testArgs(u256, i191, 0);
4210 try testArgs(i512, i191, -1 << 190);
4211 try testArgs(i512, i191, -1);
4212 try testArgs(i512, i191, 0);
4213 try testArgs(u512, i191, -1 << 190);
4214 try testArgs(u512, i191, -1);
4215 try testArgs(u512, i191, 0);
4216 try testArgs(i1024, i191, -1 << 190);
4217 try testArgs(i1024, i191, -1);
4218 try testArgs(i1024, i191, 0);
4219 try testArgs(u1024, i191, -1 << 190);
4220 try testArgs(u1024, i191, -1);
4221 try testArgs(u1024, i191, 0);
4222 try testArgs(i8, u191, 0);
4223 try testArgs(i8, u191, 1 << 0);
4224 try testArgs(i8, u191, 1 << 190);
4225 try testArgs(u8, u191, 0);
4226 try testArgs(u8, u191, 1 << 0);
4227 try testArgs(u8, u191, 1 << 190);
4228 try testArgs(i16, u191, 0);
4229 try testArgs(i16, u191, 1 << 0);
4230 try testArgs(i16, u191, 1 << 190);
4231 try testArgs(u16, u191, 0);
4232 try testArgs(u16, u191, 1 << 0);
4233 try testArgs(u16, u191, 1 << 190);
4234 try testArgs(i32, u191, 0);
4235 try testArgs(i32, u191, 1 << 0);
4236 try testArgs(i32, u191, 1 << 190);
4237 try testArgs(u32, u191, 0);
4238 try testArgs(u32, u191, 1 << 0);
4239 try testArgs(u32, u191, 1 << 190);
4240 try testArgs(i64, u191, 0);
4241 try testArgs(i64, u191, 1 << 0);
4242 try testArgs(i64, u191, 1 << 190);
4243 try testArgs(u64, u191, 0);
4244 try testArgs(u64, u191, 1 << 0);
4245 try testArgs(u64, u191, 1 << 190);
4246 try testArgs(i128, u191, 0);
4247 try testArgs(i128, u191, 1 << 0);
4248 try testArgs(i128, u191, 1 << 190);
4249 try testArgs(u128, u191, 0);
4250 try testArgs(u128, u191, 1 << 0);
4251 try testArgs(u128, u191, 1 << 190);
4252 try testArgs(i256, u191, 0);
4253 try testArgs(i256, u191, 1 << 0);
4254 try testArgs(i256, u191, 1 << 190);
4255 try testArgs(u256, u191, 0);
4256 try testArgs(u256, u191, 1 << 0);
4257 try testArgs(u256, u191, 1 << 190);
4258 try testArgs(i512, u191, 0);
4259 try testArgs(i512, u191, 1 << 0);
4260 try testArgs(i512, u191, 1 << 190);
4261 try testArgs(u512, u191, 0);
4262 try testArgs(u512, u191, 1 << 0);
4263 try testArgs(u512, u191, 1 << 190);
4264 try testArgs(i1024, u191, 0);
4265 try testArgs(i1024, u191, 1 << 0);
4266 try testArgs(i1024, u191, 1 << 190);
4267 try testArgs(u1024, u191, 0);
4268 try testArgs(u1024, u191, 1 << 0);
4269 try testArgs(u1024, u191, 1 << 190);
4270
4271 try testArgs(i8, i192, -1 << 191);
4272 try testArgs(i8, i192, -1);
4273 try testArgs(i8, i192, 0);
4274 try testArgs(u8, i192, -1 << 191);
4275 try testArgs(u8, i192, -1);
4276 try testArgs(u8, i192, 0);
4277 try testArgs(i16, i192, -1 << 191);
4278 try testArgs(i16, i192, -1);
4279 try testArgs(i16, i192, 0);
4280 try testArgs(u16, i192, -1 << 191);
4281 try testArgs(u16, i192, -1);
4282 try testArgs(u16, i192, 0);
4283 try testArgs(i32, i192, -1 << 191);
4284 try testArgs(i32, i192, -1);
4285 try testArgs(i32, i192, 0);
4286 try testArgs(u32, i192, -1 << 191);
4287 try testArgs(u32, i192, -1);
4288 try testArgs(u32, i192, 0);
4289 try testArgs(i64, i192, -1 << 191);
4290 try testArgs(i64, i192, -1);
4291 try testArgs(i64, i192, 0);
4292 try testArgs(u64, i192, -1 << 191);
4293 try testArgs(u64, i192, -1);
4294 try testArgs(u64, i192, 0);
4295 try testArgs(i128, i192, -1 << 191);
4296 try testArgs(i128, i192, -1);
4297 try testArgs(i128, i192, 0);
4298 try testArgs(u128, i192, -1 << 191);
4299 try testArgs(u128, i192, -1);
4300 try testArgs(u128, i192, 0);
4301 try testArgs(i256, i192, -1 << 191);
4302 try testArgs(i256, i192, -1);
4303 try testArgs(i256, i192, 0);
4304 try testArgs(u256, i192, -1 << 191);
4305 try testArgs(u256, i192, -1);
4306 try testArgs(u256, i192, 0);
4307 try testArgs(i512, i192, -1 << 191);
4308 try testArgs(i512, i192, -1);
4309 try testArgs(i512, i192, 0);
4310 try testArgs(u512, i192, -1 << 191);
4311 try testArgs(u512, i192, -1);
4312 try testArgs(u512, i192, 0);
4313 try testArgs(i1024, i192, -1 << 191);
4314 try testArgs(i1024, i192, -1);
4315 try testArgs(i1024, i192, 0);
4316 try testArgs(u1024, i192, -1 << 191);
4317 try testArgs(u1024, i192, -1);
4318 try testArgs(u1024, i192, 0);
4319 try testArgs(i8, u192, 0);
4320 try testArgs(i8, u192, 1 << 0);
4321 try testArgs(i8, u192, 1 << 191);
4322 try testArgs(u8, u192, 0);
4323 try testArgs(u8, u192, 1 << 0);
4324 try testArgs(u8, u192, 1 << 191);
4325 try testArgs(i16, u192, 0);
4326 try testArgs(i16, u192, 1 << 0);
4327 try testArgs(i16, u192, 1 << 191);
4328 try testArgs(u16, u192, 0);
4329 try testArgs(u16, u192, 1 << 0);
4330 try testArgs(u16, u192, 1 << 191);
4331 try testArgs(i32, u192, 0);
4332 try testArgs(i32, u192, 1 << 0);
4333 try testArgs(i32, u192, 1 << 191);
4334 try testArgs(u32, u192, 0);
4335 try testArgs(u32, u192, 1 << 0);
4336 try testArgs(u32, u192, 1 << 191);
4337 try testArgs(i64, u192, 0);
4338 try testArgs(i64, u192, 1 << 0);
4339 try testArgs(i64, u192, 1 << 191);
4340 try testArgs(u64, u192, 0);
4341 try testArgs(u64, u192, 1 << 0);
4342 try testArgs(u64, u192, 1 << 191);
4343 try testArgs(i128, u192, 0);
4344 try testArgs(i128, u192, 1 << 0);
4345 try testArgs(i128, u192, 1 << 191);
4346 try testArgs(u128, u192, 0);
4347 try testArgs(u128, u192, 1 << 0);
4348 try testArgs(u128, u192, 1 << 191);
4349 try testArgs(i256, u192, 0);
4350 try testArgs(i256, u192, 1 << 0);
4351 try testArgs(i256, u192, 1 << 191);
4352 try testArgs(u256, u192, 0);
4353 try testArgs(u256, u192, 1 << 0);
4354 try testArgs(u256, u192, 1 << 191);
4355 try testArgs(i512, u192, 0);
4356 try testArgs(i512, u192, 1 << 0);
4357 try testArgs(i512, u192, 1 << 191);
4358 try testArgs(u512, u192, 0);
4359 try testArgs(u512, u192, 1 << 0);
4360 try testArgs(u512, u192, 1 << 191);
4361 try testArgs(i1024, u192, 0);
4362 try testArgs(i1024, u192, 1 << 0);
4363 try testArgs(i1024, u192, 1 << 191);
4364 try testArgs(u1024, u192, 0);
4365 try testArgs(u1024, u192, 1 << 0);
4366 try testArgs(u1024, u192, 1 << 191);
4367
4368 try testArgs(i8, i193, -1 << 192);
4369 try testArgs(i8, i193, -1);
4370 try testArgs(i8, i193, 0);
4371 try testArgs(u8, i193, -1 << 192);
4372 try testArgs(u8, i193, -1);
4373 try testArgs(u8, i193, 0);
4374 try testArgs(i16, i193, -1 << 192);
4375 try testArgs(i16, i193, -1);
4376 try testArgs(i16, i193, 0);
4377 try testArgs(u16, i193, -1 << 192);
4378 try testArgs(u16, i193, -1);
4379 try testArgs(u16, i193, 0);
4380 try testArgs(i32, i193, -1 << 192);
4381 try testArgs(i32, i193, -1);
4382 try testArgs(i32, i193, 0);
4383 try testArgs(u32, i193, -1 << 192);
4384 try testArgs(u32, i193, -1);
4385 try testArgs(u32, i193, 0);
4386 try testArgs(i64, i193, -1 << 192);
4387 try testArgs(i64, i193, -1);
4388 try testArgs(i64, i193, 0);
4389 try testArgs(u64, i193, -1 << 192);
4390 try testArgs(u64, i193, -1);
4391 try testArgs(u64, i193, 0);
4392 try testArgs(i128, i193, -1 << 192);
4393 try testArgs(i128, i193, -1);
4394 try testArgs(i128, i193, 0);
4395 try testArgs(u128, i193, -1 << 192);
4396 try testArgs(u128, i193, -1);
4397 try testArgs(u128, i193, 0);
4398 try testArgs(i256, i193, -1 << 192);
4399 try testArgs(i256, i193, -1);
4400 try testArgs(i256, i193, 0);
4401 try testArgs(u256, i193, -1 << 192);
4402 try testArgs(u256, i193, -1);
4403 try testArgs(u256, i193, 0);
4404 try testArgs(i512, i193, -1 << 192);
4405 try testArgs(i512, i193, -1);
4406 try testArgs(i512, i193, 0);
4407 try testArgs(u512, i193, -1 << 192);
4408 try testArgs(u512, i193, -1);
4409 try testArgs(u512, i193, 0);
4410 try testArgs(i1024, i193, -1 << 192);
4411 try testArgs(i1024, i193, -1);
4412 try testArgs(i1024, i193, 0);
4413 try testArgs(u1024, i193, -1 << 192);
4414 try testArgs(u1024, i193, -1);
4415 try testArgs(u1024, i193, 0);
4416 try testArgs(i8, u193, 0);
4417 try testArgs(i8, u193, 1 << 0);
4418 try testArgs(i8, u193, 1 << 192);
4419 try testArgs(u8, u193, 0);
4420 try testArgs(u8, u193, 1 << 0);
4421 try testArgs(u8, u193, 1 << 192);
4422 try testArgs(i16, u193, 0);
4423 try testArgs(i16, u193, 1 << 0);
4424 try testArgs(i16, u193, 1 << 192);
4425 try testArgs(u16, u193, 0);
4426 try testArgs(u16, u193, 1 << 0);
4427 try testArgs(u16, u193, 1 << 192);
4428 try testArgs(i32, u193, 0);
4429 try testArgs(i32, u193, 1 << 0);
4430 try testArgs(i32, u193, 1 << 192);
4431 try testArgs(u32, u193, 0);
4432 try testArgs(u32, u193, 1 << 0);
4433 try testArgs(u32, u193, 1 << 192);
4434 try testArgs(i64, u193, 0);
4435 try testArgs(i64, u193, 1 << 0);
4436 try testArgs(i64, u193, 1 << 192);
4437 try testArgs(u64, u193, 0);
4438 try testArgs(u64, u193, 1 << 0);
4439 try testArgs(u64, u193, 1 << 192);
4440 try testArgs(i128, u193, 0);
4441 try testArgs(i128, u193, 1 << 0);
4442 try testArgs(i128, u193, 1 << 192);
4443 try testArgs(u128, u193, 0);
4444 try testArgs(u128, u193, 1 << 0);
4445 try testArgs(u128, u193, 1 << 192);
4446 try testArgs(i256, u193, 0);
4447 try testArgs(i256, u193, 1 << 0);
4448 try testArgs(i256, u193, 1 << 192);
4449 try testArgs(u256, u193, 0);
4450 try testArgs(u256, u193, 1 << 0);
4451 try testArgs(u256, u193, 1 << 192);
4452 try testArgs(i512, u193, 0);
4453 try testArgs(i512, u193, 1 << 0);
4454 try testArgs(i512, u193, 1 << 192);
4455 try testArgs(u512, u193, 0);
4456 try testArgs(u512, u193, 1 << 0);
4457 try testArgs(u512, u193, 1 << 192);
4458 try testArgs(i1024, u193, 0);
4459 try testArgs(i1024, u193, 1 << 0);
4460 try testArgs(i1024, u193, 1 << 192);
4461 try testArgs(u1024, u193, 0);
4462 try testArgs(u1024, u193, 1 << 0);
4463 try testArgs(u1024, u193, 1 << 192);
4464
4465 try testArgs(i8, i223, -1 << 222);
4466 try testArgs(i8, i223, -1);
4467 try testArgs(i8, i223, 0);
4468 try testArgs(u8, i223, -1 << 222);
4469 try testArgs(u8, i223, -1);
4470 try testArgs(u8, i223, 0);
4471 try testArgs(i16, i223, -1 << 222);
4472 try testArgs(i16, i223, -1);
4473 try testArgs(i16, i223, 0);
4474 try testArgs(u16, i223, -1 << 222);
4475 try testArgs(u16, i223, -1);
4476 try testArgs(u16, i223, 0);
4477 try testArgs(i32, i223, -1 << 222);
4478 try testArgs(i32, i223, -1);
4479 try testArgs(i32, i223, 0);
4480 try testArgs(u32, i223, -1 << 222);
4481 try testArgs(u32, i223, -1);
4482 try testArgs(u32, i223, 0);
4483 try testArgs(i64, i223, -1 << 222);
4484 try testArgs(i64, i223, -1);
4485 try testArgs(i64, i223, 0);
4486 try testArgs(u64, i223, -1 << 222);
4487 try testArgs(u64, i223, -1);
4488 try testArgs(u64, i223, 0);
4489 try testArgs(i128, i223, -1 << 222);
4490 try testArgs(i128, i223, -1);
4491 try testArgs(i128, i223, 0);
4492 try testArgs(u128, i223, -1 << 222);
4493 try testArgs(u128, i223, -1);
4494 try testArgs(u128, i223, 0);
4495 try testArgs(i256, i223, -1 << 222);
4496 try testArgs(i256, i223, -1);
4497 try testArgs(i256, i223, 0);
4498 try testArgs(u256, i223, -1 << 222);
4499 try testArgs(u256, i223, -1);
4500 try testArgs(u256, i223, 0);
4501 try testArgs(i512, i223, -1 << 222);
4502 try testArgs(i512, i223, -1);
4503 try testArgs(i512, i223, 0);
4504 try testArgs(u512, i223, -1 << 222);
4505 try testArgs(u512, i223, -1);
4506 try testArgs(u512, i223, 0);
4507 try testArgs(i1024, i223, -1 << 222);
4508 try testArgs(i1024, i223, -1);
4509 try testArgs(i1024, i223, 0);
4510 try testArgs(u1024, i223, -1 << 222);
4511 try testArgs(u1024, i223, -1);
4512 try testArgs(u1024, i223, 0);
4513 try testArgs(i8, u223, 0);
4514 try testArgs(i8, u223, 1 << 0);
4515 try testArgs(i8, u223, 1 << 222);
4516 try testArgs(u8, u223, 0);
4517 try testArgs(u8, u223, 1 << 0);
4518 try testArgs(u8, u223, 1 << 222);
4519 try testArgs(i16, u223, 0);
4520 try testArgs(i16, u223, 1 << 0);
4521 try testArgs(i16, u223, 1 << 222);
4522 try testArgs(u16, u223, 0);
4523 try testArgs(u16, u223, 1 << 0);
4524 try testArgs(u16, u223, 1 << 222);
4525 try testArgs(i32, u223, 0);
4526 try testArgs(i32, u223, 1 << 0);
4527 try testArgs(i32, u223, 1 << 222);
4528 try testArgs(u32, u223, 0);
4529 try testArgs(u32, u223, 1 << 0);
4530 try testArgs(u32, u223, 1 << 222);
4531 try testArgs(i64, u223, 0);
4532 try testArgs(i64, u223, 1 << 0);
4533 try testArgs(i64, u223, 1 << 222);
4534 try testArgs(u64, u223, 0);
4535 try testArgs(u64, u223, 1 << 0);
4536 try testArgs(u64, u223, 1 << 222);
4537 try testArgs(i128, u223, 0);
4538 try testArgs(i128, u223, 1 << 0);
4539 try testArgs(i128, u223, 1 << 222);
4540 try testArgs(u128, u223, 0);
4541 try testArgs(u128, u223, 1 << 0);
4542 try testArgs(u128, u223, 1 << 222);
4543 try testArgs(i256, u223, 0);
4544 try testArgs(i256, u223, 1 << 0);
4545 try testArgs(i256, u223, 1 << 222);
4546 try testArgs(u256, u223, 0);
4547 try testArgs(u256, u223, 1 << 0);
4548 try testArgs(u256, u223, 1 << 222);
4549 try testArgs(i512, u223, 0);
4550 try testArgs(i512, u223, 1 << 0);
4551 try testArgs(i512, u223, 1 << 222);
4552 try testArgs(u512, u223, 0);
4553 try testArgs(u512, u223, 1 << 0);
4554 try testArgs(u512, u223, 1 << 222);
4555 try testArgs(i1024, u223, 0);
4556 try testArgs(i1024, u223, 1 << 0);
4557 try testArgs(i1024, u223, 1 << 222);
4558 try testArgs(u1024, u223, 0);
4559 try testArgs(u1024, u223, 1 << 0);
4560 try testArgs(u1024, u223, 1 << 222);
4561
4562 try testArgs(i8, i224, -1 << 223);
4563 try testArgs(i8, i224, -1);
4564 try testArgs(i8, i224, 0);
4565 try testArgs(u8, i224, -1 << 223);
4566 try testArgs(u8, i224, -1);
4567 try testArgs(u8, i224, 0);
4568 try testArgs(i16, i224, -1 << 223);
4569 try testArgs(i16, i224, -1);
4570 try testArgs(i16, i224, 0);
4571 try testArgs(u16, i224, -1 << 223);
4572 try testArgs(u16, i224, -1);
4573 try testArgs(u16, i224, 0);
4574 try testArgs(i32, i224, -1 << 223);
4575 try testArgs(i32, i224, -1);
4576 try testArgs(i32, i224, 0);
4577 try testArgs(u32, i224, -1 << 223);
4578 try testArgs(u32, i224, -1);
4579 try testArgs(u32, i224, 0);
4580 try testArgs(i64, i224, -1 << 223);
4581 try testArgs(i64, i224, -1);
4582 try testArgs(i64, i224, 0);
4583 try testArgs(u64, i224, -1 << 223);
4584 try testArgs(u64, i224, -1);
4585 try testArgs(u64, i224, 0);
4586 try testArgs(i128, i224, -1 << 223);
4587 try testArgs(i128, i224, -1);
4588 try testArgs(i128, i224, 0);
4589 try testArgs(u128, i224, -1 << 223);
4590 try testArgs(u128, i224, -1);
4591 try testArgs(u128, i224, 0);
4592 try testArgs(i256, i224, -1 << 223);
4593 try testArgs(i256, i224, -1);
4594 try testArgs(i256, i224, 0);
4595 try testArgs(u256, i224, -1 << 223);
4596 try testArgs(u256, i224, -1);
4597 try testArgs(u256, i224, 0);
4598 try testArgs(i512, i224, -1 << 223);
4599 try testArgs(i512, i224, -1);
4600 try testArgs(i512, i224, 0);
4601 try testArgs(u512, i224, -1 << 223);
4602 try testArgs(u512, i224, -1);
4603 try testArgs(u512, i224, 0);
4604 try testArgs(i1024, i224, -1 << 223);
4605 try testArgs(i1024, i224, -1);
4606 try testArgs(i1024, i224, 0);
4607 try testArgs(u1024, i224, -1 << 223);
4608 try testArgs(u1024, i224, -1);
4609 try testArgs(u1024, i224, 0);
4610 try testArgs(i8, u224, 0);
4611 try testArgs(i8, u224, 1 << 0);
4612 try testArgs(i8, u224, 1 << 223);
4613 try testArgs(u8, u224, 0);
4614 try testArgs(u8, u224, 1 << 0);
4615 try testArgs(u8, u224, 1 << 223);
4616 try testArgs(i16, u224, 0);
4617 try testArgs(i16, u224, 1 << 0);
4618 try testArgs(i16, u224, 1 << 223);
4619 try testArgs(u16, u224, 0);
4620 try testArgs(u16, u224, 1 << 0);
4621 try testArgs(u16, u224, 1 << 223);
4622 try testArgs(i32, u224, 0);
4623 try testArgs(i32, u224, 1 << 0);
4624 try testArgs(i32, u224, 1 << 223);
4625 try testArgs(u32, u224, 0);
4626 try testArgs(u32, u224, 1 << 0);
4627 try testArgs(u32, u224, 1 << 223);
4628 try testArgs(i64, u224, 0);
4629 try testArgs(i64, u224, 1 << 0);
4630 try testArgs(i64, u224, 1 << 223);
4631 try testArgs(u64, u224, 0);
4632 try testArgs(u64, u224, 1 << 0);
4633 try testArgs(u64, u224, 1 << 223);
4634 try testArgs(i128, u224, 0);
4635 try testArgs(i128, u224, 1 << 0);
4636 try testArgs(i128, u224, 1 << 223);
4637 try testArgs(u128, u224, 0);
4638 try testArgs(u128, u224, 1 << 0);
4639 try testArgs(u128, u224, 1 << 223);
4640 try testArgs(i256, u224, 0);
4641 try testArgs(i256, u224, 1 << 0);
4642 try testArgs(i256, u224, 1 << 223);
4643 try testArgs(u256, u224, 0);
4644 try testArgs(u256, u224, 1 << 0);
4645 try testArgs(u256, u224, 1 << 223);
4646 try testArgs(i512, u224, 0);
4647 try testArgs(i512, u224, 1 << 0);
4648 try testArgs(i512, u224, 1 << 223);
4649 try testArgs(u512, u224, 0);
4650 try testArgs(u512, u224, 1 << 0);
4651 try testArgs(u512, u224, 1 << 223);
4652 try testArgs(i1024, u224, 0);
4653 try testArgs(i1024, u224, 1 << 0);
4654 try testArgs(i1024, u224, 1 << 223);
4655 try testArgs(u1024, u224, 0);
4656 try testArgs(u1024, u224, 1 << 0);
4657 try testArgs(u1024, u224, 1 << 223);
4658
4659 try testArgs(i8, i225, -1 << 224);
4660 try testArgs(i8, i225, -1);
4661 try testArgs(i8, i225, 0);
4662 try testArgs(u8, i225, -1 << 224);
4663 try testArgs(u8, i225, -1);
4664 try testArgs(u8, i225, 0);
4665 try testArgs(i16, i225, -1 << 224);
4666 try testArgs(i16, i225, -1);
4667 try testArgs(i16, i225, 0);
4668 try testArgs(u16, i225, -1 << 224);
4669 try testArgs(u16, i225, -1);
4670 try testArgs(u16, i225, 0);
4671 try testArgs(i32, i225, -1 << 224);
4672 try testArgs(i32, i225, -1);
4673 try testArgs(i32, i225, 0);
4674 try testArgs(u32, i225, -1 << 224);
4675 try testArgs(u32, i225, -1);
4676 try testArgs(u32, i225, 0);
4677 try testArgs(i64, i225, -1 << 224);
4678 try testArgs(i64, i225, -1);
4679 try testArgs(i64, i225, 0);
4680 try testArgs(u64, i225, -1 << 224);
4681 try testArgs(u64, i225, -1);
4682 try testArgs(u64, i225, 0);
4683 try testArgs(i128, i225, -1 << 224);
4684 try testArgs(i128, i225, -1);
4685 try testArgs(i128, i225, 0);
4686 try testArgs(u128, i225, -1 << 224);
4687 try testArgs(u128, i225, -1);
4688 try testArgs(u128, i225, 0);
4689 try testArgs(i256, i225, -1 << 224);
4690 try testArgs(i256, i225, -1);
4691 try testArgs(i256, i225, 0);
4692 try testArgs(u256, i225, -1 << 224);
4693 try testArgs(u256, i225, -1);
4694 try testArgs(u256, i225, 0);
4695 try testArgs(i512, i225, -1 << 224);
4696 try testArgs(i512, i225, -1);
4697 try testArgs(i512, i225, 0);
4698 try testArgs(u512, i225, -1 << 224);
4699 try testArgs(u512, i225, -1);
4700 try testArgs(u512, i225, 0);
4701 try testArgs(i1024, i225, -1 << 224);
4702 try testArgs(i1024, i225, -1);
4703 try testArgs(i1024, i225, 0);
4704 try testArgs(u1024, i225, -1 << 224);
4705 try testArgs(u1024, i225, -1);
4706 try testArgs(u1024, i225, 0);
4707 try testArgs(i8, u225, 0);
4708 try testArgs(i8, u225, 1 << 0);
4709 try testArgs(i8, u225, 1 << 224);
4710 try testArgs(u8, u225, 0);
4711 try testArgs(u8, u225, 1 << 0);
4712 try testArgs(u8, u225, 1 << 224);
4713 try testArgs(i16, u225, 0);
4714 try testArgs(i16, u225, 1 << 0);
4715 try testArgs(i16, u225, 1 << 224);
4716 try testArgs(u16, u225, 0);
4717 try testArgs(u16, u225, 1 << 0);
4718 try testArgs(u16, u225, 1 << 224);
4719 try testArgs(i32, u225, 0);
4720 try testArgs(i32, u225, 1 << 0);
4721 try testArgs(i32, u225, 1 << 224);
4722 try testArgs(u32, u225, 0);
4723 try testArgs(u32, u225, 1 << 0);
4724 try testArgs(u32, u225, 1 << 224);
4725 try testArgs(i64, u225, 0);
4726 try testArgs(i64, u225, 1 << 0);
4727 try testArgs(i64, u225, 1 << 224);
4728 try testArgs(u64, u225, 0);
4729 try testArgs(u64, u225, 1 << 0);
4730 try testArgs(u64, u225, 1 << 224);
4731 try testArgs(i128, u225, 0);
4732 try testArgs(i128, u225, 1 << 0);
4733 try testArgs(i128, u225, 1 << 224);
4734 try testArgs(u128, u225, 0);
4735 try testArgs(u128, u225, 1 << 0);
4736 try testArgs(u128, u225, 1 << 224);
4737 try testArgs(i256, u225, 0);
4738 try testArgs(i256, u225, 1 << 0);
4739 try testArgs(i256, u225, 1 << 224);
4740 try testArgs(u256, u225, 0);
4741 try testArgs(u256, u225, 1 << 0);
4742 try testArgs(u256, u225, 1 << 224);
4743 try testArgs(i512, u225, 0);
4744 try testArgs(i512, u225, 1 << 0);
4745 try testArgs(i512, u225, 1 << 224);
4746 try testArgs(u512, u225, 0);
4747 try testArgs(u512, u225, 1 << 0);
4748 try testArgs(u512, u225, 1 << 224);
4749 try testArgs(i1024, u225, 0);
4750 try testArgs(i1024, u225, 1 << 0);
4751 try testArgs(i1024, u225, 1 << 224);
4752 try testArgs(u1024, u225, 0);
4753 try testArgs(u1024, u225, 1 << 0);
4754 try testArgs(u1024, u225, 1 << 224);
4755
4756 try testArgs(i8, i255, -1 << 254);
4757 try testArgs(i8, i255, -1);
4758 try testArgs(i8, i255, 0);
4759 try testArgs(u8, i255, -1 << 254);
4760 try testArgs(u8, i255, -1);
4761 try testArgs(u8, i255, 0);
4762 try testArgs(i16, i255, -1 << 254);
4763 try testArgs(i16, i255, -1);
4764 try testArgs(i16, i255, 0);
4765 try testArgs(u16, i255, -1 << 254);
4766 try testArgs(u16, i255, -1);
4767 try testArgs(u16, i255, 0);
4768 try testArgs(i32, i255, -1 << 254);
4769 try testArgs(i32, i255, -1);
4770 try testArgs(i32, i255, 0);
4771 try testArgs(u32, i255, -1 << 254);
4772 try testArgs(u32, i255, -1);
4773 try testArgs(u32, i255, 0);
4774 try testArgs(i64, i255, -1 << 254);
4775 try testArgs(i64, i255, -1);
4776 try testArgs(i64, i255, 0);
4777 try testArgs(u64, i255, -1 << 254);
4778 try testArgs(u64, i255, -1);
4779 try testArgs(u64, i255, 0);
4780 try testArgs(i128, i255, -1 << 254);
4781 try testArgs(i128, i255, -1);
4782 try testArgs(i128, i255, 0);
4783 try testArgs(u128, i255, -1 << 254);
4784 try testArgs(u128, i255, -1);
4785 try testArgs(u128, i255, 0);
4786 try testArgs(i256, i255, -1 << 254);
4787 try testArgs(i256, i255, -1);
4788 try testArgs(i256, i255, 0);
4789 try testArgs(u256, i255, -1 << 254);
4790 try testArgs(u256, i255, -1);
4791 try testArgs(u256, i255, 0);
4792 try testArgs(i512, i255, -1 << 254);
4793 try testArgs(i512, i255, -1);
4794 try testArgs(i512, i255, 0);
4795 try testArgs(u512, i255, -1 << 254);
4796 try testArgs(u512, i255, -1);
4797 try testArgs(u512, i255, 0);
4798 try testArgs(i1024, i255, -1 << 254);
4799 try testArgs(i1024, i255, -1);
4800 try testArgs(i1024, i255, 0);
4801 try testArgs(u1024, i255, -1 << 254);
4802 try testArgs(u1024, i255, -1);
4803 try testArgs(u1024, i255, 0);
4804 try testArgs(i8, u255, 0);
4805 try testArgs(i8, u255, 1 << 0);
4806 try testArgs(i8, u255, 1 << 254);
4807 try testArgs(u8, u255, 0);
4808 try testArgs(u8, u255, 1 << 0);
4809 try testArgs(u8, u255, 1 << 254);
4810 try testArgs(i16, u255, 0);
4811 try testArgs(i16, u255, 1 << 0);
4812 try testArgs(i16, u255, 1 << 254);
4813 try testArgs(u16, u255, 0);
4814 try testArgs(u16, u255, 1 << 0);
4815 try testArgs(u16, u255, 1 << 254);
4816 try testArgs(i32, u255, 0);
4817 try testArgs(i32, u255, 1 << 0);
4818 try testArgs(i32, u255, 1 << 254);
4819 try testArgs(u32, u255, 0);
4820 try testArgs(u32, u255, 1 << 0);
4821 try testArgs(u32, u255, 1 << 254);
4822 try testArgs(i64, u255, 0);
4823 try testArgs(i64, u255, 1 << 0);
4824 try testArgs(i64, u255, 1 << 254);
4825 try testArgs(u64, u255, 0);
4826 try testArgs(u64, u255, 1 << 0);
4827 try testArgs(u64, u255, 1 << 254);
4828 try testArgs(i128, u255, 0);
4829 try testArgs(i128, u255, 1 << 0);
4830 try testArgs(i128, u255, 1 << 254);
4831 try testArgs(u128, u255, 0);
4832 try testArgs(u128, u255, 1 << 0);
4833 try testArgs(u128, u255, 1 << 254);
4834 try testArgs(i256, u255, 0);
4835 try testArgs(i256, u255, 1 << 0);
4836 try testArgs(i256, u255, 1 << 254);
4837 try testArgs(u256, u255, 0);
4838 try testArgs(u256, u255, 1 << 0);
4839 try testArgs(u256, u255, 1 << 254);
4840 try testArgs(i512, u255, 0);
4841 try testArgs(i512, u255, 1 << 0);
4842 try testArgs(i512, u255, 1 << 254);
4843 try testArgs(u512, u255, 0);
4844 try testArgs(u512, u255, 1 << 0);
4845 try testArgs(u512, u255, 1 << 254);
4846 try testArgs(i1024, u255, 0);
4847 try testArgs(i1024, u255, 1 << 0);
4848 try testArgs(i1024, u255, 1 << 254);
4849 try testArgs(u1024, u255, 0);
4850 try testArgs(u1024, u255, 1 << 0);
4851 try testArgs(u1024, u255, 1 << 254);
4852
4853 try testArgs(i8, i256, -1 << 255);
4854 try testArgs(i8, i256, -1);
4855 try testArgs(i8, i256, 0);
4856 try testArgs(u8, i256, -1 << 255);
4857 try testArgs(u8, i256, -1);
4858 try testArgs(u8, i256, 0);
4859 try testArgs(i16, i256, -1 << 255);
4860 try testArgs(i16, i256, -1);
4861 try testArgs(i16, i256, 0);
4862 try testArgs(u16, i256, -1 << 255);
4863 try testArgs(u16, i256, -1);
4864 try testArgs(u16, i256, 0);
4865 try testArgs(i32, i256, -1 << 255);
4866 try testArgs(i32, i256, -1);
4867 try testArgs(i32, i256, 0);
4868 try testArgs(u32, i256, -1 << 255);
4869 try testArgs(u32, i256, -1);
4870 try testArgs(u32, i256, 0);
4871 try testArgs(i64, i256, -1 << 255);
4872 try testArgs(i64, i256, -1);
4873 try testArgs(i64, i256, 0);
4874 try testArgs(u64, i256, -1 << 255);
4875 try testArgs(u64, i256, -1);
4876 try testArgs(u64, i256, 0);
4877 try testArgs(i128, i256, -1 << 255);
4878 try testArgs(i128, i256, -1);
4879 try testArgs(i128, i256, 0);
4880 try testArgs(u128, i256, -1 << 255);
4881 try testArgs(u128, i256, -1);
4882 try testArgs(u128, i256, 0);
4883 try testArgs(i256, i256, -1 << 255);
4884 try testArgs(i256, i256, -1);
4885 try testArgs(i256, i256, 0);
4886 try testArgs(u256, i256, -1 << 255);
4887 try testArgs(u256, i256, -1);
4888 try testArgs(u256, i256, 0);
4889 try testArgs(i512, i256, -1 << 255);
4890 try testArgs(i512, i256, -1);
4891 try testArgs(i512, i256, 0);
4892 try testArgs(u512, i256, -1 << 255);
4893 try testArgs(u512, i256, -1);
4894 try testArgs(u512, i256, 0);
4895 try testArgs(i1024, i256, -1 << 255);
4896 try testArgs(i1024, i256, -1);
4897 try testArgs(i1024, i256, 0);
4898 try testArgs(u1024, i256, -1 << 255);
4899 try testArgs(u1024, i256, -1);
4900 try testArgs(u1024, i256, 0);
4901 try testArgs(i8, u256, 0);
4902 try testArgs(i8, u256, 1 << 0);
4903 try testArgs(i8, u256, 1 << 255);
4904 try testArgs(u8, u256, 0);
4905 try testArgs(u8, u256, 1 << 0);
4906 try testArgs(u8, u256, 1 << 255);
4907 try testArgs(i16, u256, 0);
4908 try testArgs(i16, u256, 1 << 0);
4909 try testArgs(i16, u256, 1 << 255);
4910 try testArgs(u16, u256, 0);
4911 try testArgs(u16, u256, 1 << 0);
4912 try testArgs(u16, u256, 1 << 255);
4913 try testArgs(i32, u256, 0);
4914 try testArgs(i32, u256, 1 << 0);
4915 try testArgs(i32, u256, 1 << 255);
4916 try testArgs(u32, u256, 0);
4917 try testArgs(u32, u256, 1 << 0);
4918 try testArgs(u32, u256, 1 << 255);
4919 try testArgs(i64, u256, 0);
4920 try testArgs(i64, u256, 1 << 0);
4921 try testArgs(i64, u256, 1 << 255);
4922 try testArgs(u64, u256, 0);
4923 try testArgs(u64, u256, 1 << 0);
4924 try testArgs(u64, u256, 1 << 255);
4925 try testArgs(i128, u256, 0);
4926 try testArgs(i128, u256, 1 << 0);
4927 try testArgs(i128, u256, 1 << 255);
4928 try testArgs(u128, u256, 0);
4929 try testArgs(u128, u256, 1 << 0);
4930 try testArgs(u128, u256, 1 << 255);
4931 try testArgs(i256, u256, 0);
4932 try testArgs(i256, u256, 1 << 0);
4933 try testArgs(i256, u256, 1 << 255);
4934 try testArgs(u256, u256, 0);
4935 try testArgs(u256, u256, 1 << 0);
4936 try testArgs(u256, u256, 1 << 255);
4937 try testArgs(i512, u256, 0);
4938 try testArgs(i512, u256, 1 << 0);
4939 try testArgs(i512, u256, 1 << 255);
4940 try testArgs(u512, u256, 0);
4941 try testArgs(u512, u256, 1 << 0);
4942 try testArgs(u512, u256, 1 << 255);
4943 try testArgs(i1024, u256, 0);
4944 try testArgs(i1024, u256, 1 << 0);
4945 try testArgs(i1024, u256, 1 << 255);
4946 try testArgs(u1024, u256, 0);
4947 try testArgs(u1024, u256, 1 << 0);
4948 try testArgs(u1024, u256, 1 << 255);
4949
4950 try testArgs(i8, i257, -1 << 256);
4951 try testArgs(i8, i257, -1);
4952 try testArgs(i8, i257, 0);
4953 try testArgs(u8, i257, -1 << 256);
4954 try testArgs(u8, i257, -1);
4955 try testArgs(u8, i257, 0);
4956 try testArgs(i16, i257, -1 << 256);
4957 try testArgs(i16, i257, -1);
4958 try testArgs(i16, i257, 0);
4959 try testArgs(u16, i257, -1 << 256);
4960 try testArgs(u16, i257, -1);
4961 try testArgs(u16, i257, 0);
4962 try testArgs(i32, i257, -1 << 256);
4963 try testArgs(i32, i257, -1);
4964 try testArgs(i32, i257, 0);
4965 try testArgs(u32, i257, -1 << 256);
4966 try testArgs(u32, i257, -1);
4967 try testArgs(u32, i257, 0);
4968 try testArgs(i64, i257, -1 << 256);
4969 try testArgs(i64, i257, -1);
4970 try testArgs(i64, i257, 0);
4971 try testArgs(u64, i257, -1 << 256);
4972 try testArgs(u64, i257, -1);
4973 try testArgs(u64, i257, 0);
4974 try testArgs(i128, i257, -1 << 256);
4975 try testArgs(i128, i257, -1);
4976 try testArgs(i128, i257, 0);
4977 try testArgs(u128, i257, -1 << 256);
4978 try testArgs(u128, i257, -1);
4979 try testArgs(u128, i257, 0);
4980 try testArgs(i256, i257, -1 << 256);
4981 try testArgs(i256, i257, -1);
4982 try testArgs(i256, i257, 0);
4983 try testArgs(u256, i257, -1 << 256);
4984 try testArgs(u256, i257, -1);
4985 try testArgs(u256, i257, 0);
4986 try testArgs(i512, i257, -1 << 256);
4987 try testArgs(i512, i257, -1);
4988 try testArgs(i512, i257, 0);
4989 try testArgs(u512, i257, -1 << 256);
4990 try testArgs(u512, i257, -1);
4991 try testArgs(u512, i257, 0);
4992 try testArgs(i1024, i257, -1 << 256);
4993 try testArgs(i1024, i257, -1);
4994 try testArgs(i1024, i257, 0);
4995 try testArgs(u1024, i257, -1 << 256);
4996 try testArgs(u1024, i257, -1);
4997 try testArgs(u1024, i257, 0);
4998 try testArgs(i8, u257, 0);
4999 try testArgs(i8, u257, 1 << 0);
5000 try testArgs(i8, u257, 1 << 256);
5001 try testArgs(u8, u257, 0);
5002 try testArgs(u8, u257, 1 << 0);
5003 try testArgs(u8, u257, 1 << 256);
5004 try testArgs(i16, u257, 0);
5005 try testArgs(i16, u257, 1 << 0);
5006 try testArgs(i16, u257, 1 << 256);
5007 try testArgs(u16, u257, 0);
5008 try testArgs(u16, u257, 1 << 0);
5009 try testArgs(u16, u257, 1 << 256);
5010 try testArgs(i32, u257, 0);
5011 try testArgs(i32, u257, 1 << 0);
5012 try testArgs(i32, u257, 1 << 256);
5013 try testArgs(u32, u257, 0);
5014 try testArgs(u32, u257, 1 << 0);
5015 try testArgs(u32, u257, 1 << 256);
5016 try testArgs(i64, u257, 0);
5017 try testArgs(i64, u257, 1 << 0);
5018 try testArgs(i64, u257, 1 << 256);
5019 try testArgs(u64, u257, 0);
5020 try testArgs(u64, u257, 1 << 0);
5021 try testArgs(u64, u257, 1 << 256);
5022 try testArgs(i128, u257, 0);
5023 try testArgs(i128, u257, 1 << 0);
5024 try testArgs(i128, u257, 1 << 256);
5025 try testArgs(u128, u257, 0);
5026 try testArgs(u128, u257, 1 << 0);
5027 try testArgs(u128, u257, 1 << 256);
5028 try testArgs(i256, u257, 0);
5029 try testArgs(i256, u257, 1 << 0);
5030 try testArgs(i256, u257, 1 << 256);
5031 try testArgs(u256, u257, 0);
5032 try testArgs(u256, u257, 1 << 0);
5033 try testArgs(u256, u257, 1 << 256);
5034 try testArgs(i512, u257, 0);
5035 try testArgs(i512, u257, 1 << 0);
5036 try testArgs(i512, u257, 1 << 256);
5037 try testArgs(u512, u257, 0);
5038 try testArgs(u512, u257, 1 << 0);
5039 try testArgs(u512, u257, 1 << 256);
5040 try testArgs(i1024, u257, 0);
5041 try testArgs(i1024, u257, 1 << 0);
5042 try testArgs(i1024, u257, 1 << 256);
5043 try testArgs(u1024, u257, 0);
5044 try testArgs(u1024, u257, 1 << 0);
5045 try testArgs(u1024, u257, 1 << 256);
5046
5047 try testArgs(i8, i511, -1 << 510);
5048 try testArgs(i8, i511, -1);
5049 try testArgs(i8, i511, 0);
5050 try testArgs(u8, i511, -1 << 510);
5051 try testArgs(u8, i511, -1);
5052 try testArgs(u8, i511, 0);
5053 try testArgs(i16, i511, -1 << 510);
5054 try testArgs(i16, i511, -1);
5055 try testArgs(i16, i511, 0);
5056 try testArgs(u16, i511, -1 << 510);
5057 try testArgs(u16, i511, -1);
5058 try testArgs(u16, i511, 0);
5059 try testArgs(i32, i511, -1 << 510);
5060 try testArgs(i32, i511, -1);
5061 try testArgs(i32, i511, 0);
5062 try testArgs(u32, i511, -1 << 510);
5063 try testArgs(u32, i511, -1);
5064 try testArgs(u32, i511, 0);
5065 try testArgs(i64, i511, -1 << 510);
5066 try testArgs(i64, i511, -1);
5067 try testArgs(i64, i511, 0);
5068 try testArgs(u64, i511, -1 << 510);
5069 try testArgs(u64, i511, -1);
5070 try testArgs(u64, i511, 0);
5071 try testArgs(i128, i511, -1 << 510);
5072 try testArgs(i128, i511, -1);
5073 try testArgs(i128, i511, 0);
5074 try testArgs(u128, i511, -1 << 510);
5075 try testArgs(u128, i511, -1);
5076 try testArgs(u128, i511, 0);
5077 try testArgs(i256, i511, -1 << 510);
5078 try testArgs(i256, i511, -1);
5079 try testArgs(i256, i511, 0);
5080 try testArgs(u256, i511, -1 << 510);
5081 try testArgs(u256, i511, -1);
5082 try testArgs(u256, i511, 0);
5083 try testArgs(i512, i511, -1 << 510);
5084 try testArgs(i512, i511, -1);
5085 try testArgs(i512, i511, 0);
5086 try testArgs(u512, i511, -1 << 510);
5087 try testArgs(u512, i511, -1);
5088 try testArgs(u512, i511, 0);
5089 try testArgs(i1024, i511, -1 << 510);
5090 try testArgs(i1024, i511, -1);
5091 try testArgs(i1024, i511, 0);
5092 try testArgs(u1024, i511, -1 << 510);
5093 try testArgs(u1024, i511, -1);
5094 try testArgs(u1024, i511, 0);
5095 try testArgs(i8, u511, 0);
5096 try testArgs(i8, u511, 1 << 0);
5097 try testArgs(i8, u511, 1 << 510);
5098 try testArgs(u8, u511, 0);
5099 try testArgs(u8, u511, 1 << 0);
5100 try testArgs(u8, u511, 1 << 510);
5101 try testArgs(i16, u511, 0);
5102 try testArgs(i16, u511, 1 << 0);
5103 try testArgs(i16, u511, 1 << 510);
5104 try testArgs(u16, u511, 0);
5105 try testArgs(u16, u511, 1 << 0);
5106 try testArgs(u16, u511, 1 << 510);
5107 try testArgs(i32, u511, 0);
5108 try testArgs(i32, u511, 1 << 0);
5109 try testArgs(i32, u511, 1 << 510);
5110 try testArgs(u32, u511, 0);
5111 try testArgs(u32, u511, 1 << 0);
5112 try testArgs(u32, u511, 1 << 510);
5113 try testArgs(i64, u511, 0);
5114 try testArgs(i64, u511, 1 << 0);
5115 try testArgs(i64, u511, 1 << 510);
5116 try testArgs(u64, u511, 0);
5117 try testArgs(u64, u511, 1 << 0);
5118 try testArgs(u64, u511, 1 << 510);
5119 try testArgs(i128, u511, 0);
5120 try testArgs(i128, u511, 1 << 0);
5121 try testArgs(i128, u511, 1 << 510);
5122 try testArgs(u128, u511, 0);
5123 try testArgs(u128, u511, 1 << 0);
5124 try testArgs(u128, u511, 1 << 510);
5125 try testArgs(i256, u511, 0);
5126 try testArgs(i256, u511, 1 << 0);
5127 try testArgs(i256, u511, 1 << 510);
5128 try testArgs(u256, u511, 0);
5129 try testArgs(u256, u511, 1 << 0);
5130 try testArgs(u256, u511, 1 << 510);
5131 try testArgs(i512, u511, 0);
5132 try testArgs(i512, u511, 1 << 0);
5133 try testArgs(i512, u511, 1 << 510);
5134 try testArgs(u512, u511, 0);
5135 try testArgs(u512, u511, 1 << 0);
5136 try testArgs(u512, u511, 1 << 510);
5137 try testArgs(i1024, u511, 0);
5138 try testArgs(i1024, u511, 1 << 0);
5139 try testArgs(i1024, u511, 1 << 510);
5140 try testArgs(u1024, u511, 0);
5141 try testArgs(u1024, u511, 1 << 0);
5142 try testArgs(u1024, u511, 1 << 510);
5143
5144 try testArgs(i8, i512, -1 << 511);
5145 try testArgs(i8, i512, -1);
5146 try testArgs(i8, i512, 0);
5147 try testArgs(u8, i512, -1 << 511);
5148 try testArgs(u8, i512, -1);
5149 try testArgs(u8, i512, 0);
5150 try testArgs(i16, i512, -1 << 511);
5151 try testArgs(i16, i512, -1);
5152 try testArgs(i16, i512, 0);
5153 try testArgs(u16, i512, -1 << 511);
5154 try testArgs(u16, i512, -1);
5155 try testArgs(u16, i512, 0);
5156 try testArgs(i32, i512, -1 << 511);
5157 try testArgs(i32, i512, -1);
5158 try testArgs(i32, i512, 0);
5159 try testArgs(u32, i512, -1 << 511);
5160 try testArgs(u32, i512, -1);
5161 try testArgs(u32, i512, 0);
5162 try testArgs(i64, i512, -1 << 511);
5163 try testArgs(i64, i512, -1);
5164 try testArgs(i64, i512, 0);
5165 try testArgs(u64, i512, -1 << 511);
5166 try testArgs(u64, i512, -1);
5167 try testArgs(u64, i512, 0);
5168 try testArgs(i128, i512, -1 << 511);
5169 try testArgs(i128, i512, -1);
5170 try testArgs(i128, i512, 0);
5171 try testArgs(u128, i512, -1 << 511);
5172 try testArgs(u128, i512, -1);
5173 try testArgs(u128, i512, 0);
5174 try testArgs(i256, i512, -1 << 511);
5175 try testArgs(i256, i512, -1);
5176 try testArgs(i256, i512, 0);
5177 try testArgs(u256, i512, -1 << 511);
5178 try testArgs(u256, i512, -1);
5179 try testArgs(u256, i512, 0);
5180 try testArgs(i512, i512, -1 << 511);
5181 try testArgs(i512, i512, -1);
5182 try testArgs(i512, i512, 0);
5183 try testArgs(u512, i512, -1 << 511);
5184 try testArgs(u512, i512, -1);
5185 try testArgs(u512, i512, 0);
5186 try testArgs(i1024, i512, -1 << 511);
5187 try testArgs(i1024, i512, -1);
5188 try testArgs(i1024, i512, 0);
5189 try testArgs(u1024, i512, -1 << 511);
5190 try testArgs(u1024, i512, -1);
5191 try testArgs(u1024, i512, 0);
5192 try testArgs(i8, u512, 0);
5193 try testArgs(i8, u512, 1 << 0);
5194 try testArgs(i8, u512, 1 << 511);
5195 try testArgs(u8, u512, 0);
5196 try testArgs(u8, u512, 1 << 0);
5197 try testArgs(u8, u512, 1 << 511);
5198 try testArgs(i16, u512, 0);
5199 try testArgs(i16, u512, 1 << 0);
5200 try testArgs(i16, u512, 1 << 511);
5201 try testArgs(u16, u512, 0);
5202 try testArgs(u16, u512, 1 << 0);
5203 try testArgs(u16, u512, 1 << 511);
5204 try testArgs(i32, u512, 0);
5205 try testArgs(i32, u512, 1 << 0);
5206 try testArgs(i32, u512, 1 << 511);
5207 try testArgs(u32, u512, 0);
5208 try testArgs(u32, u512, 1 << 0);
5209 try testArgs(u32, u512, 1 << 511);
5210 try testArgs(i64, u512, 0);
5211 try testArgs(i64, u512, 1 << 0);
5212 try testArgs(i64, u512, 1 << 511);
5213 try testArgs(u64, u512, 0);
5214 try testArgs(u64, u512, 1 << 0);
5215 try testArgs(u64, u512, 1 << 511);
5216 try testArgs(i128, u512, 0);
5217 try testArgs(i128, u512, 1 << 0);
5218 try testArgs(i128, u512, 1 << 511);
5219 try testArgs(u128, u512, 0);
5220 try testArgs(u128, u512, 1 << 0);
5221 try testArgs(u128, u512, 1 << 511);
5222 try testArgs(i256, u512, 0);
5223 try testArgs(i256, u512, 1 << 0);
5224 try testArgs(i256, u512, 1 << 511);
5225 try testArgs(u256, u512, 0);
5226 try testArgs(u256, u512, 1 << 0);
5227 try testArgs(u256, u512, 1 << 511);
5228 try testArgs(i512, u512, 0);
5229 try testArgs(i512, u512, 1 << 0);
5230 try testArgs(i512, u512, 1 << 511);
5231 try testArgs(u512, u512, 0);
5232 try testArgs(u512, u512, 1 << 0);
5233 try testArgs(u512, u512, 1 << 511);
5234 try testArgs(i1024, u512, 0);
5235 try testArgs(i1024, u512, 1 << 0);
5236 try testArgs(i1024, u512, 1 << 511);
5237 try testArgs(u1024, u512, 0);
5238 try testArgs(u1024, u512, 1 << 0);
5239 try testArgs(u1024, u512, 1 << 511);
5240
5241 try testArgs(i8, i513, -1 << 512);
5242 try testArgs(i8, i513, -1);
5243 try testArgs(i8, i513, 0);
5244 try testArgs(u8, i513, -1 << 512);
5245 try testArgs(u8, i513, -1);
5246 try testArgs(u8, i513, 0);
5247 try testArgs(i16, i513, -1 << 512);
5248 try testArgs(i16, i513, -1);
5249 try testArgs(i16, i513, 0);
5250 try testArgs(u16, i513, -1 << 512);
5251 try testArgs(u16, i513, -1);
5252 try testArgs(u16, i513, 0);
5253 try testArgs(i32, i513, -1 << 512);
5254 try testArgs(i32, i513, -1);
5255 try testArgs(i32, i513, 0);
5256 try testArgs(u32, i513, -1 << 512);
5257 try testArgs(u32, i513, -1);
5258 try testArgs(u32, i513, 0);
5259 try testArgs(i64, i513, -1 << 512);
5260 try testArgs(i64, i513, -1);
5261 try testArgs(i64, i513, 0);
5262 try testArgs(u64, i513, -1 << 512);
5263 try testArgs(u64, i513, -1);
5264 try testArgs(u64, i513, 0);
5265 try testArgs(i128, i513, -1 << 512);
5266 try testArgs(i128, i513, -1);
5267 try testArgs(i128, i513, 0);
5268 try testArgs(u128, i513, -1 << 512);
5269 try testArgs(u128, i513, -1);
5270 try testArgs(u128, i513, 0);
5271 try testArgs(i256, i513, -1 << 512);
5272 try testArgs(i256, i513, -1);
5273 try testArgs(i256, i513, 0);
5274 try testArgs(u256, i513, -1 << 512);
5275 try testArgs(u256, i513, -1);
5276 try testArgs(u256, i513, 0);
5277 try testArgs(i512, i513, -1 << 512);
5278 try testArgs(i512, i513, -1);
5279 try testArgs(i512, i513, 0);
5280 try testArgs(u512, i513, -1 << 512);
5281 try testArgs(u512, i513, -1);
5282 try testArgs(u512, i513, 0);
5283 try testArgs(i1024, i513, -1 << 512);
5284 try testArgs(i1024, i513, -1);
5285 try testArgs(i1024, i513, 0);
5286 try testArgs(u1024, i513, -1 << 512);
5287 try testArgs(u1024, i513, -1);
5288 try testArgs(u1024, i513, 0);
5289 try testArgs(i8, u513, 0);
5290 try testArgs(i8, u513, 1 << 0);
5291 try testArgs(i8, u513, 1 << 512);
5292 try testArgs(u8, u513, 0);
5293 try testArgs(u8, u513, 1 << 0);
5294 try testArgs(u8, u513, 1 << 512);
5295 try testArgs(i16, u513, 0);
5296 try testArgs(i16, u513, 1 << 0);
5297 try testArgs(i16, u513, 1 << 512);
5298 try testArgs(u16, u513, 0);
5299 try testArgs(u16, u513, 1 << 0);
5300 try testArgs(u16, u513, 1 << 512);
5301 try testArgs(i32, u513, 0);
5302 try testArgs(i32, u513, 1 << 0);
5303 try testArgs(i32, u513, 1 << 512);
5304 try testArgs(u32, u513, 0);
5305 try testArgs(u32, u513, 1 << 0);
5306 try testArgs(u32, u513, 1 << 512);
5307 try testArgs(i64, u513, 0);
5308 try testArgs(i64, u513, 1 << 0);
5309 try testArgs(i64, u513, 1 << 512);
5310 try testArgs(u64, u513, 0);
5311 try testArgs(u64, u513, 1 << 0);
5312 try testArgs(u64, u513, 1 << 512);
5313 try testArgs(i128, u513, 0);
5314 try testArgs(i128, u513, 1 << 0);
5315 try testArgs(i128, u513, 1 << 512);
5316 try testArgs(u128, u513, 0);
5317 try testArgs(u128, u513, 1 << 0);
5318 try testArgs(u128, u513, 1 << 512);
5319 try testArgs(i256, u513, 0);
5320 try testArgs(i256, u513, 1 << 0);
5321 try testArgs(i256, u513, 1 << 512);
5322 try testArgs(u256, u513, 0);
5323 try testArgs(u256, u513, 1 << 0);
5324 try testArgs(u256, u513, 1 << 512);
5325 try testArgs(i512, u513, 0);
5326 try testArgs(i512, u513, 1 << 0);
5327 try testArgs(i512, u513, 1 << 512);
5328 try testArgs(u512, u513, 0);
5329 try testArgs(u512, u513, 1 << 0);
5330 try testArgs(u512, u513, 1 << 512);
5331 try testArgs(i1024, u513, 0);
5332 try testArgs(i1024, u513, 1 << 0);
5333 try testArgs(i1024, u513, 1 << 512);
5334 try testArgs(u1024, u513, 0);
5335 try testArgs(u1024, u513, 1 << 0);
5336 try testArgs(u1024, u513, 1 << 512);
5337
5338 try testArgs(i8, i1023, -1 << 1022);
5339 try testArgs(i8, i1023, -1);
5340 try testArgs(i8, i1023, 0);
5341 try testArgs(u8, i1023, -1 << 1022);
5342 try testArgs(u8, i1023, -1);
5343 try testArgs(u8, i1023, 0);
5344 try testArgs(i16, i1023, -1 << 1022);
5345 try testArgs(i16, i1023, -1);
5346 try testArgs(i16, i1023, 0);
5347 try testArgs(u16, i1023, -1 << 1022);
5348 try testArgs(u16, i1023, -1);
5349 try testArgs(u16, i1023, 0);
5350 try testArgs(i32, i1023, -1 << 1022);
5351 try testArgs(i32, i1023, -1);
5352 try testArgs(i32, i1023, 0);
5353 try testArgs(u32, i1023, -1 << 1022);
5354 try testArgs(u32, i1023, -1);
5355 try testArgs(u32, i1023, 0);
5356 try testArgs(i64, i1023, -1 << 1022);
5357 try testArgs(i64, i1023, -1);
5358 try testArgs(i64, i1023, 0);
5359 try testArgs(u64, i1023, -1 << 1022);
5360 try testArgs(u64, i1023, -1);
5361 try testArgs(u64, i1023, 0);
5362 try testArgs(i128, i1023, -1 << 1022);
5363 try testArgs(i128, i1023, -1);
5364 try testArgs(i128, i1023, 0);
5365 try testArgs(u128, i1023, -1 << 1022);
5366 try testArgs(u128, i1023, -1);
5367 try testArgs(u128, i1023, 0);
5368 try testArgs(i256, i1023, -1 << 1022);
5369 try testArgs(i256, i1023, -1);
5370 try testArgs(i256, i1023, 0);
5371 try testArgs(u256, i1023, -1 << 1022);
5372 try testArgs(u256, i1023, -1);
5373 try testArgs(u256, i1023, 0);
5374 try testArgs(i512, i1023, -1 << 1022);
5375 try testArgs(i512, i1023, -1);
5376 try testArgs(i512, i1023, 0);
5377 try testArgs(u512, i1023, -1 << 1022);
5378 try testArgs(u512, i1023, -1);
5379 try testArgs(u512, i1023, 0);
5380 try testArgs(i1024, i1023, -1 << 1022);
5381 try testArgs(i1024, i1023, -1);
5382 try testArgs(i1024, i1023, 0);
5383 try testArgs(u1024, i1023, -1 << 1022);
5384 try testArgs(u1024, i1023, -1);
5385 try testArgs(u1024, i1023, 0);
5386 try testArgs(i8, u1023, 0);
5387 try testArgs(i8, u1023, 1 << 0);
5388 try testArgs(i8, u1023, 1 << 1022);
5389 try testArgs(u8, u1023, 0);
5390 try testArgs(u8, u1023, 1 << 0);
5391 try testArgs(u8, u1023, 1 << 1022);
5392 try testArgs(i16, u1023, 0);
5393 try testArgs(i16, u1023, 1 << 0);
5394 try testArgs(i16, u1023, 1 << 1022);
5395 try testArgs(u16, u1023, 0);
5396 try testArgs(u16, u1023, 1 << 0);
5397 try testArgs(u16, u1023, 1 << 1022);
5398 try testArgs(i32, u1023, 0);
5399 try testArgs(i32, u1023, 1 << 0);
5400 try testArgs(i32, u1023, 1 << 1022);
5401 try testArgs(u32, u1023, 0);
5402 try testArgs(u32, u1023, 1 << 0);
5403 try testArgs(u32, u1023, 1 << 1022);
5404 try testArgs(i64, u1023, 0);
5405 try testArgs(i64, u1023, 1 << 0);
5406 try testArgs(i64, u1023, 1 << 1022);
5407 try testArgs(u64, u1023, 0);
5408 try testArgs(u64, u1023, 1 << 0);
5409 try testArgs(u64, u1023, 1 << 1022);
5410 try testArgs(i128, u1023, 0);
5411 try testArgs(i128, u1023, 1 << 0);
5412 try testArgs(i128, u1023, 1 << 1022);
5413 try testArgs(u128, u1023, 0);
5414 try testArgs(u128, u1023, 1 << 0);
5415 try testArgs(u128, u1023, 1 << 1022);
5416 try testArgs(i256, u1023, 0);
5417 try testArgs(i256, u1023, 1 << 0);
5418 try testArgs(i256, u1023, 1 << 1022);
5419 try testArgs(u256, u1023, 0);
5420 try testArgs(u256, u1023, 1 << 0);
5421 try testArgs(u256, u1023, 1 << 1022);
5422 try testArgs(i512, u1023, 0);
5423 try testArgs(i512, u1023, 1 << 0);
5424 try testArgs(i512, u1023, 1 << 1022);
5425 try testArgs(u512, u1023, 0);
5426 try testArgs(u512, u1023, 1 << 0);
5427 try testArgs(u512, u1023, 1 << 1022);
5428 try testArgs(i1024, u1023, 0);
5429 try testArgs(i1024, u1023, 1 << 0);
5430 try testArgs(i1024, u1023, 1 << 1022);
5431 try testArgs(u1024, u1023, 0);
5432 try testArgs(u1024, u1023, 1 << 0);
5433 try testArgs(u1024, u1023, 1 << 1022);
5434
5435 try testArgs(i8, i1024, -1 << 1023);
5436 try testArgs(i8, i1024, -1);
5437 try testArgs(i8, i1024, 0);
5438 try testArgs(u8, i1024, -1 << 1023);
5439 try testArgs(u8, i1024, -1);
5440 try testArgs(u8, i1024, 0);
5441 try testArgs(i16, i1024, -1 << 1023);
5442 try testArgs(i16, i1024, -1);
5443 try testArgs(i16, i1024, 0);
5444 try testArgs(u16, i1024, -1 << 1023);
5445 try testArgs(u16, i1024, -1);
5446 try testArgs(u16, i1024, 0);
5447 try testArgs(i32, i1024, -1 << 1023);
5448 try testArgs(i32, i1024, -1);
5449 try testArgs(i32, i1024, 0);
5450 try testArgs(u32, i1024, -1 << 1023);
5451 try testArgs(u32, i1024, -1);
5452 try testArgs(u32, i1024, 0);
5453 try testArgs(i64, i1024, -1 << 1023);
5454 try testArgs(i64, i1024, -1);
5455 try testArgs(i64, i1024, 0);
5456 try testArgs(u64, i1024, -1 << 1023);
5457 try testArgs(u64, i1024, -1);
5458 try testArgs(u64, i1024, 0);
5459 try testArgs(i128, i1024, -1 << 1023);
5460 try testArgs(i128, i1024, -1);
5461 try testArgs(i128, i1024, 0);
5462 try testArgs(u128, i1024, -1 << 1023);
5463 try testArgs(u128, i1024, -1);
5464 try testArgs(u128, i1024, 0);
5465 try testArgs(i256, i1024, -1 << 1023);
5466 try testArgs(i256, i1024, -1);
5467 try testArgs(i256, i1024, 0);
5468 try testArgs(u256, i1024, -1 << 1023);
5469 try testArgs(u256, i1024, -1);
5470 try testArgs(u256, i1024, 0);
5471 try testArgs(i512, i1024, -1 << 1023);
5472 try testArgs(i512, i1024, -1);
5473 try testArgs(i512, i1024, 0);
5474 try testArgs(u512, i1024, -1 << 1023);
5475 try testArgs(u512, i1024, -1);
5476 try testArgs(u512, i1024, 0);
5477 try testArgs(i1024, i1024, -1 << 1023);
5478 try testArgs(i1024, i1024, -1);
5479 try testArgs(i1024, i1024, 0);
5480 try testArgs(u1024, i1024, -1 << 1023);
5481 try testArgs(u1024, i1024, -1);
5482 try testArgs(u1024, i1024, 0);
5483 try testArgs(i8, u1024, 0);
5484 try testArgs(i8, u1024, 1 << 0);
5485 try testArgs(i8, u1024, 1 << 1023);
5486 try testArgs(u8, u1024, 0);
5487 try testArgs(u8, u1024, 1 << 0);
5488 try testArgs(u8, u1024, 1 << 1023);
5489 try testArgs(i16, u1024, 0);
5490 try testArgs(i16, u1024, 1 << 0);
5491 try testArgs(i16, u1024, 1 << 1023);
5492 try testArgs(u16, u1024, 0);
5493 try testArgs(u16, u1024, 1 << 0);
5494 try testArgs(u16, u1024, 1 << 1023);
5495 try testArgs(i32, u1024, 0);
5496 try testArgs(i32, u1024, 1 << 0);
5497 try testArgs(i32, u1024, 1 << 1023);
5498 try testArgs(u32, u1024, 0);
5499 try testArgs(u32, u1024, 1 << 0);
5500 try testArgs(u32, u1024, 1 << 1023);
5501 try testArgs(i64, u1024, 0);
5502 try testArgs(i64, u1024, 1 << 0);
5503 try testArgs(i64, u1024, 1 << 1023);
5504 try testArgs(u64, u1024, 0);
5505 try testArgs(u64, u1024, 1 << 0);
5506 try testArgs(u64, u1024, 1 << 1023);
5507 try testArgs(i128, u1024, 0);
5508 try testArgs(i128, u1024, 1 << 0);
5509 try testArgs(i128, u1024, 1 << 1023);
5510 try testArgs(u128, u1024, 0);
5511 try testArgs(u128, u1024, 1 << 0);
5512 try testArgs(u128, u1024, 1 << 1023);
5513 try testArgs(i256, u1024, 0);
5514 try testArgs(i256, u1024, 1 << 0);
5515 try testArgs(i256, u1024, 1 << 1023);
5516 try testArgs(u256, u1024, 0);
5517 try testArgs(u256, u1024, 1 << 0);
5518 try testArgs(u256, u1024, 1 << 1023);
5519 try testArgs(i512, u1024, 0);
5520 try testArgs(i512, u1024, 1 << 0);
5521 try testArgs(i512, u1024, 1 << 1023);
5522 try testArgs(u512, u1024, 0);
5523 try testArgs(u512, u1024, 1 << 0);
5524 try testArgs(u512, u1024, 1 << 1023);
5525 try testArgs(i1024, u1024, 0);
5526 try testArgs(i1024, u1024, 1 << 0);
5527 try testArgs(i1024, u1024, 1 << 1023);
5528 try testArgs(u1024, u1024, 0);
5529 try testArgs(u1024, u1024, 1 << 0);
5530 try testArgs(u1024, u1024, 1 << 1023);
5531
5532 try testArgs(i8, i1025, -1 << 1024);
5533 try testArgs(i8, i1025, -1);
5534 try testArgs(i8, i1025, 0);
5535 try testArgs(u8, i1025, -1 << 1024);
5536 try testArgs(u8, i1025, -1);
5537 try testArgs(u8, i1025, 0);
5538 try testArgs(i16, i1025, -1 << 1024);
5539 try testArgs(i16, i1025, -1);
5540 try testArgs(i16, i1025, 0);
5541 try testArgs(u16, i1025, -1 << 1024);
5542 try testArgs(u16, i1025, -1);
5543 try testArgs(u16, i1025, 0);
5544 try testArgs(i32, i1025, -1 << 1024);
5545 try testArgs(i32, i1025, -1);
5546 try testArgs(i32, i1025, 0);
5547 try testArgs(u32, i1025, -1 << 1024);
5548 try testArgs(u32, i1025, -1);
5549 try testArgs(u32, i1025, 0);
5550 try testArgs(i64, i1025, -1 << 1024);
5551 try testArgs(i64, i1025, -1);
5552 try testArgs(i64, i1025, 0);
5553 try testArgs(u64, i1025, -1 << 1024);
5554 try testArgs(u64, i1025, -1);
5555 try testArgs(u64, i1025, 0);
5556 try testArgs(i128, i1025, -1 << 1024);
5557 try testArgs(i128, i1025, -1);
5558 try testArgs(i128, i1025, 0);
5559 try testArgs(u128, i1025, -1 << 1024);
5560 try testArgs(u128, i1025, -1);
5561 try testArgs(u128, i1025, 0);
5562 try testArgs(i256, i1025, -1 << 1024);
5563 try testArgs(i256, i1025, -1);
5564 try testArgs(i256, i1025, 0);
5565 try testArgs(u256, i1025, -1 << 1024);
5566 try testArgs(u256, i1025, -1);
5567 try testArgs(u256, i1025, 0);
5568 try testArgs(i512, i1025, -1 << 1024);
5569 try testArgs(i512, i1025, -1);
5570 try testArgs(i512, i1025, 0);
5571 try testArgs(u512, i1025, -1 << 1024);
5572 try testArgs(u512, i1025, -1);
5573 try testArgs(u512, i1025, 0);
5574 try testArgs(i1024, i1025, -1 << 1024);
5575 try testArgs(i1024, i1025, -1);
5576 try testArgs(i1024, i1025, 0);
5577 try testArgs(u1024, i1025, -1 << 1024);
5578 try testArgs(u1024, i1025, -1);
5579 try testArgs(u1024, i1025, 0);
5580 try testArgs(i8, u1025, 0);
5581 try testArgs(i8, u1025, 1 << 0);
5582 try testArgs(i8, u1025, 1 << 1024);
5583 try testArgs(u8, u1025, 0);
5584 try testArgs(u8, u1025, 1 << 0);
5585 try testArgs(u8, u1025, 1 << 1024);
5586 try testArgs(i16, u1025, 0);
5587 try testArgs(i16, u1025, 1 << 0);
5588 try testArgs(i16, u1025, 1 << 1024);
5589 try testArgs(u16, u1025, 0);
5590 try testArgs(u16, u1025, 1 << 0);
5591 try testArgs(u16, u1025, 1 << 1024);
5592 try testArgs(i32, u1025, 0);
5593 try testArgs(i32, u1025, 1 << 0);
5594 try testArgs(i32, u1025, 1 << 1024);
5595 try testArgs(u32, u1025, 0);
5596 try testArgs(u32, u1025, 1 << 0);
5597 try testArgs(u32, u1025, 1 << 1024);
5598 try testArgs(i64, u1025, 0);
5599 try testArgs(i64, u1025, 1 << 0);
5600 try testArgs(i64, u1025, 1 << 1024);
5601 try testArgs(u64, u1025, 0);
5602 try testArgs(u64, u1025, 1 << 0);
5603 try testArgs(u64, u1025, 1 << 1024);
5604 try testArgs(i128, u1025, 0);
5605 try testArgs(i128, u1025, 1 << 0);
5606 try testArgs(i128, u1025, 1 << 1024);
5607 try testArgs(u128, u1025, 0);
5608 try testArgs(u128, u1025, 1 << 0);
5609 try testArgs(u128, u1025, 1 << 1024);
5610 try testArgs(i256, u1025, 0);
5611 try testArgs(i256, u1025, 1 << 0);
5612 try testArgs(i256, u1025, 1 << 1024);
5613 try testArgs(u256, u1025, 0);
5614 try testArgs(u256, u1025, 1 << 0);
5615 try testArgs(u256, u1025, 1 << 1024);
5616 try testArgs(i512, u1025, 0);
5617 try testArgs(i512, u1025, 1 << 0);
5618 try testArgs(i512, u1025, 1 << 1024);
5619 try testArgs(u512, u1025, 0);
5620 try testArgs(u512, u1025, 1 << 0);
5621 try testArgs(u512, u1025, 1 << 1024);
5622 try testArgs(i1024, u1025, 0);
5623 try testArgs(i1024, u1025, 1 << 0);
5624 try testArgs(i1024, u1025, 1 << 1024);
5625 try testArgs(u1024, u1025, 0);
5626 try testArgs(u1024, u1025, 1 << 0);
5627 try testArgs(u1024, u1025, 1 << 1024);
5628 }
5629 fn testFloats() !void {
5630 @setEvalBranchQuota(3_100);
5631
5632 try testArgs(f16, f16, -nan(f16));
5633 try testArgs(f16, f16, -inf(f16));
5634 try testArgs(f16, f16, -fmax(f16));
5635 try testArgs(f16, f16, -1e1);
5636 try testArgs(f16, f16, -1e0);
5637 try testArgs(f16, f16, -1e-1);
5638 try testArgs(f16, f16, -fmin(f16));
5639 try testArgs(f16, f16, -tmin(f16));
5640 try testArgs(f16, f16, -0.0);
5641 try testArgs(f16, f16, 0.0);
5642 try testArgs(f16, f16, tmin(f16));
5643 try testArgs(f16, f16, fmin(f16));
5644 try testArgs(f16, f16, 1e-1);
5645 try testArgs(f16, f16, 1e0);
5646 try testArgs(f16, f16, 1e1);
5647 try testArgs(f16, f16, fmax(f16));
5648 try testArgs(f16, f16, inf(f16));
5649 try testArgs(f16, f16, nan(f16));
5650
5651 try testArgs(f32, f16, -nan(f16));
5652 try testArgs(f32, f16, -inf(f16));
5653 try testArgs(f32, f16, -fmax(f16));
5654 try testArgs(f32, f16, -1e1);
5655 try testArgs(f32, f16, -1e0);
5656 try testArgs(f32, f16, -1e-1);
5657 try testArgs(f32, f16, -fmin(f16));
5658 try testArgs(f32, f16, -tmin(f16));
5659 try testArgs(f32, f16, -0.0);
5660 try testArgs(f32, f16, 0.0);
5661 try testArgs(f32, f16, tmin(f16));
5662 try testArgs(f32, f16, fmin(f16));
5663 try testArgs(f32, f16, 1e-1);
5664 try testArgs(f32, f16, 1e0);
5665 try testArgs(f32, f16, 1e1);
5666 try testArgs(f32, f16, fmax(f16));
5667 try testArgs(f32, f16, inf(f16));
5668 try testArgs(f32, f16, nan(f16));
5669
5670 try testArgs(f64, f16, -nan(f16));
5671 try testArgs(f64, f16, -inf(f16));
5672 try testArgs(f64, f16, -fmax(f16));
5673 try testArgs(f64, f16, -1e1);
5674 try testArgs(f64, f16, -1e0);
5675 try testArgs(f64, f16, -1e-1);
5676 try testArgs(f64, f16, -fmin(f16));
5677 try testArgs(f64, f16, -tmin(f16));
5678 try testArgs(f64, f16, -0.0);
5679 try testArgs(f64, f16, 0.0);
5680 try testArgs(f64, f16, tmin(f16));
5681 try testArgs(f64, f16, fmin(f16));
5682 try testArgs(f64, f16, 1e-1);
5683 try testArgs(f64, f16, 1e0);
5684 try testArgs(f64, f16, 1e1);
5685 try testArgs(f64, f16, fmax(f16));
5686 try testArgs(f64, f16, inf(f16));
5687 try testArgs(f64, f16, nan(f16));
5688
5689 try testArgs(f80, f16, -nan(f16));
5690 try testArgs(f80, f16, -inf(f16));
5691 try testArgs(f80, f16, -fmax(f16));
5692 try testArgs(f80, f16, -1e1);
5693 try testArgs(f80, f16, -1e0);
5694 try testArgs(f80, f16, -1e-1);
5695 try testArgs(f80, f16, -fmin(f16));
5696 try testArgs(f80, f16, -tmin(f16));
5697 try testArgs(f80, f16, -0.0);
5698 try testArgs(f80, f16, 0.0);
5699 try testArgs(f80, f16, tmin(f16));
5700 try testArgs(f80, f16, fmin(f16));
5701 try testArgs(f80, f16, 1e-1);
5702 try testArgs(f80, f16, 1e0);
5703 try testArgs(f80, f16, 1e1);
5704 try testArgs(f80, f16, fmax(f16));
5705 try testArgs(f80, f16, inf(f16));
5706 try testArgs(f80, f16, nan(f16));
5707
5708 try testArgs(f128, f16, -nan(f16));
5709 try testArgs(f128, f16, -inf(f16));
5710 try testArgs(f128, f16, -fmax(f16));
5711 try testArgs(f128, f16, -1e1);
5712 try testArgs(f128, f16, -1e0);
5713 try testArgs(f128, f16, -1e-1);
5714 try testArgs(f128, f16, -fmin(f16));
5715 try testArgs(f128, f16, -tmin(f16));
5716 try testArgs(f128, f16, -0.0);
5717 try testArgs(f128, f16, 0.0);
5718 try testArgs(f128, f16, tmin(f16));
5719 try testArgs(f128, f16, fmin(f16));
5720 try testArgs(f128, f16, 1e-1);
5721 try testArgs(f128, f16, 1e0);
5722 try testArgs(f128, f16, 1e1);
5723 try testArgs(f128, f16, fmax(f16));
5724 try testArgs(f128, f16, inf(f16));
5725 try testArgs(f128, f16, nan(f16));
5726
5727 try testArgs(f16, f32, -nan(f32));
5728 try testArgs(f16, f32, -inf(f32));
5729 try testArgs(f16, f32, -fmax(f32));
5730 try testArgs(f16, f32, -1e1);
5731 try testArgs(f16, f32, -1e0);
5732 try testArgs(f16, f32, -1e-1);
5733 try testArgs(f16, f32, -fmin(f32));
5734 try testArgs(f16, f32, -tmin(f32));
5735 try testArgs(f16, f32, -0.0);
5736 try testArgs(f16, f32, 0.0);
5737 try testArgs(f16, f32, tmin(f32));
5738 try testArgs(f16, f32, fmin(f32));
5739 try testArgs(f16, f32, 1e-1);
5740 try testArgs(f16, f32, 1e0);
5741 try testArgs(f16, f32, 1e1);
5742 try testArgs(f16, f32, fmax(f32));
5743 try testArgs(f16, f32, inf(f32));
5744 try testArgs(f16, f32, nan(f32));
5745
5746 try testArgs(f32, f32, -nan(f32));
5747 try testArgs(f32, f32, -inf(f32));
5748 try testArgs(f32, f32, -fmax(f32));
5749 try testArgs(f32, f32, -1e1);
5750 try testArgs(f32, f32, -1e0);
5751 try testArgs(f32, f32, -1e-1);
5752 try testArgs(f32, f32, -fmin(f32));
5753 try testArgs(f32, f32, -tmin(f32));
5754 try testArgs(f32, f32, -0.0);
5755 try testArgs(f32, f32, 0.0);
5756 try testArgs(f32, f32, tmin(f32));
5757 try testArgs(f32, f32, fmin(f32));
5758 try testArgs(f32, f32, 1e-1);
5759 try testArgs(f32, f32, 1e0);
5760 try testArgs(f32, f32, 1e1);
5761 try testArgs(f32, f32, fmax(f32));
5762 try testArgs(f32, f32, inf(f32));
5763 try testArgs(f32, f32, nan(f32));
5764
5765 try testArgs(f64, f32, -nan(f32));
5766 try testArgs(f64, f32, -inf(f32));
5767 try testArgs(f64, f32, -fmax(f32));
5768 try testArgs(f64, f32, -1e1);
5769 try testArgs(f64, f32, -1e0);
5770 try testArgs(f64, f32, -1e-1);
5771 try testArgs(f64, f32, -fmin(f32));
5772 try testArgs(f64, f32, -tmin(f32));
5773 try testArgs(f64, f32, -0.0);
5774 try testArgs(f64, f32, 0.0);
5775 try testArgs(f64, f32, tmin(f32));
5776 try testArgs(f64, f32, fmin(f32));
5777 try testArgs(f64, f32, 1e-1);
5778 try testArgs(f64, f32, 1e0);
5779 try testArgs(f64, f32, 1e1);
5780 try testArgs(f64, f32, fmax(f32));
5781 try testArgs(f64, f32, inf(f32));
5782 try testArgs(f64, f32, nan(f32));
5783
5784 try testArgs(f80, f32, -nan(f32));
5785 try testArgs(f80, f32, -inf(f32));
5786 try testArgs(f80, f32, -fmax(f32));
5787 try testArgs(f80, f32, -1e1);
5788 try testArgs(f80, f32, -1e0);
5789 try testArgs(f80, f32, -1e-1);
5790 try testArgs(f80, f32, -fmin(f32));
5791 try testArgs(f80, f32, -tmin(f32));
5792 try testArgs(f80, f32, -0.0);
5793 try testArgs(f80, f32, 0.0);
5794 try testArgs(f80, f32, tmin(f32));
5795 try testArgs(f80, f32, fmin(f32));
5796 try testArgs(f80, f32, 1e-1);
5797 try testArgs(f80, f32, 1e0);
5798 try testArgs(f80, f32, 1e1);
5799 try testArgs(f80, f32, fmax(f32));
5800 try testArgs(f80, f32, inf(f32));
5801 try testArgs(f80, f32, nan(f32));
5802
5803 try testArgs(f128, f32, -nan(f32));
5804 try testArgs(f128, f32, -inf(f32));
5805 try testArgs(f128, f32, -fmax(f32));
5806 try testArgs(f128, f32, -1e1);
5807 try testArgs(f128, f32, -1e0);
5808 try testArgs(f128, f32, -1e-1);
5809 try testArgs(f128, f32, -fmin(f32));
5810 try testArgs(f128, f32, -tmin(f32));
5811 try testArgs(f128, f32, -0.0);
5812 try testArgs(f128, f32, 0.0);
5813 try testArgs(f128, f32, tmin(f32));
5814 try testArgs(f128, f32, fmin(f32));
5815 try testArgs(f128, f32, 1e-1);
5816 try testArgs(f128, f32, 1e0);
5817 try testArgs(f128, f32, 1e1);
5818 try testArgs(f128, f32, fmax(f32));
5819 try testArgs(f128, f32, inf(f32));
5820 try testArgs(f128, f32, nan(f32));
5821
5822 try testArgs(f16, f64, -nan(f64));
5823 try testArgs(f16, f64, -inf(f64));
5824 try testArgs(f16, f64, -fmax(f64));
5825 try testArgs(f16, f64, -1e1);
5826 try testArgs(f16, f64, -1e0);
5827 try testArgs(f16, f64, -1e-1);
5828 try testArgs(f16, f64, -fmin(f64));
5829 try testArgs(f16, f64, -tmin(f64));
5830 try testArgs(f16, f64, -0.0);
5831 try testArgs(f16, f64, 0.0);
5832 try testArgs(f16, f64, tmin(f64));
5833 try testArgs(f16, f64, fmin(f64));
5834 try testArgs(f16, f64, 1e-1);
5835 try testArgs(f16, f64, 1e0);
5836 try testArgs(f16, f64, 1e1);
5837 try testArgs(f16, f64, fmax(f64));
5838 try testArgs(f16, f64, inf(f64));
5839 try testArgs(f16, f64, nan(f64));
5840
5841 try testArgs(f32, f64, -nan(f64));
5842 try testArgs(f32, f64, -inf(f64));
5843 try testArgs(f32, f64, -fmax(f64));
5844 try testArgs(f32, f64, -1e1);
5845 try testArgs(f32, f64, -1e0);
5846 try testArgs(f32, f64, -1e-1);
5847 try testArgs(f32, f64, -fmin(f64));
5848 try testArgs(f32, f64, -tmin(f64));
5849 try testArgs(f32, f64, -0.0);
5850 try testArgs(f32, f64, 0.0);
5851 try testArgs(f32, f64, tmin(f64));
5852 try testArgs(f32, f64, fmin(f64));
5853 try testArgs(f32, f64, 1e-1);
5854 try testArgs(f32, f64, 1e0);
5855 try testArgs(f32, f64, 1e1);
5856 try testArgs(f32, f64, fmax(f64));
5857 try testArgs(f32, f64, inf(f64));
5858 try testArgs(f32, f64, nan(f64));
5859
5860 try testArgs(f64, f64, -nan(f64));
5861 try testArgs(f64, f64, -inf(f64));
5862 try testArgs(f64, f64, -fmax(f64));
5863 try testArgs(f64, f64, -1e1);
5864 try testArgs(f64, f64, -1e0);
5865 try testArgs(f64, f64, -1e-1);
5866 try testArgs(f64, f64, -fmin(f64));
5867 try testArgs(f64, f64, -tmin(f64));
5868 try testArgs(f64, f64, -0.0);
5869 try testArgs(f64, f64, 0.0);
5870 try testArgs(f64, f64, tmin(f64));
5871 try testArgs(f64, f64, fmin(f64));
5872 try testArgs(f64, f64, 1e-1);
5873 try testArgs(f64, f64, 1e0);
5874 try testArgs(f64, f64, 1e1);
5875 try testArgs(f64, f64, fmax(f64));
5876 try testArgs(f64, f64, inf(f64));
5877 try testArgs(f64, f64, nan(f64));
5878
5879 try testArgs(f80, f64, -nan(f64));
5880 try testArgs(f80, f64, -inf(f64));
5881 try testArgs(f80, f64, -fmax(f64));
5882 try testArgs(f80, f64, -1e1);
5883 try testArgs(f80, f64, -1e0);
5884 try testArgs(f80, f64, -1e-1);
5885 try testArgs(f80, f64, -fmin(f64));
5886 try testArgs(f80, f64, -tmin(f64));
5887 try testArgs(f80, f64, -0.0);
5888 try testArgs(f80, f64, 0.0);
5889 try testArgs(f80, f64, tmin(f64));
5890 try testArgs(f80, f64, fmin(f64));
5891 try testArgs(f80, f64, 1e-1);
5892 try testArgs(f80, f64, 1e0);
5893 try testArgs(f80, f64, 1e1);
5894 try testArgs(f80, f64, fmax(f64));
5895 try testArgs(f80, f64, inf(f64));
5896 try testArgs(f80, f64, nan(f64));
5897
5898 try testArgs(f128, f64, -nan(f64));
5899 try testArgs(f128, f64, -inf(f64));
5900 try testArgs(f128, f64, -fmax(f64));
5901 try testArgs(f128, f64, -1e1);
5902 try testArgs(f128, f64, -1e0);
5903 try testArgs(f128, f64, -1e-1);
5904 try testArgs(f128, f64, -fmin(f64));
5905 try testArgs(f128, f64, -tmin(f64));
5906 try testArgs(f128, f64, -0.0);
5907 try testArgs(f128, f64, 0.0);
5908 try testArgs(f128, f64, tmin(f64));
5909 try testArgs(f128, f64, fmin(f64));
5910 try testArgs(f128, f64, 1e-1);
5911 try testArgs(f128, f64, 1e0);
5912 try testArgs(f128, f64, 1e1);
5913 try testArgs(f128, f64, fmax(f64));
5914 try testArgs(f128, f64, inf(f64));
5915 try testArgs(f128, f64, nan(f64));
5916
5917 try testArgs(f16, f80, -nan(f80));
5918 try testArgs(f16, f80, -inf(f80));
5919 try testArgs(f16, f80, -fmax(f80));
5920 try testArgs(f16, f80, -1e1);
5921 try testArgs(f16, f80, -1e0);
5922 try testArgs(f16, f80, -1e-1);
5923 try testArgs(f16, f80, -fmin(f80));
5924 try testArgs(f16, f80, -tmin(f80));
5925 try testArgs(f16, f80, -0.0);
5926 try testArgs(f16, f80, 0.0);
5927 try testArgs(f16, f80, tmin(f80));
5928 try testArgs(f16, f80, fmin(f80));
5929 try testArgs(f16, f80, 1e-1);
5930 try testArgs(f16, f80, 1e0);
5931 try testArgs(f16, f80, 1e1);
5932 try testArgs(f16, f80, fmax(f80));
5933 try testArgs(f16, f80, inf(f80));
5934 try testArgs(f16, f80, nan(f80));
5935
5936 try testArgs(f32, f80, -nan(f80));
5937 try testArgs(f32, f80, -inf(f80));
5938 try testArgs(f32, f80, -fmax(f80));
5939 try testArgs(f32, f80, -1e1);
5940 try testArgs(f32, f80, -1e0);
5941 try testArgs(f32, f80, -1e-1);
5942 try testArgs(f32, f80, -fmin(f80));
5943 try testArgs(f32, f80, -tmin(f80));
5944 try testArgs(f32, f80, -0.0);
5945 try testArgs(f32, f80, 0.0);
5946 try testArgs(f32, f80, tmin(f80));
5947 try testArgs(f32, f80, fmin(f80));
5948 try testArgs(f32, f80, 1e-1);
5949 try testArgs(f32, f80, 1e0);
5950 try testArgs(f32, f80, 1e1);
5951 try testArgs(f32, f80, fmax(f80));
5952 try testArgs(f32, f80, inf(f80));
5953 try testArgs(f32, f80, nan(f80));
5954
5955 try testArgs(f64, f80, -nan(f80));
5956 try testArgs(f64, f80, -inf(f80));
5957 try testArgs(f64, f80, -fmax(f80));
5958 try testArgs(f64, f80, -1e1);
5959 try testArgs(f64, f80, -1e0);
5960 try testArgs(f64, f80, -1e-1);
5961 try testArgs(f64, f80, -fmin(f80));
5962 try testArgs(f64, f80, -tmin(f80));
5963 try testArgs(f64, f80, -0.0);
5964 try testArgs(f64, f80, 0.0);
5965 try testArgs(f64, f80, tmin(f80));
5966 try testArgs(f64, f80, fmin(f80));
5967 try testArgs(f64, f80, 1e-1);
5968 try testArgs(f64, f80, 1e0);
5969 try testArgs(f64, f80, 1e1);
5970 try testArgs(f64, f80, fmax(f80));
5971 try testArgs(f64, f80, inf(f80));
5972 try testArgs(f64, f80, nan(f80));
5973
5974 try testArgs(f80, f80, -nan(f80));
5975 try testArgs(f80, f80, -inf(f80));
5976 try testArgs(f80, f80, -fmax(f80));
5977 try testArgs(f80, f80, -1e1);
5978 try testArgs(f80, f80, -1e0);
5979 try testArgs(f80, f80, -1e-1);
5980 try testArgs(f80, f80, -fmin(f80));
5981 try testArgs(f80, f80, -tmin(f80));
5982 try testArgs(f80, f80, -0.0);
5983 try testArgs(f80, f80, 0.0);
5984 try testArgs(f80, f80, tmin(f80));
5985 try testArgs(f80, f80, fmin(f80));
5986 try testArgs(f80, f80, 1e-1);
5987 try testArgs(f80, f80, 1e0);
5988 try testArgs(f80, f80, 1e1);
5989 try testArgs(f80, f80, fmax(f80));
5990 try testArgs(f80, f80, inf(f80));
5991 try testArgs(f80, f80, nan(f80));
5992
5993 try testArgs(f128, f80, -nan(f80));
5994 try testArgs(f128, f80, -inf(f80));
5995 try testArgs(f128, f80, -fmax(f80));
5996 try testArgs(f128, f80, -1e1);
5997 try testArgs(f128, f80, -1e0);
5998 try testArgs(f128, f80, -1e-1);
5999 try testArgs(f128, f80, -fmin(f80));
6000 try testArgs(f128, f80, -tmin(f80));
6001 try testArgs(f128, f80, -0.0);
6002 try testArgs(f128, f80, 0.0);
6003 try testArgs(f128, f80, tmin(f80));
6004 try testArgs(f128, f80, fmin(f80));
6005 try testArgs(f128, f80, 1e-1);
6006 try testArgs(f128, f80, 1e0);
6007 try testArgs(f128, f80, 1e1);
6008 try testArgs(f128, f80, fmax(f80));
6009 try testArgs(f128, f80, inf(f80));
6010 try testArgs(f128, f80, nan(f80));
6011
6012 try testArgs(f16, f128, -nan(f128));
6013 try testArgs(f16, f128, -inf(f128));
6014 try testArgs(f16, f128, -fmax(f128));
6015 try testArgs(f16, f128, -1e1);
6016 try testArgs(f16, f128, -1e0);
6017 try testArgs(f16, f128, -1e-1);
6018 try testArgs(f16, f128, -fmin(f128));
6019 try testArgs(f16, f128, -tmin(f128));
6020 try testArgs(f16, f128, -0.0);
6021 try testArgs(f16, f128, 0.0);
6022 try testArgs(f16, f128, tmin(f128));
6023 try testArgs(f16, f128, fmin(f128));
6024 try testArgs(f16, f128, 1e-1);
6025 try testArgs(f16, f128, 1e0);
6026 try testArgs(f16, f128, 1e1);
6027 try testArgs(f16, f128, fmax(f128));
6028 try testArgs(f16, f128, inf(f128));
6029 try testArgs(f16, f128, nan(f128));
6030
6031 try testArgs(f32, f128, -nan(f128));
6032 try testArgs(f32, f128, -inf(f128));
6033 try testArgs(f32, f128, -fmax(f128));
6034 try testArgs(f32, f128, -1e1);
6035 try testArgs(f32, f128, -1e0);
6036 try testArgs(f32, f128, -1e-1);
6037 try testArgs(f32, f128, -fmin(f128));
6038 try testArgs(f32, f128, -tmin(f128));
6039 try testArgs(f32, f128, -0.0);
6040 try testArgs(f32, f128, 0.0);
6041 try testArgs(f32, f128, tmin(f128));
6042 try testArgs(f32, f128, fmin(f128));
6043 try testArgs(f32, f128, 1e-1);
6044 try testArgs(f32, f128, 1e0);
6045 try testArgs(f32, f128, 1e1);
6046 try testArgs(f32, f128, fmax(f128));
6047 try testArgs(f32, f128, inf(f128));
6048 try testArgs(f32, f128, nan(f128));
6049
6050 try testArgs(f64, f128, -nan(f128));
6051 try testArgs(f64, f128, -inf(f128));
6052 try testArgs(f64, f128, -fmax(f128));
6053 try testArgs(f64, f128, -1e1);
6054 try testArgs(f64, f128, -1e0);
6055 try testArgs(f64, f128, -1e-1);
6056 try testArgs(f64, f128, -fmin(f128));
6057 try testArgs(f64, f128, -tmin(f128));
6058 try testArgs(f64, f128, -0.0);
6059 try testArgs(f64, f128, 0.0);
6060 try testArgs(f64, f128, tmin(f128));
6061 try testArgs(f64, f128, fmin(f128));
6062 try testArgs(f64, f128, 1e-1);
6063 try testArgs(f64, f128, 1e0);
6064 try testArgs(f64, f128, 1e1);
6065 try testArgs(f64, f128, fmax(f128));
6066 try testArgs(f64, f128, inf(f128));
6067 try testArgs(f64, f128, nan(f128));
6068
6069 try testArgs(f80, f128, -nan(f128));
6070 try testArgs(f80, f128, -inf(f128));
6071 try testArgs(f80, f128, -fmax(f128));
6072 try testArgs(f80, f128, -1e1);
6073 try testArgs(f80, f128, -1e0);
6074 try testArgs(f80, f128, -1e-1);
6075 try testArgs(f80, f128, -fmin(f128));
6076 try testArgs(f80, f128, -tmin(f128));
6077 try testArgs(f80, f128, -0.0);
6078 try testArgs(f80, f128, 0.0);
6079 try testArgs(f80, f128, tmin(f128));
6080 try testArgs(f80, f128, fmin(f128));
6081 try testArgs(f80, f128, 1e-1);
6082 try testArgs(f80, f128, 1e0);
6083 try testArgs(f80, f128, 1e1);
6084 try testArgs(f80, f128, fmax(f128));
6085 try testArgs(f80, f128, inf(f128));
6086 try testArgs(f80, f128, nan(f128));
6087
6088 try testArgs(f128, f128, -nan(f128));
6089 try testArgs(f128, f128, -inf(f128));
6090 try testArgs(f128, f128, -fmax(f128));
6091 try testArgs(f128, f128, -1e1);
6092 try testArgs(f128, f128, -1e0);
6093 try testArgs(f128, f128, -1e-1);
6094 try testArgs(f128, f128, -fmin(f128));
6095 try testArgs(f128, f128, -tmin(f128));
6096 try testArgs(f128, f128, -0.0);
6097 try testArgs(f128, f128, 0.0);
6098 try testArgs(f128, f128, tmin(f128));
6099 try testArgs(f128, f128, fmin(f128));
6100 try testArgs(f128, f128, 1e-1);
6101 try testArgs(f128, f128, 1e0);
6102 try testArgs(f128, f128, 1e1);
6103 try testArgs(f128, f128, fmax(f128));
6104 try testArgs(f128, f128, inf(f128));
6105 try testArgs(f128, f128, nan(f128));
6106 }
6107 fn testIntVectors() !void {
6108 try testArgs(@Vector(2, i8), @Vector(2, i1), .{ -1, 0 });
6109 try testArgs(@Vector(2, u8), @Vector(2, i1), .{ -1, 0 });
6110 try testArgs(@Vector(2, i16), @Vector(2, i1), .{ -1, 0 });
6111 try testArgs(@Vector(2, u16), @Vector(2, i1), .{ -1, 0 });
6112 try testArgs(@Vector(2, i32), @Vector(2, i1), .{ -1, 0 });
6113 try testArgs(@Vector(2, u32), @Vector(2, i1), .{ -1, 0 });
6114 try testArgs(@Vector(2, i64), @Vector(2, i1), .{ -1, 0 });
6115 try testArgs(@Vector(2, u64), @Vector(2, i1), .{ -1, 0 });
6116 try testArgs(@Vector(2, i128), @Vector(2, i1), .{ -1, 0 });
6117 try testArgs(@Vector(2, u128), @Vector(2, i1), .{ -1, 0 });
6118 try testArgs(@Vector(2, i256), @Vector(2, i1), .{ -1, 0 });
6119 try testArgs(@Vector(2, u256), @Vector(2, i1), .{ -1, 0 });
6120 try testArgs(@Vector(2, i512), @Vector(2, i1), .{ -1, 0 });
6121 try testArgs(@Vector(2, u512), @Vector(2, i1), .{ -1, 0 });
6122 try testArgs(@Vector(2, i1024), @Vector(2, i1), .{ -1, 0 });
6123 try testArgs(@Vector(2, u1024), @Vector(2, i1), .{ -1, 0 });
6124 try testArgs(@Vector(2, i8), @Vector(2, u1), .{ 0, 1 });
6125 try testArgs(@Vector(2, u8), @Vector(2, u1), .{ 0, 1 });
6126 try testArgs(@Vector(2, i16), @Vector(2, u1), .{ 0, 1 });
6127 try testArgs(@Vector(2, u16), @Vector(2, u1), .{ 0, 1 });
6128 try testArgs(@Vector(2, i32), @Vector(2, u1), .{ 0, 1 });
6129 try testArgs(@Vector(2, u32), @Vector(2, u1), .{ 0, 1 });
6130 try testArgs(@Vector(2, i64), @Vector(2, u1), .{ 0, 1 });
6131 try testArgs(@Vector(2, u64), @Vector(2, u1), .{ 0, 1 });
6132 try testArgs(@Vector(2, i128), @Vector(2, u1), .{ 0, 1 });
6133 try testArgs(@Vector(2, u128), @Vector(2, u1), .{ 0, 1 });
6134 try testArgs(@Vector(2, i256), @Vector(2, u1), .{ 0, 1 });
6135 try testArgs(@Vector(2, u256), @Vector(2, u1), .{ 0, 1 });
6136 try testArgs(@Vector(2, i512), @Vector(2, u1), .{ 0, 1 });
6137 try testArgs(@Vector(2, u512), @Vector(2, u1), .{ 0, 1 });
6138 try testArgs(@Vector(2, i1024), @Vector(2, u1), .{ 0, 1 });
6139 try testArgs(@Vector(2, u1024), @Vector(2, u1), .{ 0, 1 });
6140
6141 try testArgs(@Vector(3, i8), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6142 try testArgs(@Vector(3, u8), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6143 try testArgs(@Vector(3, i16), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6144 try testArgs(@Vector(3, u16), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6145 try testArgs(@Vector(3, i32), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6146 try testArgs(@Vector(3, u32), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6147 try testArgs(@Vector(3, i64), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6148 try testArgs(@Vector(3, u64), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6149 try testArgs(@Vector(3, i128), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6150 try testArgs(@Vector(3, u128), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6151 try testArgs(@Vector(3, i256), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6152 try testArgs(@Vector(3, u256), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6153 try testArgs(@Vector(3, i512), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6154 try testArgs(@Vector(3, u512), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6155 try testArgs(@Vector(3, i1024), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6156 try testArgs(@Vector(3, u1024), @Vector(3, i2), .{ -1 << 1, -1, 0 });
6157 try testArgs(@Vector(3, i8), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6158 try testArgs(@Vector(3, u8), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6159 try testArgs(@Vector(3, i16), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6160 try testArgs(@Vector(3, u16), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6161 try testArgs(@Vector(3, i32), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6162 try testArgs(@Vector(3, u32), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6163 try testArgs(@Vector(3, i64), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6164 try testArgs(@Vector(3, u64), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6165 try testArgs(@Vector(3, i128), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6166 try testArgs(@Vector(3, u128), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6167 try testArgs(@Vector(3, i256), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6168 try testArgs(@Vector(3, u256), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6169 try testArgs(@Vector(3, i512), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6170 try testArgs(@Vector(3, u512), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6171 try testArgs(@Vector(3, i1024), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6172 try testArgs(@Vector(3, u1024), @Vector(3, u2), .{ 0, 1, 1 << 1 });
6173
6174 try testArgs(@Vector(3, i8), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6175 try testArgs(@Vector(3, u8), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6176 try testArgs(@Vector(3, i16), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6177 try testArgs(@Vector(3, u16), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6178 try testArgs(@Vector(3, i32), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6179 try testArgs(@Vector(3, u32), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6180 try testArgs(@Vector(3, i64), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6181 try testArgs(@Vector(3, u64), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6182 try testArgs(@Vector(3, i128), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6183 try testArgs(@Vector(3, u128), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6184 try testArgs(@Vector(3, i256), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6185 try testArgs(@Vector(3, u256), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6186 try testArgs(@Vector(3, i512), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6187 try testArgs(@Vector(3, u512), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6188 try testArgs(@Vector(3, i1024), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6189 try testArgs(@Vector(3, u1024), @Vector(3, i3), .{ -1 << 2, -1, 0 });
6190 try testArgs(@Vector(3, i8), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6191 try testArgs(@Vector(3, u8), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6192 try testArgs(@Vector(3, i16), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6193 try testArgs(@Vector(3, u16), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6194 try testArgs(@Vector(3, i32), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6195 try testArgs(@Vector(3, u32), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6196 try testArgs(@Vector(3, i64), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6197 try testArgs(@Vector(3, u64), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6198 try testArgs(@Vector(3, i128), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6199 try testArgs(@Vector(3, u128), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6200 try testArgs(@Vector(3, i256), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6201 try testArgs(@Vector(3, u256), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6202 try testArgs(@Vector(3, i512), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6203 try testArgs(@Vector(3, u512), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6204 try testArgs(@Vector(3, i1024), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6205 try testArgs(@Vector(3, u1024), @Vector(3, u3), .{ 0, 1, 1 << 2 });
6206
6207 try testArgs(@Vector(3, i8), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6208 try testArgs(@Vector(3, u8), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6209 try testArgs(@Vector(3, i16), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6210 try testArgs(@Vector(3, u16), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6211 try testArgs(@Vector(3, i32), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6212 try testArgs(@Vector(3, u32), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6213 try testArgs(@Vector(3, i64), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6214 try testArgs(@Vector(3, u64), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6215 try testArgs(@Vector(3, i128), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6216 try testArgs(@Vector(3, u128), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6217 try testArgs(@Vector(3, i256), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6218 try testArgs(@Vector(3, u256), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6219 try testArgs(@Vector(3, i512), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6220 try testArgs(@Vector(3, u512), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6221 try testArgs(@Vector(3, i1024), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6222 try testArgs(@Vector(3, u1024), @Vector(3, i4), .{ -1 << 3, -1, 0 });
6223 try testArgs(@Vector(3, i8), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6224 try testArgs(@Vector(3, u8), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6225 try testArgs(@Vector(3, i16), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6226 try testArgs(@Vector(3, u16), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6227 try testArgs(@Vector(3, i32), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6228 try testArgs(@Vector(3, u32), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6229 try testArgs(@Vector(3, i64), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6230 try testArgs(@Vector(3, u64), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6231 try testArgs(@Vector(3, i128), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6232 try testArgs(@Vector(3, u128), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6233 try testArgs(@Vector(3, i256), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6234 try testArgs(@Vector(3, u256), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6235 try testArgs(@Vector(3, i512), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6236 try testArgs(@Vector(3, u512), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6237 try testArgs(@Vector(3, i1024), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6238 try testArgs(@Vector(3, u1024), @Vector(3, u4), .{ 0, 1, 1 << 3 });
6239
6240 try testArgs(@Vector(3, i8), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6241 try testArgs(@Vector(3, u8), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6242 try testArgs(@Vector(3, i16), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6243 try testArgs(@Vector(3, u16), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6244 try testArgs(@Vector(3, i32), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6245 try testArgs(@Vector(3, u32), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6246 try testArgs(@Vector(3, i64), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6247 try testArgs(@Vector(3, u64), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6248 try testArgs(@Vector(3, i128), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6249 try testArgs(@Vector(3, u128), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6250 try testArgs(@Vector(3, i256), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6251 try testArgs(@Vector(3, u256), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6252 try testArgs(@Vector(3, i512), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6253 try testArgs(@Vector(3, u512), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6254 try testArgs(@Vector(3, i1024), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6255 try testArgs(@Vector(3, u1024), @Vector(3, i5), .{ -1 << 4, -1, 0 });
6256 try testArgs(@Vector(3, i8), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6257 try testArgs(@Vector(3, u8), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6258 try testArgs(@Vector(3, i16), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6259 try testArgs(@Vector(3, u16), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6260 try testArgs(@Vector(3, i32), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6261 try testArgs(@Vector(3, u32), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6262 try testArgs(@Vector(3, i64), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6263 try testArgs(@Vector(3, u64), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6264 try testArgs(@Vector(3, i128), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6265 try testArgs(@Vector(3, u128), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6266 try testArgs(@Vector(3, i256), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6267 try testArgs(@Vector(3, u256), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6268 try testArgs(@Vector(3, i512), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6269 try testArgs(@Vector(3, u512), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6270 try testArgs(@Vector(3, i1024), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6271 try testArgs(@Vector(3, u1024), @Vector(3, u5), .{ 0, 1, 1 << 4 });
6272
6273 try testArgs(@Vector(3, i8), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6274 try testArgs(@Vector(3, u8), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6275 try testArgs(@Vector(3, i16), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6276 try testArgs(@Vector(3, u16), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6277 try testArgs(@Vector(3, i32), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6278 try testArgs(@Vector(3, u32), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6279 try testArgs(@Vector(3, i64), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6280 try testArgs(@Vector(3, u64), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6281 try testArgs(@Vector(3, i128), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6282 try testArgs(@Vector(3, u128), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6283 try testArgs(@Vector(3, i256), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6284 try testArgs(@Vector(3, u256), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6285 try testArgs(@Vector(3, i512), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6286 try testArgs(@Vector(3, u512), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6287 try testArgs(@Vector(3, i1024), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6288 try testArgs(@Vector(3, u1024), @Vector(3, i7), .{ -1 << 6, -1, 0 });
6289 try testArgs(@Vector(3, i8), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6290 try testArgs(@Vector(3, u8), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6291 try testArgs(@Vector(3, i16), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6292 try testArgs(@Vector(3, u16), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6293 try testArgs(@Vector(3, i32), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6294 try testArgs(@Vector(3, u32), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6295 try testArgs(@Vector(3, i64), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6296 try testArgs(@Vector(3, u64), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6297 try testArgs(@Vector(3, i128), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6298 try testArgs(@Vector(3, u128), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6299 try testArgs(@Vector(3, i256), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6300 try testArgs(@Vector(3, u256), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6301 try testArgs(@Vector(3, i512), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6302 try testArgs(@Vector(3, u512), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6303 try testArgs(@Vector(3, i1024), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6304 try testArgs(@Vector(3, u1024), @Vector(3, u7), .{ 0, 1, 1 << 6 });
6305
6306 try testArgs(@Vector(3, i8), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6307 try testArgs(@Vector(3, u8), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6308 try testArgs(@Vector(3, i16), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6309 try testArgs(@Vector(3, u16), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6310 try testArgs(@Vector(3, i32), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6311 try testArgs(@Vector(3, u32), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6312 try testArgs(@Vector(3, i64), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6313 try testArgs(@Vector(3, u64), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6314 try testArgs(@Vector(3, i128), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6315 try testArgs(@Vector(3, u128), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6316 try testArgs(@Vector(3, i256), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6317 try testArgs(@Vector(3, u256), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6318 try testArgs(@Vector(3, i512), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6319 try testArgs(@Vector(3, u512), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6320 try testArgs(@Vector(3, i1024), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6321 try testArgs(@Vector(3, u1024), @Vector(3, i8), .{ -1 << 7, -1, 0 });
6322 try testArgs(@Vector(3, i8), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6323 try testArgs(@Vector(3, u8), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6324 try testArgs(@Vector(3, i16), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6325 try testArgs(@Vector(3, u16), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6326 try testArgs(@Vector(3, i32), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6327 try testArgs(@Vector(3, u32), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6328 try testArgs(@Vector(3, i64), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6329 try testArgs(@Vector(3, u64), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6330 try testArgs(@Vector(3, i128), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6331 try testArgs(@Vector(3, u128), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6332 try testArgs(@Vector(3, i256), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6333 try testArgs(@Vector(3, u256), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6334 try testArgs(@Vector(3, i512), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6335 try testArgs(@Vector(3, u512), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6336 try testArgs(@Vector(3, i1024), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6337 try testArgs(@Vector(3, u1024), @Vector(3, u8), .{ 0, 1, 1 << 7 });
6338
6339 try testArgs(@Vector(3, i8), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6340 try testArgs(@Vector(3, u8), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6341 try testArgs(@Vector(3, i16), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6342 try testArgs(@Vector(3, u16), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6343 try testArgs(@Vector(3, i32), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6344 try testArgs(@Vector(3, u32), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6345 try testArgs(@Vector(3, i64), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6346 try testArgs(@Vector(3, u64), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6347 try testArgs(@Vector(3, i128), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6348 try testArgs(@Vector(3, u128), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6349 try testArgs(@Vector(3, i256), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6350 try testArgs(@Vector(3, u256), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6351 try testArgs(@Vector(3, i512), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6352 try testArgs(@Vector(3, u512), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6353 try testArgs(@Vector(3, i1024), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6354 try testArgs(@Vector(3, u1024), @Vector(3, i9), .{ -1 << 8, -1, 0 });
6355 try testArgs(@Vector(3, i8), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6356 try testArgs(@Vector(3, u8), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6357 try testArgs(@Vector(3, i16), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6358 try testArgs(@Vector(3, u16), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6359 try testArgs(@Vector(3, i32), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6360 try testArgs(@Vector(3, u32), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6361 try testArgs(@Vector(3, i64), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6362 try testArgs(@Vector(3, u64), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6363 try testArgs(@Vector(3, i128), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6364 try testArgs(@Vector(3, u128), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6365 try testArgs(@Vector(3, i256), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6366 try testArgs(@Vector(3, u256), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6367 try testArgs(@Vector(3, i512), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6368 try testArgs(@Vector(3, u512), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6369 try testArgs(@Vector(3, i1024), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6370 try testArgs(@Vector(3, u1024), @Vector(3, u9), .{ 0, 1, 1 << 8 });
6371
6372 try testArgs(@Vector(3, i8), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6373 try testArgs(@Vector(3, u8), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6374 try testArgs(@Vector(3, i16), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6375 try testArgs(@Vector(3, u16), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6376 try testArgs(@Vector(3, i32), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6377 try testArgs(@Vector(3, u32), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6378 try testArgs(@Vector(3, i64), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6379 try testArgs(@Vector(3, u64), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6380 try testArgs(@Vector(3, i128), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6381 try testArgs(@Vector(3, u128), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6382 try testArgs(@Vector(3, i256), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6383 try testArgs(@Vector(3, u256), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6384 try testArgs(@Vector(3, i512), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6385 try testArgs(@Vector(3, u512), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6386 try testArgs(@Vector(3, i1024), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6387 try testArgs(@Vector(3, u1024), @Vector(3, i15), .{ -1 << 14, -1, 0 });
6388 try testArgs(@Vector(3, i8), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6389 try testArgs(@Vector(3, u8), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6390 try testArgs(@Vector(3, i16), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6391 try testArgs(@Vector(3, u16), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6392 try testArgs(@Vector(3, i32), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6393 try testArgs(@Vector(3, u32), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6394 try testArgs(@Vector(3, i64), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6395 try testArgs(@Vector(3, u64), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6396 try testArgs(@Vector(3, i128), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6397 try testArgs(@Vector(3, u128), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6398 try testArgs(@Vector(3, i256), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6399 try testArgs(@Vector(3, u256), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6400 try testArgs(@Vector(3, i512), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6401 try testArgs(@Vector(3, u512), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6402 try testArgs(@Vector(3, i1024), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6403 try testArgs(@Vector(3, u1024), @Vector(3, u15), .{ 0, 1, 1 << 14 });
6404
6405 try testArgs(@Vector(3, i8), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6406 try testArgs(@Vector(3, u8), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6407 try testArgs(@Vector(3, i16), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6408 try testArgs(@Vector(3, u16), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6409 try testArgs(@Vector(3, i32), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6410 try testArgs(@Vector(3, u32), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6411 try testArgs(@Vector(3, i64), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6412 try testArgs(@Vector(3, u64), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6413 try testArgs(@Vector(3, i128), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6414 try testArgs(@Vector(3, u128), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6415 try testArgs(@Vector(3, i256), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6416 try testArgs(@Vector(3, u256), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6417 try testArgs(@Vector(3, i512), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6418 try testArgs(@Vector(3, u512), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6419 try testArgs(@Vector(3, i1024), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6420 try testArgs(@Vector(3, u1024), @Vector(3, i16), .{ -1 << 15, -1, 0 });
6421 try testArgs(@Vector(3, i8), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6422 try testArgs(@Vector(3, u8), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6423 try testArgs(@Vector(3, i16), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6424 try testArgs(@Vector(3, u16), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6425 try testArgs(@Vector(3, i32), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6426 try testArgs(@Vector(3, u32), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6427 try testArgs(@Vector(3, i64), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6428 try testArgs(@Vector(3, u64), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6429 try testArgs(@Vector(3, i128), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6430 try testArgs(@Vector(3, u128), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6431 try testArgs(@Vector(3, i256), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6432 try testArgs(@Vector(3, u256), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6433 try testArgs(@Vector(3, i512), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6434 try testArgs(@Vector(3, u512), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6435 try testArgs(@Vector(3, i1024), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6436 try testArgs(@Vector(3, u1024), @Vector(3, u16), .{ 0, 1, 1 << 15 });
6437
6438 try testArgs(@Vector(3, i8), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6439 try testArgs(@Vector(3, u8), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6440 try testArgs(@Vector(3, i16), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6441 try testArgs(@Vector(3, u16), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6442 try testArgs(@Vector(3, i32), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6443 try testArgs(@Vector(3, u32), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6444 try testArgs(@Vector(3, i64), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6445 try testArgs(@Vector(3, u64), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6446 try testArgs(@Vector(3, i128), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6447 try testArgs(@Vector(3, u128), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6448 try testArgs(@Vector(3, i256), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6449 try testArgs(@Vector(3, u256), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6450 try testArgs(@Vector(3, i512), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6451 try testArgs(@Vector(3, u512), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6452 try testArgs(@Vector(3, i1024), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6453 try testArgs(@Vector(3, u1024), @Vector(3, i17), .{ -1 << 16, -1, 0 });
6454 try testArgs(@Vector(3, i8), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6455 try testArgs(@Vector(3, u8), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6456 try testArgs(@Vector(3, i16), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6457 try testArgs(@Vector(3, u16), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6458 try testArgs(@Vector(3, i32), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6459 try testArgs(@Vector(3, u32), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6460 try testArgs(@Vector(3, i64), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6461 try testArgs(@Vector(3, u64), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6462 try testArgs(@Vector(3, i128), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6463 try testArgs(@Vector(3, u128), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6464 try testArgs(@Vector(3, i256), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6465 try testArgs(@Vector(3, u256), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6466 try testArgs(@Vector(3, i512), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6467 try testArgs(@Vector(3, u512), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6468 try testArgs(@Vector(3, i1024), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6469 try testArgs(@Vector(3, u1024), @Vector(3, u17), .{ 0, 1, 1 << 16 });
6470
6471 try testArgs(@Vector(3, i8), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6472 try testArgs(@Vector(3, u8), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6473 try testArgs(@Vector(3, i16), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6474 try testArgs(@Vector(3, u16), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6475 try testArgs(@Vector(3, i32), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6476 try testArgs(@Vector(3, u32), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6477 try testArgs(@Vector(3, i64), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6478 try testArgs(@Vector(3, u64), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6479 try testArgs(@Vector(3, i128), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6480 try testArgs(@Vector(3, u128), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6481 try testArgs(@Vector(3, i256), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6482 try testArgs(@Vector(3, u256), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6483 try testArgs(@Vector(3, i512), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6484 try testArgs(@Vector(3, u512), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6485 try testArgs(@Vector(3, i1024), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6486 try testArgs(@Vector(3, u1024), @Vector(3, i31), .{ -1 << 30, -1, 0 });
6487 try testArgs(@Vector(3, i8), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6488 try testArgs(@Vector(3, u8), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6489 try testArgs(@Vector(3, i16), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6490 try testArgs(@Vector(3, u16), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6491 try testArgs(@Vector(3, i32), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6492 try testArgs(@Vector(3, u32), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6493 try testArgs(@Vector(3, i64), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6494 try testArgs(@Vector(3, u64), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6495 try testArgs(@Vector(3, i128), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6496 try testArgs(@Vector(3, u128), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6497 try testArgs(@Vector(3, i256), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6498 try testArgs(@Vector(3, u256), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6499 try testArgs(@Vector(3, i512), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6500 try testArgs(@Vector(3, u512), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6501 try testArgs(@Vector(3, i1024), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6502 try testArgs(@Vector(3, u1024), @Vector(3, u31), .{ 0, 1, 1 << 30 });
6503
6504 try testArgs(@Vector(3, i8), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6505 try testArgs(@Vector(3, u8), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6506 try testArgs(@Vector(3, i16), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6507 try testArgs(@Vector(3, u16), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6508 try testArgs(@Vector(3, i32), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6509 try testArgs(@Vector(3, u32), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6510 try testArgs(@Vector(3, i64), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6511 try testArgs(@Vector(3, u64), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6512 try testArgs(@Vector(3, i128), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6513 try testArgs(@Vector(3, u128), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6514 try testArgs(@Vector(3, i256), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6515 try testArgs(@Vector(3, u256), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6516 try testArgs(@Vector(3, i512), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6517 try testArgs(@Vector(3, u512), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6518 try testArgs(@Vector(3, i1024), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6519 try testArgs(@Vector(3, u1024), @Vector(3, i32), .{ -1 << 31, -1, 0 });
6520 try testArgs(@Vector(3, i8), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6521 try testArgs(@Vector(3, u8), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6522 try testArgs(@Vector(3, i16), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6523 try testArgs(@Vector(3, u16), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6524 try testArgs(@Vector(3, i32), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6525 try testArgs(@Vector(3, u32), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6526 try testArgs(@Vector(3, i64), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6527 try testArgs(@Vector(3, u64), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6528 try testArgs(@Vector(3, i128), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6529 try testArgs(@Vector(3, u128), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6530 try testArgs(@Vector(3, i256), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6531 try testArgs(@Vector(3, u256), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6532 try testArgs(@Vector(3, i512), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6533 try testArgs(@Vector(3, u512), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6534 try testArgs(@Vector(3, i1024), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6535 try testArgs(@Vector(3, u1024), @Vector(3, u32), .{ 0, 1, 1 << 31 });
6536
6537 try testArgs(@Vector(3, i8), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6538 try testArgs(@Vector(3, u8), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6539 try testArgs(@Vector(3, i16), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6540 try testArgs(@Vector(3, u16), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6541 try testArgs(@Vector(3, i32), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6542 try testArgs(@Vector(3, u32), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6543 try testArgs(@Vector(3, i64), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6544 try testArgs(@Vector(3, u64), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6545 try testArgs(@Vector(3, i128), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6546 try testArgs(@Vector(3, u128), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6547 try testArgs(@Vector(3, i256), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6548 try testArgs(@Vector(3, u256), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6549 try testArgs(@Vector(3, i512), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6550 try testArgs(@Vector(3, u512), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6551 try testArgs(@Vector(3, i1024), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6552 try testArgs(@Vector(3, u1024), @Vector(3, i33), .{ -1 << 32, -1, 0 });
6553 try testArgs(@Vector(3, i8), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6554 try testArgs(@Vector(3, u8), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6555 try testArgs(@Vector(3, i16), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6556 try testArgs(@Vector(3, u16), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6557 try testArgs(@Vector(3, i32), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6558 try testArgs(@Vector(3, u32), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6559 try testArgs(@Vector(3, i64), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6560 try testArgs(@Vector(3, u64), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6561 try testArgs(@Vector(3, i128), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6562 try testArgs(@Vector(3, u128), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6563 try testArgs(@Vector(3, i256), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6564 try testArgs(@Vector(3, u256), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6565 try testArgs(@Vector(3, i512), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6566 try testArgs(@Vector(3, u512), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6567 try testArgs(@Vector(3, i1024), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6568 try testArgs(@Vector(3, u1024), @Vector(3, u33), .{ 0, 1, 1 << 32 });
6569
6570 try testArgs(@Vector(3, i8), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6571 try testArgs(@Vector(3, u8), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6572 try testArgs(@Vector(3, i16), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6573 try testArgs(@Vector(3, u16), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6574 try testArgs(@Vector(3, i32), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6575 try testArgs(@Vector(3, u32), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6576 try testArgs(@Vector(3, i64), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6577 try testArgs(@Vector(3, u64), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6578 try testArgs(@Vector(3, i128), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6579 try testArgs(@Vector(3, u128), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6580 try testArgs(@Vector(3, i256), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6581 try testArgs(@Vector(3, u256), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6582 try testArgs(@Vector(3, i512), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6583 try testArgs(@Vector(3, u512), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6584 try testArgs(@Vector(3, i1024), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6585 try testArgs(@Vector(3, u1024), @Vector(3, i63), .{ -1 << 62, -1, 0 });
6586 try testArgs(@Vector(3, i8), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6587 try testArgs(@Vector(3, u8), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6588 try testArgs(@Vector(3, i16), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6589 try testArgs(@Vector(3, u16), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6590 try testArgs(@Vector(3, i32), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6591 try testArgs(@Vector(3, u32), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6592 try testArgs(@Vector(3, i64), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6593 try testArgs(@Vector(3, u64), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6594 try testArgs(@Vector(3, i128), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6595 try testArgs(@Vector(3, u128), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6596 try testArgs(@Vector(3, i256), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6597 try testArgs(@Vector(3, u256), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6598 try testArgs(@Vector(3, i512), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6599 try testArgs(@Vector(3, u512), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6600 try testArgs(@Vector(3, i1024), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6601 try testArgs(@Vector(3, u1024), @Vector(3, u63), .{ 0, 1, 1 << 62 });
6602
6603 try testArgs(@Vector(3, i8), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6604 try testArgs(@Vector(3, u8), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6605 try testArgs(@Vector(3, i16), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6606 try testArgs(@Vector(3, u16), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6607 try testArgs(@Vector(3, i32), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6608 try testArgs(@Vector(3, u32), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6609 try testArgs(@Vector(3, i64), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6610 try testArgs(@Vector(3, u64), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6611 try testArgs(@Vector(3, i128), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6612 try testArgs(@Vector(3, u128), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6613 try testArgs(@Vector(3, i256), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6614 try testArgs(@Vector(3, u256), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6615 try testArgs(@Vector(3, i512), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6616 try testArgs(@Vector(3, u512), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6617 try testArgs(@Vector(3, i1024), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6618 try testArgs(@Vector(3, u1024), @Vector(3, i64), .{ -1 << 63, -1, 0 });
6619 try testArgs(@Vector(3, i8), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6620 try testArgs(@Vector(3, u8), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6621 try testArgs(@Vector(3, i16), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6622 try testArgs(@Vector(3, u16), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6623 try testArgs(@Vector(3, i32), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6624 try testArgs(@Vector(3, u32), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6625 try testArgs(@Vector(3, i64), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6626 try testArgs(@Vector(3, u64), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6627 try testArgs(@Vector(3, i128), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6628 try testArgs(@Vector(3, u128), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6629 try testArgs(@Vector(3, i256), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6630 try testArgs(@Vector(3, u256), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6631 try testArgs(@Vector(3, i512), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6632 try testArgs(@Vector(3, u512), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6633 try testArgs(@Vector(3, i1024), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6634 try testArgs(@Vector(3, u1024), @Vector(3, u64), .{ 0, 1, 1 << 63 });
6635
6636 try testArgs(@Vector(3, i8), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6637 try testArgs(@Vector(3, u8), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6638 try testArgs(@Vector(3, i16), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6639 try testArgs(@Vector(3, u16), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6640 try testArgs(@Vector(3, i32), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6641 try testArgs(@Vector(3, u32), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6642 try testArgs(@Vector(3, i64), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6643 try testArgs(@Vector(3, u64), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6644 try testArgs(@Vector(3, i128), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6645 try testArgs(@Vector(3, u128), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6646 try testArgs(@Vector(3, i256), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6647 try testArgs(@Vector(3, u256), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6648 try testArgs(@Vector(3, i512), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6649 try testArgs(@Vector(3, u512), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6650 try testArgs(@Vector(3, i1024), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6651 try testArgs(@Vector(3, u1024), @Vector(3, i65), .{ -1 << 64, -1, 0 });
6652 try testArgs(@Vector(3, i8), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6653 try testArgs(@Vector(3, u8), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6654 try testArgs(@Vector(3, i16), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6655 try testArgs(@Vector(3, u16), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6656 try testArgs(@Vector(3, i32), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6657 try testArgs(@Vector(3, u32), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6658 try testArgs(@Vector(3, i64), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6659 try testArgs(@Vector(3, u64), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6660 try testArgs(@Vector(3, i128), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6661 try testArgs(@Vector(3, u128), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6662 try testArgs(@Vector(3, i256), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6663 try testArgs(@Vector(3, u256), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6664 try testArgs(@Vector(3, i512), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6665 try testArgs(@Vector(3, u512), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6666 try testArgs(@Vector(3, i1024), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6667 try testArgs(@Vector(3, u1024), @Vector(3, u65), .{ 0, 1, 1 << 64 });
6668
6669 try testArgs(@Vector(3, i8), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6670 try testArgs(@Vector(3, u8), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6671 try testArgs(@Vector(3, i16), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6672 try testArgs(@Vector(3, u16), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6673 try testArgs(@Vector(3, i32), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6674 try testArgs(@Vector(3, u32), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6675 try testArgs(@Vector(3, i64), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6676 try testArgs(@Vector(3, u64), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6677 try testArgs(@Vector(3, i128), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6678 try testArgs(@Vector(3, u128), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6679 try testArgs(@Vector(3, i256), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6680 try testArgs(@Vector(3, u256), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6681 try testArgs(@Vector(3, i512), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6682 try testArgs(@Vector(3, u512), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6683 try testArgs(@Vector(3, i1024), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6684 try testArgs(@Vector(3, u1024), @Vector(3, i95), .{ -1 << 94, -1, 0 });
6685 try testArgs(@Vector(3, i8), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6686 try testArgs(@Vector(3, u8), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6687 try testArgs(@Vector(3, i16), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6688 try testArgs(@Vector(3, u16), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6689 try testArgs(@Vector(3, i32), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6690 try testArgs(@Vector(3, u32), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6691 try testArgs(@Vector(3, i64), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6692 try testArgs(@Vector(3, u64), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6693 try testArgs(@Vector(3, i128), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6694 try testArgs(@Vector(3, u128), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6695 try testArgs(@Vector(3, i256), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6696 try testArgs(@Vector(3, u256), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6697 try testArgs(@Vector(3, i512), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6698 try testArgs(@Vector(3, u512), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6699 try testArgs(@Vector(3, i1024), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6700 try testArgs(@Vector(3, u1024), @Vector(3, u95), .{ 0, 1, 1 << 94 });
6701
6702 try testArgs(@Vector(3, i8), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6703 try testArgs(@Vector(3, u8), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6704 try testArgs(@Vector(3, i16), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6705 try testArgs(@Vector(3, u16), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6706 try testArgs(@Vector(3, i32), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6707 try testArgs(@Vector(3, u32), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6708 try testArgs(@Vector(3, i64), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6709 try testArgs(@Vector(3, u64), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6710 try testArgs(@Vector(3, i128), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6711 try testArgs(@Vector(3, u128), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6712 try testArgs(@Vector(3, i256), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6713 try testArgs(@Vector(3, u256), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6714 try testArgs(@Vector(3, i512), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6715 try testArgs(@Vector(3, u512), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6716 try testArgs(@Vector(3, i1024), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6717 try testArgs(@Vector(3, u1024), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6718 try testArgs(@Vector(3, i8), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6719 try testArgs(@Vector(3, u8), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6720 try testArgs(@Vector(3, i16), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6721 try testArgs(@Vector(3, u16), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6722 try testArgs(@Vector(3, i32), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6723 try testArgs(@Vector(3, u32), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6724 try testArgs(@Vector(3, i64), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6725 try testArgs(@Vector(3, u64), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6726 try testArgs(@Vector(3, i128), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6727 try testArgs(@Vector(3, u128), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6728 try testArgs(@Vector(3, i256), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6729 try testArgs(@Vector(3, u256), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6730 try testArgs(@Vector(3, i512), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6731 try testArgs(@Vector(3, u512), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6732 try testArgs(@Vector(3, i1024), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6733 try testArgs(@Vector(3, u1024), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6734
6735 try testArgs(@Vector(3, i8), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6736 try testArgs(@Vector(3, u8), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6737 try testArgs(@Vector(3, i16), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6738 try testArgs(@Vector(3, u16), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6739 try testArgs(@Vector(3, i32), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6740 try testArgs(@Vector(3, u32), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6741 try testArgs(@Vector(3, i64), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6742 try testArgs(@Vector(3, u64), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6743 try testArgs(@Vector(3, i128), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6744 try testArgs(@Vector(3, u128), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6745 try testArgs(@Vector(3, i256), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6746 try testArgs(@Vector(3, u256), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6747 try testArgs(@Vector(3, i512), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6748 try testArgs(@Vector(3, u512), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6749 try testArgs(@Vector(3, i1024), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6750 try testArgs(@Vector(3, u1024), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6751 try testArgs(@Vector(3, i8), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6752 try testArgs(@Vector(3, u8), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6753 try testArgs(@Vector(3, i16), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6754 try testArgs(@Vector(3, u16), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6755 try testArgs(@Vector(3, i32), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6756 try testArgs(@Vector(3, u32), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6757 try testArgs(@Vector(3, i64), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6758 try testArgs(@Vector(3, u64), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6759 try testArgs(@Vector(3, i128), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6760 try testArgs(@Vector(3, u128), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6761 try testArgs(@Vector(3, i256), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6762 try testArgs(@Vector(3, u256), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6763 try testArgs(@Vector(3, i512), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6764 try testArgs(@Vector(3, u512), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6765 try testArgs(@Vector(3, i1024), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6766 try testArgs(@Vector(3, u1024), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6767
6768 try testArgs(@Vector(3, i8), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6769 try testArgs(@Vector(3, u8), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6770 try testArgs(@Vector(3, i16), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6771 try testArgs(@Vector(3, u16), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6772 try testArgs(@Vector(3, i32), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6773 try testArgs(@Vector(3, u32), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6774 try testArgs(@Vector(3, i64), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6775 try testArgs(@Vector(3, u64), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6776 try testArgs(@Vector(3, i128), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6777 try testArgs(@Vector(3, u128), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6778 try testArgs(@Vector(3, i256), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6779 try testArgs(@Vector(3, u256), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6780 try testArgs(@Vector(3, i512), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6781 try testArgs(@Vector(3, u512), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6782 try testArgs(@Vector(3, i1024), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6783 try testArgs(@Vector(3, u1024), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6784 try testArgs(@Vector(3, i8), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6785 try testArgs(@Vector(3, u8), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6786 try testArgs(@Vector(3, i16), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6787 try testArgs(@Vector(3, u16), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6788 try testArgs(@Vector(3, i32), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6789 try testArgs(@Vector(3, u32), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6790 try testArgs(@Vector(3, i64), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6791 try testArgs(@Vector(3, u64), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6792 try testArgs(@Vector(3, i128), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6793 try testArgs(@Vector(3, u128), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6794 try testArgs(@Vector(3, i256), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6795 try testArgs(@Vector(3, u256), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6796 try testArgs(@Vector(3, i512), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6797 try testArgs(@Vector(3, u512), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6798 try testArgs(@Vector(3, i1024), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6799 try testArgs(@Vector(3, u1024), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6800
6801 try testArgs(@Vector(3, i8), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6802 try testArgs(@Vector(3, u8), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6803 try testArgs(@Vector(3, i16), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6804 try testArgs(@Vector(3, u16), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6805 try testArgs(@Vector(3, i32), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6806 try testArgs(@Vector(3, u32), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6807 try testArgs(@Vector(3, i64), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6808 try testArgs(@Vector(3, u64), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6809 try testArgs(@Vector(3, i128), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6810 try testArgs(@Vector(3, u128), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6811 try testArgs(@Vector(3, i256), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6812 try testArgs(@Vector(3, u256), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6813 try testArgs(@Vector(3, i512), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6814 try testArgs(@Vector(3, u512), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6815 try testArgs(@Vector(3, i1024), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6816 try testArgs(@Vector(3, u1024), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6817 try testArgs(@Vector(3, i8), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6818 try testArgs(@Vector(3, u8), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6819 try testArgs(@Vector(3, i16), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6820 try testArgs(@Vector(3, u16), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6821 try testArgs(@Vector(3, i32), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6822 try testArgs(@Vector(3, u32), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6823 try testArgs(@Vector(3, i64), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6824 try testArgs(@Vector(3, u64), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6825 try testArgs(@Vector(3, i128), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6826 try testArgs(@Vector(3, u128), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6827 try testArgs(@Vector(3, i256), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6828 try testArgs(@Vector(3, u256), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6829 try testArgs(@Vector(3, i512), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6830 try testArgs(@Vector(3, u512), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6831 try testArgs(@Vector(3, i1024), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6832 try testArgs(@Vector(3, u1024), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6833
6834 try testArgs(@Vector(3, i8), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6835 try testArgs(@Vector(3, u8), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6836 try testArgs(@Vector(3, i16), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6837 try testArgs(@Vector(3, u16), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6838 try testArgs(@Vector(3, i32), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6839 try testArgs(@Vector(3, u32), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6840 try testArgs(@Vector(3, i64), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6841 try testArgs(@Vector(3, u64), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6842 try testArgs(@Vector(3, i128), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6843 try testArgs(@Vector(3, u128), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6844 try testArgs(@Vector(3, i256), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6845 try testArgs(@Vector(3, u256), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6846 try testArgs(@Vector(3, i512), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6847 try testArgs(@Vector(3, u512), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6848 try testArgs(@Vector(3, i1024), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6849 try testArgs(@Vector(3, u1024), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6850 try testArgs(@Vector(3, i8), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6851 try testArgs(@Vector(3, u8), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6852 try testArgs(@Vector(3, i16), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6853 try testArgs(@Vector(3, u16), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6854 try testArgs(@Vector(3, i32), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6855 try testArgs(@Vector(3, u32), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6856 try testArgs(@Vector(3, i64), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6857 try testArgs(@Vector(3, u64), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6858 try testArgs(@Vector(3, i128), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6859 try testArgs(@Vector(3, u128), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6860 try testArgs(@Vector(3, i256), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6861 try testArgs(@Vector(3, u256), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6862 try testArgs(@Vector(3, i512), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6863 try testArgs(@Vector(3, u512), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6864 try testArgs(@Vector(3, i1024), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6865 try testArgs(@Vector(3, u1024), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6866
6867 try testArgs(@Vector(3, i8), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6868 try testArgs(@Vector(3, u8), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6869 try testArgs(@Vector(3, i16), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6870 try testArgs(@Vector(3, u16), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6871 try testArgs(@Vector(3, i32), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6872 try testArgs(@Vector(3, u32), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6873 try testArgs(@Vector(3, i64), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6874 try testArgs(@Vector(3, u64), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6875 try testArgs(@Vector(3, i128), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6876 try testArgs(@Vector(3, u128), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6877 try testArgs(@Vector(3, i256), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6878 try testArgs(@Vector(3, u256), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6879 try testArgs(@Vector(3, i512), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6880 try testArgs(@Vector(3, u512), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6881 try testArgs(@Vector(3, i1024), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6882 try testArgs(@Vector(3, u1024), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6883 try testArgs(@Vector(3, i8), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6884 try testArgs(@Vector(3, u8), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6885 try testArgs(@Vector(3, i16), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6886 try testArgs(@Vector(3, u16), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6887 try testArgs(@Vector(3, i32), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6888 try testArgs(@Vector(3, u32), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6889 try testArgs(@Vector(3, i64), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6890 try testArgs(@Vector(3, u64), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6891 try testArgs(@Vector(3, i128), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6892 try testArgs(@Vector(3, u128), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6893 try testArgs(@Vector(3, i256), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6894 try testArgs(@Vector(3, u256), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6895 try testArgs(@Vector(3, i512), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6896 try testArgs(@Vector(3, u512), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6897 try testArgs(@Vector(3, i1024), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6898 try testArgs(@Vector(3, u1024), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6899
6900 try testArgs(@Vector(3, i8), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6901 try testArgs(@Vector(3, u8), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6902 try testArgs(@Vector(3, i16), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6903 try testArgs(@Vector(3, u16), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6904 try testArgs(@Vector(3, i32), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6905 try testArgs(@Vector(3, u32), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6906 try testArgs(@Vector(3, i64), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6907 try testArgs(@Vector(3, u64), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6908 try testArgs(@Vector(3, i128), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6909 try testArgs(@Vector(3, u128), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6910 try testArgs(@Vector(3, i256), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6911 try testArgs(@Vector(3, u256), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6912 try testArgs(@Vector(3, i512), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6913 try testArgs(@Vector(3, u512), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6914 try testArgs(@Vector(3, i1024), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6915 try testArgs(@Vector(3, u1024), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6916 try testArgs(@Vector(3, i8), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6917 try testArgs(@Vector(3, u8), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6918 try testArgs(@Vector(3, i16), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6919 try testArgs(@Vector(3, u16), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6920 try testArgs(@Vector(3, i32), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6921 try testArgs(@Vector(3, u32), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6922 try testArgs(@Vector(3, i64), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6923 try testArgs(@Vector(3, u64), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6924 try testArgs(@Vector(3, i128), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6925 try testArgs(@Vector(3, u128), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6926 try testArgs(@Vector(3, i256), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6927 try testArgs(@Vector(3, u256), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6928 try testArgs(@Vector(3, i512), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6929 try testArgs(@Vector(3, u512), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6930 try testArgs(@Vector(3, i1024), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6931 try testArgs(@Vector(3, u1024), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6932
6933 try testArgs(@Vector(3, i8), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6934 try testArgs(@Vector(3, u8), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6935 try testArgs(@Vector(3, i16), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6936 try testArgs(@Vector(3, u16), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6937 try testArgs(@Vector(3, i32), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6938 try testArgs(@Vector(3, u32), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6939 try testArgs(@Vector(3, i64), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6940 try testArgs(@Vector(3, u64), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6941 try testArgs(@Vector(3, i128), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6942 try testArgs(@Vector(3, u128), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6943 try testArgs(@Vector(3, i256), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6944 try testArgs(@Vector(3, u256), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6945 try testArgs(@Vector(3, i512), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6946 try testArgs(@Vector(3, u512), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6947 try testArgs(@Vector(3, i1024), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6948 try testArgs(@Vector(3, u1024), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6949 try testArgs(@Vector(3, i8), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6950 try testArgs(@Vector(3, u8), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6951 try testArgs(@Vector(3, i16), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6952 try testArgs(@Vector(3, u16), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6953 try testArgs(@Vector(3, i32), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6954 try testArgs(@Vector(3, u32), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6955 try testArgs(@Vector(3, i64), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6956 try testArgs(@Vector(3, u64), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6957 try testArgs(@Vector(3, i128), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6958 try testArgs(@Vector(3, u128), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6959 try testArgs(@Vector(3, i256), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6960 try testArgs(@Vector(3, u256), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6961 try testArgs(@Vector(3, i512), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6962 try testArgs(@Vector(3, u512), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6963 try testArgs(@Vector(3, i1024), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6964 try testArgs(@Vector(3, u1024), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6965
6966 try testArgs(@Vector(3, i8), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6967 try testArgs(@Vector(3, u8), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6968 try testArgs(@Vector(3, i16), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6969 try testArgs(@Vector(3, u16), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6970 try testArgs(@Vector(3, i32), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6971 try testArgs(@Vector(3, u32), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6972 try testArgs(@Vector(3, i64), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6973 try testArgs(@Vector(3, u64), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6974 try testArgs(@Vector(3, i128), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6975 try testArgs(@Vector(3, u128), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6976 try testArgs(@Vector(3, i256), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6977 try testArgs(@Vector(3, u256), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6978 try testArgs(@Vector(3, i512), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6979 try testArgs(@Vector(3, u512), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6980 try testArgs(@Vector(3, i1024), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6981 try testArgs(@Vector(3, u1024), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6982 try testArgs(@Vector(3, i8), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6983 try testArgs(@Vector(3, u8), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6984 try testArgs(@Vector(3, i16), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6985 try testArgs(@Vector(3, u16), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6986 try testArgs(@Vector(3, i32), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6987 try testArgs(@Vector(3, u32), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6988 try testArgs(@Vector(3, i64), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6989 try testArgs(@Vector(3, u64), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6990 try testArgs(@Vector(3, i128), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6991 try testArgs(@Vector(3, u128), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6992 try testArgs(@Vector(3, i256), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6993 try testArgs(@Vector(3, u256), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6994 try testArgs(@Vector(3, i512), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6995 try testArgs(@Vector(3, u512), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6996 try testArgs(@Vector(3, i1024), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6997 try testArgs(@Vector(3, u1024), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6998
6999 try testArgs(@Vector(3, i8), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7000 try testArgs(@Vector(3, u8), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7001 try testArgs(@Vector(3, i16), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7002 try testArgs(@Vector(3, u16), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7003 try testArgs(@Vector(3, i32), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7004 try testArgs(@Vector(3, u32), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7005 try testArgs(@Vector(3, i64), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7006 try testArgs(@Vector(3, u64), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7007 try testArgs(@Vector(3, i128), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7008 try testArgs(@Vector(3, u128), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7009 try testArgs(@Vector(3, i256), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7010 try testArgs(@Vector(3, u256), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7011 try testArgs(@Vector(3, i512), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7012 try testArgs(@Vector(3, u512), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7013 try testArgs(@Vector(3, i1024), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7014 try testArgs(@Vector(3, u1024), @Vector(3, i192), .{ -1 << 191, -1, 0 });
7015 try testArgs(@Vector(3, i8), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7016 try testArgs(@Vector(3, u8), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7017 try testArgs(@Vector(3, i16), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7018 try testArgs(@Vector(3, u16), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7019 try testArgs(@Vector(3, i32), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7020 try testArgs(@Vector(3, u32), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7021 try testArgs(@Vector(3, i64), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7022 try testArgs(@Vector(3, u64), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7023 try testArgs(@Vector(3, i128), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7024 try testArgs(@Vector(3, u128), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7025 try testArgs(@Vector(3, i256), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7026 try testArgs(@Vector(3, u256), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7027 try testArgs(@Vector(3, i512), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7028 try testArgs(@Vector(3, u512), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7029 try testArgs(@Vector(3, i1024), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7030 try testArgs(@Vector(3, u1024), @Vector(3, u192), .{ 0, 1, 1 << 191 });
7031
7032 try testArgs(@Vector(3, i8), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7033 try testArgs(@Vector(3, u8), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7034 try testArgs(@Vector(3, i16), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7035 try testArgs(@Vector(3, u16), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7036 try testArgs(@Vector(3, i32), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7037 try testArgs(@Vector(3, u32), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7038 try testArgs(@Vector(3, i64), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7039 try testArgs(@Vector(3, u64), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7040 try testArgs(@Vector(3, i128), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7041 try testArgs(@Vector(3, u128), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7042 try testArgs(@Vector(3, i256), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7043 try testArgs(@Vector(3, u256), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7044 try testArgs(@Vector(3, i512), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7045 try testArgs(@Vector(3, u512), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7046 try testArgs(@Vector(3, i1024), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7047 try testArgs(@Vector(3, u1024), @Vector(3, i193), .{ -1 << 192, -1, 0 });
7048 try testArgs(@Vector(3, i8), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7049 try testArgs(@Vector(3, u8), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7050 try testArgs(@Vector(3, i16), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7051 try testArgs(@Vector(3, u16), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7052 try testArgs(@Vector(3, i32), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7053 try testArgs(@Vector(3, u32), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7054 try testArgs(@Vector(3, i64), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7055 try testArgs(@Vector(3, u64), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7056 try testArgs(@Vector(3, i128), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7057 try testArgs(@Vector(3, u128), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7058 try testArgs(@Vector(3, i256), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7059 try testArgs(@Vector(3, u256), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7060 try testArgs(@Vector(3, i512), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7061 try testArgs(@Vector(3, u512), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7062 try testArgs(@Vector(3, i1024), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7063 try testArgs(@Vector(3, u1024), @Vector(3, u193), .{ 0, 1, 1 << 192 });
7064
7065 try testArgs(@Vector(3, i8), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7066 try testArgs(@Vector(3, u8), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7067 try testArgs(@Vector(3, i16), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7068 try testArgs(@Vector(3, u16), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7069 try testArgs(@Vector(3, i32), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7070 try testArgs(@Vector(3, u32), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7071 try testArgs(@Vector(3, i64), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7072 try testArgs(@Vector(3, u64), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7073 try testArgs(@Vector(3, i128), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7074 try testArgs(@Vector(3, u128), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7075 try testArgs(@Vector(3, i256), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7076 try testArgs(@Vector(3, u256), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7077 try testArgs(@Vector(3, i512), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7078 try testArgs(@Vector(3, u512), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7079 try testArgs(@Vector(3, i1024), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7080 try testArgs(@Vector(3, u1024), @Vector(3, i223), .{ -1 << 222, -1, 0 });
7081 try testArgs(@Vector(3, i8), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7082 try testArgs(@Vector(3, u8), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7083 try testArgs(@Vector(3, i16), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7084 try testArgs(@Vector(3, u16), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7085 try testArgs(@Vector(3, i32), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7086 try testArgs(@Vector(3, u32), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7087 try testArgs(@Vector(3, i64), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7088 try testArgs(@Vector(3, u64), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7089 try testArgs(@Vector(3, i128), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7090 try testArgs(@Vector(3, u128), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7091 try testArgs(@Vector(3, i256), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7092 try testArgs(@Vector(3, u256), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7093 try testArgs(@Vector(3, i512), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7094 try testArgs(@Vector(3, u512), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7095 try testArgs(@Vector(3, i1024), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7096 try testArgs(@Vector(3, u1024), @Vector(3, u223), .{ 0, 1, 1 << 222 });
7097
7098 try testArgs(@Vector(3, i8), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7099 try testArgs(@Vector(3, u8), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7100 try testArgs(@Vector(3, i16), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7101 try testArgs(@Vector(3, u16), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7102 try testArgs(@Vector(3, i32), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7103 try testArgs(@Vector(3, u32), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7104 try testArgs(@Vector(3, i64), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7105 try testArgs(@Vector(3, u64), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7106 try testArgs(@Vector(3, i128), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7107 try testArgs(@Vector(3, u128), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7108 try testArgs(@Vector(3, i256), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7109 try testArgs(@Vector(3, u256), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7110 try testArgs(@Vector(3, i512), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7111 try testArgs(@Vector(3, u512), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7112 try testArgs(@Vector(3, i1024), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7113 try testArgs(@Vector(3, u1024), @Vector(3, i224), .{ -1 << 223, -1, 0 });
7114 try testArgs(@Vector(3, i8), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7115 try testArgs(@Vector(3, u8), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7116 try testArgs(@Vector(3, i16), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7117 try testArgs(@Vector(3, u16), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7118 try testArgs(@Vector(3, i32), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7119 try testArgs(@Vector(3, u32), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7120 try testArgs(@Vector(3, i64), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7121 try testArgs(@Vector(3, u64), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7122 try testArgs(@Vector(3, i128), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7123 try testArgs(@Vector(3, u128), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7124 try testArgs(@Vector(3, i256), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7125 try testArgs(@Vector(3, u256), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7126 try testArgs(@Vector(3, i512), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7127 try testArgs(@Vector(3, u512), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7128 try testArgs(@Vector(3, i1024), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7129 try testArgs(@Vector(3, u1024), @Vector(3, u224), .{ 0, 1, 1 << 223 });
7130
7131 try testArgs(@Vector(3, i8), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7132 try testArgs(@Vector(3, u8), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7133 try testArgs(@Vector(3, i16), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7134 try testArgs(@Vector(3, u16), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7135 try testArgs(@Vector(3, i32), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7136 try testArgs(@Vector(3, u32), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7137 try testArgs(@Vector(3, i64), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7138 try testArgs(@Vector(3, u64), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7139 try testArgs(@Vector(3, i128), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7140 try testArgs(@Vector(3, u128), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7141 try testArgs(@Vector(3, i256), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7142 try testArgs(@Vector(3, u256), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7143 try testArgs(@Vector(3, i512), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7144 try testArgs(@Vector(3, u512), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7145 try testArgs(@Vector(3, i1024), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7146 try testArgs(@Vector(3, u1024), @Vector(3, i225), .{ -1 << 224, -1, 0 });
7147 try testArgs(@Vector(3, i8), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7148 try testArgs(@Vector(3, u8), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7149 try testArgs(@Vector(3, i16), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7150 try testArgs(@Vector(3, u16), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7151 try testArgs(@Vector(3, i32), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7152 try testArgs(@Vector(3, u32), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7153 try testArgs(@Vector(3, i64), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7154 try testArgs(@Vector(3, u64), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7155 try testArgs(@Vector(3, i128), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7156 try testArgs(@Vector(3, u128), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7157 try testArgs(@Vector(3, i256), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7158 try testArgs(@Vector(3, u256), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7159 try testArgs(@Vector(3, i512), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7160 try testArgs(@Vector(3, u512), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7161 try testArgs(@Vector(3, i1024), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7162 try testArgs(@Vector(3, u1024), @Vector(3, u225), .{ 0, 1, 1 << 224 });
7163
7164 try testArgs(@Vector(3, i8), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7165 try testArgs(@Vector(3, u8), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7166 try testArgs(@Vector(3, i16), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7167 try testArgs(@Vector(3, u16), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7168 try testArgs(@Vector(3, i32), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7169 try testArgs(@Vector(3, u32), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7170 try testArgs(@Vector(3, i64), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7171 try testArgs(@Vector(3, u64), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7172 try testArgs(@Vector(3, i128), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7173 try testArgs(@Vector(3, u128), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7174 try testArgs(@Vector(3, i256), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7175 try testArgs(@Vector(3, u256), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7176 try testArgs(@Vector(3, i512), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7177 try testArgs(@Vector(3, u512), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7178 try testArgs(@Vector(3, i1024), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7179 try testArgs(@Vector(3, u1024), @Vector(3, i255), .{ -1 << 254, -1, 0 });
7180 try testArgs(@Vector(3, i8), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7181 try testArgs(@Vector(3, u8), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7182 try testArgs(@Vector(3, i16), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7183 try testArgs(@Vector(3, u16), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7184 try testArgs(@Vector(3, i32), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7185 try testArgs(@Vector(3, u32), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7186 try testArgs(@Vector(3, i64), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7187 try testArgs(@Vector(3, u64), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7188 try testArgs(@Vector(3, i128), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7189 try testArgs(@Vector(3, u128), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7190 try testArgs(@Vector(3, i256), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7191 try testArgs(@Vector(3, u256), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7192 try testArgs(@Vector(3, i512), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7193 try testArgs(@Vector(3, u512), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7194 try testArgs(@Vector(3, i1024), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7195 try testArgs(@Vector(3, u1024), @Vector(3, u255), .{ 0, 1, 1 << 254 });
7196
7197 try testArgs(@Vector(3, i8), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7198 try testArgs(@Vector(3, u8), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7199 try testArgs(@Vector(3, i16), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7200 try testArgs(@Vector(3, u16), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7201 try testArgs(@Vector(3, i32), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7202 try testArgs(@Vector(3, u32), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7203 try testArgs(@Vector(3, i64), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7204 try testArgs(@Vector(3, u64), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7205 try testArgs(@Vector(3, i128), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7206 try testArgs(@Vector(3, u128), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7207 try testArgs(@Vector(3, i256), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7208 try testArgs(@Vector(3, u256), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7209 try testArgs(@Vector(3, i512), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7210 try testArgs(@Vector(3, u512), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7211 try testArgs(@Vector(3, i1024), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7212 try testArgs(@Vector(3, u1024), @Vector(3, i256), .{ -1 << 255, -1, 0 });
7213 try testArgs(@Vector(3, i8), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7214 try testArgs(@Vector(3, u8), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7215 try testArgs(@Vector(3, i16), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7216 try testArgs(@Vector(3, u16), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7217 try testArgs(@Vector(3, i32), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7218 try testArgs(@Vector(3, u32), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7219 try testArgs(@Vector(3, i64), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7220 try testArgs(@Vector(3, u64), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7221 try testArgs(@Vector(3, i128), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7222 try testArgs(@Vector(3, u128), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7223 try testArgs(@Vector(3, i256), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7224 try testArgs(@Vector(3, u256), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7225 try testArgs(@Vector(3, i512), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7226 try testArgs(@Vector(3, u512), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7227 try testArgs(@Vector(3, i1024), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7228 try testArgs(@Vector(3, u1024), @Vector(3, u256), .{ 0, 1, 1 << 255 });
7229
7230 try testArgs(@Vector(3, i8), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7231 try testArgs(@Vector(3, u8), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7232 try testArgs(@Vector(3, i16), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7233 try testArgs(@Vector(3, u16), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7234 try testArgs(@Vector(3, i32), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7235 try testArgs(@Vector(3, u32), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7236 try testArgs(@Vector(3, i64), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7237 try testArgs(@Vector(3, u64), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7238 try testArgs(@Vector(3, i128), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7239 try testArgs(@Vector(3, u128), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7240 try testArgs(@Vector(3, i256), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7241 try testArgs(@Vector(3, u256), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7242 try testArgs(@Vector(3, i512), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7243 try testArgs(@Vector(3, u512), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7244 try testArgs(@Vector(3, i1024), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7245 try testArgs(@Vector(3, u1024), @Vector(3, i257), .{ -1 << 256, -1, 0 });
7246 try testArgs(@Vector(3, i8), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7247 try testArgs(@Vector(3, u8), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7248 try testArgs(@Vector(3, i16), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7249 try testArgs(@Vector(3, u16), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7250 try testArgs(@Vector(3, i32), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7251 try testArgs(@Vector(3, u32), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7252 try testArgs(@Vector(3, i64), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7253 try testArgs(@Vector(3, u64), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7254 try testArgs(@Vector(3, i128), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7255 try testArgs(@Vector(3, u128), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7256 try testArgs(@Vector(3, i256), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7257 try testArgs(@Vector(3, u256), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7258 try testArgs(@Vector(3, i512), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7259 try testArgs(@Vector(3, u512), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7260 try testArgs(@Vector(3, i1024), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7261 try testArgs(@Vector(3, u1024), @Vector(3, u257), .{ 0, 1, 1 << 256 });
7262
7263 try testArgs(@Vector(3, i8), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7264 try testArgs(@Vector(3, u8), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7265 try testArgs(@Vector(3, i16), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7266 try testArgs(@Vector(3, u16), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7267 try testArgs(@Vector(3, i32), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7268 try testArgs(@Vector(3, u32), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7269 try testArgs(@Vector(3, i64), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7270 try testArgs(@Vector(3, u64), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7271 try testArgs(@Vector(3, i128), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7272 try testArgs(@Vector(3, u128), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7273 try testArgs(@Vector(3, i256), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7274 try testArgs(@Vector(3, u256), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7275 try testArgs(@Vector(3, i512), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7276 try testArgs(@Vector(3, u512), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7277 try testArgs(@Vector(3, i1024), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7278 try testArgs(@Vector(3, u1024), @Vector(3, i511), .{ -1 << 510, -1, 0 });
7279 try testArgs(@Vector(3, i8), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7280 try testArgs(@Vector(3, u8), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7281 try testArgs(@Vector(3, i16), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7282 try testArgs(@Vector(3, u16), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7283 try testArgs(@Vector(3, i32), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7284 try testArgs(@Vector(3, u32), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7285 try testArgs(@Vector(3, i64), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7286 try testArgs(@Vector(3, u64), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7287 try testArgs(@Vector(3, i128), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7288 try testArgs(@Vector(3, u128), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7289 try testArgs(@Vector(3, i256), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7290 try testArgs(@Vector(3, u256), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7291 try testArgs(@Vector(3, i512), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7292 try testArgs(@Vector(3, u512), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7293 try testArgs(@Vector(3, i1024), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7294 try testArgs(@Vector(3, u1024), @Vector(3, u511), .{ 0, 1, 1 << 510 });
7295
7296 try testArgs(@Vector(3, i8), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7297 try testArgs(@Vector(3, u8), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7298 try testArgs(@Vector(3, i16), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7299 try testArgs(@Vector(3, u16), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7300 try testArgs(@Vector(3, i32), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7301 try testArgs(@Vector(3, u32), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7302 try testArgs(@Vector(3, i64), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7303 try testArgs(@Vector(3, u64), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7304 try testArgs(@Vector(3, i128), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7305 try testArgs(@Vector(3, u128), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7306 try testArgs(@Vector(3, i256), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7307 try testArgs(@Vector(3, u256), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7308 try testArgs(@Vector(3, i512), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7309 try testArgs(@Vector(3, u512), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7310 try testArgs(@Vector(3, i1024), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7311 try testArgs(@Vector(3, u1024), @Vector(3, i512), .{ -1 << 511, -1, 0 });
7312 try testArgs(@Vector(3, i8), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7313 try testArgs(@Vector(3, u8), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7314 try testArgs(@Vector(3, i16), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7315 try testArgs(@Vector(3, u16), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7316 try testArgs(@Vector(3, i32), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7317 try testArgs(@Vector(3, u32), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7318 try testArgs(@Vector(3, i64), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7319 try testArgs(@Vector(3, u64), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7320 try testArgs(@Vector(3, i128), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7321 try testArgs(@Vector(3, u128), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7322 try testArgs(@Vector(3, i256), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7323 try testArgs(@Vector(3, u256), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7324 try testArgs(@Vector(3, i512), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7325 try testArgs(@Vector(3, u512), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7326 try testArgs(@Vector(3, i1024), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7327 try testArgs(@Vector(3, u1024), @Vector(3, u512), .{ 0, 1, 1 << 511 });
7328
7329 try testArgs(@Vector(3, i8), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7330 try testArgs(@Vector(3, u8), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7331 try testArgs(@Vector(3, i16), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7332 try testArgs(@Vector(3, u16), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7333 try testArgs(@Vector(3, i32), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7334 try testArgs(@Vector(3, u32), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7335 try testArgs(@Vector(3, i64), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7336 try testArgs(@Vector(3, u64), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7337 try testArgs(@Vector(3, i128), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7338 try testArgs(@Vector(3, u128), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7339 try testArgs(@Vector(3, i256), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7340 try testArgs(@Vector(3, u256), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7341 try testArgs(@Vector(3, i512), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7342 try testArgs(@Vector(3, u512), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7343 try testArgs(@Vector(3, i1024), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7344 try testArgs(@Vector(3, u1024), @Vector(3, i513), .{ -1 << 512, -1, 0 });
7345 try testArgs(@Vector(3, i8), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7346 try testArgs(@Vector(3, u8), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7347 try testArgs(@Vector(3, i16), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7348 try testArgs(@Vector(3, u16), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7349 try testArgs(@Vector(3, i32), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7350 try testArgs(@Vector(3, u32), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7351 try testArgs(@Vector(3, i64), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7352 try testArgs(@Vector(3, u64), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7353 try testArgs(@Vector(3, i128), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7354 try testArgs(@Vector(3, u128), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7355 try testArgs(@Vector(3, i256), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7356 try testArgs(@Vector(3, u256), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7357 try testArgs(@Vector(3, i512), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7358 try testArgs(@Vector(3, u512), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7359 try testArgs(@Vector(3, i1024), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7360 try testArgs(@Vector(3, u1024), @Vector(3, u513), .{ 0, 1, 1 << 512 });
7361
7362 try testArgs(@Vector(3, i8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7363 try testArgs(@Vector(3, u8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7364 try testArgs(@Vector(3, i16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7365 try testArgs(@Vector(3, u16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7366 try testArgs(@Vector(3, i32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7367 try testArgs(@Vector(3, u32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7368 try testArgs(@Vector(3, i64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7369 try testArgs(@Vector(3, u64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7370 try testArgs(@Vector(3, i128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7371 try testArgs(@Vector(3, u128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7372 try testArgs(@Vector(3, i256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7373 try testArgs(@Vector(3, u256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7374 try testArgs(@Vector(3, i512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7375 try testArgs(@Vector(3, u512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7376 try testArgs(@Vector(3, i1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7377 try testArgs(@Vector(3, u1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
7378 try testArgs(@Vector(3, i8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7379 try testArgs(@Vector(3, u8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7380 try testArgs(@Vector(3, i16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7381 try testArgs(@Vector(3, u16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7382 try testArgs(@Vector(3, i32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7383 try testArgs(@Vector(3, u32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7384 try testArgs(@Vector(3, i64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7385 try testArgs(@Vector(3, u64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7386 try testArgs(@Vector(3, i128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7387 try testArgs(@Vector(3, u128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7388 try testArgs(@Vector(3, i256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7389 try testArgs(@Vector(3, u256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7390 try testArgs(@Vector(3, i512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7391 try testArgs(@Vector(3, u512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7392 try testArgs(@Vector(3, i1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7393 try testArgs(@Vector(3, u1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
7394
7395 try testArgs(@Vector(3, i8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7396 try testArgs(@Vector(3, u8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7397 try testArgs(@Vector(3, i16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7398 try testArgs(@Vector(3, u16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7399 try testArgs(@Vector(3, i32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7400 try testArgs(@Vector(3, u32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7401 try testArgs(@Vector(3, i64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7402 try testArgs(@Vector(3, u64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7403 try testArgs(@Vector(3, i128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7404 try testArgs(@Vector(3, u128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7405 try testArgs(@Vector(3, i256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7406 try testArgs(@Vector(3, u256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7407 try testArgs(@Vector(3, i512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7408 try testArgs(@Vector(3, u512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7409 try testArgs(@Vector(3, i1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7410 try testArgs(@Vector(3, u1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
7411 try testArgs(@Vector(3, i8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7412 try testArgs(@Vector(3, u8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7413 try testArgs(@Vector(3, i16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7414 try testArgs(@Vector(3, u16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7415 try testArgs(@Vector(3, i32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7416 try testArgs(@Vector(3, u32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7417 try testArgs(@Vector(3, i64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7418 try testArgs(@Vector(3, u64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7419 try testArgs(@Vector(3, i128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7420 try testArgs(@Vector(3, u128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7421 try testArgs(@Vector(3, i256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7422 try testArgs(@Vector(3, u256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7423 try testArgs(@Vector(3, i512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7424 try testArgs(@Vector(3, u512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7425 try testArgs(@Vector(3, i1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7426 try testArgs(@Vector(3, u1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
7427
7428 try testArgs(@Vector(3, i8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7429 try testArgs(@Vector(3, u8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7430 try testArgs(@Vector(3, i16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7431 try testArgs(@Vector(3, u16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7432 try testArgs(@Vector(3, i32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7433 try testArgs(@Vector(3, u32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7434 try testArgs(@Vector(3, i64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7435 try testArgs(@Vector(3, u64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7436 try testArgs(@Vector(3, i128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7437 try testArgs(@Vector(3, u128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7438 try testArgs(@Vector(3, i256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7439 try testArgs(@Vector(3, u256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7440 try testArgs(@Vector(3, i512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7441 try testArgs(@Vector(3, u512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7442 try testArgs(@Vector(3, i1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7443 try testArgs(@Vector(3, u1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
7444 try testArgs(@Vector(3, i8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7445 try testArgs(@Vector(3, u8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7446 try testArgs(@Vector(3, i16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7447 try testArgs(@Vector(3, u16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7448 try testArgs(@Vector(3, i32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7449 try testArgs(@Vector(3, u32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7450 try testArgs(@Vector(3, i64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7451 try testArgs(@Vector(3, u64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7452 try testArgs(@Vector(3, i128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7453 try testArgs(@Vector(3, u128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7454 try testArgs(@Vector(3, i256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7455 try testArgs(@Vector(3, u256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7456 try testArgs(@Vector(3, i512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7457 try testArgs(@Vector(3, u512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7458 try testArgs(@Vector(3, i1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7459 try testArgs(@Vector(3, u1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
7460 }
7461 fn testFloatVectors() !void {
7462 @setEvalBranchQuota(6_700);
7463
7464 try testArgs(@Vector(1, f16), @Vector(1, f16), .{
7465 1e0,
7466 });
7467 try testArgs(@Vector(2, f16), @Vector(2, f16), .{
7468 -inf(f16), -1e-2,
7469 });
7470 try testArgs(@Vector(4, f16), @Vector(4, f16), .{
7471 -1e2, 1e-1, fmax(f16), 1e-2,
7472 });
7473 try testArgs(@Vector(8, f16), @Vector(8, f16), .{
7474 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
7475 });
7476 try testArgs(@Vector(16, f16), @Vector(16, f16), .{
7477 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
7478 });
7479 try testArgs(@Vector(32, f16), @Vector(32, f16), .{
7480 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
7481 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
7482 });
7483
7484 try testArgs(@Vector(1, f32), @Vector(1, f16), .{
7485 1e0,
7486 });
7487 try testArgs(@Vector(2, f32), @Vector(2, f16), .{
7488 -inf(f16), -1e-2,
7489 });
7490 try testArgs(@Vector(4, f32), @Vector(4, f16), .{
7491 -1e2, 1e-1, fmax(f16), 1e-2,
7492 });
7493 try testArgs(@Vector(8, f32), @Vector(8, f16), .{
7494 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
7495 });
7496 try testArgs(@Vector(16, f32), @Vector(16, f16), .{
7497 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
7498 });
7499 try testArgs(@Vector(32, f32), @Vector(32, f16), .{
7500 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
7501 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
7502 });
7503
7504 try testArgs(@Vector(1, f64), @Vector(1, f16), .{
7505 1e0,
7506 });
7507 try testArgs(@Vector(2, f64), @Vector(2, f16), .{
7508 -inf(f16), -1e-2,
7509 });
7510 try testArgs(@Vector(4, f64), @Vector(4, f16), .{
7511 -1e2, 1e-1, fmax(f16), 1e-2,
7512 });
7513 try testArgs(@Vector(8, f64), @Vector(8, f16), .{
7514 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
7515 });
7516 try testArgs(@Vector(16, f64), @Vector(16, f16), .{
7517 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
7518 });
7519 try testArgs(@Vector(32, f64), @Vector(32, f16), .{
7520 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
7521 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
7522 });
7523
7524 try testArgs(@Vector(1, f80), @Vector(1, f16), .{
7525 1e0,
7526 });
7527 try testArgs(@Vector(2, f80), @Vector(2, f16), .{
7528 -inf(f16), -1e-2,
7529 });
7530 try testArgs(@Vector(4, f80), @Vector(4, f16), .{
7531 -1e2, 1e-1, fmax(f16), 1e-2,
7532 });
7533 try testArgs(@Vector(8, f80), @Vector(8, f16), .{
7534 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
7535 });
7536 try testArgs(@Vector(16, f80), @Vector(16, f16), .{
7537 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
7538 });
7539 try testArgs(@Vector(32, f80), @Vector(32, f16), .{
7540 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
7541 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
7542 });
7543
7544 try testArgs(@Vector(1, f128), @Vector(1, f16), .{
7545 1e0,
7546 });
7547 try testArgs(@Vector(2, f128), @Vector(2, f16), .{
7548 -inf(f16), -1e-2,
7549 });
7550 try testArgs(@Vector(4, f128), @Vector(4, f16), .{
7551 -1e2, 1e-1, fmax(f16), 1e-2,
7552 });
7553 try testArgs(@Vector(8, f128), @Vector(8, f16), .{
7554 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
7555 });
7556 try testArgs(@Vector(16, f128), @Vector(16, f16), .{
7557 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
7558 });
7559 try testArgs(@Vector(32, f128), @Vector(32, f16), .{
7560 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
7561 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
7562 });
7563
7564 try testArgs(@Vector(1, f16), @Vector(1, f32), .{
7565 1e0,
7566 });
7567 try testArgs(@Vector(2, f16), @Vector(2, f32), .{
7568 -inf(f32), -1e-2,
7569 });
7570 try testArgs(@Vector(4, f16), @Vector(4, f32), .{
7571 -1e2, 1e-1, fmax(f32), 1e-2,
7572 });
7573 try testArgs(@Vector(8, f16), @Vector(8, f32), .{
7574 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
7575 });
7576 try testArgs(@Vector(16, f16), @Vector(16, f32), .{
7577 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
7578 });
7579 try testArgs(@Vector(32, f16), @Vector(32, f32), .{
7580 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
7581 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
7582 });
7583
7584 try testArgs(@Vector(1, f32), @Vector(1, f32), .{
7585 1e0,
7586 });
7587 try testArgs(@Vector(2, f32), @Vector(2, f32), .{
7588 -inf(f32), -1e-2,
7589 });
7590 try testArgs(@Vector(4, f32), @Vector(4, f32), .{
7591 -1e2, 1e-1, fmax(f32), 1e-2,
7592 });
7593 try testArgs(@Vector(8, f32), @Vector(8, f32), .{
7594 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
7595 });
7596 try testArgs(@Vector(16, f32), @Vector(16, f32), .{
7597 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
7598 });
7599 try testArgs(@Vector(32, f32), @Vector(32, f32), .{
7600 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
7601 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
7602 });
7603
7604 try testArgs(@Vector(1, f64), @Vector(1, f32), .{
7605 1e0,
7606 });
7607 try testArgs(@Vector(2, f64), @Vector(2, f32), .{
7608 -inf(f32), -1e-2,
7609 });
7610 try testArgs(@Vector(4, f64), @Vector(4, f32), .{
7611 -1e2, 1e-1, fmax(f32), 1e-2,
7612 });
7613 try testArgs(@Vector(8, f64), @Vector(8, f32), .{
7614 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
7615 });
7616 try testArgs(@Vector(16, f64), @Vector(16, f32), .{
7617 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
7618 });
7619 try testArgs(@Vector(32, f64), @Vector(32, f32), .{
7620 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
7621 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
7622 });
7623
7624 try testArgs(@Vector(1, f80), @Vector(1, f32), .{
7625 1e0,
7626 });
7627 try testArgs(@Vector(2, f80), @Vector(2, f32), .{
7628 -inf(f32), -1e-2,
7629 });
7630 try testArgs(@Vector(4, f80), @Vector(4, f32), .{
7631 -1e2, 1e-1, fmax(f32), 1e-2,
7632 });
7633 try testArgs(@Vector(8, f80), @Vector(8, f32), .{
7634 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
7635 });
7636 try testArgs(@Vector(16, f80), @Vector(16, f32), .{
7637 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
7638 });
7639 try testArgs(@Vector(32, f80), @Vector(32, f32), .{
7640 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
7641 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
7642 });
7643
7644 try testArgs(@Vector(1, f128), @Vector(1, f32), .{
7645 1e0,
7646 });
7647 try testArgs(@Vector(2, f128), @Vector(2, f32), .{
7648 -inf(f32), -1e-2,
7649 });
7650 try testArgs(@Vector(4, f128), @Vector(4, f32), .{
7651 -1e2, 1e-1, fmax(f32), 1e-2,
7652 });
7653 try testArgs(@Vector(8, f128), @Vector(8, f32), .{
7654 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
7655 });
7656 try testArgs(@Vector(16, f128), @Vector(16, f32), .{
7657 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
7658 });
7659 try testArgs(@Vector(32, f128), @Vector(32, f32), .{
7660 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
7661 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
7662 });
7663
7664 try testArgs(@Vector(1, f16), @Vector(1, f64), .{
7665 1e0,
7666 });
7667 try testArgs(@Vector(2, f16), @Vector(2, f64), .{
7668 -inf(f64), -1e-2,
7669 });
7670 try testArgs(@Vector(4, f16), @Vector(4, f64), .{
7671 -1e2, 1e-1, fmax(f64), 1e-2,
7672 });
7673 try testArgs(@Vector(8, f16), @Vector(8, f64), .{
7674 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
7675 });
7676 try testArgs(@Vector(16, f16), @Vector(16, f64), .{
7677 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
7678 });
7679 try testArgs(@Vector(32, f16), @Vector(32, f64), .{
7680 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
7681 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
7682 });
7683
7684 try testArgs(@Vector(1, f32), @Vector(1, f64), .{
7685 1e0,
7686 });
7687 try testArgs(@Vector(2, f32), @Vector(2, f64), .{
7688 -inf(f64), -1e-2,
7689 });
7690 try testArgs(@Vector(4, f32), @Vector(4, f64), .{
7691 -1e2, 1e-1, fmax(f64), 1e-2,
7692 });
7693 try testArgs(@Vector(8, f32), @Vector(8, f64), .{
7694 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
7695 });
7696 try testArgs(@Vector(16, f32), @Vector(16, f64), .{
7697 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
7698 });
7699 try testArgs(@Vector(32, f32), @Vector(32, f64), .{
7700 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
7701 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
7702 });
7703
7704 try testArgs(@Vector(1, f64), @Vector(1, f64), .{
7705 1e0,
7706 });
7707 try testArgs(@Vector(2, f64), @Vector(2, f64), .{
7708 -inf(f64), -1e-2,
7709 });
7710 try testArgs(@Vector(4, f64), @Vector(4, f64), .{
7711 -1e2, 1e-1, fmax(f64), 1e-2,
7712 });
7713 try testArgs(@Vector(8, f64), @Vector(8, f64), .{
7714 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
7715 });
7716 try testArgs(@Vector(16, f64), @Vector(16, f64), .{
7717 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
7718 });
7719 try testArgs(@Vector(32, f64), @Vector(32, f64), .{
7720 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
7721 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
7722 });
7723
7724 try testArgs(@Vector(1, f80), @Vector(1, f64), .{
7725 1e0,
7726 });
7727 try testArgs(@Vector(2, f80), @Vector(2, f64), .{
7728 -inf(f64), -1e-2,
7729 });
7730 try testArgs(@Vector(4, f80), @Vector(4, f64), .{
7731 -1e2, 1e-1, fmax(f64), 1e-2,
7732 });
7733 try testArgs(@Vector(8, f80), @Vector(8, f64), .{
7734 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
7735 });
7736 try testArgs(@Vector(16, f80), @Vector(16, f64), .{
7737 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
7738 });
7739 try testArgs(@Vector(32, f80), @Vector(32, f64), .{
7740 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
7741 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
7742 });
7743
7744 try testArgs(@Vector(1, f128), @Vector(1, f64), .{
7745 1e0,
7746 });
7747 try testArgs(@Vector(2, f128), @Vector(2, f64), .{
7748 -inf(f64), -1e-2,
7749 });
7750 try testArgs(@Vector(4, f128), @Vector(4, f64), .{
7751 -1e2, 1e-1, fmax(f64), 1e-2,
7752 });
7753 try testArgs(@Vector(8, f128), @Vector(8, f64), .{
7754 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
7755 });
7756 try testArgs(@Vector(16, f128), @Vector(16, f64), .{
7757 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
7758 });
7759 try testArgs(@Vector(32, f128), @Vector(32, f64), .{
7760 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
7761 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
7762 });
7763
7764 try testArgs(@Vector(1, f16), @Vector(1, f80), .{
7765 1e0,
7766 });
7767 try testArgs(@Vector(2, f16), @Vector(2, f80), .{
7768 -inf(f80), -1e-2,
7769 });
7770 try testArgs(@Vector(4, f16), @Vector(4, f80), .{
7771 -1e2, 1e-1, fmax(f80), 1e-2,
7772 });
7773 try testArgs(@Vector(8, f16), @Vector(8, f80), .{
7774 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
7775 });
7776 try testArgs(@Vector(16, f16), @Vector(16, f80), .{
7777 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
7778 });
7779 try testArgs(@Vector(32, f16), @Vector(32, f80), .{
7780 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
7781 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
7782 });
7783
7784 try testArgs(@Vector(1, f32), @Vector(1, f80), .{
7785 1e0,
7786 });
7787 try testArgs(@Vector(2, f32), @Vector(2, f80), .{
7788 -inf(f80), -1e-2,
7789 });
7790 try testArgs(@Vector(4, f32), @Vector(4, f80), .{
7791 -1e2, 1e-1, fmax(f80), 1e-2,
7792 });
7793 try testArgs(@Vector(8, f32), @Vector(8, f80), .{
7794 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
7795 });
7796 try testArgs(@Vector(16, f32), @Vector(16, f80), .{
7797 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
7798 });
7799 try testArgs(@Vector(32, f32), @Vector(32, f80), .{
7800 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
7801 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
7802 });
7803
7804 try testArgs(@Vector(1, f64), @Vector(1, f80), .{
7805 1e0,
7806 });
7807 try testArgs(@Vector(2, f64), @Vector(2, f80), .{
7808 -inf(f80), -1e-2,
7809 });
7810 try testArgs(@Vector(4, f64), @Vector(4, f80), .{
7811 -1e2, 1e-1, fmax(f80), 1e-2,
7812 });
7813 try testArgs(@Vector(8, f64), @Vector(8, f80), .{
7814 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
7815 });
7816 try testArgs(@Vector(16, f64), @Vector(16, f80), .{
7817 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
7818 });
7819 try testArgs(@Vector(32, f64), @Vector(32, f80), .{
7820 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
7821 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
7822 });
7823
7824 try testArgs(@Vector(1, f80), @Vector(1, f80), .{
7825 1e0,
7826 });
7827 try testArgs(@Vector(2, f80), @Vector(2, f80), .{
7828 -inf(f80), -1e-2,
7829 });
7830 try testArgs(@Vector(4, f80), @Vector(4, f80), .{
7831 -1e2, 1e-1, fmax(f80), 1e-2,
7832 });
7833 try testArgs(@Vector(8, f80), @Vector(8, f80), .{
7834 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
7835 });
7836 try testArgs(@Vector(16, f80), @Vector(16, f80), .{
7837 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
7838 });
7839 try testArgs(@Vector(32, f80), @Vector(32, f80), .{
7840 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
7841 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
7842 });
7843
7844 try testArgs(@Vector(1, f128), @Vector(1, f80), .{
7845 1e0,
7846 });
7847 try testArgs(@Vector(2, f128), @Vector(2, f80), .{
7848 -inf(f80), -1e-2,
7849 });
7850 try testArgs(@Vector(4, f128), @Vector(4, f80), .{
7851 -1e2, 1e-1, fmax(f80), 1e-2,
7852 });
7853 try testArgs(@Vector(8, f128), @Vector(8, f80), .{
7854 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
7855 });
7856 try testArgs(@Vector(16, f128), @Vector(16, f80), .{
7857 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
7858 });
7859 try testArgs(@Vector(32, f128), @Vector(32, f80), .{
7860 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
7861 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
7862 });
7863
7864 try testArgs(@Vector(1, f16), @Vector(1, f128), .{
7865 1e0,
7866 });
7867 try testArgs(@Vector(2, f16), @Vector(2, f128), .{
7868 -inf(f128), -1e-2,
7869 });
7870 try testArgs(@Vector(4, f16), @Vector(4, f128), .{
7871 -1e2, 1e-1, fmax(f128), 1e-2,
7872 });
7873 try testArgs(@Vector(8, f16), @Vector(8, f128), .{
7874 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
7875 });
7876 try testArgs(@Vector(16, f16), @Vector(16, f128), .{
7877 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
7878 });
7879 try testArgs(@Vector(32, f16), @Vector(32, f128), .{
7880 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
7881 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
7882 });
7883
7884 try testArgs(@Vector(1, f32), @Vector(1, f128), .{
7885 1e0,
7886 });
7887 try testArgs(@Vector(2, f32), @Vector(2, f128), .{
7888 -inf(f128), -1e-2,
7889 });
7890 try testArgs(@Vector(4, f32), @Vector(4, f128), .{
7891 -1e2, 1e-1, fmax(f128), 1e-2,
7892 });
7893 try testArgs(@Vector(8, f32), @Vector(8, f128), .{
7894 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
7895 });
7896 try testArgs(@Vector(16, f32), @Vector(16, f128), .{
7897 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
7898 });
7899 try testArgs(@Vector(32, f32), @Vector(32, f128), .{
7900 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
7901 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
7902 });
7903
7904 try testArgs(@Vector(1, f64), @Vector(1, f128), .{
7905 1e0,
7906 });
7907 try testArgs(@Vector(2, f64), @Vector(2, f128), .{
7908 -inf(f128), -1e-2,
7909 });
7910 try testArgs(@Vector(4, f64), @Vector(4, f128), .{
7911 -1e2, 1e-1, fmax(f128), 1e-2,
7912 });
7913 try testArgs(@Vector(8, f64), @Vector(8, f128), .{
7914 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
7915 });
7916 try testArgs(@Vector(16, f64), @Vector(16, f128), .{
7917 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
7918 });
7919 try testArgs(@Vector(32, f64), @Vector(32, f128), .{
7920 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
7921 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
7922 });
7923
7924 try testArgs(@Vector(1, f80), @Vector(1, f128), .{
7925 1e0,
7926 });
7927 try testArgs(@Vector(2, f80), @Vector(2, f128), .{
7928 -inf(f128), -1e-2,
7929 });
7930 try testArgs(@Vector(4, f80), @Vector(4, f128), .{
7931 -1e2, 1e-1, fmax(f128), 1e-2,
7932 });
7933 try testArgs(@Vector(8, f80), @Vector(8, f128), .{
7934 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
7935 });
7936 try testArgs(@Vector(16, f80), @Vector(16, f128), .{
7937 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
7938 });
7939 try testArgs(@Vector(32, f80), @Vector(32, f128), .{
7940 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
7941 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
7942 });
7943
7944 try testArgs(@Vector(1, f128), @Vector(1, f128), .{
7945 1e0,
7946 });
7947 try testArgs(@Vector(2, f128), @Vector(2, f128), .{
7948 -inf(f128), -1e-2,
7949 });
7950 try testArgs(@Vector(4, f128), @Vector(4, f128), .{
7951 -1e2, 1e-1, fmax(f128), 1e-2,
7952 });
7953 try testArgs(@Vector(8, f128), @Vector(8, f128), .{
7954 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
7955 });
7956 try testArgs(@Vector(16, f128), @Vector(16, f128), .{
7957 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
7958 });
7959 try testArgs(@Vector(32, f128), @Vector(32, f128), .{
7960 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
7961 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
7962 });
7963 }
7964 };
7965}
7966
16267967fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false }) type {
16277968 return struct {
16287969 // noinline so that `mem_lhs` and `mem_rhs` are on the stack
......@@ -1714,18 +8055,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
17148055 try testArgs(f16, -nan(f16), -nan(f16));
17158056 try testArgs(f16, -nan(f16), -inf(f16));
17168057 try testArgs(f16, -nan(f16), -fmax(f16));
1717 try testArgs(f16, -nan(f16), -10.0);
1718 try testArgs(f16, -nan(f16), -1.0);
1719 try testArgs(f16, -nan(f16), -0.1);
8058 try testArgs(f16, -nan(f16), -1e1);
8059 try testArgs(f16, -nan(f16), -1e0);
8060 try testArgs(f16, -nan(f16), -1e-1);
17208061 try testArgs(f16, -nan(f16), -fmin(f16));
17218062 try testArgs(f16, -nan(f16), -tmin(f16));
17228063 try testArgs(f16, -nan(f16), -0.0);
17238064 try testArgs(f16, -nan(f16), 0.0);
17248065 try testArgs(f16, -nan(f16), tmin(f16));
17258066 try testArgs(f16, -nan(f16), fmin(f16));
1726 try testArgs(f16, -nan(f16), 0.1);
1727 try testArgs(f16, -nan(f16), 1.0);
1728 try testArgs(f16, -nan(f16), 10.0);
8067 try testArgs(f16, -nan(f16), 1e-1);
8068 try testArgs(f16, -nan(f16), 1e0);
8069 try testArgs(f16, -nan(f16), 1e1);
17298070 try testArgs(f16, -nan(f16), fmax(f16));
17308071 try testArgs(f16, -nan(f16), inf(f16));
17318072 try testArgs(f16, -nan(f16), nan(f16));
......@@ -1733,18 +8074,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
17338074 try testArgs(f16, -inf(f16), -nan(f16));
17348075 try testArgs(f16, -inf(f16), -inf(f16));
17358076 try testArgs(f16, -inf(f16), -fmax(f16));
1736 try testArgs(f16, -inf(f16), -10.0);
1737 try testArgs(f16, -inf(f16), -1.0);
1738 try testArgs(f16, -inf(f16), -0.1);
8077 try testArgs(f16, -inf(f16), -1e1);
8078 try testArgs(f16, -inf(f16), -1e0);
8079 try testArgs(f16, -inf(f16), -1e-1);
17398080 try testArgs(f16, -inf(f16), -fmin(f16));
17408081 try testArgs(f16, -inf(f16), -tmin(f16));
17418082 try testArgs(f16, -inf(f16), -0.0);
17428083 try testArgs(f16, -inf(f16), 0.0);
17438084 try testArgs(f16, -inf(f16), tmin(f16));
17448085 try testArgs(f16, -inf(f16), fmin(f16));
1745 try testArgs(f16, -inf(f16), 0.1);
1746 try testArgs(f16, -inf(f16), 1.0);
1747 try testArgs(f16, -inf(f16), 10.0);
8086 try testArgs(f16, -inf(f16), 1e-1);
8087 try testArgs(f16, -inf(f16), 1e0);
8088 try testArgs(f16, -inf(f16), 1e1);
17488089 try testArgs(f16, -inf(f16), fmax(f16));
17498090 try testArgs(f16, -inf(f16), inf(f16));
17508091 try testArgs(f16, -inf(f16), nan(f16));
......@@ -1752,94 +8093,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
17528093 try testArgs(f16, -fmax(f16), -nan(f16));
17538094 try testArgs(f16, -fmax(f16), -inf(f16));
17548095 try testArgs(f16, -fmax(f16), -fmax(f16));
1755 try testArgs(f16, -fmax(f16), -10.0);
1756 try testArgs(f16, -fmax(f16), -1.0);
1757 try testArgs(f16, -fmax(f16), -0.1);
8096 try testArgs(f16, -fmax(f16), -1e1);
8097 try testArgs(f16, -fmax(f16), -1e0);
8098 try testArgs(f16, -fmax(f16), -1e-1);
17588099 try testArgs(f16, -fmax(f16), -fmin(f16));
17598100 try testArgs(f16, -fmax(f16), -tmin(f16));
17608101 try testArgs(f16, -fmax(f16), -0.0);
17618102 try testArgs(f16, -fmax(f16), 0.0);
17628103 try testArgs(f16, -fmax(f16), tmin(f16));
17638104 try testArgs(f16, -fmax(f16), fmin(f16));
1764 try testArgs(f16, -fmax(f16), 0.1);
1765 try testArgs(f16, -fmax(f16), 1.0);
1766 try testArgs(f16, -fmax(f16), 10.0);
8105 try testArgs(f16, -fmax(f16), 1e-1);
8106 try testArgs(f16, -fmax(f16), 1e0);
8107 try testArgs(f16, -fmax(f16), 1e1);
17678108 try testArgs(f16, -fmax(f16), fmax(f16));
17688109 try testArgs(f16, -fmax(f16), inf(f16));
17698110 try testArgs(f16, -fmax(f16), nan(f16));
17708111
1771 try testArgs(f16, -10.0, -nan(f16));
1772 try testArgs(f16, -10.0, -inf(f16));
1773 try testArgs(f16, -10.0, -fmax(f16));
1774 try testArgs(f16, -10.0, -10.0);
1775 try testArgs(f16, -10.0, -1.0);
1776 try testArgs(f16, -10.0, -0.1);
1777 try testArgs(f16, -10.0, -fmin(f16));
1778 try testArgs(f16, -10.0, -tmin(f16));
1779 try testArgs(f16, -10.0, -0.0);
1780 try testArgs(f16, -10.0, 0.0);
1781 try testArgs(f16, -10.0, tmin(f16));
1782 try testArgs(f16, -10.0, fmin(f16));
1783 try testArgs(f16, -10.0, 0.1);
1784 try testArgs(f16, -10.0, 1.0);
1785 try testArgs(f16, -10.0, 10.0);
1786 try testArgs(f16, -10.0, fmax(f16));
1787 try testArgs(f16, -10.0, inf(f16));
1788 try testArgs(f16, -10.0, nan(f16));
1789
1790 try testArgs(f16, -1.0, -nan(f16));
1791 try testArgs(f16, -1.0, -inf(f16));
1792 try testArgs(f16, -1.0, -fmax(f16));
1793 try testArgs(f16, -1.0, -10.0);
1794 try testArgs(f16, -1.0, -1.0);
1795 try testArgs(f16, -1.0, -0.1);
1796 try testArgs(f16, -1.0, -fmin(f16));
1797 try testArgs(f16, -1.0, -tmin(f16));
1798 try testArgs(f16, -1.0, -0.0);
1799 try testArgs(f16, -1.0, 0.0);
1800 try testArgs(f16, -1.0, tmin(f16));
1801 try testArgs(f16, -1.0, fmin(f16));
1802 try testArgs(f16, -1.0, 0.1);
1803 try testArgs(f16, -1.0, 1.0);
1804 try testArgs(f16, -1.0, 10.0);
1805 try testArgs(f16, -1.0, fmax(f16));
1806 try testArgs(f16, -1.0, inf(f16));
1807 try testArgs(f16, -1.0, nan(f16));
1808
1809 try testArgs(f16, -0.1, -nan(f16));
1810 try testArgs(f16, -0.1, -inf(f16));
1811 try testArgs(f16, -0.1, -fmax(f16));
1812 try testArgs(f16, -0.1, -10.0);
1813 try testArgs(f16, -0.1, -1.0);
1814 try testArgs(f16, -0.1, -0.1);
1815 try testArgs(f16, -0.1, -fmin(f16));
1816 try testArgs(f16, -0.1, -tmin(f16));
1817 try testArgs(f16, -0.1, -0.0);
1818 try testArgs(f16, -0.1, 0.0);
1819 try testArgs(f16, -0.1, tmin(f16));
1820 try testArgs(f16, -0.1, fmin(f16));
1821 try testArgs(f16, -0.1, 0.1);
1822 try testArgs(f16, -0.1, 1.0);
1823 try testArgs(f16, -0.1, 10.0);
1824 try testArgs(f16, -0.1, fmax(f16));
1825 try testArgs(f16, -0.1, inf(f16));
1826 try testArgs(f16, -0.1, nan(f16));
8112 try testArgs(f16, -1e1, -nan(f16));
8113 try testArgs(f16, -1e1, -inf(f16));
8114 try testArgs(f16, -1e1, -fmax(f16));
8115 try testArgs(f16, -1e1, -1e1);
8116 try testArgs(f16, -1e1, -1e0);
8117 try testArgs(f16, -1e1, -1e-1);
8118 try testArgs(f16, -1e1, -fmin(f16));
8119 try testArgs(f16, -1e1, -tmin(f16));
8120 try testArgs(f16, -1e1, -0.0);
8121 try testArgs(f16, -1e1, 0.0);
8122 try testArgs(f16, -1e1, tmin(f16));
8123 try testArgs(f16, -1e1, fmin(f16));
8124 try testArgs(f16, -1e1, 1e-1);
8125 try testArgs(f16, -1e1, 1e0);
8126 try testArgs(f16, -1e1, 1e1);
8127 try testArgs(f16, -1e1, fmax(f16));
8128 try testArgs(f16, -1e1, inf(f16));
8129 try testArgs(f16, -1e1, nan(f16));
8130
8131 try testArgs(f16, -1e0, -nan(f16));
8132 try testArgs(f16, -1e0, -inf(f16));
8133 try testArgs(f16, -1e0, -fmax(f16));
8134 try testArgs(f16, -1e0, -1e1);
8135 try testArgs(f16, -1e0, -1e0);
8136 try testArgs(f16, -1e0, -1e-1);
8137 try testArgs(f16, -1e0, -fmin(f16));
8138 try testArgs(f16, -1e0, -tmin(f16));
8139 try testArgs(f16, -1e0, -0.0);
8140 try testArgs(f16, -1e0, 0.0);
8141 try testArgs(f16, -1e0, tmin(f16));
8142 try testArgs(f16, -1e0, fmin(f16));
8143 try testArgs(f16, -1e0, 1e-1);
8144 try testArgs(f16, -1e0, 1e0);
8145 try testArgs(f16, -1e0, 1e1);
8146 try testArgs(f16, -1e0, fmax(f16));
8147 try testArgs(f16, -1e0, inf(f16));
8148 try testArgs(f16, -1e0, nan(f16));
8149
8150 try testArgs(f16, -1e-1, -nan(f16));
8151 try testArgs(f16, -1e-1, -inf(f16));
8152 try testArgs(f16, -1e-1, -fmax(f16));
8153 try testArgs(f16, -1e-1, -1e1);
8154 try testArgs(f16, -1e-1, -1e0);
8155 try testArgs(f16, -1e-1, -1e-1);
8156 try testArgs(f16, -1e-1, -fmin(f16));
8157 try testArgs(f16, -1e-1, -tmin(f16));
8158 try testArgs(f16, -1e-1, -0.0);
8159 try testArgs(f16, -1e-1, 0.0);
8160 try testArgs(f16, -1e-1, tmin(f16));
8161 try testArgs(f16, -1e-1, fmin(f16));
8162 try testArgs(f16, -1e-1, 1e-1);
8163 try testArgs(f16, -1e-1, 1e0);
8164 try testArgs(f16, -1e-1, 1e1);
8165 try testArgs(f16, -1e-1, fmax(f16));
8166 try testArgs(f16, -1e-1, inf(f16));
8167 try testArgs(f16, -1e-1, nan(f16));
18278168
18288169 try testArgs(f16, -fmin(f16), -nan(f16));
18298170 try testArgs(f16, -fmin(f16), -inf(f16));
18308171 try testArgs(f16, -fmin(f16), -fmax(f16));
1831 try testArgs(f16, -fmin(f16), -10.0);
1832 try testArgs(f16, -fmin(f16), -1.0);
1833 try testArgs(f16, -fmin(f16), -0.1);
8172 try testArgs(f16, -fmin(f16), -1e1);
8173 try testArgs(f16, -fmin(f16), -1e0);
8174 try testArgs(f16, -fmin(f16), -1e-1);
18348175 try testArgs(f16, -fmin(f16), -fmin(f16));
18358176 try testArgs(f16, -fmin(f16), -tmin(f16));
18368177 try testArgs(f16, -fmin(f16), -0.0);
18378178 try testArgs(f16, -fmin(f16), 0.0);
18388179 try testArgs(f16, -fmin(f16), tmin(f16));
18398180 try testArgs(f16, -fmin(f16), fmin(f16));
1840 try testArgs(f16, -fmin(f16), 0.1);
1841 try testArgs(f16, -fmin(f16), 1.0);
1842 try testArgs(f16, -fmin(f16), 10.0);
8181 try testArgs(f16, -fmin(f16), 1e-1);
8182 try testArgs(f16, -fmin(f16), 1e0);
8183 try testArgs(f16, -fmin(f16), 1e1);
18438184 try testArgs(f16, -fmin(f16), fmax(f16));
18448185 try testArgs(f16, -fmin(f16), inf(f16));
18458186 try testArgs(f16, -fmin(f16), nan(f16));
......@@ -1847,18 +8188,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
18478188 try testArgs(f16, -tmin(f16), -nan(f16));
18488189 try testArgs(f16, -tmin(f16), -inf(f16));
18498190 try testArgs(f16, -tmin(f16), -fmax(f16));
1850 try testArgs(f16, -tmin(f16), -10.0);
1851 try testArgs(f16, -tmin(f16), -1.0);
1852 try testArgs(f16, -tmin(f16), -0.1);
8191 try testArgs(f16, -tmin(f16), -1e1);
8192 try testArgs(f16, -tmin(f16), -1e0);
8193 try testArgs(f16, -tmin(f16), -1e-1);
18538194 try testArgs(f16, -tmin(f16), -fmin(f16));
18548195 try testArgs(f16, -tmin(f16), -tmin(f16));
18558196 try testArgs(f16, -tmin(f16), -0.0);
18568197 try testArgs(f16, -tmin(f16), 0.0);
18578198 try testArgs(f16, -tmin(f16), tmin(f16));
18588199 try testArgs(f16, -tmin(f16), fmin(f16));
1859 try testArgs(f16, -tmin(f16), 0.1);
1860 try testArgs(f16, -tmin(f16), 1.0);
1861 try testArgs(f16, -tmin(f16), 10.0);
8200 try testArgs(f16, -tmin(f16), 1e-1);
8201 try testArgs(f16, -tmin(f16), 1e0);
8202 try testArgs(f16, -tmin(f16), 1e1);
18628203 try testArgs(f16, -tmin(f16), fmax(f16));
18638204 try testArgs(f16, -tmin(f16), inf(f16));
18648205 try testArgs(f16, -tmin(f16), nan(f16));
......@@ -1866,18 +8207,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
18668207 try testArgs(f16, -0.0, -nan(f16));
18678208 try testArgs(f16, -0.0, -inf(f16));
18688209 try testArgs(f16, -0.0, -fmax(f16));
1869 try testArgs(f16, -0.0, -10.0);
1870 try testArgs(f16, -0.0, -1.0);
1871 try testArgs(f16, -0.0, -0.1);
8210 try testArgs(f16, -0.0, -1e1);
8211 try testArgs(f16, -0.0, -1e0);
8212 try testArgs(f16, -0.0, -1e-1);
18728213 try testArgs(f16, -0.0, -fmin(f16));
18738214 try testArgs(f16, -0.0, -tmin(f16));
18748215 try testArgs(f16, -0.0, -0.0);
18758216 try testArgs(f16, -0.0, 0.0);
18768217 try testArgs(f16, -0.0, tmin(f16));
18778218 try testArgs(f16, -0.0, fmin(f16));
1878 try testArgs(f16, -0.0, 0.1);
1879 try testArgs(f16, -0.0, 1.0);
1880 try testArgs(f16, -0.0, 10.0);
8219 try testArgs(f16, -0.0, 1e-1);
8220 try testArgs(f16, -0.0, 1e0);
8221 try testArgs(f16, -0.0, 1e1);
18818222 try testArgs(f16, -0.0, fmax(f16));
18828223 try testArgs(f16, -0.0, inf(f16));
18838224 try testArgs(f16, -0.0, nan(f16));
......@@ -1885,18 +8226,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
18858226 try testArgs(f16, 0.0, -nan(f16));
18868227 try testArgs(f16, 0.0, -inf(f16));
18878228 try testArgs(f16, 0.0, -fmax(f16));
1888 try testArgs(f16, 0.0, -10.0);
1889 try testArgs(f16, 0.0, -1.0);
1890 try testArgs(f16, 0.0, -0.1);
8229 try testArgs(f16, 0.0, -1e1);
8230 try testArgs(f16, 0.0, -1e0);
8231 try testArgs(f16, 0.0, -1e-1);
18918232 try testArgs(f16, 0.0, -fmin(f16));
18928233 try testArgs(f16, 0.0, -tmin(f16));
18938234 try testArgs(f16, 0.0, -0.0);
18948235 try testArgs(f16, 0.0, 0.0);
18958236 try testArgs(f16, 0.0, tmin(f16));
18968237 try testArgs(f16, 0.0, fmin(f16));
1897 try testArgs(f16, 0.0, 0.1);
1898 try testArgs(f16, 0.0, 1.0);
1899 try testArgs(f16, 0.0, 10.0);
8238 try testArgs(f16, 0.0, 1e-1);
8239 try testArgs(f16, 0.0, 1e0);
8240 try testArgs(f16, 0.0, 1e1);
19008241 try testArgs(f16, 0.0, fmax(f16));
19018242 try testArgs(f16, 0.0, inf(f16));
19028243 try testArgs(f16, 0.0, nan(f16));
......@@ -1904,18 +8245,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
19048245 try testArgs(f16, tmin(f16), -nan(f16));
19058246 try testArgs(f16, tmin(f16), -inf(f16));
19068247 try testArgs(f16, tmin(f16), -fmax(f16));
1907 try testArgs(f16, tmin(f16), -10.0);
1908 try testArgs(f16, tmin(f16), -1.0);
1909 try testArgs(f16, tmin(f16), -0.1);
8248 try testArgs(f16, tmin(f16), -1e1);
8249 try testArgs(f16, tmin(f16), -1e0);
8250 try testArgs(f16, tmin(f16), -1e-1);
19108251 try testArgs(f16, tmin(f16), -fmin(f16));
19118252 try testArgs(f16, tmin(f16), -tmin(f16));
19128253 try testArgs(f16, tmin(f16), -0.0);
19138254 try testArgs(f16, tmin(f16), 0.0);
19148255 try testArgs(f16, tmin(f16), tmin(f16));
19158256 try testArgs(f16, tmin(f16), fmin(f16));
1916 try testArgs(f16, tmin(f16), 0.1);
1917 try testArgs(f16, tmin(f16), 1.0);
1918 try testArgs(f16, tmin(f16), 10.0);
8257 try testArgs(f16, tmin(f16), 1e-1);
8258 try testArgs(f16, tmin(f16), 1e0);
8259 try testArgs(f16, tmin(f16), 1e1);
19198260 try testArgs(f16, tmin(f16), fmax(f16));
19208261 try testArgs(f16, tmin(f16), inf(f16));
19218262 try testArgs(f16, tmin(f16), nan(f16));
......@@ -1923,94 +8264,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
19238264 try testArgs(f16, fmin(f16), -nan(f16));
19248265 try testArgs(f16, fmin(f16), -inf(f16));
19258266 try testArgs(f16, fmin(f16), -fmax(f16));
1926 try testArgs(f16, fmin(f16), -10.0);
1927 try testArgs(f16, fmin(f16), -1.0);
1928 try testArgs(f16, fmin(f16), -0.1);
8267 try testArgs(f16, fmin(f16), -1e1);
8268 try testArgs(f16, fmin(f16), -1e0);
8269 try testArgs(f16, fmin(f16), -1e-1);
19298270 try testArgs(f16, fmin(f16), -fmin(f16));
19308271 try testArgs(f16, fmin(f16), -tmin(f16));
19318272 try testArgs(f16, fmin(f16), -0.0);
19328273 try testArgs(f16, fmin(f16), 0.0);
19338274 try testArgs(f16, fmin(f16), tmin(f16));
19348275 try testArgs(f16, fmin(f16), fmin(f16));
1935 try testArgs(f16, fmin(f16), 0.1);
1936 try testArgs(f16, fmin(f16), 1.0);
1937 try testArgs(f16, fmin(f16), 10.0);
8276 try testArgs(f16, fmin(f16), 1e-1);
8277 try testArgs(f16, fmin(f16), 1e0);
8278 try testArgs(f16, fmin(f16), 1e1);
19388279 try testArgs(f16, fmin(f16), fmax(f16));
19398280 try testArgs(f16, fmin(f16), inf(f16));
19408281 try testArgs(f16, fmin(f16), nan(f16));
19418282
1942 try testArgs(f16, 0.1, -nan(f16));
1943 try testArgs(f16, 0.1, -inf(f16));
1944 try testArgs(f16, 0.1, -fmax(f16));
1945 try testArgs(f16, 0.1, -10.0);
1946 try testArgs(f16, 0.1, -1.0);
1947 try testArgs(f16, 0.1, -0.1);
1948 try testArgs(f16, 0.1, -fmin(f16));
1949 try testArgs(f16, 0.1, -tmin(f16));
1950 try testArgs(f16, 0.1, -0.0);
1951 try testArgs(f16, 0.1, 0.0);
1952 try testArgs(f16, 0.1, tmin(f16));
1953 try testArgs(f16, 0.1, fmin(f16));
1954 try testArgs(f16, 0.1, 0.1);
1955 try testArgs(f16, 0.1, 1.0);
1956 try testArgs(f16, 0.1, 10.0);
1957 try testArgs(f16, 0.1, fmax(f16));
1958 try testArgs(f16, 0.1, inf(f16));
1959 try testArgs(f16, 0.1, nan(f16));
1960
1961 try testArgs(f16, 1.0, -nan(f16));
1962 try testArgs(f16, 1.0, -inf(f16));
1963 try testArgs(f16, 1.0, -fmax(f16));
1964 try testArgs(f16, 1.0, -10.0);
1965 try testArgs(f16, 1.0, -1.0);
1966 try testArgs(f16, 1.0, -0.1);
1967 try testArgs(f16, 1.0, -fmin(f16));
1968 try testArgs(f16, 1.0, -tmin(f16));
1969 try testArgs(f16, 1.0, -0.0);
1970 try testArgs(f16, 1.0, 0.0);
1971 try testArgs(f16, 1.0, tmin(f16));
1972 try testArgs(f16, 1.0, fmin(f16));
1973 try testArgs(f16, 1.0, 0.1);
1974 try testArgs(f16, 1.0, 1.0);
1975 try testArgs(f16, 1.0, 10.0);
1976 try testArgs(f16, 1.0, fmax(f16));
1977 try testArgs(f16, 1.0, inf(f16));
1978 try testArgs(f16, 1.0, nan(f16));
1979
1980 try testArgs(f16, 10.0, -nan(f16));
1981 try testArgs(f16, 10.0, -inf(f16));
1982 try testArgs(f16, 10.0, -fmax(f16));
1983 try testArgs(f16, 10.0, -10.0);
1984 try testArgs(f16, 10.0, -1.0);
1985 try testArgs(f16, 10.0, -0.1);
1986 try testArgs(f16, 10.0, -fmin(f16));
1987 try testArgs(f16, 10.0, -tmin(f16));
1988 try testArgs(f16, 10.0, -0.0);
1989 try testArgs(f16, 10.0, 0.0);
1990 try testArgs(f16, 10.0, tmin(f16));
1991 try testArgs(f16, 10.0, fmin(f16));
1992 try testArgs(f16, 10.0, 0.1);
1993 try testArgs(f16, 10.0, 1.0);
1994 try testArgs(f16, 10.0, 10.0);
1995 try testArgs(f16, 10.0, fmax(f16));
1996 try testArgs(f16, 10.0, inf(f16));
1997 try testArgs(f16, 10.0, nan(f16));
8283 try testArgs(f16, 1e-1, -nan(f16));
8284 try testArgs(f16, 1e-1, -inf(f16));
8285 try testArgs(f16, 1e-1, -fmax(f16));
8286 try testArgs(f16, 1e-1, -1e1);
8287 try testArgs(f16, 1e-1, -1e0);
8288 try testArgs(f16, 1e-1, -1e-1);
8289 try testArgs(f16, 1e-1, -fmin(f16));
8290 try testArgs(f16, 1e-1, -tmin(f16));
8291 try testArgs(f16, 1e-1, -0.0);
8292 try testArgs(f16, 1e-1, 0.0);
8293 try testArgs(f16, 1e-1, tmin(f16));
8294 try testArgs(f16, 1e-1, fmin(f16));
8295 try testArgs(f16, 1e-1, 1e-1);
8296 try testArgs(f16, 1e-1, 1e0);
8297 try testArgs(f16, 1e-1, 1e1);
8298 try testArgs(f16, 1e-1, fmax(f16));
8299 try testArgs(f16, 1e-1, inf(f16));
8300 try testArgs(f16, 1e-1, nan(f16));
8301
8302 try testArgs(f16, 1e0, -nan(f16));
8303 try testArgs(f16, 1e0, -inf(f16));
8304 try testArgs(f16, 1e0, -fmax(f16));
8305 try testArgs(f16, 1e0, -1e1);
8306 try testArgs(f16, 1e0, -1e0);
8307 try testArgs(f16, 1e0, -1e-1);
8308 try testArgs(f16, 1e0, -fmin(f16));
8309 try testArgs(f16, 1e0, -tmin(f16));
8310 try testArgs(f16, 1e0, -0.0);
8311 try testArgs(f16, 1e0, 0.0);
8312 try testArgs(f16, 1e0, tmin(f16));
8313 try testArgs(f16, 1e0, fmin(f16));
8314 try testArgs(f16, 1e0, 1e-1);
8315 try testArgs(f16, 1e0, 1e0);
8316 try testArgs(f16, 1e0, 1e1);
8317 try testArgs(f16, 1e0, fmax(f16));
8318 try testArgs(f16, 1e0, inf(f16));
8319 try testArgs(f16, 1e0, nan(f16));
8320
8321 try testArgs(f16, 1e1, -nan(f16));
8322 try testArgs(f16, 1e1, -inf(f16));
8323 try testArgs(f16, 1e1, -fmax(f16));
8324 try testArgs(f16, 1e1, -1e1);
8325 try testArgs(f16, 1e1, -1e0);
8326 try testArgs(f16, 1e1, -1e-1);
8327 try testArgs(f16, 1e1, -fmin(f16));
8328 try testArgs(f16, 1e1, -tmin(f16));
8329 try testArgs(f16, 1e1, -0.0);
8330 try testArgs(f16, 1e1, 0.0);
8331 try testArgs(f16, 1e1, tmin(f16));
8332 try testArgs(f16, 1e1, fmin(f16));
8333 try testArgs(f16, 1e1, 1e-1);
8334 try testArgs(f16, 1e1, 1e0);
8335 try testArgs(f16, 1e1, 1e1);
8336 try testArgs(f16, 1e1, fmax(f16));
8337 try testArgs(f16, 1e1, inf(f16));
8338 try testArgs(f16, 1e1, nan(f16));
19988339
19998340 try testArgs(f16, fmax(f16), -nan(f16));
20008341 try testArgs(f16, fmax(f16), -inf(f16));
20018342 try testArgs(f16, fmax(f16), -fmax(f16));
2002 try testArgs(f16, fmax(f16), -10.0);
2003 try testArgs(f16, fmax(f16), -1.0);
2004 try testArgs(f16, fmax(f16), -0.1);
8343 try testArgs(f16, fmax(f16), -1e1);
8344 try testArgs(f16, fmax(f16), -1e0);
8345 try testArgs(f16, fmax(f16), -1e-1);
20058346 try testArgs(f16, fmax(f16), -fmin(f16));
20068347 try testArgs(f16, fmax(f16), -tmin(f16));
20078348 try testArgs(f16, fmax(f16), -0.0);
20088349 try testArgs(f16, fmax(f16), 0.0);
20098350 try testArgs(f16, fmax(f16), tmin(f16));
20108351 try testArgs(f16, fmax(f16), fmin(f16));
2011 try testArgs(f16, fmax(f16), 0.1);
2012 try testArgs(f16, fmax(f16), 1.0);
2013 try testArgs(f16, fmax(f16), 10.0);
8352 try testArgs(f16, fmax(f16), 1e-1);
8353 try testArgs(f16, fmax(f16), 1e0);
8354 try testArgs(f16, fmax(f16), 1e1);
20148355 try testArgs(f16, fmax(f16), fmax(f16));
20158356 try testArgs(f16, fmax(f16), inf(f16));
20168357 try testArgs(f16, fmax(f16), nan(f16));
......@@ -2018,18 +8359,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
20188359 try testArgs(f16, inf(f16), -nan(f16));
20198360 try testArgs(f16, inf(f16), -inf(f16));
20208361 try testArgs(f16, inf(f16), -fmax(f16));
2021 try testArgs(f16, inf(f16), -10.0);
2022 try testArgs(f16, inf(f16), -1.0);
2023 try testArgs(f16, inf(f16), -0.1);
8362 try testArgs(f16, inf(f16), -1e1);
8363 try testArgs(f16, inf(f16), -1e0);
8364 try testArgs(f16, inf(f16), -1e-1);
20248365 try testArgs(f16, inf(f16), -fmin(f16));
20258366 try testArgs(f16, inf(f16), -tmin(f16));
20268367 try testArgs(f16, inf(f16), -0.0);
20278368 try testArgs(f16, inf(f16), 0.0);
20288369 try testArgs(f16, inf(f16), tmin(f16));
20298370 try testArgs(f16, inf(f16), fmin(f16));
2030 try testArgs(f16, inf(f16), 0.1);
2031 try testArgs(f16, inf(f16), 1.0);
2032 try testArgs(f16, inf(f16), 10.0);
8371 try testArgs(f16, inf(f16), 1e-1);
8372 try testArgs(f16, inf(f16), 1e0);
8373 try testArgs(f16, inf(f16), 1e1);
20338374 try testArgs(f16, inf(f16), fmax(f16));
20348375 try testArgs(f16, inf(f16), inf(f16));
20358376 try testArgs(f16, inf(f16), nan(f16));
......@@ -2037,18 +8378,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
20378378 try testArgs(f16, nan(f16), -nan(f16));
20388379 try testArgs(f16, nan(f16), -inf(f16));
20398380 try testArgs(f16, nan(f16), -fmax(f16));
2040 try testArgs(f16, nan(f16), -10.0);
2041 try testArgs(f16, nan(f16), -1.0);
2042 try testArgs(f16, nan(f16), -0.1);
8381 try testArgs(f16, nan(f16), -1e1);
8382 try testArgs(f16, nan(f16), -1e0);
8383 try testArgs(f16, nan(f16), -1e-1);
20438384 try testArgs(f16, nan(f16), -fmin(f16));
20448385 try testArgs(f16, nan(f16), -tmin(f16));
20458386 try testArgs(f16, nan(f16), -0.0);
20468387 try testArgs(f16, nan(f16), 0.0);
20478388 try testArgs(f16, nan(f16), tmin(f16));
20488389 try testArgs(f16, nan(f16), fmin(f16));
2049 try testArgs(f16, nan(f16), 0.1);
2050 try testArgs(f16, nan(f16), 1.0);
2051 try testArgs(f16, nan(f16), 10.0);
8390 try testArgs(f16, nan(f16), 1e-1);
8391 try testArgs(f16, nan(f16), 1e0);
8392 try testArgs(f16, nan(f16), 1e1);
20528393 try testArgs(f16, nan(f16), fmax(f16));
20538394 try testArgs(f16, nan(f16), inf(f16));
20548395 try testArgs(f16, nan(f16), nan(f16));
......@@ -2056,18 +8397,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
20568397 try testArgs(f32, -nan(f32), -nan(f32));
20578398 try testArgs(f32, -nan(f32), -inf(f32));
20588399 try testArgs(f32, -nan(f32), -fmax(f32));
2059 try testArgs(f32, -nan(f32), -10.0);
2060 try testArgs(f32, -nan(f32), -1.0);
2061 try testArgs(f32, -nan(f32), -0.1);
8400 try testArgs(f32, -nan(f32), -1e1);
8401 try testArgs(f32, -nan(f32), -1e0);
8402 try testArgs(f32, -nan(f32), -1e-1);
20628403 try testArgs(f32, -nan(f32), -fmin(f32));
20638404 try testArgs(f32, -nan(f32), -tmin(f32));
20648405 try testArgs(f32, -nan(f32), -0.0);
20658406 try testArgs(f32, -nan(f32), 0.0);
20668407 try testArgs(f32, -nan(f32), tmin(f32));
20678408 try testArgs(f32, -nan(f32), fmin(f32));
2068 try testArgs(f32, -nan(f32), 0.1);
2069 try testArgs(f32, -nan(f32), 1.0);
2070 try testArgs(f32, -nan(f32), 10.0);
8409 try testArgs(f32, -nan(f32), 1e-1);
8410 try testArgs(f32, -nan(f32), 1e0);
8411 try testArgs(f32, -nan(f32), 1e1);
20718412 try testArgs(f32, -nan(f32), fmax(f32));
20728413 try testArgs(f32, -nan(f32), inf(f32));
20738414 try testArgs(f32, -nan(f32), nan(f32));
......@@ -2075,18 +8416,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
20758416 try testArgs(f32, -inf(f32), -nan(f32));
20768417 try testArgs(f32, -inf(f32), -inf(f32));
20778418 try testArgs(f32, -inf(f32), -fmax(f32));
2078 try testArgs(f32, -inf(f32), -10.0);
2079 try testArgs(f32, -inf(f32), -1.0);
2080 try testArgs(f32, -inf(f32), -0.1);
8419 try testArgs(f32, -inf(f32), -1e1);
8420 try testArgs(f32, -inf(f32), -1e0);
8421 try testArgs(f32, -inf(f32), -1e-1);
20818422 try testArgs(f32, -inf(f32), -fmin(f32));
20828423 try testArgs(f32, -inf(f32), -tmin(f32));
20838424 try testArgs(f32, -inf(f32), -0.0);
20848425 try testArgs(f32, -inf(f32), 0.0);
20858426 try testArgs(f32, -inf(f32), tmin(f32));
20868427 try testArgs(f32, -inf(f32), fmin(f32));
2087 try testArgs(f32, -inf(f32), 0.1);
2088 try testArgs(f32, -inf(f32), 1.0);
2089 try testArgs(f32, -inf(f32), 10.0);
8428 try testArgs(f32, -inf(f32), 1e-1);
8429 try testArgs(f32, -inf(f32), 1e0);
8430 try testArgs(f32, -inf(f32), 1e1);
20908431 try testArgs(f32, -inf(f32), fmax(f32));
20918432 try testArgs(f32, -inf(f32), inf(f32));
20928433 try testArgs(f32, -inf(f32), nan(f32));
......@@ -2094,94 +8435,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
20948435 try testArgs(f32, -fmax(f32), -nan(f32));
20958436 try testArgs(f32, -fmax(f32), -inf(f32));
20968437 try testArgs(f32, -fmax(f32), -fmax(f32));
2097 try testArgs(f32, -fmax(f32), -10.0);
2098 try testArgs(f32, -fmax(f32), -1.0);
2099 try testArgs(f32, -fmax(f32), -0.1);
8438 try testArgs(f32, -fmax(f32), -1e1);
8439 try testArgs(f32, -fmax(f32), -1e0);
8440 try testArgs(f32, -fmax(f32), -1e-1);
21008441 try testArgs(f32, -fmax(f32), -fmin(f32));
21018442 try testArgs(f32, -fmax(f32), -tmin(f32));
21028443 try testArgs(f32, -fmax(f32), -0.0);
21038444 try testArgs(f32, -fmax(f32), 0.0);
21048445 try testArgs(f32, -fmax(f32), tmin(f32));
21058446 try testArgs(f32, -fmax(f32), fmin(f32));
2106 try testArgs(f32, -fmax(f32), 0.1);
2107 try testArgs(f32, -fmax(f32), 1.0);
2108 try testArgs(f32, -fmax(f32), 10.0);
8447 try testArgs(f32, -fmax(f32), 1e-1);
8448 try testArgs(f32, -fmax(f32), 1e0);
8449 try testArgs(f32, -fmax(f32), 1e1);
21098450 try testArgs(f32, -fmax(f32), fmax(f32));
21108451 try testArgs(f32, -fmax(f32), inf(f32));
21118452 try testArgs(f32, -fmax(f32), nan(f32));
21128453
2113 try testArgs(f32, -10.0, -nan(f32));
2114 try testArgs(f32, -10.0, -inf(f32));
2115 try testArgs(f32, -10.0, -fmax(f32));
2116 try testArgs(f32, -10.0, -10.0);
2117 try testArgs(f32, -10.0, -1.0);
2118 try testArgs(f32, -10.0, -0.1);
2119 try testArgs(f32, -10.0, -fmin(f32));
2120 try testArgs(f32, -10.0, -tmin(f32));
2121 try testArgs(f32, -10.0, -0.0);
2122 try testArgs(f32, -10.0, 0.0);
2123 try testArgs(f32, -10.0, tmin(f32));
2124 try testArgs(f32, -10.0, fmin(f32));
2125 try testArgs(f32, -10.0, 0.1);
2126 try testArgs(f32, -10.0, 1.0);
2127 try testArgs(f32, -10.0, 10.0);
2128 try testArgs(f32, -10.0, fmax(f32));
2129 try testArgs(f32, -10.0, inf(f32));
2130 try testArgs(f32, -10.0, nan(f32));
2131
2132 try testArgs(f32, -1.0, -nan(f32));
2133 try testArgs(f32, -1.0, -inf(f32));
2134 try testArgs(f32, -1.0, -fmax(f32));
2135 try testArgs(f32, -1.0, -10.0);
2136 try testArgs(f32, -1.0, -1.0);
2137 try testArgs(f32, -1.0, -0.1);
2138 try testArgs(f32, -1.0, -fmin(f32));
2139 try testArgs(f32, -1.0, -tmin(f32));
2140 try testArgs(f32, -1.0, -0.0);
2141 try testArgs(f32, -1.0, 0.0);
2142 try testArgs(f32, -1.0, tmin(f32));
2143 try testArgs(f32, -1.0, fmin(f32));
2144 try testArgs(f32, -1.0, 0.1);
2145 try testArgs(f32, -1.0, 1.0);
2146 try testArgs(f32, -1.0, 10.0);
2147 try testArgs(f32, -1.0, fmax(f32));
2148 try testArgs(f32, -1.0, inf(f32));
2149 try testArgs(f32, -1.0, nan(f32));
2150
2151 try testArgs(f32, -0.1, -nan(f32));
2152 try testArgs(f32, -0.1, -inf(f32));
2153 try testArgs(f32, -0.1, -fmax(f32));
2154 try testArgs(f32, -0.1, -10.0);
2155 try testArgs(f32, -0.1, -1.0);
2156 try testArgs(f32, -0.1, -0.1);
2157 try testArgs(f32, -0.1, -fmin(f32));
2158 try testArgs(f32, -0.1, -tmin(f32));
2159 try testArgs(f32, -0.1, -0.0);
2160 try testArgs(f32, -0.1, 0.0);
2161 try testArgs(f32, -0.1, tmin(f32));
2162 try testArgs(f32, -0.1, fmin(f32));
2163 try testArgs(f32, -0.1, 0.1);
2164 try testArgs(f32, -0.1, 1.0);
2165 try testArgs(f32, -0.1, 10.0);
2166 try testArgs(f32, -0.1, fmax(f32));
2167 try testArgs(f32, -0.1, inf(f32));
2168 try testArgs(f32, -0.1, nan(f32));
8454 try testArgs(f32, -1e1, -nan(f32));
8455 try testArgs(f32, -1e1, -inf(f32));
8456 try testArgs(f32, -1e1, -fmax(f32));
8457 try testArgs(f32, -1e1, -1e1);
8458 try testArgs(f32, -1e1, -1e0);
8459 try testArgs(f32, -1e1, -1e-1);
8460 try testArgs(f32, -1e1, -fmin(f32));
8461 try testArgs(f32, -1e1, -tmin(f32));
8462 try testArgs(f32, -1e1, -0.0);
8463 try testArgs(f32, -1e1, 0.0);
8464 try testArgs(f32, -1e1, tmin(f32));
8465 try testArgs(f32, -1e1, fmin(f32));
8466 try testArgs(f32, -1e1, 1e-1);
8467 try testArgs(f32, -1e1, 1e0);
8468 try testArgs(f32, -1e1, 1e1);
8469 try testArgs(f32, -1e1, fmax(f32));
8470 try testArgs(f32, -1e1, inf(f32));
8471 try testArgs(f32, -1e1, nan(f32));
8472
8473 try testArgs(f32, -1e0, -nan(f32));
8474 try testArgs(f32, -1e0, -inf(f32));
8475 try testArgs(f32, -1e0, -fmax(f32));
8476 try testArgs(f32, -1e0, -1e1);
8477 try testArgs(f32, -1e0, -1e0);
8478 try testArgs(f32, -1e0, -1e-1);
8479 try testArgs(f32, -1e0, -fmin(f32));
8480 try testArgs(f32, -1e0, -tmin(f32));
8481 try testArgs(f32, -1e0, -0.0);
8482 try testArgs(f32, -1e0, 0.0);
8483 try testArgs(f32, -1e0, tmin(f32));
8484 try testArgs(f32, -1e0, fmin(f32));
8485 try testArgs(f32, -1e0, 1e-1);
8486 try testArgs(f32, -1e0, 1e0);
8487 try testArgs(f32, -1e0, 1e1);
8488 try testArgs(f32, -1e0, fmax(f32));
8489 try testArgs(f32, -1e0, inf(f32));
8490 try testArgs(f32, -1e0, nan(f32));
8491
8492 try testArgs(f32, -1e-1, -nan(f32));
8493 try testArgs(f32, -1e-1, -inf(f32));
8494 try testArgs(f32, -1e-1, -fmax(f32));
8495 try testArgs(f32, -1e-1, -1e1);
8496 try testArgs(f32, -1e-1, -1e0);
8497 try testArgs(f32, -1e-1, -1e-1);
8498 try testArgs(f32, -1e-1, -fmin(f32));
8499 try testArgs(f32, -1e-1, -tmin(f32));
8500 try testArgs(f32, -1e-1, -0.0);
8501 try testArgs(f32, -1e-1, 0.0);
8502 try testArgs(f32, -1e-1, tmin(f32));
8503 try testArgs(f32, -1e-1, fmin(f32));
8504 try testArgs(f32, -1e-1, 1e-1);
8505 try testArgs(f32, -1e-1, 1e0);
8506 try testArgs(f32, -1e-1, 1e1);
8507 try testArgs(f32, -1e-1, fmax(f32));
8508 try testArgs(f32, -1e-1, inf(f32));
8509 try testArgs(f32, -1e-1, nan(f32));
21698510
21708511 try testArgs(f32, -fmin(f32), -nan(f32));
21718512 try testArgs(f32, -fmin(f32), -inf(f32));
21728513 try testArgs(f32, -fmin(f32), -fmax(f32));
2173 try testArgs(f32, -fmin(f32), -10.0);
2174 try testArgs(f32, -fmin(f32), -1.0);
2175 try testArgs(f32, -fmin(f32), -0.1);
8514 try testArgs(f32, -fmin(f32), -1e1);
8515 try testArgs(f32, -fmin(f32), -1e0);
8516 try testArgs(f32, -fmin(f32), -1e-1);
21768517 try testArgs(f32, -fmin(f32), -fmin(f32));
21778518 try testArgs(f32, -fmin(f32), -tmin(f32));
21788519 try testArgs(f32, -fmin(f32), -0.0);
21798520 try testArgs(f32, -fmin(f32), 0.0);
21808521 try testArgs(f32, -fmin(f32), tmin(f32));
21818522 try testArgs(f32, -fmin(f32), fmin(f32));
2182 try testArgs(f32, -fmin(f32), 0.1);
2183 try testArgs(f32, -fmin(f32), 1.0);
2184 try testArgs(f32, -fmin(f32), 10.0);
8523 try testArgs(f32, -fmin(f32), 1e-1);
8524 try testArgs(f32, -fmin(f32), 1e0);
8525 try testArgs(f32, -fmin(f32), 1e1);
21858526 try testArgs(f32, -fmin(f32), fmax(f32));
21868527 try testArgs(f32, -fmin(f32), inf(f32));
21878528 try testArgs(f32, -fmin(f32), nan(f32));
......@@ -2189,18 +8530,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
21898530 try testArgs(f32, -tmin(f32), -nan(f32));
21908531 try testArgs(f32, -tmin(f32), -inf(f32));
21918532 try testArgs(f32, -tmin(f32), -fmax(f32));
2192 try testArgs(f32, -tmin(f32), -10.0);
2193 try testArgs(f32, -tmin(f32), -1.0);
2194 try testArgs(f32, -tmin(f32), -0.1);
8533 try testArgs(f32, -tmin(f32), -1e1);
8534 try testArgs(f32, -tmin(f32), -1e0);
8535 try testArgs(f32, -tmin(f32), -1e-1);
21958536 try testArgs(f32, -tmin(f32), -fmin(f32));
21968537 try testArgs(f32, -tmin(f32), -tmin(f32));
21978538 try testArgs(f32, -tmin(f32), -0.0);
21988539 try testArgs(f32, -tmin(f32), 0.0);
21998540 try testArgs(f32, -tmin(f32), tmin(f32));
22008541 try testArgs(f32, -tmin(f32), fmin(f32));
2201 try testArgs(f32, -tmin(f32), 0.1);
2202 try testArgs(f32, -tmin(f32), 1.0);
2203 try testArgs(f32, -tmin(f32), 10.0);
8542 try testArgs(f32, -tmin(f32), 1e-1);
8543 try testArgs(f32, -tmin(f32), 1e0);
8544 try testArgs(f32, -tmin(f32), 1e1);
22048545 try testArgs(f32, -tmin(f32), fmax(f32));
22058546 try testArgs(f32, -tmin(f32), inf(f32));
22068547 try testArgs(f32, -tmin(f32), nan(f32));
......@@ -2208,18 +8549,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
22088549 try testArgs(f32, -0.0, -nan(f32));
22098550 try testArgs(f32, -0.0, -inf(f32));
22108551 try testArgs(f32, -0.0, -fmax(f32));
2211 try testArgs(f32, -0.0, -10.0);
2212 try testArgs(f32, -0.0, -1.0);
2213 try testArgs(f32, -0.0, -0.1);
8552 try testArgs(f32, -0.0, -1e1);
8553 try testArgs(f32, -0.0, -1e0);
8554 try testArgs(f32, -0.0, -1e-1);
22148555 try testArgs(f32, -0.0, -fmin(f32));
22158556 try testArgs(f32, -0.0, -tmin(f32));
22168557 try testArgs(f32, -0.0, -0.0);
22178558 try testArgs(f32, -0.0, 0.0);
22188559 try testArgs(f32, -0.0, tmin(f32));
22198560 try testArgs(f32, -0.0, fmin(f32));
2220 try testArgs(f32, -0.0, 0.1);
2221 try testArgs(f32, -0.0, 1.0);
2222 try testArgs(f32, -0.0, 10.0);
8561 try testArgs(f32, -0.0, 1e-1);
8562 try testArgs(f32, -0.0, 1e0);
8563 try testArgs(f32, -0.0, 1e1);
22238564 try testArgs(f32, -0.0, fmax(f32));
22248565 try testArgs(f32, -0.0, inf(f32));
22258566 try testArgs(f32, -0.0, nan(f32));
......@@ -2227,18 +8568,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
22278568 try testArgs(f32, 0.0, -nan(f32));
22288569 try testArgs(f32, 0.0, -inf(f32));
22298570 try testArgs(f32, 0.0, -fmax(f32));
2230 try testArgs(f32, 0.0, -10.0);
2231 try testArgs(f32, 0.0, -1.0);
2232 try testArgs(f32, 0.0, -0.1);
8571 try testArgs(f32, 0.0, -1e1);
8572 try testArgs(f32, 0.0, -1e0);
8573 try testArgs(f32, 0.0, -1e-1);
22338574 try testArgs(f32, 0.0, -fmin(f32));
22348575 try testArgs(f32, 0.0, -tmin(f32));
22358576 try testArgs(f32, 0.0, -0.0);
22368577 try testArgs(f32, 0.0, 0.0);
22378578 try testArgs(f32, 0.0, tmin(f32));
22388579 try testArgs(f32, 0.0, fmin(f32));
2239 try testArgs(f32, 0.0, 0.1);
2240 try testArgs(f32, 0.0, 1.0);
2241 try testArgs(f32, 0.0, 10.0);
8580 try testArgs(f32, 0.0, 1e-1);
8581 try testArgs(f32, 0.0, 1e0);
8582 try testArgs(f32, 0.0, 1e1);
22428583 try testArgs(f32, 0.0, fmax(f32));
22438584 try testArgs(f32, 0.0, inf(f32));
22448585 try testArgs(f32, 0.0, nan(f32));
......@@ -2246,18 +8587,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
22468587 try testArgs(f32, tmin(f32), -nan(f32));
22478588 try testArgs(f32, tmin(f32), -inf(f32));
22488589 try testArgs(f32, tmin(f32), -fmax(f32));
2249 try testArgs(f32, tmin(f32), -10.0);
2250 try testArgs(f32, tmin(f32), -1.0);
2251 try testArgs(f32, tmin(f32), -0.1);
8590 try testArgs(f32, tmin(f32), -1e1);
8591 try testArgs(f32, tmin(f32), -1e0);
8592 try testArgs(f32, tmin(f32), -1e-1);
22528593 try testArgs(f32, tmin(f32), -fmin(f32));
22538594 try testArgs(f32, tmin(f32), -tmin(f32));
22548595 try testArgs(f32, tmin(f32), -0.0);
22558596 try testArgs(f32, tmin(f32), 0.0);
22568597 try testArgs(f32, tmin(f32), tmin(f32));
22578598 try testArgs(f32, tmin(f32), fmin(f32));
2258 try testArgs(f32, tmin(f32), 0.1);
2259 try testArgs(f32, tmin(f32), 1.0);
2260 try testArgs(f32, tmin(f32), 10.0);
8599 try testArgs(f32, tmin(f32), 1e-1);
8600 try testArgs(f32, tmin(f32), 1e0);
8601 try testArgs(f32, tmin(f32), 1e1);
22618602 try testArgs(f32, tmin(f32), fmax(f32));
22628603 try testArgs(f32, tmin(f32), inf(f32));
22638604 try testArgs(f32, tmin(f32), nan(f32));
......@@ -2265,94 +8606,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
22658606 try testArgs(f32, fmin(f32), -nan(f32));
22668607 try testArgs(f32, fmin(f32), -inf(f32));
22678608 try testArgs(f32, fmin(f32), -fmax(f32));
2268 try testArgs(f32, fmin(f32), -10.0);
2269 try testArgs(f32, fmin(f32), -1.0);
2270 try testArgs(f32, fmin(f32), -0.1);
8609 try testArgs(f32, fmin(f32), -1e1);
8610 try testArgs(f32, fmin(f32), -1e0);
8611 try testArgs(f32, fmin(f32), -1e-1);
22718612 try testArgs(f32, fmin(f32), -fmin(f32));
22728613 try testArgs(f32, fmin(f32), -tmin(f32));
22738614 try testArgs(f32, fmin(f32), -0.0);
22748615 try testArgs(f32, fmin(f32), 0.0);
22758616 try testArgs(f32, fmin(f32), tmin(f32));
22768617 try testArgs(f32, fmin(f32), fmin(f32));
2277 try testArgs(f32, fmin(f32), 0.1);
2278 try testArgs(f32, fmin(f32), 1.0);
2279 try testArgs(f32, fmin(f32), 10.0);
8618 try testArgs(f32, fmin(f32), 1e-1);
8619 try testArgs(f32, fmin(f32), 1e0);
8620 try testArgs(f32, fmin(f32), 1e1);
22808621 try testArgs(f32, fmin(f32), fmax(f32));
22818622 try testArgs(f32, fmin(f32), inf(f32));
22828623 try testArgs(f32, fmin(f32), nan(f32));
22838624
2284 try testArgs(f32, 0.1, -nan(f32));
2285 try testArgs(f32, 0.1, -inf(f32));
2286 try testArgs(f32, 0.1, -fmax(f32));
2287 try testArgs(f32, 0.1, -10.0);
2288 try testArgs(f32, 0.1, -1.0);
2289 try testArgs(f32, 0.1, -0.1);
2290 try testArgs(f32, 0.1, -fmin(f32));
2291 try testArgs(f32, 0.1, -tmin(f32));
2292 try testArgs(f32, 0.1, -0.0);
2293 try testArgs(f32, 0.1, 0.0);
2294 try testArgs(f32, 0.1, tmin(f32));
2295 try testArgs(f32, 0.1, fmin(f32));
2296 try testArgs(f32, 0.1, 0.1);
2297 try testArgs(f32, 0.1, 1.0);
2298 try testArgs(f32, 0.1, 10.0);
2299 try testArgs(f32, 0.1, fmax(f32));
2300 try testArgs(f32, 0.1, inf(f32));
2301 try testArgs(f32, 0.1, nan(f32));
2302
2303 try testArgs(f32, 1.0, -nan(f32));
2304 try testArgs(f32, 1.0, -inf(f32));
2305 try testArgs(f32, 1.0, -fmax(f32));
2306 try testArgs(f32, 1.0, -10.0);
2307 try testArgs(f32, 1.0, -1.0);
2308 try testArgs(f32, 1.0, -0.1);
2309 try testArgs(f32, 1.0, -fmin(f32));
2310 try testArgs(f32, 1.0, -tmin(f32));
2311 try testArgs(f32, 1.0, -0.0);
2312 try testArgs(f32, 1.0, 0.0);
2313 try testArgs(f32, 1.0, tmin(f32));
2314 try testArgs(f32, 1.0, fmin(f32));
2315 try testArgs(f32, 1.0, 0.1);
2316 try testArgs(f32, 1.0, 1.0);
2317 try testArgs(f32, 1.0, 10.0);
2318 try testArgs(f32, 1.0, fmax(f32));
2319 try testArgs(f32, 1.0, inf(f32));
2320 try testArgs(f32, 1.0, nan(f32));
2321
2322 try testArgs(f32, 10.0, -nan(f32));
2323 try testArgs(f32, 10.0, -inf(f32));
2324 try testArgs(f32, 10.0, -fmax(f32));
2325 try testArgs(f32, 10.0, -10.0);
2326 try testArgs(f32, 10.0, -1.0);
2327 try testArgs(f32, 10.0, -0.1);
2328 try testArgs(f32, 10.0, -fmin(f32));
2329 try testArgs(f32, 10.0, -tmin(f32));
2330 try testArgs(f32, 10.0, -0.0);
2331 try testArgs(f32, 10.0, 0.0);
2332 try testArgs(f32, 10.0, tmin(f32));
2333 try testArgs(f32, 10.0, fmin(f32));
2334 try testArgs(f32, 10.0, 0.1);
2335 try testArgs(f32, 10.0, 1.0);
2336 try testArgs(f32, 10.0, 10.0);
2337 try testArgs(f32, 10.0, fmax(f32));
2338 try testArgs(f32, 10.0, inf(f32));
2339 try testArgs(f32, 10.0, nan(f32));
8625 try testArgs(f32, 1e-1, -nan(f32));
8626 try testArgs(f32, 1e-1, -inf(f32));
8627 try testArgs(f32, 1e-1, -fmax(f32));
8628 try testArgs(f32, 1e-1, -1e1);
8629 try testArgs(f32, 1e-1, -1e0);
8630 try testArgs(f32, 1e-1, -1e-1);
8631 try testArgs(f32, 1e-1, -fmin(f32));
8632 try testArgs(f32, 1e-1, -tmin(f32));
8633 try testArgs(f32, 1e-1, -0.0);
8634 try testArgs(f32, 1e-1, 0.0);
8635 try testArgs(f32, 1e-1, tmin(f32));
8636 try testArgs(f32, 1e-1, fmin(f32));
8637 try testArgs(f32, 1e-1, 1e-1);
8638 try testArgs(f32, 1e-1, 1e0);
8639 try testArgs(f32, 1e-1, 1e1);
8640 try testArgs(f32, 1e-1, fmax(f32));
8641 try testArgs(f32, 1e-1, inf(f32));
8642 try testArgs(f32, 1e-1, nan(f32));
8643
8644 try testArgs(f32, 1e0, -nan(f32));
8645 try testArgs(f32, 1e0, -inf(f32));
8646 try testArgs(f32, 1e0, -fmax(f32));
8647 try testArgs(f32, 1e0, -1e1);
8648 try testArgs(f32, 1e0, -1e0);
8649 try testArgs(f32, 1e0, -1e-1);
8650 try testArgs(f32, 1e0, -fmin(f32));
8651 try testArgs(f32, 1e0, -tmin(f32));
8652 try testArgs(f32, 1e0, -0.0);
8653 try testArgs(f32, 1e0, 0.0);
8654 try testArgs(f32, 1e0, tmin(f32));
8655 try testArgs(f32, 1e0, fmin(f32));
8656 try testArgs(f32, 1e0, 1e-1);
8657 try testArgs(f32, 1e0, 1e0);
8658 try testArgs(f32, 1e0, 1e1);
8659 try testArgs(f32, 1e0, fmax(f32));
8660 try testArgs(f32, 1e0, inf(f32));
8661 try testArgs(f32, 1e0, nan(f32));
8662
8663 try testArgs(f32, 1e1, -nan(f32));
8664 try testArgs(f32, 1e1, -inf(f32));
8665 try testArgs(f32, 1e1, -fmax(f32));
8666 try testArgs(f32, 1e1, -1e1);
8667 try testArgs(f32, 1e1, -1e0);
8668 try testArgs(f32, 1e1, -1e-1);
8669 try testArgs(f32, 1e1, -fmin(f32));
8670 try testArgs(f32, 1e1, -tmin(f32));
8671 try testArgs(f32, 1e1, -0.0);
8672 try testArgs(f32, 1e1, 0.0);
8673 try testArgs(f32, 1e1, tmin(f32));
8674 try testArgs(f32, 1e1, fmin(f32));
8675 try testArgs(f32, 1e1, 1e-1);
8676 try testArgs(f32, 1e1, 1e0);
8677 try testArgs(f32, 1e1, 1e1);
8678 try testArgs(f32, 1e1, fmax(f32));
8679 try testArgs(f32, 1e1, inf(f32));
8680 try testArgs(f32, 1e1, nan(f32));
23408681
23418682 try testArgs(f32, fmax(f32), -nan(f32));
23428683 try testArgs(f32, fmax(f32), -inf(f32));
23438684 try testArgs(f32, fmax(f32), -fmax(f32));
2344 try testArgs(f32, fmax(f32), -10.0);
2345 try testArgs(f32, fmax(f32), -1.0);
2346 try testArgs(f32, fmax(f32), -0.1);
8685 try testArgs(f32, fmax(f32), -1e1);
8686 try testArgs(f32, fmax(f32), -1e0);
8687 try testArgs(f32, fmax(f32), -1e-1);
23478688 try testArgs(f32, fmax(f32), -fmin(f32));
23488689 try testArgs(f32, fmax(f32), -tmin(f32));
23498690 try testArgs(f32, fmax(f32), -0.0);
23508691 try testArgs(f32, fmax(f32), 0.0);
23518692 try testArgs(f32, fmax(f32), tmin(f32));
23528693 try testArgs(f32, fmax(f32), fmin(f32));
2353 try testArgs(f32, fmax(f32), 0.1);
2354 try testArgs(f32, fmax(f32), 1.0);
2355 try testArgs(f32, fmax(f32), 10.0);
8694 try testArgs(f32, fmax(f32), 1e-1);
8695 try testArgs(f32, fmax(f32), 1e0);
8696 try testArgs(f32, fmax(f32), 1e1);
23568697 try testArgs(f32, fmax(f32), fmax(f32));
23578698 try testArgs(f32, fmax(f32), inf(f32));
23588699 try testArgs(f32, fmax(f32), nan(f32));
......@@ -2360,18 +8701,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
23608701 try testArgs(f32, inf(f32), -nan(f32));
23618702 try testArgs(f32, inf(f32), -inf(f32));
23628703 try testArgs(f32, inf(f32), -fmax(f32));
2363 try testArgs(f32, inf(f32), -10.0);
2364 try testArgs(f32, inf(f32), -1.0);
2365 try testArgs(f32, inf(f32), -0.1);
8704 try testArgs(f32, inf(f32), -1e1);
8705 try testArgs(f32, inf(f32), -1e0);
8706 try testArgs(f32, inf(f32), -1e-1);
23668707 try testArgs(f32, inf(f32), -fmin(f32));
23678708 try testArgs(f32, inf(f32), -tmin(f32));
23688709 try testArgs(f32, inf(f32), -0.0);
23698710 try testArgs(f32, inf(f32), 0.0);
23708711 try testArgs(f32, inf(f32), tmin(f32));
23718712 try testArgs(f32, inf(f32), fmin(f32));
2372 try testArgs(f32, inf(f32), 0.1);
2373 try testArgs(f32, inf(f32), 1.0);
2374 try testArgs(f32, inf(f32), 10.0);
8713 try testArgs(f32, inf(f32), 1e-1);
8714 try testArgs(f32, inf(f32), 1e0);
8715 try testArgs(f32, inf(f32), 1e1);
23758716 try testArgs(f32, inf(f32), fmax(f32));
23768717 try testArgs(f32, inf(f32), inf(f32));
23778718 try testArgs(f32, inf(f32), nan(f32));
......@@ -2379,18 +8720,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
23798720 try testArgs(f32, nan(f32), -nan(f32));
23808721 try testArgs(f32, nan(f32), -inf(f32));
23818722 try testArgs(f32, nan(f32), -fmax(f32));
2382 try testArgs(f32, nan(f32), -10.0);
2383 try testArgs(f32, nan(f32), -1.0);
2384 try testArgs(f32, nan(f32), -0.1);
8723 try testArgs(f32, nan(f32), -1e1);
8724 try testArgs(f32, nan(f32), -1e0);
8725 try testArgs(f32, nan(f32), -1e-1);
23858726 try testArgs(f32, nan(f32), -fmin(f32));
23868727 try testArgs(f32, nan(f32), -tmin(f32));
23878728 try testArgs(f32, nan(f32), -0.0);
23888729 try testArgs(f32, nan(f32), 0.0);
23898730 try testArgs(f32, nan(f32), tmin(f32));
23908731 try testArgs(f32, nan(f32), fmin(f32));
2391 try testArgs(f32, nan(f32), 0.1);
2392 try testArgs(f32, nan(f32), 1.0);
2393 try testArgs(f32, nan(f32), 10.0);
8732 try testArgs(f32, nan(f32), 1e-1);
8733 try testArgs(f32, nan(f32), 1e0);
8734 try testArgs(f32, nan(f32), 1e1);
23948735 try testArgs(f32, nan(f32), fmax(f32));
23958736 try testArgs(f32, nan(f32), inf(f32));
23968737 try testArgs(f32, nan(f32), nan(f32));
......@@ -2398,18 +8739,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
23988739 try testArgs(f64, -nan(f64), -nan(f64));
23998740 try testArgs(f64, -nan(f64), -inf(f64));
24008741 try testArgs(f64, -nan(f64), -fmax(f64));
2401 try testArgs(f64, -nan(f64), -10.0);
2402 try testArgs(f64, -nan(f64), -1.0);
2403 try testArgs(f64, -nan(f64), -0.1);
8742 try testArgs(f64, -nan(f64), -1e1);
8743 try testArgs(f64, -nan(f64), -1e0);
8744 try testArgs(f64, -nan(f64), -1e-1);
24048745 try testArgs(f64, -nan(f64), -fmin(f64));
24058746 try testArgs(f64, -nan(f64), -tmin(f64));
24068747 try testArgs(f64, -nan(f64), -0.0);
24078748 try testArgs(f64, -nan(f64), 0.0);
24088749 try testArgs(f64, -nan(f64), tmin(f64));
24098750 try testArgs(f64, -nan(f64), fmin(f64));
2410 try testArgs(f64, -nan(f64), 0.1);
2411 try testArgs(f64, -nan(f64), 1.0);
2412 try testArgs(f64, -nan(f64), 10.0);
8751 try testArgs(f64, -nan(f64), 1e-1);
8752 try testArgs(f64, -nan(f64), 1e0);
8753 try testArgs(f64, -nan(f64), 1e1);
24138754 try testArgs(f64, -nan(f64), fmax(f64));
24148755 try testArgs(f64, -nan(f64), inf(f64));
24158756 try testArgs(f64, -nan(f64), nan(f64));
......@@ -2417,18 +8758,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
24178758 try testArgs(f64, -inf(f64), -nan(f64));
24188759 try testArgs(f64, -inf(f64), -inf(f64));
24198760 try testArgs(f64, -inf(f64), -fmax(f64));
2420 try testArgs(f64, -inf(f64), -10.0);
2421 try testArgs(f64, -inf(f64), -1.0);
2422 try testArgs(f64, -inf(f64), -0.1);
8761 try testArgs(f64, -inf(f64), -1e1);
8762 try testArgs(f64, -inf(f64), -1e0);
8763 try testArgs(f64, -inf(f64), -1e-1);
24238764 try testArgs(f64, -inf(f64), -fmin(f64));
24248765 try testArgs(f64, -inf(f64), -tmin(f64));
24258766 try testArgs(f64, -inf(f64), -0.0);
24268767 try testArgs(f64, -inf(f64), 0.0);
24278768 try testArgs(f64, -inf(f64), tmin(f64));
24288769 try testArgs(f64, -inf(f64), fmin(f64));
2429 try testArgs(f64, -inf(f64), 0.1);
2430 try testArgs(f64, -inf(f64), 1.0);
2431 try testArgs(f64, -inf(f64), 10.0);
8770 try testArgs(f64, -inf(f64), 1e-1);
8771 try testArgs(f64, -inf(f64), 1e0);
8772 try testArgs(f64, -inf(f64), 1e1);
24328773 try testArgs(f64, -inf(f64), fmax(f64));
24338774 try testArgs(f64, -inf(f64), inf(f64));
24348775 try testArgs(f64, -inf(f64), nan(f64));
......@@ -2436,94 +8777,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
24368777 try testArgs(f64, -fmax(f64), -nan(f64));
24378778 try testArgs(f64, -fmax(f64), -inf(f64));
24388779 try testArgs(f64, -fmax(f64), -fmax(f64));
2439 try testArgs(f64, -fmax(f64), -10.0);
2440 try testArgs(f64, -fmax(f64), -1.0);
2441 try testArgs(f64, -fmax(f64), -0.1);
8780 try testArgs(f64, -fmax(f64), -1e1);
8781 try testArgs(f64, -fmax(f64), -1e0);
8782 try testArgs(f64, -fmax(f64), -1e-1);
24428783 try testArgs(f64, -fmax(f64), -fmin(f64));
24438784 try testArgs(f64, -fmax(f64), -tmin(f64));
24448785 try testArgs(f64, -fmax(f64), -0.0);
24458786 try testArgs(f64, -fmax(f64), 0.0);
24468787 try testArgs(f64, -fmax(f64), tmin(f64));
24478788 try testArgs(f64, -fmax(f64), fmin(f64));
2448 try testArgs(f64, -fmax(f64), 0.1);
2449 try testArgs(f64, -fmax(f64), 1.0);
2450 try testArgs(f64, -fmax(f64), 10.0);
8789 try testArgs(f64, -fmax(f64), 1e-1);
8790 try testArgs(f64, -fmax(f64), 1e0);
8791 try testArgs(f64, -fmax(f64), 1e1);
24518792 try testArgs(f64, -fmax(f64), fmax(f64));
24528793 try testArgs(f64, -fmax(f64), inf(f64));
24538794 try testArgs(f64, -fmax(f64), nan(f64));
24548795
2455 try testArgs(f64, -10.0, -nan(f64));
2456 try testArgs(f64, -10.0, -inf(f64));
2457 try testArgs(f64, -10.0, -fmax(f64));
2458 try testArgs(f64, -10.0, -10.0);
2459 try testArgs(f64, -10.0, -1.0);
2460 try testArgs(f64, -10.0, -0.1);
2461 try testArgs(f64, -10.0, -fmin(f64));
2462 try testArgs(f64, -10.0, -tmin(f64));
2463 try testArgs(f64, -10.0, -0.0);
2464 try testArgs(f64, -10.0, 0.0);
2465 try testArgs(f64, -10.0, tmin(f64));
2466 try testArgs(f64, -10.0, fmin(f64));
2467 try testArgs(f64, -10.0, 0.1);
2468 try testArgs(f64, -10.0, 1.0);
2469 try testArgs(f64, -10.0, 10.0);
2470 try testArgs(f64, -10.0, fmax(f64));
2471 try testArgs(f64, -10.0, inf(f64));
2472 try testArgs(f64, -10.0, nan(f64));
2473
2474 try testArgs(f64, -1.0, -nan(f64));
2475 try testArgs(f64, -1.0, -inf(f64));
2476 try testArgs(f64, -1.0, -fmax(f64));
2477 try testArgs(f64, -1.0, -10.0);
2478 try testArgs(f64, -1.0, -1.0);
2479 try testArgs(f64, -1.0, -0.1);
2480 try testArgs(f64, -1.0, -fmin(f64));
2481 try testArgs(f64, -1.0, -tmin(f64));
2482 try testArgs(f64, -1.0, -0.0);
2483 try testArgs(f64, -1.0, 0.0);
2484 try testArgs(f64, -1.0, tmin(f64));
2485 try testArgs(f64, -1.0, fmin(f64));
2486 try testArgs(f64, -1.0, 0.1);
2487 try testArgs(f64, -1.0, 1.0);
2488 try testArgs(f64, -1.0, 10.0);
2489 try testArgs(f64, -1.0, fmax(f64));
2490 try testArgs(f64, -1.0, inf(f64));
2491 try testArgs(f64, -1.0, nan(f64));
2492
2493 try testArgs(f64, -0.1, -nan(f64));
2494 try testArgs(f64, -0.1, -inf(f64));
2495 try testArgs(f64, -0.1, -fmax(f64));
2496 try testArgs(f64, -0.1, -10.0);
2497 try testArgs(f64, -0.1, -1.0);
2498 try testArgs(f64, -0.1, -0.1);
2499 try testArgs(f64, -0.1, -fmin(f64));
2500 try testArgs(f64, -0.1, -tmin(f64));
2501 try testArgs(f64, -0.1, -0.0);
2502 try testArgs(f64, -0.1, 0.0);
2503 try testArgs(f64, -0.1, tmin(f64));
2504 try testArgs(f64, -0.1, fmin(f64));
2505 try testArgs(f64, -0.1, 0.1);
2506 try testArgs(f64, -0.1, 1.0);
2507 try testArgs(f64, -0.1, 10.0);
2508 try testArgs(f64, -0.1, fmax(f64));
2509 try testArgs(f64, -0.1, inf(f64));
2510 try testArgs(f64, -0.1, nan(f64));
8796 try testArgs(f64, -1e1, -nan(f64));
8797 try testArgs(f64, -1e1, -inf(f64));
8798 try testArgs(f64, -1e1, -fmax(f64));
8799 try testArgs(f64, -1e1, -1e1);
8800 try testArgs(f64, -1e1, -1e0);
8801 try testArgs(f64, -1e1, -1e-1);
8802 try testArgs(f64, -1e1, -fmin(f64));
8803 try testArgs(f64, -1e1, -tmin(f64));
8804 try testArgs(f64, -1e1, -0.0);
8805 try testArgs(f64, -1e1, 0.0);
8806 try testArgs(f64, -1e1, tmin(f64));
8807 try testArgs(f64, -1e1, fmin(f64));
8808 try testArgs(f64, -1e1, 1e-1);
8809 try testArgs(f64, -1e1, 1e0);
8810 try testArgs(f64, -1e1, 1e1);
8811 try testArgs(f64, -1e1, fmax(f64));
8812 try testArgs(f64, -1e1, inf(f64));
8813 try testArgs(f64, -1e1, nan(f64));
8814
8815 try testArgs(f64, -1e0, -nan(f64));
8816 try testArgs(f64, -1e0, -inf(f64));
8817 try testArgs(f64, -1e0, -fmax(f64));
8818 try testArgs(f64, -1e0, -1e1);
8819 try testArgs(f64, -1e0, -1e0);
8820 try testArgs(f64, -1e0, -1e-1);
8821 try testArgs(f64, -1e0, -fmin(f64));
8822 try testArgs(f64, -1e0, -tmin(f64));
8823 try testArgs(f64, -1e0, -0.0);
8824 try testArgs(f64, -1e0, 0.0);
8825 try testArgs(f64, -1e0, tmin(f64));
8826 try testArgs(f64, -1e0, fmin(f64));
8827 try testArgs(f64, -1e0, 1e-1);
8828 try testArgs(f64, -1e0, 1e0);
8829 try testArgs(f64, -1e0, 1e1);
8830 try testArgs(f64, -1e0, fmax(f64));
8831 try testArgs(f64, -1e0, inf(f64));
8832 try testArgs(f64, -1e0, nan(f64));
8833
8834 try testArgs(f64, -1e-1, -nan(f64));
8835 try testArgs(f64, -1e-1, -inf(f64));
8836 try testArgs(f64, -1e-1, -fmax(f64));
8837 try testArgs(f64, -1e-1, -1e1);
8838 try testArgs(f64, -1e-1, -1e0);
8839 try testArgs(f64, -1e-1, -1e-1);
8840 try testArgs(f64, -1e-1, -fmin(f64));
8841 try testArgs(f64, -1e-1, -tmin(f64));
8842 try testArgs(f64, -1e-1, -0.0);
8843 try testArgs(f64, -1e-1, 0.0);
8844 try testArgs(f64, -1e-1, tmin(f64));
8845 try testArgs(f64, -1e-1, fmin(f64));
8846 try testArgs(f64, -1e-1, 1e-1);
8847 try testArgs(f64, -1e-1, 1e0);
8848 try testArgs(f64, -1e-1, 1e1);
8849 try testArgs(f64, -1e-1, fmax(f64));
8850 try testArgs(f64, -1e-1, inf(f64));
8851 try testArgs(f64, -1e-1, nan(f64));
25118852
25128853 try testArgs(f64, -fmin(f64), -nan(f64));
25138854 try testArgs(f64, -fmin(f64), -inf(f64));
25148855 try testArgs(f64, -fmin(f64), -fmax(f64));
2515 try testArgs(f64, -fmin(f64), -10.0);
2516 try testArgs(f64, -fmin(f64), -1.0);
2517 try testArgs(f64, -fmin(f64), -0.1);
8856 try testArgs(f64, -fmin(f64), -1e1);
8857 try testArgs(f64, -fmin(f64), -1e0);
8858 try testArgs(f64, -fmin(f64), -1e-1);
25188859 try testArgs(f64, -fmin(f64), -fmin(f64));
25198860 try testArgs(f64, -fmin(f64), -tmin(f64));
25208861 try testArgs(f64, -fmin(f64), -0.0);
25218862 try testArgs(f64, -fmin(f64), 0.0);
25228863 try testArgs(f64, -fmin(f64), tmin(f64));
25238864 try testArgs(f64, -fmin(f64), fmin(f64));
2524 try testArgs(f64, -fmin(f64), 0.1);
2525 try testArgs(f64, -fmin(f64), 1.0);
2526 try testArgs(f64, -fmin(f64), 10.0);
8865 try testArgs(f64, -fmin(f64), 1e-1);
8866 try testArgs(f64, -fmin(f64), 1e0);
8867 try testArgs(f64, -fmin(f64), 1e1);
25278868 try testArgs(f64, -fmin(f64), fmax(f64));
25288869 try testArgs(f64, -fmin(f64), inf(f64));
25298870 try testArgs(f64, -fmin(f64), nan(f64));
......@@ -2531,18 +8872,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
25318872 try testArgs(f64, -tmin(f64), -nan(f64));
25328873 try testArgs(f64, -tmin(f64), -inf(f64));
25338874 try testArgs(f64, -tmin(f64), -fmax(f64));
2534 try testArgs(f64, -tmin(f64), -10.0);
2535 try testArgs(f64, -tmin(f64), -1.0);
2536 try testArgs(f64, -tmin(f64), -0.1);
8875 try testArgs(f64, -tmin(f64), -1e1);
8876 try testArgs(f64, -tmin(f64), -1e0);
8877 try testArgs(f64, -tmin(f64), -1e-1);
25378878 try testArgs(f64, -tmin(f64), -fmin(f64));
25388879 try testArgs(f64, -tmin(f64), -tmin(f64));
25398880 try testArgs(f64, -tmin(f64), -0.0);
25408881 try testArgs(f64, -tmin(f64), 0.0);
25418882 try testArgs(f64, -tmin(f64), tmin(f64));
25428883 try testArgs(f64, -tmin(f64), fmin(f64));
2543 try testArgs(f64, -tmin(f64), 0.1);
2544 try testArgs(f64, -tmin(f64), 1.0);
2545 try testArgs(f64, -tmin(f64), 10.0);
8884 try testArgs(f64, -tmin(f64), 1e-1);
8885 try testArgs(f64, -tmin(f64), 1e0);
8886 try testArgs(f64, -tmin(f64), 1e1);
25468887 try testArgs(f64, -tmin(f64), fmax(f64));
25478888 try testArgs(f64, -tmin(f64), inf(f64));
25488889 try testArgs(f64, -tmin(f64), nan(f64));
......@@ -2550,18 +8891,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
25508891 try testArgs(f64, -0.0, -nan(f64));
25518892 try testArgs(f64, -0.0, -inf(f64));
25528893 try testArgs(f64, -0.0, -fmax(f64));
2553 try testArgs(f64, -0.0, -10.0);
2554 try testArgs(f64, -0.0, -1.0);
2555 try testArgs(f64, -0.0, -0.1);
8894 try testArgs(f64, -0.0, -1e1);
8895 try testArgs(f64, -0.0, -1e0);
8896 try testArgs(f64, -0.0, -1e-1);
25568897 try testArgs(f64, -0.0, -fmin(f64));
25578898 try testArgs(f64, -0.0, -tmin(f64));
25588899 try testArgs(f64, -0.0, -0.0);
25598900 try testArgs(f64, -0.0, 0.0);
25608901 try testArgs(f64, -0.0, tmin(f64));
25618902 try testArgs(f64, -0.0, fmin(f64));
2562 try testArgs(f64, -0.0, 0.1);
2563 try testArgs(f64, -0.0, 1.0);
2564 try testArgs(f64, -0.0, 10.0);
8903 try testArgs(f64, -0.0, 1e-1);
8904 try testArgs(f64, -0.0, 1e0);
8905 try testArgs(f64, -0.0, 1e1);
25658906 try testArgs(f64, -0.0, fmax(f64));
25668907 try testArgs(f64, -0.0, inf(f64));
25678908 try testArgs(f64, -0.0, nan(f64));
......@@ -2569,18 +8910,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
25698910 try testArgs(f64, 0.0, -nan(f64));
25708911 try testArgs(f64, 0.0, -inf(f64));
25718912 try testArgs(f64, 0.0, -fmax(f64));
2572 try testArgs(f64, 0.0, -10.0);
2573 try testArgs(f64, 0.0, -1.0);
2574 try testArgs(f64, 0.0, -0.1);
8913 try testArgs(f64, 0.0, -1e1);
8914 try testArgs(f64, 0.0, -1e0);
8915 try testArgs(f64, 0.0, -1e-1);
25758916 try testArgs(f64, 0.0, -fmin(f64));
25768917 try testArgs(f64, 0.0, -tmin(f64));
25778918 try testArgs(f64, 0.0, -0.0);
25788919 try testArgs(f64, 0.0, 0.0);
25798920 try testArgs(f64, 0.0, tmin(f64));
25808921 try testArgs(f64, 0.0, fmin(f64));
2581 try testArgs(f64, 0.0, 0.1);
2582 try testArgs(f64, 0.0, 1.0);
2583 try testArgs(f64, 0.0, 10.0);
8922 try testArgs(f64, 0.0, 1e-1);
8923 try testArgs(f64, 0.0, 1e0);
8924 try testArgs(f64, 0.0, 1e1);
25848925 try testArgs(f64, 0.0, fmax(f64));
25858926 try testArgs(f64, 0.0, inf(f64));
25868927 try testArgs(f64, 0.0, nan(f64));
......@@ -2588,18 +8929,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
25888929 try testArgs(f64, tmin(f64), -nan(f64));
25898930 try testArgs(f64, tmin(f64), -inf(f64));
25908931 try testArgs(f64, tmin(f64), -fmax(f64));
2591 try testArgs(f64, tmin(f64), -10.0);
2592 try testArgs(f64, tmin(f64), -1.0);
2593 try testArgs(f64, tmin(f64), -0.1);
8932 try testArgs(f64, tmin(f64), -1e1);
8933 try testArgs(f64, tmin(f64), -1e0);
8934 try testArgs(f64, tmin(f64), -1e-1);
25948935 try testArgs(f64, tmin(f64), -fmin(f64));
25958936 try testArgs(f64, tmin(f64), -tmin(f64));
25968937 try testArgs(f64, tmin(f64), -0.0);
25978938 try testArgs(f64, tmin(f64), 0.0);
25988939 try testArgs(f64, tmin(f64), tmin(f64));
25998940 try testArgs(f64, tmin(f64), fmin(f64));
2600 try testArgs(f64, tmin(f64), 0.1);
2601 try testArgs(f64, tmin(f64), 1.0);
2602 try testArgs(f64, tmin(f64), 10.0);
8941 try testArgs(f64, tmin(f64), 1e-1);
8942 try testArgs(f64, tmin(f64), 1e0);
8943 try testArgs(f64, tmin(f64), 1e1);
26038944 try testArgs(f64, tmin(f64), fmax(f64));
26048945 try testArgs(f64, tmin(f64), inf(f64));
26058946 try testArgs(f64, tmin(f64), nan(f64));
......@@ -2607,94 +8948,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
26078948 try testArgs(f64, fmin(f64), -nan(f64));
26088949 try testArgs(f64, fmin(f64), -inf(f64));
26098950 try testArgs(f64, fmin(f64), -fmax(f64));
2610 try testArgs(f64, fmin(f64), -10.0);
2611 try testArgs(f64, fmin(f64), -1.0);
2612 try testArgs(f64, fmin(f64), -0.1);
8951 try testArgs(f64, fmin(f64), -1e1);
8952 try testArgs(f64, fmin(f64), -1e0);
8953 try testArgs(f64, fmin(f64), -1e-1);
26138954 try testArgs(f64, fmin(f64), -fmin(f64));
26148955 try testArgs(f64, fmin(f64), -tmin(f64));
26158956 try testArgs(f64, fmin(f64), -0.0);
26168957 try testArgs(f64, fmin(f64), 0.0);
26178958 try testArgs(f64, fmin(f64), tmin(f64));
26188959 try testArgs(f64, fmin(f64), fmin(f64));
2619 try testArgs(f64, fmin(f64), 0.1);
2620 try testArgs(f64, fmin(f64), 1.0);
2621 try testArgs(f64, fmin(f64), 10.0);
8960 try testArgs(f64, fmin(f64), 1e-1);
8961 try testArgs(f64, fmin(f64), 1e0);
8962 try testArgs(f64, fmin(f64), 1e1);
26228963 try testArgs(f64, fmin(f64), fmax(f64));
26238964 try testArgs(f64, fmin(f64), inf(f64));
26248965 try testArgs(f64, fmin(f64), nan(f64));
26258966
2626 try testArgs(f64, 0.1, -nan(f64));
2627 try testArgs(f64, 0.1, -inf(f64));
2628 try testArgs(f64, 0.1, -fmax(f64));
2629 try testArgs(f64, 0.1, -10.0);
2630 try testArgs(f64, 0.1, -1.0);
2631 try testArgs(f64, 0.1, -0.1);
2632 try testArgs(f64, 0.1, -fmin(f64));
2633 try testArgs(f64, 0.1, -tmin(f64));
2634 try testArgs(f64, 0.1, -0.0);
2635 try testArgs(f64, 0.1, 0.0);
2636 try testArgs(f64, 0.1, tmin(f64));
2637 try testArgs(f64, 0.1, fmin(f64));
2638 try testArgs(f64, 0.1, 0.1);
2639 try testArgs(f64, 0.1, 1.0);
2640 try testArgs(f64, 0.1, 10.0);
2641 try testArgs(f64, 0.1, fmax(f64));
2642 try testArgs(f64, 0.1, inf(f64));
2643 try testArgs(f64, 0.1, nan(f64));
2644
2645 try testArgs(f64, 1.0, -nan(f64));
2646 try testArgs(f64, 1.0, -inf(f64));
2647 try testArgs(f64, 1.0, -fmax(f64));
2648 try testArgs(f64, 1.0, -10.0);
2649 try testArgs(f64, 1.0, -1.0);
2650 try testArgs(f64, 1.0, -0.1);
2651 try testArgs(f64, 1.0, -fmin(f64));
2652 try testArgs(f64, 1.0, -tmin(f64));
2653 try testArgs(f64, 1.0, -0.0);
2654 try testArgs(f64, 1.0, 0.0);
2655 try testArgs(f64, 1.0, tmin(f64));
2656 try testArgs(f64, 1.0, fmin(f64));
2657 try testArgs(f64, 1.0, 0.1);
2658 try testArgs(f64, 1.0, 1.0);
2659 try testArgs(f64, 1.0, 10.0);
2660 try testArgs(f64, 1.0, fmax(f64));
2661 try testArgs(f64, 1.0, inf(f64));
2662 try testArgs(f64, 1.0, nan(f64));
2663
2664 try testArgs(f64, 10.0, -nan(f64));
2665 try testArgs(f64, 10.0, -inf(f64));
2666 try testArgs(f64, 10.0, -fmax(f64));
2667 try testArgs(f64, 10.0, -10.0);
2668 try testArgs(f64, 10.0, -1.0);
2669 try testArgs(f64, 10.0, -0.1);
2670 try testArgs(f64, 10.0, -fmin(f64));
2671 try testArgs(f64, 10.0, -tmin(f64));
2672 try testArgs(f64, 10.0, -0.0);
2673 try testArgs(f64, 10.0, 0.0);
2674 try testArgs(f64, 10.0, tmin(f64));
2675 try testArgs(f64, 10.0, fmin(f64));
2676 try testArgs(f64, 10.0, 0.1);
2677 try testArgs(f64, 10.0, 1.0);
2678 try testArgs(f64, 10.0, 10.0);
2679 try testArgs(f64, 10.0, fmax(f64));
2680 try testArgs(f64, 10.0, inf(f64));
2681 try testArgs(f64, 10.0, nan(f64));
8967 try testArgs(f64, 1e-1, -nan(f64));
8968 try testArgs(f64, 1e-1, -inf(f64));
8969 try testArgs(f64, 1e-1, -fmax(f64));
8970 try testArgs(f64, 1e-1, -1e1);
8971 try testArgs(f64, 1e-1, -1e0);
8972 try testArgs(f64, 1e-1, -1e-1);
8973 try testArgs(f64, 1e-1, -fmin(f64));
8974 try testArgs(f64, 1e-1, -tmin(f64));
8975 try testArgs(f64, 1e-1, -0.0);
8976 try testArgs(f64, 1e-1, 0.0);
8977 try testArgs(f64, 1e-1, tmin(f64));
8978 try testArgs(f64, 1e-1, fmin(f64));
8979 try testArgs(f64, 1e-1, 1e-1);
8980 try testArgs(f64, 1e-1, 1e0);
8981 try testArgs(f64, 1e-1, 1e1);
8982 try testArgs(f64, 1e-1, fmax(f64));
8983 try testArgs(f64, 1e-1, inf(f64));
8984 try testArgs(f64, 1e-1, nan(f64));
8985
8986 try testArgs(f64, 1e0, -nan(f64));
8987 try testArgs(f64, 1e0, -inf(f64));
8988 try testArgs(f64, 1e0, -fmax(f64));
8989 try testArgs(f64, 1e0, -1e1);
8990 try testArgs(f64, 1e0, -1e0);
8991 try testArgs(f64, 1e0, -1e-1);
8992 try testArgs(f64, 1e0, -fmin(f64));
8993 try testArgs(f64, 1e0, -tmin(f64));
8994 try testArgs(f64, 1e0, -0.0);
8995 try testArgs(f64, 1e0, 0.0);
8996 try testArgs(f64, 1e0, tmin(f64));
8997 try testArgs(f64, 1e0, fmin(f64));
8998 try testArgs(f64, 1e0, 1e-1);
8999 try testArgs(f64, 1e0, 1e0);
9000 try testArgs(f64, 1e0, 1e1);
9001 try testArgs(f64, 1e0, fmax(f64));
9002 try testArgs(f64, 1e0, inf(f64));
9003 try testArgs(f64, 1e0, nan(f64));
9004
9005 try testArgs(f64, 1e1, -nan(f64));
9006 try testArgs(f64, 1e1, -inf(f64));
9007 try testArgs(f64, 1e1, -fmax(f64));
9008 try testArgs(f64, 1e1, -1e1);
9009 try testArgs(f64, 1e1, -1e0);
9010 try testArgs(f64, 1e1, -1e-1);
9011 try testArgs(f64, 1e1, -fmin(f64));
9012 try testArgs(f64, 1e1, -tmin(f64));
9013 try testArgs(f64, 1e1, -0.0);
9014 try testArgs(f64, 1e1, 0.0);
9015 try testArgs(f64, 1e1, tmin(f64));
9016 try testArgs(f64, 1e1, fmin(f64));
9017 try testArgs(f64, 1e1, 1e-1);
9018 try testArgs(f64, 1e1, 1e0);
9019 try testArgs(f64, 1e1, 1e1);
9020 try testArgs(f64, 1e1, fmax(f64));
9021 try testArgs(f64, 1e1, inf(f64));
9022 try testArgs(f64, 1e1, nan(f64));
26829023
26839024 try testArgs(f64, fmax(f64), -nan(f64));
26849025 try testArgs(f64, fmax(f64), -inf(f64));
26859026 try testArgs(f64, fmax(f64), -fmax(f64));
2686 try testArgs(f64, fmax(f64), -10.0);
2687 try testArgs(f64, fmax(f64), -1.0);
2688 try testArgs(f64, fmax(f64), -0.1);
9027 try testArgs(f64, fmax(f64), -1e1);
9028 try testArgs(f64, fmax(f64), -1e0);
9029 try testArgs(f64, fmax(f64), -1e-1);
26899030 try testArgs(f64, fmax(f64), -fmin(f64));
26909031 try testArgs(f64, fmax(f64), -tmin(f64));
26919032 try testArgs(f64, fmax(f64), -0.0);
26929033 try testArgs(f64, fmax(f64), 0.0);
26939034 try testArgs(f64, fmax(f64), tmin(f64));
26949035 try testArgs(f64, fmax(f64), fmin(f64));
2695 try testArgs(f64, fmax(f64), 0.1);
2696 try testArgs(f64, fmax(f64), 1.0);
2697 try testArgs(f64, fmax(f64), 10.0);
9036 try testArgs(f64, fmax(f64), 1e-1);
9037 try testArgs(f64, fmax(f64), 1e0);
9038 try testArgs(f64, fmax(f64), 1e1);
26989039 try testArgs(f64, fmax(f64), fmax(f64));
26999040 try testArgs(f64, fmax(f64), inf(f64));
27009041 try testArgs(f64, fmax(f64), nan(f64));
......@@ -2702,18 +9043,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
27029043 try testArgs(f64, inf(f64), -nan(f64));
27039044 try testArgs(f64, inf(f64), -inf(f64));
27049045 try testArgs(f64, inf(f64), -fmax(f64));
2705 try testArgs(f64, inf(f64), -10.0);
2706 try testArgs(f64, inf(f64), -1.0);
2707 try testArgs(f64, inf(f64), -0.1);
9046 try testArgs(f64, inf(f64), -1e1);
9047 try testArgs(f64, inf(f64), -1e0);
9048 try testArgs(f64, inf(f64), -1e-1);
27089049 try testArgs(f64, inf(f64), -fmin(f64));
27099050 try testArgs(f64, inf(f64), -tmin(f64));
27109051 try testArgs(f64, inf(f64), -0.0);
27119052 try testArgs(f64, inf(f64), 0.0);
27129053 try testArgs(f64, inf(f64), tmin(f64));
27139054 try testArgs(f64, inf(f64), fmin(f64));
2714 try testArgs(f64, inf(f64), 0.1);
2715 try testArgs(f64, inf(f64), 1.0);
2716 try testArgs(f64, inf(f64), 10.0);
9055 try testArgs(f64, inf(f64), 1e-1);
9056 try testArgs(f64, inf(f64), 1e0);
9057 try testArgs(f64, inf(f64), 1e1);
27179058 try testArgs(f64, inf(f64), fmax(f64));
27189059 try testArgs(f64, inf(f64), inf(f64));
27199060 try testArgs(f64, inf(f64), nan(f64));
......@@ -2721,18 +9062,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
27219062 try testArgs(f64, nan(f64), -nan(f64));
27229063 try testArgs(f64, nan(f64), -inf(f64));
27239064 try testArgs(f64, nan(f64), -fmax(f64));
2724 try testArgs(f64, nan(f64), -10.0);
2725 try testArgs(f64, nan(f64), -1.0);
2726 try testArgs(f64, nan(f64), -0.1);
9065 try testArgs(f64, nan(f64), -1e1);
9066 try testArgs(f64, nan(f64), -1e0);
9067 try testArgs(f64, nan(f64), -1e-1);
27279068 try testArgs(f64, nan(f64), -fmin(f64));
27289069 try testArgs(f64, nan(f64), -tmin(f64));
27299070 try testArgs(f64, nan(f64), -0.0);
27309071 try testArgs(f64, nan(f64), 0.0);
27319072 try testArgs(f64, nan(f64), tmin(f64));
27329073 try testArgs(f64, nan(f64), fmin(f64));
2733 try testArgs(f64, nan(f64), 0.1);
2734 try testArgs(f64, nan(f64), 1.0);
2735 try testArgs(f64, nan(f64), 10.0);
9074 try testArgs(f64, nan(f64), 1e-1);
9075 try testArgs(f64, nan(f64), 1e0);
9076 try testArgs(f64, nan(f64), 1e1);
27369077 try testArgs(f64, nan(f64), fmax(f64));
27379078 try testArgs(f64, nan(f64), inf(f64));
27389079 try testArgs(f64, nan(f64), nan(f64));
......@@ -2740,18 +9081,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
27409081 try testArgs(f80, -nan(f80), -nan(f80));
27419082 try testArgs(f80, -nan(f80), -inf(f80));
27429083 try testArgs(f80, -nan(f80), -fmax(f80));
2743 try testArgs(f80, -nan(f80), -10.0);
2744 try testArgs(f80, -nan(f80), -1.0);
2745 try testArgs(f80, -nan(f80), -0.1);
9084 try testArgs(f80, -nan(f80), -1e1);
9085 try testArgs(f80, -nan(f80), -1e0);
9086 try testArgs(f80, -nan(f80), -1e-1);
27469087 try testArgs(f80, -nan(f80), -fmin(f80));
27479088 try testArgs(f80, -nan(f80), -tmin(f80));
27489089 try testArgs(f80, -nan(f80), -0.0);
27499090 try testArgs(f80, -nan(f80), 0.0);
27509091 try testArgs(f80, -nan(f80), tmin(f80));
27519092 try testArgs(f80, -nan(f80), fmin(f80));
2752 try testArgs(f80, -nan(f80), 0.1);
2753 try testArgs(f80, -nan(f80), 1.0);
2754 try testArgs(f80, -nan(f80), 10.0);
9093 try testArgs(f80, -nan(f80), 1e-1);
9094 try testArgs(f80, -nan(f80), 1e0);
9095 try testArgs(f80, -nan(f80), 1e1);
27559096 try testArgs(f80, -nan(f80), fmax(f80));
27569097 try testArgs(f80, -nan(f80), inf(f80));
27579098 try testArgs(f80, -nan(f80), nan(f80));
......@@ -2759,18 +9100,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
27599100 try testArgs(f80, -inf(f80), -nan(f80));
27609101 try testArgs(f80, -inf(f80), -inf(f80));
27619102 try testArgs(f80, -inf(f80), -fmax(f80));
2762 try testArgs(f80, -inf(f80), -10.0);
2763 try testArgs(f80, -inf(f80), -1.0);
2764 try testArgs(f80, -inf(f80), -0.1);
9103 try testArgs(f80, -inf(f80), -1e1);
9104 try testArgs(f80, -inf(f80), -1e0);
9105 try testArgs(f80, -inf(f80), -1e-1);
27659106 try testArgs(f80, -inf(f80), -fmin(f80));
27669107 try testArgs(f80, -inf(f80), -tmin(f80));
27679108 try testArgs(f80, -inf(f80), -0.0);
27689109 try testArgs(f80, -inf(f80), 0.0);
27699110 try testArgs(f80, -inf(f80), tmin(f80));
27709111 try testArgs(f80, -inf(f80), fmin(f80));
2771 try testArgs(f80, -inf(f80), 0.1);
2772 try testArgs(f80, -inf(f80), 1.0);
2773 try testArgs(f80, -inf(f80), 10.0);
9112 try testArgs(f80, -inf(f80), 1e-1);
9113 try testArgs(f80, -inf(f80), 1e0);
9114 try testArgs(f80, -inf(f80), 1e1);
27749115 try testArgs(f80, -inf(f80), fmax(f80));
27759116 try testArgs(f80, -inf(f80), inf(f80));
27769117 try testArgs(f80, -inf(f80), nan(f80));
......@@ -2778,94 +9119,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
27789119 try testArgs(f80, -fmax(f80), -nan(f80));
27799120 try testArgs(f80, -fmax(f80), -inf(f80));
27809121 try testArgs(f80, -fmax(f80), -fmax(f80));
2781 try testArgs(f80, -fmax(f80), -10.0);
2782 try testArgs(f80, -fmax(f80), -1.0);
2783 try testArgs(f80, -fmax(f80), -0.1);
9122 try testArgs(f80, -fmax(f80), -1e1);
9123 try testArgs(f80, -fmax(f80), -1e0);
9124 try testArgs(f80, -fmax(f80), -1e-1);
27849125 try testArgs(f80, -fmax(f80), -fmin(f80));
27859126 try testArgs(f80, -fmax(f80), -tmin(f80));
27869127 try testArgs(f80, -fmax(f80), -0.0);
27879128 try testArgs(f80, -fmax(f80), 0.0);
27889129 try testArgs(f80, -fmax(f80), tmin(f80));
27899130 try testArgs(f80, -fmax(f80), fmin(f80));
2790 try testArgs(f80, -fmax(f80), 0.1);
2791 try testArgs(f80, -fmax(f80), 1.0);
2792 try testArgs(f80, -fmax(f80), 10.0);
9131 try testArgs(f80, -fmax(f80), 1e-1);
9132 try testArgs(f80, -fmax(f80), 1e0);
9133 try testArgs(f80, -fmax(f80), 1e1);
27939134 try testArgs(f80, -fmax(f80), fmax(f80));
27949135 try testArgs(f80, -fmax(f80), inf(f80));
27959136 try testArgs(f80, -fmax(f80), nan(f80));
27969137
2797 try testArgs(f80, -10.0, -nan(f80));
2798 try testArgs(f80, -10.0, -inf(f80));
2799 try testArgs(f80, -10.0, -fmax(f80));
2800 try testArgs(f80, -10.0, -10.0);
2801 try testArgs(f80, -10.0, -1.0);
2802 try testArgs(f80, -10.0, -0.1);
2803 try testArgs(f80, -10.0, -fmin(f80));
2804 try testArgs(f80, -10.0, -tmin(f80));
2805 try testArgs(f80, -10.0, -0.0);
2806 try testArgs(f80, -10.0, 0.0);
2807 try testArgs(f80, -10.0, tmin(f80));
2808 try testArgs(f80, -10.0, fmin(f80));
2809 try testArgs(f80, -10.0, 0.1);
2810 try testArgs(f80, -10.0, 1.0);
2811 try testArgs(f80, -10.0, 10.0);
2812 try testArgs(f80, -10.0, fmax(f80));
2813 try testArgs(f80, -10.0, inf(f80));
2814 try testArgs(f80, -10.0, nan(f80));
2815
2816 try testArgs(f80, -1.0, -nan(f80));
2817 try testArgs(f80, -1.0, -inf(f80));
2818 try testArgs(f80, -1.0, -fmax(f80));
2819 try testArgs(f80, -1.0, -10.0);
2820 try testArgs(f80, -1.0, -1.0);
2821 try testArgs(f80, -1.0, -0.1);
2822 try testArgs(f80, -1.0, -fmin(f80));
2823 try testArgs(f80, -1.0, -tmin(f80));
2824 try testArgs(f80, -1.0, -0.0);
2825 try testArgs(f80, -1.0, 0.0);
2826 try testArgs(f80, -1.0, tmin(f80));
2827 try testArgs(f80, -1.0, fmin(f80));
2828 try testArgs(f80, -1.0, 0.1);
2829 try testArgs(f80, -1.0, 1.0);
2830 try testArgs(f80, -1.0, 10.0);
2831 try testArgs(f80, -1.0, fmax(f80));
2832 try testArgs(f80, -1.0, inf(f80));
2833 try testArgs(f80, -1.0, nan(f80));
2834
2835 try testArgs(f80, -0.1, -nan(f80));
2836 try testArgs(f80, -0.1, -inf(f80));
2837 try testArgs(f80, -0.1, -fmax(f80));
2838 try testArgs(f80, -0.1, -10.0);
2839 try testArgs(f80, -0.1, -1.0);
2840 try testArgs(f80, -0.1, -0.1);
2841 try testArgs(f80, -0.1, -fmin(f80));
2842 try testArgs(f80, -0.1, -tmin(f80));
2843 try testArgs(f80, -0.1, -0.0);
2844 try testArgs(f80, -0.1, 0.0);
2845 try testArgs(f80, -0.1, tmin(f80));
2846 try testArgs(f80, -0.1, fmin(f80));
2847 try testArgs(f80, -0.1, 0.1);
2848 try testArgs(f80, -0.1, 1.0);
2849 try testArgs(f80, -0.1, 10.0);
2850 try testArgs(f80, -0.1, fmax(f80));
2851 try testArgs(f80, -0.1, inf(f80));
2852 try testArgs(f80, -0.1, nan(f80));
9138 try testArgs(f80, -1e1, -nan(f80));
9139 try testArgs(f80, -1e1, -inf(f80));
9140 try testArgs(f80, -1e1, -fmax(f80));
9141 try testArgs(f80, -1e1, -1e1);
9142 try testArgs(f80, -1e1, -1e0);
9143 try testArgs(f80, -1e1, -1e-1);
9144 try testArgs(f80, -1e1, -fmin(f80));
9145 try testArgs(f80, -1e1, -tmin(f80));
9146 try testArgs(f80, -1e1, -0.0);
9147 try testArgs(f80, -1e1, 0.0);
9148 try testArgs(f80, -1e1, tmin(f80));
9149 try testArgs(f80, -1e1, fmin(f80));
9150 try testArgs(f80, -1e1, 1e-1);
9151 try testArgs(f80, -1e1, 1e0);
9152 try testArgs(f80, -1e1, 1e1);
9153 try testArgs(f80, -1e1, fmax(f80));
9154 try testArgs(f80, -1e1, inf(f80));
9155 try testArgs(f80, -1e1, nan(f80));
9156
9157 try testArgs(f80, -1e0, -nan(f80));
9158 try testArgs(f80, -1e0, -inf(f80));
9159 try testArgs(f80, -1e0, -fmax(f80));
9160 try testArgs(f80, -1e0, -1e1);
9161 try testArgs(f80, -1e0, -1e0);
9162 try testArgs(f80, -1e0, -1e-1);
9163 try testArgs(f80, -1e0, -fmin(f80));
9164 try testArgs(f80, -1e0, -tmin(f80));
9165 try testArgs(f80, -1e0, -0.0);
9166 try testArgs(f80, -1e0, 0.0);
9167 try testArgs(f80, -1e0, tmin(f80));
9168 try testArgs(f80, -1e0, fmin(f80));
9169 try testArgs(f80, -1e0, 1e-1);
9170 try testArgs(f80, -1e0, 1e0);
9171 try testArgs(f80, -1e0, 1e1);
9172 try testArgs(f80, -1e0, fmax(f80));
9173 try testArgs(f80, -1e0, inf(f80));
9174 try testArgs(f80, -1e0, nan(f80));
9175
9176 try testArgs(f80, -1e-1, -nan(f80));
9177 try testArgs(f80, -1e-1, -inf(f80));
9178 try testArgs(f80, -1e-1, -fmax(f80));
9179 try testArgs(f80, -1e-1, -1e1);
9180 try testArgs(f80, -1e-1, -1e0);
9181 try testArgs(f80, -1e-1, -1e-1);
9182 try testArgs(f80, -1e-1, -fmin(f80));
9183 try testArgs(f80, -1e-1, -tmin(f80));
9184 try testArgs(f80, -1e-1, -0.0);
9185 try testArgs(f80, -1e-1, 0.0);
9186 try testArgs(f80, -1e-1, tmin(f80));
9187 try testArgs(f80, -1e-1, fmin(f80));
9188 try testArgs(f80, -1e-1, 1e-1);
9189 try testArgs(f80, -1e-1, 1e0);
9190 try testArgs(f80, -1e-1, 1e1);
9191 try testArgs(f80, -1e-1, fmax(f80));
9192 try testArgs(f80, -1e-1, inf(f80));
9193 try testArgs(f80, -1e-1, nan(f80));
28539194
28549195 try testArgs(f80, -fmin(f80), -nan(f80));
28559196 try testArgs(f80, -fmin(f80), -inf(f80));
28569197 try testArgs(f80, -fmin(f80), -fmax(f80));
2857 try testArgs(f80, -fmin(f80), -10.0);
2858 try testArgs(f80, -fmin(f80), -1.0);
2859 try testArgs(f80, -fmin(f80), -0.1);
9198 try testArgs(f80, -fmin(f80), -1e1);
9199 try testArgs(f80, -fmin(f80), -1e0);
9200 try testArgs(f80, -fmin(f80), -1e-1);
28609201 try testArgs(f80, -fmin(f80), -fmin(f80));
28619202 try testArgs(f80, -fmin(f80), -tmin(f80));
28629203 try testArgs(f80, -fmin(f80), -0.0);
28639204 try testArgs(f80, -fmin(f80), 0.0);
28649205 try testArgs(f80, -fmin(f80), tmin(f80));
28659206 try testArgs(f80, -fmin(f80), fmin(f80));
2866 try testArgs(f80, -fmin(f80), 0.1);
2867 try testArgs(f80, -fmin(f80), 1.0);
2868 try testArgs(f80, -fmin(f80), 10.0);
9207 try testArgs(f80, -fmin(f80), 1e-1);
9208 try testArgs(f80, -fmin(f80), 1e0);
9209 try testArgs(f80, -fmin(f80), 1e1);
28699210 try testArgs(f80, -fmin(f80), fmax(f80));
28709211 try testArgs(f80, -fmin(f80), inf(f80));
28719212 try testArgs(f80, -fmin(f80), nan(f80));
......@@ -2873,18 +9214,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
28739214 try testArgs(f80, -tmin(f80), -nan(f80));
28749215 try testArgs(f80, -tmin(f80), -inf(f80));
28759216 try testArgs(f80, -tmin(f80), -fmax(f80));
2876 try testArgs(f80, -tmin(f80), -10.0);
2877 try testArgs(f80, -tmin(f80), -1.0);
2878 try testArgs(f80, -tmin(f80), -0.1);
9217 try testArgs(f80, -tmin(f80), -1e1);
9218 try testArgs(f80, -tmin(f80), -1e0);
9219 try testArgs(f80, -tmin(f80), -1e-1);
28799220 try testArgs(f80, -tmin(f80), -fmin(f80));
28809221 try testArgs(f80, -tmin(f80), -tmin(f80));
28819222 try testArgs(f80, -tmin(f80), -0.0);
28829223 try testArgs(f80, -tmin(f80), 0.0);
28839224 try testArgs(f80, -tmin(f80), tmin(f80));
28849225 try testArgs(f80, -tmin(f80), fmin(f80));
2885 try testArgs(f80, -tmin(f80), 0.1);
2886 try testArgs(f80, -tmin(f80), 1.0);
2887 try testArgs(f80, -tmin(f80), 10.0);
9226 try testArgs(f80, -tmin(f80), 1e-1);
9227 try testArgs(f80, -tmin(f80), 1e0);
9228 try testArgs(f80, -tmin(f80), 1e1);
28889229 try testArgs(f80, -tmin(f80), fmax(f80));
28899230 try testArgs(f80, -tmin(f80), inf(f80));
28909231 try testArgs(f80, -tmin(f80), nan(f80));
......@@ -2892,18 +9233,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
28929233 try testArgs(f80, -0.0, -nan(f80));
28939234 try testArgs(f80, -0.0, -inf(f80));
28949235 try testArgs(f80, -0.0, -fmax(f80));
2895 try testArgs(f80, -0.0, -10.0);
2896 try testArgs(f80, -0.0, -1.0);
2897 try testArgs(f80, -0.0, -0.1);
9236 try testArgs(f80, -0.0, -1e1);
9237 try testArgs(f80, -0.0, -1e0);
9238 try testArgs(f80, -0.0, -1e-1);
28989239 try testArgs(f80, -0.0, -fmin(f80));
28999240 try testArgs(f80, -0.0, -tmin(f80));
29009241 try testArgs(f80, -0.0, -0.0);
29019242 try testArgs(f80, -0.0, 0.0);
29029243 try testArgs(f80, -0.0, tmin(f80));
29039244 try testArgs(f80, -0.0, fmin(f80));
2904 try testArgs(f80, -0.0, 0.1);
2905 try testArgs(f80, -0.0, 1.0);
2906 try testArgs(f80, -0.0, 10.0);
9245 try testArgs(f80, -0.0, 1e-1);
9246 try testArgs(f80, -0.0, 1e0);
9247 try testArgs(f80, -0.0, 1e1);
29079248 try testArgs(f80, -0.0, fmax(f80));
29089249 try testArgs(f80, -0.0, inf(f80));
29099250 try testArgs(f80, -0.0, nan(f80));
......@@ -2911,18 +9252,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
29119252 try testArgs(f80, 0.0, -nan(f80));
29129253 try testArgs(f80, 0.0, -inf(f80));
29139254 try testArgs(f80, 0.0, -fmax(f80));
2914 try testArgs(f80, 0.0, -10.0);
2915 try testArgs(f80, 0.0, -1.0);
2916 try testArgs(f80, 0.0, -0.1);
9255 try testArgs(f80, 0.0, -1e1);
9256 try testArgs(f80, 0.0, -1e0);
9257 try testArgs(f80, 0.0, -1e-1);
29179258 try testArgs(f80, 0.0, -fmin(f80));
29189259 try testArgs(f80, 0.0, -tmin(f80));
29199260 try testArgs(f80, 0.0, -0.0);
29209261 try testArgs(f80, 0.0, 0.0);
29219262 try testArgs(f80, 0.0, tmin(f80));
29229263 try testArgs(f80, 0.0, fmin(f80));
2923 try testArgs(f80, 0.0, 0.1);
2924 try testArgs(f80, 0.0, 1.0);
2925 try testArgs(f80, 0.0, 10.0);
9264 try testArgs(f80, 0.0, 1e-1);
9265 try testArgs(f80, 0.0, 1e0);
9266 try testArgs(f80, 0.0, 1e1);
29269267 try testArgs(f80, 0.0, fmax(f80));
29279268 try testArgs(f80, 0.0, inf(f80));
29289269 try testArgs(f80, 0.0, nan(f80));
......@@ -2930,18 +9271,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
29309271 try testArgs(f80, tmin(f80), -nan(f80));
29319272 try testArgs(f80, tmin(f80), -inf(f80));
29329273 try testArgs(f80, tmin(f80), -fmax(f80));
2933 try testArgs(f80, tmin(f80), -10.0);
2934 try testArgs(f80, tmin(f80), -1.0);
2935 try testArgs(f80, tmin(f80), -0.1);
9274 try testArgs(f80, tmin(f80), -1e1);
9275 try testArgs(f80, tmin(f80), -1e0);
9276 try testArgs(f80, tmin(f80), -1e-1);
29369277 try testArgs(f80, tmin(f80), -fmin(f80));
29379278 try testArgs(f80, tmin(f80), -tmin(f80));
29389279 try testArgs(f80, tmin(f80), -0.0);
29399280 try testArgs(f80, tmin(f80), 0.0);
29409281 try testArgs(f80, tmin(f80), tmin(f80));
29419282 try testArgs(f80, tmin(f80), fmin(f80));
2942 try testArgs(f80, tmin(f80), 0.1);
2943 try testArgs(f80, tmin(f80), 1.0);
2944 try testArgs(f80, tmin(f80), 10.0);
9283 try testArgs(f80, tmin(f80), 1e-1);
9284 try testArgs(f80, tmin(f80), 1e0);
9285 try testArgs(f80, tmin(f80), 1e1);
29459286 try testArgs(f80, tmin(f80), fmax(f80));
29469287 try testArgs(f80, tmin(f80), inf(f80));
29479288 try testArgs(f80, tmin(f80), nan(f80));
......@@ -2949,94 +9290,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
29499290 try testArgs(f80, fmin(f80), -nan(f80));
29509291 try testArgs(f80, fmin(f80), -inf(f80));
29519292 try testArgs(f80, fmin(f80), -fmax(f80));
2952 try testArgs(f80, fmin(f80), -10.0);
2953 try testArgs(f80, fmin(f80), -1.0);
2954 try testArgs(f80, fmin(f80), -0.1);
9293 try testArgs(f80, fmin(f80), -1e1);
9294 try testArgs(f80, fmin(f80), -1e0);
9295 try testArgs(f80, fmin(f80), -1e-1);
29559296 try testArgs(f80, fmin(f80), -fmin(f80));
29569297 try testArgs(f80, fmin(f80), -tmin(f80));
29579298 try testArgs(f80, fmin(f80), -0.0);
29589299 try testArgs(f80, fmin(f80), 0.0);
29599300 try testArgs(f80, fmin(f80), tmin(f80));
29609301 try testArgs(f80, fmin(f80), fmin(f80));
2961 try testArgs(f80, fmin(f80), 0.1);
2962 try testArgs(f80, fmin(f80), 1.0);
2963 try testArgs(f80, fmin(f80), 10.0);
9302 try testArgs(f80, fmin(f80), 1e-1);
9303 try testArgs(f80, fmin(f80), 1e0);
9304 try testArgs(f80, fmin(f80), 1e1);
29649305 try testArgs(f80, fmin(f80), fmax(f80));
29659306 try testArgs(f80, fmin(f80), inf(f80));
29669307 try testArgs(f80, fmin(f80), nan(f80));
29679308
2968 try testArgs(f80, 0.1, -nan(f80));
2969 try testArgs(f80, 0.1, -inf(f80));
2970 try testArgs(f80, 0.1, -fmax(f80));
2971 try testArgs(f80, 0.1, -10.0);
2972 try testArgs(f80, 0.1, -1.0);
2973 try testArgs(f80, 0.1, -0.1);
2974 try testArgs(f80, 0.1, -fmin(f80));
2975 try testArgs(f80, 0.1, -tmin(f80));
2976 try testArgs(f80, 0.1, -0.0);
2977 try testArgs(f80, 0.1, 0.0);
2978 try testArgs(f80, 0.1, tmin(f80));
2979 try testArgs(f80, 0.1, fmin(f80));
2980 try testArgs(f80, 0.1, 0.1);
2981 try testArgs(f80, 0.1, 1.0);
2982 try testArgs(f80, 0.1, 10.0);
2983 try testArgs(f80, 0.1, fmax(f80));
2984 try testArgs(f80, 0.1, inf(f80));
2985 try testArgs(f80, 0.1, nan(f80));
2986
2987 try testArgs(f80, 1.0, -nan(f80));
2988 try testArgs(f80, 1.0, -inf(f80));
2989 try testArgs(f80, 1.0, -fmax(f80));
2990 try testArgs(f80, 1.0, -10.0);
2991 try testArgs(f80, 1.0, -1.0);
2992 try testArgs(f80, 1.0, -0.1);
2993 try testArgs(f80, 1.0, -fmin(f80));
2994 try testArgs(f80, 1.0, -tmin(f80));
2995 try testArgs(f80, 1.0, -0.0);
2996 try testArgs(f80, 1.0, 0.0);
2997 try testArgs(f80, 1.0, tmin(f80));
2998 try testArgs(f80, 1.0, fmin(f80));
2999 try testArgs(f80, 1.0, 0.1);
3000 try testArgs(f80, 1.0, 1.0);
3001 try testArgs(f80, 1.0, 10.0);
3002 try testArgs(f80, 1.0, fmax(f80));
3003 try testArgs(f80, 1.0, inf(f80));
3004 try testArgs(f80, 1.0, nan(f80));
3005
3006 try testArgs(f80, 10.0, -nan(f80));
3007 try testArgs(f80, 10.0, -inf(f80));
3008 try testArgs(f80, 10.0, -fmax(f80));
3009 try testArgs(f80, 10.0, -10.0);
3010 try testArgs(f80, 10.0, -1.0);
3011 try testArgs(f80, 10.0, -0.1);
3012 try testArgs(f80, 10.0, -fmin(f80));
3013 try testArgs(f80, 10.0, -tmin(f80));
3014 try testArgs(f80, 10.0, -0.0);
3015 try testArgs(f80, 10.0, 0.0);
3016 try testArgs(f80, 10.0, tmin(f80));
3017 try testArgs(f80, 10.0, fmin(f80));
3018 try testArgs(f80, 10.0, 0.1);
3019 try testArgs(f80, 10.0, 1.0);
3020 try testArgs(f80, 10.0, 10.0);
3021 try testArgs(f80, 10.0, fmax(f80));
3022 try testArgs(f80, 10.0, inf(f80));
3023 try testArgs(f80, 10.0, nan(f80));
9309 try testArgs(f80, 1e-1, -nan(f80));
9310 try testArgs(f80, 1e-1, -inf(f80));
9311 try testArgs(f80, 1e-1, -fmax(f80));
9312 try testArgs(f80, 1e-1, -1e1);
9313 try testArgs(f80, 1e-1, -1e0);
9314 try testArgs(f80, 1e-1, -1e-1);
9315 try testArgs(f80, 1e-1, -fmin(f80));
9316 try testArgs(f80, 1e-1, -tmin(f80));
9317 try testArgs(f80, 1e-1, -0.0);
9318 try testArgs(f80, 1e-1, 0.0);
9319 try testArgs(f80, 1e-1, tmin(f80));
9320 try testArgs(f80, 1e-1, fmin(f80));
9321 try testArgs(f80, 1e-1, 1e-1);
9322 try testArgs(f80, 1e-1, 1e0);
9323 try testArgs(f80, 1e-1, 1e1);
9324 try testArgs(f80, 1e-1, fmax(f80));
9325 try testArgs(f80, 1e-1, inf(f80));
9326 try testArgs(f80, 1e-1, nan(f80));
9327
9328 try testArgs(f80, 1e0, -nan(f80));
9329 try testArgs(f80, 1e0, -inf(f80));
9330 try testArgs(f80, 1e0, -fmax(f80));
9331 try testArgs(f80, 1e0, -1e1);
9332 try testArgs(f80, 1e0, -1e0);
9333 try testArgs(f80, 1e0, -1e-1);
9334 try testArgs(f80, 1e0, -fmin(f80));
9335 try testArgs(f80, 1e0, -tmin(f80));
9336 try testArgs(f80, 1e0, -0.0);
9337 try testArgs(f80, 1e0, 0.0);
9338 try testArgs(f80, 1e0, tmin(f80));
9339 try testArgs(f80, 1e0, fmin(f80));
9340 try testArgs(f80, 1e0, 1e-1);
9341 try testArgs(f80, 1e0, 1e0);
9342 try testArgs(f80, 1e0, 1e1);
9343 try testArgs(f80, 1e0, fmax(f80));
9344 try testArgs(f80, 1e0, inf(f80));
9345 try testArgs(f80, 1e0, nan(f80));
9346
9347 try testArgs(f80, 1e1, -nan(f80));
9348 try testArgs(f80, 1e1, -inf(f80));
9349 try testArgs(f80, 1e1, -fmax(f80));
9350 try testArgs(f80, 1e1, -1e1);
9351 try testArgs(f80, 1e1, -1e0);
9352 try testArgs(f80, 1e1, -1e-1);
9353 try testArgs(f80, 1e1, -fmin(f80));
9354 try testArgs(f80, 1e1, -tmin(f80));
9355 try testArgs(f80, 1e1, -0.0);
9356 try testArgs(f80, 1e1, 0.0);
9357 try testArgs(f80, 1e1, tmin(f80));
9358 try testArgs(f80, 1e1, fmin(f80));
9359 try testArgs(f80, 1e1, 1e-1);
9360 try testArgs(f80, 1e1, 1e0);
9361 try testArgs(f80, 1e1, 1e1);
9362 try testArgs(f80, 1e1, fmax(f80));
9363 try testArgs(f80, 1e1, inf(f80));
9364 try testArgs(f80, 1e1, nan(f80));
30249365
30259366 try testArgs(f80, fmax(f80), -nan(f80));
30269367 try testArgs(f80, fmax(f80), -inf(f80));
30279368 try testArgs(f80, fmax(f80), -fmax(f80));
3028 try testArgs(f80, fmax(f80), -10.0);
3029 try testArgs(f80, fmax(f80), -1.0);
3030 try testArgs(f80, fmax(f80), -0.1);
9369 try testArgs(f80, fmax(f80), -1e1);
9370 try testArgs(f80, fmax(f80), -1e0);
9371 try testArgs(f80, fmax(f80), -1e-1);
30319372 try testArgs(f80, fmax(f80), -fmin(f80));
30329373 try testArgs(f80, fmax(f80), -tmin(f80));
30339374 try testArgs(f80, fmax(f80), -0.0);
30349375 try testArgs(f80, fmax(f80), 0.0);
30359376 try testArgs(f80, fmax(f80), tmin(f80));
30369377 try testArgs(f80, fmax(f80), fmin(f80));
3037 try testArgs(f80, fmax(f80), 0.1);
3038 try testArgs(f80, fmax(f80), 1.0);
3039 try testArgs(f80, fmax(f80), 10.0);
9378 try testArgs(f80, fmax(f80), 1e-1);
9379 try testArgs(f80, fmax(f80), 1e0);
9380 try testArgs(f80, fmax(f80), 1e1);
30409381 try testArgs(f80, fmax(f80), fmax(f80));
30419382 try testArgs(f80, fmax(f80), inf(f80));
30429383 try testArgs(f80, fmax(f80), nan(f80));
......@@ -3044,18 +9385,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
30449385 try testArgs(f80, inf(f80), -nan(f80));
30459386 try testArgs(f80, inf(f80), -inf(f80));
30469387 try testArgs(f80, inf(f80), -fmax(f80));
3047 try testArgs(f80, inf(f80), -10.0);
3048 try testArgs(f80, inf(f80), -1.0);
3049 try testArgs(f80, inf(f80), -0.1);
9388 try testArgs(f80, inf(f80), -1e1);
9389 try testArgs(f80, inf(f80), -1e0);
9390 try testArgs(f80, inf(f80), -1e-1);
30509391 try testArgs(f80, inf(f80), -fmin(f80));
30519392 try testArgs(f80, inf(f80), -tmin(f80));
30529393 try testArgs(f80, inf(f80), -0.0);
30539394 try testArgs(f80, inf(f80), 0.0);
30549395 try testArgs(f80, inf(f80), tmin(f80));
30559396 try testArgs(f80, inf(f80), fmin(f80));
3056 try testArgs(f80, inf(f80), 0.1);
3057 try testArgs(f80, inf(f80), 1.0);
3058 try testArgs(f80, inf(f80), 10.0);
9397 try testArgs(f80, inf(f80), 1e-1);
9398 try testArgs(f80, inf(f80), 1e0);
9399 try testArgs(f80, inf(f80), 1e1);
30599400 try testArgs(f80, inf(f80), fmax(f80));
30609401 try testArgs(f80, inf(f80), inf(f80));
30619402 try testArgs(f80, inf(f80), nan(f80));
......@@ -3063,18 +9404,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
30639404 try testArgs(f80, nan(f80), -nan(f80));
30649405 try testArgs(f80, nan(f80), -inf(f80));
30659406 try testArgs(f80, nan(f80), -fmax(f80));
3066 try testArgs(f80, nan(f80), -10.0);
3067 try testArgs(f80, nan(f80), -1.0);
3068 try testArgs(f80, nan(f80), -0.1);
9407 try testArgs(f80, nan(f80), -1e1);
9408 try testArgs(f80, nan(f80), -1e0);
9409 try testArgs(f80, nan(f80), -1e-1);
30699410 try testArgs(f80, nan(f80), -fmin(f80));
30709411 try testArgs(f80, nan(f80), -tmin(f80));
30719412 try testArgs(f80, nan(f80), -0.0);
30729413 try testArgs(f80, nan(f80), 0.0);
30739414 try testArgs(f80, nan(f80), tmin(f80));
30749415 try testArgs(f80, nan(f80), fmin(f80));
3075 try testArgs(f80, nan(f80), 0.1);
3076 try testArgs(f80, nan(f80), 1.0);
3077 try testArgs(f80, nan(f80), 10.0);
9416 try testArgs(f80, nan(f80), 1e-1);
9417 try testArgs(f80, nan(f80), 1e0);
9418 try testArgs(f80, nan(f80), 1e1);
30789419 try testArgs(f80, nan(f80), fmax(f80));
30799420 try testArgs(f80, nan(f80), inf(f80));
30809421 try testArgs(f80, nan(f80), nan(f80));
......@@ -3082,18 +9423,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
30829423 try testArgs(f128, -nan(f128), -nan(f128));
30839424 try testArgs(f128, -nan(f128), -inf(f128));
30849425 try testArgs(f128, -nan(f128), -fmax(f128));
3085 try testArgs(f128, -nan(f128), -10.0);
3086 try testArgs(f128, -nan(f128), -1.0);
3087 try testArgs(f128, -nan(f128), -0.1);
9426 try testArgs(f128, -nan(f128), -1e1);
9427 try testArgs(f128, -nan(f128), -1e0);
9428 try testArgs(f128, -nan(f128), -1e-1);
30889429 try testArgs(f128, -nan(f128), -fmin(f128));
30899430 try testArgs(f128, -nan(f128), -tmin(f128));
30909431 try testArgs(f128, -nan(f128), -0.0);
30919432 try testArgs(f128, -nan(f128), 0.0);
30929433 try testArgs(f128, -nan(f128), tmin(f128));
30939434 try testArgs(f128, -nan(f128), fmin(f128));
3094 try testArgs(f128, -nan(f128), 0.1);
3095 try testArgs(f128, -nan(f128), 1.0);
3096 try testArgs(f128, -nan(f128), 10.0);
9435 try testArgs(f128, -nan(f128), 1e-1);
9436 try testArgs(f128, -nan(f128), 1e0);
9437 try testArgs(f128, -nan(f128), 1e1);
30979438 try testArgs(f128, -nan(f128), fmax(f128));
30989439 try testArgs(f128, -nan(f128), inf(f128));
30999440 try testArgs(f128, -nan(f128), nan(f128));
......@@ -3101,18 +9442,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
31019442 try testArgs(f128, -inf(f128), -nan(f128));
31029443 try testArgs(f128, -inf(f128), -inf(f128));
31039444 try testArgs(f128, -inf(f128), -fmax(f128));
3104 try testArgs(f128, -inf(f128), -10.0);
3105 try testArgs(f128, -inf(f128), -1.0);
3106 try testArgs(f128, -inf(f128), -0.1);
9445 try testArgs(f128, -inf(f128), -1e1);
9446 try testArgs(f128, -inf(f128), -1e0);
9447 try testArgs(f128, -inf(f128), -1e-1);
31079448 try testArgs(f128, -inf(f128), -fmin(f128));
31089449 try testArgs(f128, -inf(f128), -tmin(f128));
31099450 try testArgs(f128, -inf(f128), -0.0);
31109451 try testArgs(f128, -inf(f128), 0.0);
31119452 try testArgs(f128, -inf(f128), tmin(f128));
31129453 try testArgs(f128, -inf(f128), fmin(f128));
3113 try testArgs(f128, -inf(f128), 0.1);
3114 try testArgs(f128, -inf(f128), 1.0);
3115 try testArgs(f128, -inf(f128), 10.0);
9454 try testArgs(f128, -inf(f128), 1e-1);
9455 try testArgs(f128, -inf(f128), 1e0);
9456 try testArgs(f128, -inf(f128), 1e1);
31169457 try testArgs(f128, -inf(f128), fmax(f128));
31179458 try testArgs(f128, -inf(f128), inf(f128));
31189459 try testArgs(f128, -inf(f128), nan(f128));
......@@ -3120,94 +9461,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
31209461 try testArgs(f128, -fmax(f128), -nan(f128));
31219462 try testArgs(f128, -fmax(f128), -inf(f128));
31229463 try testArgs(f128, -fmax(f128), -fmax(f128));
3123 try testArgs(f128, -fmax(f128), -10.0);
3124 try testArgs(f128, -fmax(f128), -1.0);
3125 try testArgs(f128, -fmax(f128), -0.1);
9464 try testArgs(f128, -fmax(f128), -1e1);
9465 try testArgs(f128, -fmax(f128), -1e0);
9466 try testArgs(f128, -fmax(f128), -1e-1);
31269467 try testArgs(f128, -fmax(f128), -fmin(f128));
31279468 try testArgs(f128, -fmax(f128), -tmin(f128));
31289469 try testArgs(f128, -fmax(f128), -0.0);
31299470 try testArgs(f128, -fmax(f128), 0.0);
31309471 try testArgs(f128, -fmax(f128), tmin(f128));
31319472 try testArgs(f128, -fmax(f128), fmin(f128));
3132 try testArgs(f128, -fmax(f128), 0.1);
3133 try testArgs(f128, -fmax(f128), 1.0);
3134 try testArgs(f128, -fmax(f128), 10.0);
9473 try testArgs(f128, -fmax(f128), 1e-1);
9474 try testArgs(f128, -fmax(f128), 1e0);
9475 try testArgs(f128, -fmax(f128), 1e1);
31359476 try testArgs(f128, -fmax(f128), fmax(f128));
31369477 try testArgs(f128, -fmax(f128), inf(f128));
31379478 try testArgs(f128, -fmax(f128), nan(f128));
31389479
3139 try testArgs(f128, -10.0, -nan(f128));
3140 try testArgs(f128, -10.0, -inf(f128));
3141 try testArgs(f128, -10.0, -fmax(f128));
3142 try testArgs(f128, -10.0, -10.0);
3143 try testArgs(f128, -10.0, -1.0);
3144 try testArgs(f128, -10.0, -0.1);
3145 try testArgs(f128, -10.0, -fmin(f128));
3146 try testArgs(f128, -10.0, -tmin(f128));
3147 try testArgs(f128, -10.0, -0.0);
3148 try testArgs(f128, -10.0, 0.0);
3149 try testArgs(f128, -10.0, tmin(f128));
3150 try testArgs(f128, -10.0, fmin(f128));
3151 try testArgs(f128, -10.0, 0.1);
3152 try testArgs(f128, -10.0, 1.0);
3153 try testArgs(f128, -10.0, 10.0);
3154 try testArgs(f128, -10.0, fmax(f128));
3155 try testArgs(f128, -10.0, inf(f128));
3156 try testArgs(f128, -10.0, nan(f128));
3157
3158 try testArgs(f128, -1.0, -nan(f128));
3159 try testArgs(f128, -1.0, -inf(f128));
3160 try testArgs(f128, -1.0, -fmax(f128));
3161 try testArgs(f128, -1.0, -10.0);
3162 try testArgs(f128, -1.0, -1.0);
3163 try testArgs(f128, -1.0, -0.1);
3164 try testArgs(f128, -1.0, -fmin(f128));
3165 try testArgs(f128, -1.0, -tmin(f128));
3166 try testArgs(f128, -1.0, -0.0);
3167 try testArgs(f128, -1.0, 0.0);
3168 try testArgs(f128, -1.0, tmin(f128));
3169 try testArgs(f128, -1.0, fmin(f128));
3170 try testArgs(f128, -1.0, 0.1);
3171 try testArgs(f128, -1.0, 1.0);
3172 try testArgs(f128, -1.0, 10.0);
3173 try testArgs(f128, -1.0, fmax(f128));
3174 try testArgs(f128, -1.0, inf(f128));
3175 try testArgs(f128, -1.0, nan(f128));
3176
3177 try testArgs(f128, -0.1, -nan(f128));
3178 try testArgs(f128, -0.1, -inf(f128));
3179 try testArgs(f128, -0.1, -fmax(f128));
3180 try testArgs(f128, -0.1, -10.0);
3181 try testArgs(f128, -0.1, -1.0);
3182 try testArgs(f128, -0.1, -0.1);
3183 try testArgs(f128, -0.1, -fmin(f128));
3184 try testArgs(f128, -0.1, -tmin(f128));
3185 try testArgs(f128, -0.1, -0.0);
3186 try testArgs(f128, -0.1, 0.0);
3187 try testArgs(f128, -0.1, tmin(f128));
3188 try testArgs(f128, -0.1, fmin(f128));
3189 try testArgs(f128, -0.1, 0.1);
3190 try testArgs(f128, -0.1, 1.0);
3191 try testArgs(f128, -0.1, 10.0);
3192 try testArgs(f128, -0.1, fmax(f128));
3193 try testArgs(f128, -0.1, inf(f128));
3194 try testArgs(f128, -0.1, nan(f128));
9480 try testArgs(f128, -1e1, -nan(f128));
9481 try testArgs(f128, -1e1, -inf(f128));
9482 try testArgs(f128, -1e1, -fmax(f128));
9483 try testArgs(f128, -1e1, -1e1);
9484 try testArgs(f128, -1e1, -1e0);
9485 try testArgs(f128, -1e1, -1e-1);
9486 try testArgs(f128, -1e1, -fmin(f128));
9487 try testArgs(f128, -1e1, -tmin(f128));
9488 try testArgs(f128, -1e1, -0.0);
9489 try testArgs(f128, -1e1, 0.0);
9490 try testArgs(f128, -1e1, tmin(f128));
9491 try testArgs(f128, -1e1, fmin(f128));
9492 try testArgs(f128, -1e1, 1e-1);
9493 try testArgs(f128, -1e1, 1e0);
9494 try testArgs(f128, -1e1, 1e1);
9495 try testArgs(f128, -1e1, fmax(f128));
9496 try testArgs(f128, -1e1, inf(f128));
9497 try testArgs(f128, -1e1, nan(f128));
9498
9499 try testArgs(f128, -1e0, -nan(f128));
9500 try testArgs(f128, -1e0, -inf(f128));
9501 try testArgs(f128, -1e0, -fmax(f128));
9502 try testArgs(f128, -1e0, -1e1);
9503 try testArgs(f128, -1e0, -1e0);
9504 try testArgs(f128, -1e0, -1e-1);
9505 try testArgs(f128, -1e0, -fmin(f128));
9506 try testArgs(f128, -1e0, -tmin(f128));
9507 try testArgs(f128, -1e0, -0.0);
9508 try testArgs(f128, -1e0, 0.0);
9509 try testArgs(f128, -1e0, tmin(f128));
9510 try testArgs(f128, -1e0, fmin(f128));
9511 try testArgs(f128, -1e0, 1e-1);
9512 try testArgs(f128, -1e0, 1e0);
9513 try testArgs(f128, -1e0, 1e1);
9514 try testArgs(f128, -1e0, fmax(f128));
9515 try testArgs(f128, -1e0, inf(f128));
9516 try testArgs(f128, -1e0, nan(f128));
9517
9518 try testArgs(f128, -1e-1, -nan(f128));
9519 try testArgs(f128, -1e-1, -inf(f128));
9520 try testArgs(f128, -1e-1, -fmax(f128));
9521 try testArgs(f128, -1e-1, -1e1);
9522 try testArgs(f128, -1e-1, -1e0);
9523 try testArgs(f128, -1e-1, -1e-1);
9524 try testArgs(f128, -1e-1, -fmin(f128));
9525 try testArgs(f128, -1e-1, -tmin(f128));
9526 try testArgs(f128, -1e-1, -0.0);
9527 try testArgs(f128, -1e-1, 0.0);
9528 try testArgs(f128, -1e-1, tmin(f128));
9529 try testArgs(f128, -1e-1, fmin(f128));
9530 try testArgs(f128, -1e-1, 1e-1);
9531 try testArgs(f128, -1e-1, 1e0);
9532 try testArgs(f128, -1e-1, 1e1);
9533 try testArgs(f128, -1e-1, fmax(f128));
9534 try testArgs(f128, -1e-1, inf(f128));
9535 try testArgs(f128, -1e-1, nan(f128));
31959536
31969537 try testArgs(f128, -fmin(f128), -nan(f128));
31979538 try testArgs(f128, -fmin(f128), -inf(f128));
31989539 try testArgs(f128, -fmin(f128), -fmax(f128));
3199 try testArgs(f128, -fmin(f128), -10.0);
3200 try testArgs(f128, -fmin(f128), -1.0);
3201 try testArgs(f128, -fmin(f128), -0.1);
9540 try testArgs(f128, -fmin(f128), -1e1);
9541 try testArgs(f128, -fmin(f128), -1e0);
9542 try testArgs(f128, -fmin(f128), -1e-1);
32029543 try testArgs(f128, -fmin(f128), -fmin(f128));
32039544 try testArgs(f128, -fmin(f128), -tmin(f128));
32049545 try testArgs(f128, -fmin(f128), -0.0);
32059546 try testArgs(f128, -fmin(f128), 0.0);
32069547 try testArgs(f128, -fmin(f128), tmin(f128));
32079548 try testArgs(f128, -fmin(f128), fmin(f128));
3208 try testArgs(f128, -fmin(f128), 0.1);
3209 try testArgs(f128, -fmin(f128), 1.0);
3210 try testArgs(f128, -fmin(f128), 10.0);
9549 try testArgs(f128, -fmin(f128), 1e-1);
9550 try testArgs(f128, -fmin(f128), 1e0);
9551 try testArgs(f128, -fmin(f128), 1e1);
32119552 try testArgs(f128, -fmin(f128), fmax(f128));
32129553 try testArgs(f128, -fmin(f128), inf(f128));
32139554 try testArgs(f128, -fmin(f128), nan(f128));
......@@ -3215,18 +9556,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
32159556 try testArgs(f128, -tmin(f128), -nan(f128));
32169557 try testArgs(f128, -tmin(f128), -inf(f128));
32179558 try testArgs(f128, -tmin(f128), -fmax(f128));
3218 try testArgs(f128, -tmin(f128), -10.0);
3219 try testArgs(f128, -tmin(f128), -1.0);
3220 try testArgs(f128, -tmin(f128), -0.1);
9559 try testArgs(f128, -tmin(f128), -1e1);
9560 try testArgs(f128, -tmin(f128), -1e0);
9561 try testArgs(f128, -tmin(f128), -1e-1);
32219562 try testArgs(f128, -tmin(f128), -fmin(f128));
32229563 try testArgs(f128, -tmin(f128), -tmin(f128));
32239564 try testArgs(f128, -tmin(f128), -0.0);
32249565 try testArgs(f128, -tmin(f128), 0.0);
32259566 try testArgs(f128, -tmin(f128), tmin(f128));
32269567 try testArgs(f128, -tmin(f128), fmin(f128));
3227 try testArgs(f128, -tmin(f128), 0.1);
3228 try testArgs(f128, -tmin(f128), 1.0);
3229 try testArgs(f128, -tmin(f128), 10.0);
9568 try testArgs(f128, -tmin(f128), 1e-1);
9569 try testArgs(f128, -tmin(f128), 1e0);
9570 try testArgs(f128, -tmin(f128), 1e1);
32309571 try testArgs(f128, -tmin(f128), fmax(f128));
32319572 try testArgs(f128, -tmin(f128), inf(f128));
32329573 try testArgs(f128, -tmin(f128), nan(f128));
......@@ -3234,18 +9575,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
32349575 try testArgs(f128, -0.0, -nan(f128));
32359576 try testArgs(f128, -0.0, -inf(f128));
32369577 try testArgs(f128, -0.0, -fmax(f128));
3237 try testArgs(f128, -0.0, -10.0);
3238 try testArgs(f128, -0.0, -1.0);
3239 try testArgs(f128, -0.0, -0.1);
9578 try testArgs(f128, -0.0, -1e1);
9579 try testArgs(f128, -0.0, -1e0);
9580 try testArgs(f128, -0.0, -1e-1);
32409581 try testArgs(f128, -0.0, -fmin(f128));
32419582 try testArgs(f128, -0.0, -tmin(f128));
32429583 try testArgs(f128, -0.0, -0.0);
32439584 try testArgs(f128, -0.0, 0.0);
32449585 try testArgs(f128, -0.0, tmin(f128));
32459586 try testArgs(f128, -0.0, fmin(f128));
3246 try testArgs(f128, -0.0, 0.1);
3247 try testArgs(f128, -0.0, 1.0);
3248 try testArgs(f128, -0.0, 10.0);
9587 try testArgs(f128, -0.0, 1e-1);
9588 try testArgs(f128, -0.0, 1e0);
9589 try testArgs(f128, -0.0, 1e1);
32499590 try testArgs(f128, -0.0, fmax(f128));
32509591 try testArgs(f128, -0.0, inf(f128));
32519592 try testArgs(f128, -0.0, nan(f128));
......@@ -3253,18 +9594,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
32539594 try testArgs(f128, 0.0, -nan(f128));
32549595 try testArgs(f128, 0.0, -inf(f128));
32559596 try testArgs(f128, 0.0, -fmax(f128));
3256 try testArgs(f128, 0.0, -10.0);
3257 try testArgs(f128, 0.0, -1.0);
3258 try testArgs(f128, 0.0, -0.1);
9597 try testArgs(f128, 0.0, -1e1);
9598 try testArgs(f128, 0.0, -1e0);
9599 try testArgs(f128, 0.0, -1e-1);
32599600 try testArgs(f128, 0.0, -fmin(f128));
32609601 try testArgs(f128, 0.0, -tmin(f128));
32619602 try testArgs(f128, 0.0, -0.0);
32629603 try testArgs(f128, 0.0, 0.0);
32639604 try testArgs(f128, 0.0, tmin(f128));
32649605 try testArgs(f128, 0.0, fmin(f128));
3265 try testArgs(f128, 0.0, 0.1);
3266 try testArgs(f128, 0.0, 1.0);
3267 try testArgs(f128, 0.0, 10.0);
9606 try testArgs(f128, 0.0, 1e-1);
9607 try testArgs(f128, 0.0, 1e0);
9608 try testArgs(f128, 0.0, 1e1);
32689609 try testArgs(f128, 0.0, fmax(f128));
32699610 try testArgs(f128, 0.0, inf(f128));
32709611 try testArgs(f128, 0.0, nan(f128));
......@@ -3272,18 +9613,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
32729613 try testArgs(f128, tmin(f128), -nan(f128));
32739614 try testArgs(f128, tmin(f128), -inf(f128));
32749615 try testArgs(f128, tmin(f128), -fmax(f128));
3275 try testArgs(f128, tmin(f128), -10.0);
3276 try testArgs(f128, tmin(f128), -1.0);
3277 try testArgs(f128, tmin(f128), -0.1);
9616 try testArgs(f128, tmin(f128), -1e1);
9617 try testArgs(f128, tmin(f128), -1e0);
9618 try testArgs(f128, tmin(f128), -1e-1);
32789619 try testArgs(f128, tmin(f128), -fmin(f128));
32799620 try testArgs(f128, tmin(f128), -tmin(f128));
32809621 try testArgs(f128, tmin(f128), -0.0);
32819622 try testArgs(f128, tmin(f128), 0.0);
32829623 try testArgs(f128, tmin(f128), tmin(f128));
32839624 try testArgs(f128, tmin(f128), fmin(f128));
3284 try testArgs(f128, tmin(f128), 0.1);
3285 try testArgs(f128, tmin(f128), 1.0);
3286 try testArgs(f128, tmin(f128), 10.0);
9625 try testArgs(f128, tmin(f128), 1e-1);
9626 try testArgs(f128, tmin(f128), 1e0);
9627 try testArgs(f128, tmin(f128), 1e1);
32879628 try testArgs(f128, tmin(f128), fmax(f128));
32889629 try testArgs(f128, tmin(f128), inf(f128));
32899630 try testArgs(f128, tmin(f128), nan(f128));
......@@ -3291,94 +9632,94 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
32919632 try testArgs(f128, fmin(f128), -nan(f128));
32929633 try testArgs(f128, fmin(f128), -inf(f128));
32939634 try testArgs(f128, fmin(f128), -fmax(f128));
3294 try testArgs(f128, fmin(f128), -10.0);
3295 try testArgs(f128, fmin(f128), -1.0);
3296 try testArgs(f128, fmin(f128), -0.1);
9635 try testArgs(f128, fmin(f128), -1e1);
9636 try testArgs(f128, fmin(f128), -1e0);
9637 try testArgs(f128, fmin(f128), -1e-1);
32979638 try testArgs(f128, fmin(f128), -fmin(f128));
32989639 try testArgs(f128, fmin(f128), -tmin(f128));
32999640 try testArgs(f128, fmin(f128), -0.0);
33009641 try testArgs(f128, fmin(f128), 0.0);
33019642 try testArgs(f128, fmin(f128), tmin(f128));
33029643 try testArgs(f128, fmin(f128), fmin(f128));
3303 try testArgs(f128, fmin(f128), 0.1);
3304 try testArgs(f128, fmin(f128), 1.0);
3305 try testArgs(f128, fmin(f128), 10.0);
9644 try testArgs(f128, fmin(f128), 1e-1);
9645 try testArgs(f128, fmin(f128), 1e0);
9646 try testArgs(f128, fmin(f128), 1e1);
33069647 try testArgs(f128, fmin(f128), fmax(f128));
33079648 try testArgs(f128, fmin(f128), inf(f128));
33089649 try testArgs(f128, fmin(f128), nan(f128));
33099650
3310 try testArgs(f128, 0.1, -nan(f128));
3311 try testArgs(f128, 0.1, -inf(f128));
3312 try testArgs(f128, 0.1, -fmax(f128));
3313 try testArgs(f128, 0.1, -10.0);
3314 try testArgs(f128, 0.1, -1.0);
3315 try testArgs(f128, 0.1, -0.1);
3316 try testArgs(f128, 0.1, -fmin(f128));
3317 try testArgs(f128, 0.1, -tmin(f128));
3318 try testArgs(f128, 0.1, -0.0);
3319 try testArgs(f128, 0.1, 0.0);
3320 try testArgs(f128, 0.1, tmin(f128));
3321 try testArgs(f128, 0.1, fmin(f128));
3322 try testArgs(f128, 0.1, 0.1);
3323 try testArgs(f128, 0.1, 1.0);
3324 try testArgs(f128, 0.1, 10.0);
3325 try testArgs(f128, 0.1, fmax(f128));
3326 try testArgs(f128, 0.1, inf(f128));
3327 try testArgs(f128, 0.1, nan(f128));
3328
3329 try testArgs(f128, 1.0, -nan(f128));
3330 try testArgs(f128, 1.0, -inf(f128));
3331 try testArgs(f128, 1.0, -fmax(f128));
3332 try testArgs(f128, 1.0, -10.0);
3333 try testArgs(f128, 1.0, -1.0);
3334 try testArgs(f128, 1.0, -0.1);
3335 try testArgs(f128, 1.0, -fmin(f128));
3336 try testArgs(f128, 1.0, -tmin(f128));
3337 try testArgs(f128, 1.0, -0.0);
3338 try testArgs(f128, 1.0, 0.0);
3339 try testArgs(f128, 1.0, tmin(f128));
3340 try testArgs(f128, 1.0, fmin(f128));
3341 try testArgs(f128, 1.0, 0.1);
3342 try testArgs(f128, 1.0, 1.0);
3343 try testArgs(f128, 1.0, 10.0);
3344 try testArgs(f128, 1.0, fmax(f128));
3345 try testArgs(f128, 1.0, inf(f128));
3346 try testArgs(f128, 1.0, nan(f128));
3347
3348 try testArgs(f128, 10.0, -nan(f128));
3349 try testArgs(f128, 10.0, -inf(f128));
3350 try testArgs(f128, 10.0, -fmax(f128));
3351 try testArgs(f128, 10.0, -10.0);
3352 try testArgs(f128, 10.0, -1.0);
3353 try testArgs(f128, 10.0, -0.1);
3354 try testArgs(f128, 10.0, -fmin(f128));
3355 try testArgs(f128, 10.0, -tmin(f128));
3356 try testArgs(f128, 10.0, -0.0);
3357 try testArgs(f128, 10.0, 0.0);
3358 try testArgs(f128, 10.0, tmin(f128));
3359 try testArgs(f128, 10.0, fmin(f128));
3360 try testArgs(f128, 10.0, 0.1);
3361 try testArgs(f128, 10.0, 1.0);
3362 try testArgs(f128, 10.0, 10.0);
3363 try testArgs(f128, 10.0, fmax(f128));
3364 try testArgs(f128, 10.0, inf(f128));
3365 try testArgs(f128, 10.0, nan(f128));
9651 try testArgs(f128, 1e-1, -nan(f128));
9652 try testArgs(f128, 1e-1, -inf(f128));
9653 try testArgs(f128, 1e-1, -fmax(f128));
9654 try testArgs(f128, 1e-1, -1e1);
9655 try testArgs(f128, 1e-1, -1e0);
9656 try testArgs(f128, 1e-1, -1e-1);
9657 try testArgs(f128, 1e-1, -fmin(f128));
9658 try testArgs(f128, 1e-1, -tmin(f128));
9659 try testArgs(f128, 1e-1, -0.0);
9660 try testArgs(f128, 1e-1, 0.0);
9661 try testArgs(f128, 1e-1, tmin(f128));
9662 try testArgs(f128, 1e-1, fmin(f128));
9663 try testArgs(f128, 1e-1, 1e-1);
9664 try testArgs(f128, 1e-1, 1e0);
9665 try testArgs(f128, 1e-1, 1e1);
9666 try testArgs(f128, 1e-1, fmax(f128));
9667 try testArgs(f128, 1e-1, inf(f128));
9668 try testArgs(f128, 1e-1, nan(f128));
9669
9670 try testArgs(f128, 1e0, -nan(f128));
9671 try testArgs(f128, 1e0, -inf(f128));
9672 try testArgs(f128, 1e0, -fmax(f128));
9673 try testArgs(f128, 1e0, -1e1);
9674 try testArgs(f128, 1e0, -1e0);
9675 try testArgs(f128, 1e0, -1e-1);
9676 try testArgs(f128, 1e0, -fmin(f128));
9677 try testArgs(f128, 1e0, -tmin(f128));
9678 try testArgs(f128, 1e0, -0.0);
9679 try testArgs(f128, 1e0, 0.0);
9680 try testArgs(f128, 1e0, tmin(f128));
9681 try testArgs(f128, 1e0, fmin(f128));
9682 try testArgs(f128, 1e0, 1e-1);
9683 try testArgs(f128, 1e0, 1e0);
9684 try testArgs(f128, 1e0, 1e1);
9685 try testArgs(f128, 1e0, fmax(f128));
9686 try testArgs(f128, 1e0, inf(f128));
9687 try testArgs(f128, 1e0, nan(f128));
9688
9689 try testArgs(f128, 1e1, -nan(f128));
9690 try testArgs(f128, 1e1, -inf(f128));
9691 try testArgs(f128, 1e1, -fmax(f128));
9692 try testArgs(f128, 1e1, -1e1);
9693 try testArgs(f128, 1e1, -1e0);
9694 try testArgs(f128, 1e1, -1e-1);
9695 try testArgs(f128, 1e1, -fmin(f128));
9696 try testArgs(f128, 1e1, -tmin(f128));
9697 try testArgs(f128, 1e1, -0.0);
9698 try testArgs(f128, 1e1, 0.0);
9699 try testArgs(f128, 1e1, tmin(f128));
9700 try testArgs(f128, 1e1, fmin(f128));
9701 try testArgs(f128, 1e1, 1e-1);
9702 try testArgs(f128, 1e1, 1e0);
9703 try testArgs(f128, 1e1, 1e1);
9704 try testArgs(f128, 1e1, fmax(f128));
9705 try testArgs(f128, 1e1, inf(f128));
9706 try testArgs(f128, 1e1, nan(f128));
33669707
33679708 try testArgs(f128, fmax(f128), -nan(f128));
33689709 try testArgs(f128, fmax(f128), -inf(f128));
33699710 try testArgs(f128, fmax(f128), -fmax(f128));
3370 try testArgs(f128, fmax(f128), -10.0);
3371 try testArgs(f128, fmax(f128), -1.0);
3372 try testArgs(f128, fmax(f128), -0.1);
9711 try testArgs(f128, fmax(f128), -1e1);
9712 try testArgs(f128, fmax(f128), -1e0);
9713 try testArgs(f128, fmax(f128), -1e-1);
33739714 try testArgs(f128, fmax(f128), -fmin(f128));
33749715 try testArgs(f128, fmax(f128), -tmin(f128));
33759716 try testArgs(f128, fmax(f128), -0.0);
33769717 try testArgs(f128, fmax(f128), 0.0);
33779718 try testArgs(f128, fmax(f128), tmin(f128));
33789719 try testArgs(f128, fmax(f128), fmin(f128));
3379 try testArgs(f128, fmax(f128), 0.1);
3380 try testArgs(f128, fmax(f128), 1.0);
3381 try testArgs(f128, fmax(f128), 10.0);
9720 try testArgs(f128, fmax(f128), 1e-1);
9721 try testArgs(f128, fmax(f128), 1e0);
9722 try testArgs(f128, fmax(f128), 1e1);
33829723 try testArgs(f128, fmax(f128), fmax(f128));
33839724 try testArgs(f128, fmax(f128), inf(f128));
33849725 try testArgs(f128, fmax(f128), nan(f128));
......@@ -3386,18 +9727,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
33869727 try testArgs(f128, inf(f128), -nan(f128));
33879728 try testArgs(f128, inf(f128), -inf(f128));
33889729 try testArgs(f128, inf(f128), -fmax(f128));
3389 try testArgs(f128, inf(f128), -10.0);
3390 try testArgs(f128, inf(f128), -1.0);
3391 try testArgs(f128, inf(f128), -0.1);
9730 try testArgs(f128, inf(f128), -1e1);
9731 try testArgs(f128, inf(f128), -1e0);
9732 try testArgs(f128, inf(f128), -1e-1);
33929733 try testArgs(f128, inf(f128), -fmin(f128));
33939734 try testArgs(f128, inf(f128), -tmin(f128));
33949735 try testArgs(f128, inf(f128), -0.0);
33959736 try testArgs(f128, inf(f128), 0.0);
33969737 try testArgs(f128, inf(f128), tmin(f128));
33979738 try testArgs(f128, inf(f128), fmin(f128));
3398 try testArgs(f128, inf(f128), 0.1);
3399 try testArgs(f128, inf(f128), 1.0);
3400 try testArgs(f128, inf(f128), 10.0);
9739 try testArgs(f128, inf(f128), 1e-1);
9740 try testArgs(f128, inf(f128), 1e0);
9741 try testArgs(f128, inf(f128), 1e1);
34019742 try testArgs(f128, inf(f128), fmax(f128));
34029743 try testArgs(f128, inf(f128), inf(f128));
34039744 try testArgs(f128, inf(f128), nan(f128));
......@@ -3405,18 +9746,18 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
34059746 try testArgs(f128, nan(f128), -nan(f128));
34069747 try testArgs(f128, nan(f128), -inf(f128));
34079748 try testArgs(f128, nan(f128), -fmax(f128));
3408 try testArgs(f128, nan(f128), -10.0);
3409 try testArgs(f128, nan(f128), -1.0);
3410 try testArgs(f128, nan(f128), -0.1);
9749 try testArgs(f128, nan(f128), -1e1);
9750 try testArgs(f128, nan(f128), -1e0);
9751 try testArgs(f128, nan(f128), -1e-1);
34119752 try testArgs(f128, nan(f128), -fmin(f128));
34129753 try testArgs(f128, nan(f128), -tmin(f128));
34139754 try testArgs(f128, nan(f128), -0.0);
34149755 try testArgs(f128, nan(f128), 0.0);
34159756 try testArgs(f128, nan(f128), tmin(f128));
34169757 try testArgs(f128, nan(f128), fmin(f128));
3417 try testArgs(f128, nan(f128), 0.1);
3418 try testArgs(f128, nan(f128), 1.0);
3419 try testArgs(f128, nan(f128), 10.0);
9758 try testArgs(f128, nan(f128), 1e-1);
9759 try testArgs(f128, nan(f128), 1e0);
9760 try testArgs(f128, nan(f128), 1e1);
34209761 try testArgs(f128, nan(f128), fmax(f128));
34219762 try testArgs(f128, nan(f128), inf(f128));
34229763 try testArgs(f128, nan(f128), nan(f128));
......@@ -4050,73 +10391,73 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
405010391 fmax(f16),
405110392 });
405210393 try testArgs(@Vector(2, f16), .{
4053 0.1, 1.0,
10394 1e-1, 1e0,
405410395 }, .{
405510396 -nan(f16), -fmin(f16),
405610397 });
405710398 try testArgs(@Vector(4, f16), .{
4058 0.1, -fmax(f16), 0.0, 0.1,
10399 1e-1, -fmax(f16), 0.0, 1e-1,
405910400 }, .{
4060 -fmin(f16), -10.0, 1.0, -tmin(f16),
10401 -fmin(f16), -1e1, 1e0, -tmin(f16),
406110402 });
406210403 try testArgs(@Vector(8, f16), .{
4063 -fmax(f16), -fmin(f16), -nan(f16), -0.0, tmin(f16), -0.0, 0.0, 0.1,
10404 -fmax(f16), -fmin(f16), -nan(f16), -0.0, tmin(f16), -0.0, 0.0, 1e-1,
406410405 }, .{
4065 -1.0, tmin(f16), nan(f16), nan(f16), -fmax(f16), -10.0, -nan(f16), 10.0,
10406 -1e0, tmin(f16), nan(f16), nan(f16), -fmax(f16), -1e1, -nan(f16), 1e1,
406610407 });
406710408 try testArgs(@Vector(16, f16), .{
4068 0.1, fmax(f16), -10.0, fmax(f16), -10.0, 0.1, -tmin(f16), -inf(f16), -tmin(f16), -1.0, -fmin(f16), tmin(f16), 10.0, -fmax(f16), 0.0, -fmin(f16),
10409 1e-1, fmax(f16), -1e1, fmax(f16), -1e1, 1e-1, -tmin(f16), -inf(f16), -tmin(f16), -1e0, -fmin(f16), tmin(f16), 1e1, -fmax(f16), 0.0, -fmin(f16),
406910410 }, .{
4070 inf(f16), -10.0, -fmax(f16), fmax(f16), -tmin(f16), 0.0, -1.0, -1.0, 0.1, -nan(f16), -tmin(f16), 1.0, 0.1, fmax(f16), -0.0, inf(f16),
10411 inf(f16), -1e1, -fmax(f16), fmax(f16), -tmin(f16), 0.0, -1e0, -1e0, 1e-1, -nan(f16), -tmin(f16), 1e0, 1e-1, fmax(f16), -0.0, inf(f16),
407110412 });
407210413 try testArgs(@Vector(32, f16), .{
4073 -inf(f16), tmin(f16), fmin(f16), -nan(f16), nan(f16), 0.1, 0.0, 10.0, -tmin(f16), inf(f16), 1.0, -10.0, fmin(f16), -0.0, 1.0, -fmax(f16),
4074 10.0, -0.0, -10.0, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), -1.0, 0.0, -10.0, -nan(f16), 1.0, -tmin(f16), -0.0, nan(f16), 10.0,
10414 -inf(f16), tmin(f16), fmin(f16), -nan(f16), nan(f16), 1e-1, 0.0, 1e1, -tmin(f16), inf(f16), 1e0, -1e1, fmin(f16), -0.0, 1e0, -fmax(f16),
10415 1e1, -0.0, -1e1, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), -1e0, 0.0, -1e1, -nan(f16), 1e0, -tmin(f16), -0.0, nan(f16), 1e1,
407510416 }, .{
4076 0.0, 10.0, -nan(f16), -0.0, tmin(f16), fmax(f16), nan(f16), tmin(f16), -10.0, 0.1, 10.0, fmin(f16), -fmax(f16), inf(f16), inf(f16), -tmin(f16),
4077 inf(f16), -0.0, 0.1, 0.0, -fmin(f16), -0.0, -nan(f16), -inf(f16), -fmin(f16), fmax(f16), 1.0, fmin(f16), -0.0, -tmin(f16), -fmax(f16), -10.0,
10417 0.0, 1e1, -nan(f16), -0.0, tmin(f16), fmax(f16), nan(f16), tmin(f16), -1e1, 1e-1, 1e1, fmin(f16), -fmax(f16), inf(f16), inf(f16), -tmin(f16),
10418 inf(f16), -0.0, 1e-1, 0.0, -fmin(f16), -0.0, -nan(f16), -inf(f16), -fmin(f16), fmax(f16), 1e0, fmin(f16), -0.0, -tmin(f16), -fmax(f16), -1e1,
407810419 });
407910420 try testArgs(@Vector(64, f16), .{
4080 -nan(f16), fmin(f16), -inf(f16), inf(f16), -tmin(f16), inf(f16), 0.1, -1.0, -inf(f16), nan(f16), -fmin(f16), 0.1, -tmin(f16), -fmax(f16), -10.0, inf(f16),
4081 0.0, -fmin(f16), -fmax(f16), 10.0, -fmax(f16), fmax(f16), 10.0, fmin(f16), -inf(f16), -nan(f16), -tmin(f16), nan(f16), -0.0, 0.0, 0.1, -fmin(f16),
4082 0.0, nan(f16), inf(f16), fmax(f16), nan(f16), tmin(f16), 1.0, tmin(f16), fmin(f16), -10.0, 0.0, 0.1, inf(f16), -10.0, inf(f16), 1.0,
4083 0.1, -inf(f16), 10.0, -0.0, -1.0, -tmin(f16), -nan(f16), 0.1, 0.1, -nan(f16), -0.0, -10.0, -0.0, -nan(f16), 0.1, fmin(f16),
10421 -nan(f16), fmin(f16), -inf(f16), inf(f16), -tmin(f16), inf(f16), 1e-1, -1e0, -inf(f16), nan(f16), -fmin(f16), 1e-1, -tmin(f16), -fmax(f16), -1e1, inf(f16),
10422 0.0, -fmin(f16), -fmax(f16), 1e1, -fmax(f16), fmax(f16), 1e1, fmin(f16), -inf(f16), -nan(f16), -tmin(f16), nan(f16), -0.0, 0.0, 1e-1, -fmin(f16),
10423 0.0, nan(f16), inf(f16), fmax(f16), nan(f16), tmin(f16), 1e0, tmin(f16), fmin(f16), -1e1, 0.0, 1e-1, inf(f16), -1e1, inf(f16), 1e0,
10424 1e-1, -inf(f16), 1e1, -0.0, -1e0, -tmin(f16), -nan(f16), 1e-1, 1e-1, -nan(f16), -0.0, -1e1, -0.0, -nan(f16), 1e-1, fmin(f16),
408410425 }, .{
4085 10.0, 0.0, fmax(f16), -inf(f16), -fmax(f16), -fmax(f16), tmin(f16), -1.0, -tmin(f16), -10.0, nan(f16), -nan(f16), tmin(f16), -fmin(f16), nan(f16), -10.0,
4086 10.0, fmax(f16), 0.1, 0.0, 0.1, -fmax(f16), -0.0, -fmin(f16), inf(f16), -1.0, inf(f16), fmin(f16), -inf(f16), -tmin(f16), 10.0, 10.0,
4087 0.1, 0.1, 0.1, 10.0, -fmin(f16), inf(f16), 0.1, fmax(f16), inf(f16), -0.0, -10.0, tmin(f16), -fmin(f16), 0.0, 10.0, 0.0,
4088 -tmin(f16), -inf(f16), 1.0, -fmax(f16), inf(f16), 10.0, fmax(f16), -1.0, 0.0, 0.1, -1.0, -inf(f16), 0.1, 0.0, -10.0, fmax(f16),
10426 1e1, 0.0, fmax(f16), -inf(f16), -fmax(f16), -fmax(f16), tmin(f16), -1e0, -tmin(f16), -1e1, nan(f16), -nan(f16), tmin(f16), -fmin(f16), nan(f16), -1e1,
10427 1e1, fmax(f16), 1e-1, 0.0, 1e-1, -fmax(f16), -0.0, -fmin(f16), inf(f16), -1e0, inf(f16), fmin(f16), -inf(f16), -tmin(f16), 1e1, 1e1,
10428 1e-1, 1e-1, 1e-1, 1e1, -fmin(f16), inf(f16), 1e-1, fmax(f16), inf(f16), -0.0, -1e1, tmin(f16), -fmin(f16), 0.0, 1e1, 0.0,
10429 -tmin(f16), -inf(f16), 1e0, -fmax(f16), inf(f16), 1e1, fmax(f16), -1e0, 0.0, 1e-1, -1e0, -inf(f16), 1e-1, 0.0, -1e1, fmax(f16),
408910430 });
409010431 try testArgs(@Vector(128, f16), .{
4091 -fmin(f16), 1.0, 0.0, 0.1, nan(f16), 0.1, 0.1, -inf(f16), -tmin(f16), 1.0, -fmin(f16), -fmax(f16), -1.0, -fmin(f16), 10.0, -nan(f16),
4092 inf(f16), -inf(f16), tmin(f16), -10.0, -1.0, -0.0, -0.0, 1.0, nan(f16), -10.0, fmin(f16), -tmin(f16), tmin(f16), 0.1, -fmax(f16), fmax(f16),
4093 tmin(f16), -fmin(f16), nan(f16), 10.0, 1.0, -fmin(f16), 0.1, 10.0, fmax(f16), fmax(f16), fmax(f16), -1.0, -nan(f16), 10.0, tmin(f16), -nan(f16),
4094 -nan(f16), -inf(f16), -0.0, -inf(f16), nan(f16), -1.0, 0.1, -fmax(f16), -10.0, nan(f16), 1.0, -10.0, tmin(f16), 1.0, 0.1, 1.0,
4095 10.0, 0.1, tmin(f16), nan(f16), -inf(f16), -1.0, -1.0, -fmax(f16), -inf(f16), 0.1, 0.1, -0.0, 10.0, fmin(f16), -1.0, inf(f16),
4096 0.1, -10.0, inf(f16), -0.0, 0.1, 0.0, inf(f16), 1.0, tmin(f16), -tmin(f16), 0.1, inf(f16), tmin(f16), -inf(f16), 10.0, 1.0,
4097 -inf(f16), 0.1, 1.0, fmax(f16), -fmin(f16), nan(f16), -nan(f16), fmin(f16), -1.0, -fmax(f16), inf(f16), -fmax(f16), 0.0, -10.0, fmin(f16), -fmax(f16),
4098 -0.0, -1.0, 0.1, 10.0, inf(f16), fmax(f16), inf(f16), 10.0, fmax(f16), -0.0, -tmin(f16), fmin(f16), inf(f16), nan(f16), -fmin(f16), -1.0,
10432 -fmin(f16), 1e0, 0.0, 1e-1, nan(f16), 1e-1, 1e-1, -inf(f16), -tmin(f16), 1e0, -fmin(f16), -fmax(f16), -1e0, -fmin(f16), 1e1, -nan(f16),
10433 inf(f16), -inf(f16), tmin(f16), -1e1, -1e0, -0.0, -0.0, 1e0, nan(f16), -1e1, fmin(f16), -tmin(f16), tmin(f16), 1e-1, -fmax(f16), fmax(f16),
10434 tmin(f16), -fmin(f16), nan(f16), 1e1, 1e0, -fmin(f16), 1e-1, 1e1, fmax(f16), fmax(f16), fmax(f16), -1e0, -nan(f16), 1e1, tmin(f16), -nan(f16),
10435 -nan(f16), -inf(f16), -0.0, -inf(f16), nan(f16), -1e0, 1e-1, -fmax(f16), -1e1, nan(f16), 1e0, -1e1, tmin(f16), 1e0, 1e-1, 1e0,
10436 1e1, 1e-1, tmin(f16), nan(f16), -inf(f16), -1e0, -1e0, -fmax(f16), -inf(f16), 1e-1, 1e-1, -0.0, 1e1, fmin(f16), -1e0, inf(f16),
10437 1e-1, -1e1, inf(f16), -0.0, 1e-1, 0.0, inf(f16), 1e0, tmin(f16), -tmin(f16), 1e-1, inf(f16), tmin(f16), -inf(f16), 1e1, 1e0,
10438 -inf(f16), 1e-1, 1e0, fmax(f16), -fmin(f16), nan(f16), -nan(f16), fmin(f16), -1e0, -fmax(f16), inf(f16), -fmax(f16), 0.0, -1e1, fmin(f16), -fmax(f16),
10439 -0.0, -1e0, 1e-1, 1e1, inf(f16), fmax(f16), inf(f16), 1e1, fmax(f16), -0.0, -tmin(f16), fmin(f16), inf(f16), nan(f16), -fmin(f16), -1e0,
409910440 }, .{
4100 -fmax(f16), fmax(f16), inf(f16), 1.0, nan(f16), 0.1, -fmax(f16), 10.0, -fmin(f16), 0.1, fmin(f16), -0.0, 0.1, -0.0, -nan(f16), -nan(f16),
4101 inf(f16), 1.0, -1.0, 0.1, 0.1, 0.1, 0.0, -tmin(f16), -1.0, -10.0, -tmin(f16), 1.0, -10.0, fmin(f16), -fmax(f16), -nan(f16),
4102 -tmin(f16), -inf(f16), inf(f16), -fmin(f16), -nan(f16), 0.0, -inf(f16), -fmax(f16), 0.1, -inf(f16), tmin(f16), nan(f16), tmin(f16), fmin(f16), -0.0, 0.1,
4103 fmin(f16), fmin(f16), 1.0, tmin(f16), 0.0, 10.0, 0.1, inf(f16), 10.0, -tmin(f16), tmin(f16), -1.0, -fmin(f16), 1.0, nan(f16), -fmax(f16),
4104 nan(f16), -fmin(f16), 0.1, 10.0, -10.0, 1.0, -0.0, tmin(f16), nan(f16), inf(f16), -fmax(f16), tmin(f16), -tmin(f16), 10.0, fmin(f16), -tmin(f16),
4105 -0.0, 1.0, tmin(f16), fmax(f16), 1.0, -inf(f16), -nan(f16), -0.0, 0.1, -inf(f16), 0.1, fmax(f16), -inf(f16), -nan(f16), -1.0, -inf(f16),
4106 0.1, fmin(f16), -10.0, -tmin(f16), 1.0, -nan(f16), -fmax(f16), -10.0, -tmin(f16), 10.0, nan(f16), fmin(f16), fmax(f16), tmin(f16), -inf(f16), 1.0,
4107 -fmin(f16), tmin(f16), -1.0, 0.1, 0.0, nan(f16), 1.0, fmax(f16), -1.0, 10.0, nan(f16), 1.0, fmin(f16), 1.0, -10.0, -10.0,
10441 -fmax(f16), fmax(f16), inf(f16), 1e0, nan(f16), 1e-1, -fmax(f16), 1e1, -fmin(f16), 1e-1, fmin(f16), -0.0, 1e-1, -0.0, -nan(f16), -nan(f16),
10442 inf(f16), 1e0, -1e0, 1e-1, 1e-1, 1e-1, 0.0, -tmin(f16), -1e0, -1e1, -tmin(f16), 1e0, -1e1, fmin(f16), -fmax(f16), -nan(f16),
10443 -tmin(f16), -inf(f16), inf(f16), -fmin(f16), -nan(f16), 0.0, -inf(f16), -fmax(f16), 1e-1, -inf(f16), tmin(f16), nan(f16), tmin(f16), fmin(f16), -0.0, 1e-1,
10444 fmin(f16), fmin(f16), 1e0, tmin(f16), 0.0, 1e1, 1e-1, inf(f16), 1e1, -tmin(f16), tmin(f16), -1e0, -fmin(f16), 1e0, nan(f16), -fmax(f16),
10445 nan(f16), -fmin(f16), 1e-1, 1e1, -1e1, 1e0, -0.0, tmin(f16), nan(f16), inf(f16), -fmax(f16), tmin(f16), -tmin(f16), 1e1, fmin(f16), -tmin(f16),
10446 -0.0, 1e0, tmin(f16), fmax(f16), 1e0, -inf(f16), -nan(f16), -0.0, 1e-1, -inf(f16), 1e-1, fmax(f16), -inf(f16), -nan(f16), -1e0, -inf(f16),
10447 1e-1, fmin(f16), -1e1, -tmin(f16), 1e0, -nan(f16), -fmax(f16), -1e1, -tmin(f16), 1e1, nan(f16), fmin(f16), fmax(f16), tmin(f16), -inf(f16), 1e0,
10448 -fmin(f16), tmin(f16), -1e0, 1e-1, 0.0, nan(f16), 1e0, fmax(f16), -1e0, 1e1, nan(f16), 1e0, fmin(f16), 1e0, -1e1, -1e1,
410810449 });
410910450 try testArgs(@Vector(69, f16), .{
4110 -nan(f16), -1.0, -fmin(f16), fmin(f16), inf(f16), 0.1, 0.0, fmax(f16), tmin(f16), 0.1, 0.0, -tmin(f16), 0.0, 0.0, 1.0, -inf(f16),
4111 tmin(f16), -inf(f16), -tmin(f16), fmin(f16), -inf(f16), -nan(f16), tmin(f16), -tmin(f16), 0.1, -1.0, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), fmin(f16), 10.0,
4112 fmin(f16), -10.0, 0.0, fmin(f16), fmax(f16), -nan(f16), fmax(f16), -fmax(f16), nan(f16), -nan(f16), fmin(f16), -10.0, -fmin(f16), fmin(f16), -fmin(f16), -nan(f16),
4113 0.0, -1.0, fmax(f16), 0.1, inf(f16), 1.0, -1.0, -0.0, 10.0, 0.1, -fmax(f16), tmin(f16), -inf(f16), tmin(f16), -fmax(f16), 0.1,
4114 -10.0, -0.0, -fmax(f16), nan(f16), fmax(f16),
10451 -nan(f16), -1e0, -fmin(f16), fmin(f16), inf(f16), 1e-1, 0.0, fmax(f16), tmin(f16), 1e-1, 0.0, -tmin(f16), 0.0, 0.0, 1e0, -inf(f16),
10452 tmin(f16), -inf(f16), -tmin(f16), fmin(f16), -inf(f16), -nan(f16), tmin(f16), -tmin(f16), 1e-1, -1e0, -tmin(f16), fmax(f16), nan(f16), -fmin(f16), fmin(f16), 1e1,
10453 fmin(f16), -1e1, 0.0, fmin(f16), fmax(f16), -nan(f16), fmax(f16), -fmax(f16), nan(f16), -nan(f16), fmin(f16), -1e1, -fmin(f16), fmin(f16), -fmin(f16), -nan(f16),
10454 0.0, -1e0, fmax(f16), 1e-1, inf(f16), 1e0, -1e0, -0.0, 1e1, 1e-1, -fmax(f16), tmin(f16), -inf(f16), tmin(f16), -fmax(f16), 1e-1,
10455 -1e1, -0.0, -fmax(f16), nan(f16), fmax(f16),
411510456 }, .{
4116 inf(f16), -fmin(f16), 0.1, 0.1, -0.0, fmax(f16), 0.1, -0.0, 0.0, -0.0, 0.0, -tmin(f16), tmin(f16), -1.0, nan(f16), -fmin(f16),
4117 fmin(f16), 0.1, 0.1, nan(f16), -fmax(f16), -inf(f16), -nan(f16), -nan(f16), 0.1, -fmax(f16), fmin(f16), 0.1, 0.1, 0.1, -0.0, 10.0,
4118 tmin(f16), -nan(f16), fmin(f16), -1.0, 1.0, -tmin(f16), 0.0, nan(f16), fmax(f16), -10.0, fmin(f16), -fmin(f16), -1.0, 0.1, -fmin(f16), -fmin(f16),
4119 -fmax(f16), 0.0, fmin(f16), -10.0, -1.0, -1.0, fmax(f16), -nan(f16), -inf(f16), -inf(f16), 0.0, tmin(f16), -0.0, nan(f16), -inf(f16), nan(f16),
10457 inf(f16), -fmin(f16), 1e-1, 1e-1, -0.0, fmax(f16), 1e-1, -0.0, 0.0, -0.0, 0.0, -tmin(f16), tmin(f16), -1e0, nan(f16), -fmin(f16),
10458 fmin(f16), 1e-1, 1e-1, nan(f16), -fmax(f16), -inf(f16), -nan(f16), -nan(f16), 1e-1, -fmax(f16), fmin(f16), 1e-1, 1e-1, 1e-1, -0.0, 1e1,
10459 tmin(f16), -nan(f16), fmin(f16), -1e0, 1e0, -tmin(f16), 0.0, nan(f16), fmax(f16), -1e1, fmin(f16), -fmin(f16), -1e0, 1e-1, -fmin(f16), -fmin(f16),
10460 -fmax(f16), 0.0, fmin(f16), -1e1, -1e0, -1e0, fmax(f16), -nan(f16), -inf(f16), -inf(f16), 0.0, tmin(f16), -0.0, nan(f16), -inf(f16), nan(f16),
412010461 inf(f16), fmin(f16), -nan(f16), -inf(f16), inf(f16),
412110462 });
412210463
......@@ -4126,229 +10467,229 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
412610467 -tmin(f32),
412710468 });
412810469 try testArgs(@Vector(2, f32), .{
4129 nan(f32), -10.0,
10470 nan(f32), -1e1,
413010471 }, .{
413110472 -tmin(f32), fmin(f32),
413210473 });
413310474 try testArgs(@Vector(4, f32), .{
4134 fmax(f32), -fmax(f32), -10.0, 0.0,
10475 fmax(f32), -fmax(f32), -1e1, 0.0,
413510476 }, .{
4136 inf(f32), inf(f32), -10.0, inf(f32),
10477 inf(f32), inf(f32), -1e1, inf(f32),
413710478 });
413810479 try testArgs(@Vector(8, f32), .{
4139 -10.0, fmax(f32), inf(f32), -0.0, -tmin(f32), -tmin(f32), 10.0, 0.1,
10480 -1e1, fmax(f32), inf(f32), -0.0, -tmin(f32), -tmin(f32), 1e1, 1e-1,
414010481 }, .{
4141 10.0, -1.0, -1.0, inf(f32), 1.0, -tmin(f32), nan(f32), 10.0,
10482 1e1, -1e0, -1e0, inf(f32), 1e0, -tmin(f32), nan(f32), 1e1,
414210483 });
414310484 try testArgs(@Vector(16, f32), .{
4144 0.1, 0.1, -nan(f32), -10.0, -nan(f32), 0.0, fmin(f32), fmin(f32), -10.0, 1.0, -fmax(f32), -0.0, inf(f32), -0.0, fmax(f32), -fmin(f32),
10485 1e-1, 1e-1, -nan(f32), -1e1, -nan(f32), 0.0, fmin(f32), fmin(f32), -1e1, 1e0, -fmax(f32), -0.0, inf(f32), -0.0, fmax(f32), -fmin(f32),
414510486 }, .{
4146 nan(f32), 0.0, tmin(f32), -1.0, -10.0, -tmin(f32), fmin(f32), -fmax(f32), 0.1, 0.1, -inf(f32), tmin(f32), -0.0, 10.0, -0.0, -inf(f32),
10487 nan(f32), 0.0, tmin(f32), -1e0, -1e1, -tmin(f32), fmin(f32), -fmax(f32), 1e-1, 1e-1, -inf(f32), tmin(f32), -0.0, 1e1, -0.0, -inf(f32),
414710488 });
414810489 try testArgs(@Vector(32, f32), .{
4149 0.1, tmin(f32), -1.0, 1.0, tmin(f32), -10.0, fmax(f32), 0.0, tmin(f32), 0.1, -1.0, fmax(f32), -nan(f32), -0.0, fmin(f32), 0.0,
4150 -fmax(f32), fmax(f32), -fmin(f32), -inf(f32), tmin(f32), -nan(f32), -1.0, tmin(f32), -fmin(f32), -inf(f32), nan(f32), -tmin(f32), inf(f32), -inf(f32), -nan(f32), 0.1,
10490 1e-1, tmin(f32), -1e0, 1e0, tmin(f32), -1e1, fmax(f32), 0.0, tmin(f32), 1e-1, -1e0, fmax(f32), -nan(f32), -0.0, fmin(f32), 0.0,
10491 -fmax(f32), fmax(f32), -fmin(f32), -inf(f32), tmin(f32), -nan(f32), -1e0, tmin(f32), -fmin(f32), -inf(f32), nan(f32), -tmin(f32), inf(f32), -inf(f32), -nan(f32), 1e-1,
415110492 }, .{
4152 -fmin(f32), -1.0, fmax(f32), inf(f32), -fmin(f32), fmax(f32), 0.0, -10.0, 0.0, 0.1, fmin(f32), -inf(f32), 1.0, -nan(f32), -nan(f32),
4153 -inf(f32), -0.0, nan(f32), -fmax(f32), 10.0, -tmin(f32), fmax(f32), -10.0, 0.1, tmin(f32), 0.1, -fmax(f32), 0.0, 0.1, -nan(f32),
10493 -fmin(f32), -1e0, fmax(f32), inf(f32), -fmin(f32), fmax(f32), 0.0, -1e1, 0.0, 1e-1, fmin(f32), -inf(f32), 1e0, -nan(f32), -nan(f32),
10494 -inf(f32), -0.0, nan(f32), -fmax(f32), 1e1, -tmin(f32), fmax(f32), -1e1, 1e-1, tmin(f32), 1e-1, -fmax(f32), 0.0, 1e-1, -nan(f32),
415410495 -fmin(f32), fmax(f32),
415510496 });
415610497 try testArgs(@Vector(64, f32), .{
4157 fmin(f32), 0.0, -inf(f32), 0.1, -10.0, -fmin(f32), 10.0, nan(f32), 0.1, 1.0, -1.0, 10.0, 10.0, 0.1, -fmax(f32), -1.0,
4158 -fmin(f32), 0.1, -inf(f32), -inf(f32), 0.1, 0.1, 0.0, -1.0, nan(f32), -0.0, -0.0, -fmin(f32), -inf(f32), inf(f32), tmin(f32), -nan(f32),
4159 0.1, 0.0, 1.0, tmin(f32), 10.0, fmin(f32), -fmin(f32), fmax(f32), nan(f32), 1.0, -nan(f32), -nan(f32), 1.0, nan(f32), 1.0, fmax(f32),
4160 -0.0, 0.0, inf(f32), nan(f32), tmin(f32), 0.0, fmin(f32), -0.0, -fmin(f32), tmin(f32), -1.0, -10.0, 0.1, -tmin(f32), -inf(f32), -1.0,
10498 fmin(f32), 0.0, -inf(f32), 1e-1, -1e1, -fmin(f32), 1e1, nan(f32), 1e-1, 1e0, -1e0, 1e1, 1e1, 1e-1, -fmax(f32), -1e0,
10499 -fmin(f32), 1e-1, -inf(f32), -inf(f32), 1e-1, 1e-1, 0.0, -1e0, nan(f32), -0.0, -0.0, -fmin(f32), -inf(f32), inf(f32), tmin(f32), -nan(f32),
10500 1e-1, 0.0, 1e0, tmin(f32), 1e1, fmin(f32), -fmin(f32), fmax(f32), nan(f32), 1e0, -nan(f32), -nan(f32), 1e0, nan(f32), 1e0, fmax(f32),
10501 -0.0, 0.0, inf(f32), nan(f32), tmin(f32), 0.0, fmin(f32), -0.0, -fmin(f32), tmin(f32), -1e0, -1e1, 1e-1, -tmin(f32), -inf(f32), -1e0,
416110502 }, .{
4162 nan(f32), -nan(f32), -tmin(f32), inf(f32), -inf(f32), 0.1, 0.1, 0.1, -1.0, -inf(f32), -0.0, fmax(f32), tmin(f32), -nan(f32), -fmax(f32), -1.0,
4163 -fmin(f32), -0.0, fmax(f32), -fmax(f32), 1.0, -0.0, 0.0, 10.0, -1.0, -fmin(f32), 0.0, fmax(f32), 0.1, 1.0, 10.0, 0.1,
4164 0.1, fmin(f32), -nan(f32), -inf(f32), -0.0, -inf(f32), 0.1, -fmax(f32), -10.0, -10.0, nan(f32), 10.0, -1.0, -fmin(f32), 10.0, fmin(f32),
4165 1.0, -fmax(f32), nan(f32), inf(f32), fmax(f32), fmax(f32), -fmin(f32), -inf(f32), -tmin(f32), -nan(f32), nan(f32), nan(f32), 0.1, 0.1, -1.0, inf(f32),
10503 nan(f32), -nan(f32), -tmin(f32), inf(f32), -inf(f32), 1e-1, 1e-1, 1e-1, -1e0, -inf(f32), -0.0, fmax(f32), tmin(f32), -nan(f32), -fmax(f32), -1e0,
10504 -fmin(f32), -0.0, fmax(f32), -fmax(f32), 1e0, -0.0, 0.0, 1e1, -1e0, -fmin(f32), 0.0, fmax(f32), 1e-1, 1e0, 1e1, 1e-1,
10505 1e-1, fmin(f32), -nan(f32), -inf(f32), -0.0, -inf(f32), 1e-1, -fmax(f32), -1e1, -1e1, nan(f32), 1e1, -1e0, -fmin(f32), 1e1, fmin(f32),
10506 1e0, -fmax(f32), nan(f32), inf(f32), fmax(f32), fmax(f32), -fmin(f32), -inf(f32), -tmin(f32), -nan(f32), nan(f32), nan(f32), 1e-1, 1e-1, -1e0, inf(f32),
416610507 });
416710508 try testArgs(@Vector(128, f32), .{
4168 -10.0, -nan(f32), inf(f32), inf(f32), -tmin(f32), -0.0, 0.0, 0.1, -0.0, fmin(f32), nan(f32), -1.0, nan(f32), -fmax(f32), nan(f32), 0.0,
4169 1.0, -tmin(f32), 0.0, -nan(f32), 0.1, 0.1, -1.0, 10.0, -fmax(f32), -fmin(f32), 0.1, nan(f32), 0.1, -fmax(f32), -tmin(f32), -inf(f32),
4170 inf(f32), tmin(f32), -tmin(f32), nan(f32), -inf(f32), -10.0, 1.0, -nan(f32), 0.1, nan(f32), -1.0, tmin(f32), -fmin(f32), -0.0, -0.0, 1.0,
4171 fmin(f32), -fmin(f32), 0.1, 0.1, 0.1, -10.0, -10.0, -tmin(f32), 1.0, -0.0, 10.0, -fmax(f32), 10.0, -fmax(f32), inf(f32), -1.0,
4172 -fmax(f32), fmin(f32), fmin(f32), fmin(f32), -1.0, -nan(f32), fmax(f32), -nan(f32), 0.1, -1.0, -fmax(f32), -tmin(f32), -0.0, fmax(f32), -10.0, inf(f32),
4173 10.0, -inf(f32), 0.1, fmin(f32), nan(f32), -fmax(f32), -tmin(f32), inf(f32), tmin(f32), -fmin(f32), fmax(f32), 1.0, fmin(f32), -0.0, 0.1, fmin(f32),
4174 0.1, inf(f32), -10.0, inf(f32), 10.0, tmin(f32), 0.0, 1.0, inf(f32), -10.0, -fmin(f32), tmin(f32), 1.0, 0.1, 0.1, -fmin(f32),
4175 10.0, 0.1, fmax(f32), fmin(f32), 1.0, -10.0, -inf(f32), -10.0, 0.0, -fmax(f32), -inf(f32), -1.0, fmax(f32), -tmin(f32), inf(f32), nan(f32),
10509 -1e1, -nan(f32), inf(f32), inf(f32), -tmin(f32), -0.0, 0.0, 1e-1, -0.0, fmin(f32), nan(f32), -1e0, nan(f32), -fmax(f32), nan(f32), 0.0,
10510 1e0, -tmin(f32), 0.0, -nan(f32), 1e-1, 1e-1, -1e0, 1e1, -fmax(f32), -fmin(f32), 1e-1, nan(f32), 1e-1, -fmax(f32), -tmin(f32), -inf(f32),
10511 inf(f32), tmin(f32), -tmin(f32), nan(f32), -inf(f32), -1e1, 1e0, -nan(f32), 1e-1, nan(f32), -1e0, tmin(f32), -fmin(f32), -0.0, -0.0, 1e0,
10512 fmin(f32), -fmin(f32), 1e-1, 1e-1, 1e-1, -1e1, -1e1, -tmin(f32), 1e0, -0.0, 1e1, -fmax(f32), 1e1, -fmax(f32), inf(f32), -1e0,
10513 -fmax(f32), fmin(f32), fmin(f32), fmin(f32), -1e0, -nan(f32), fmax(f32), -nan(f32), 1e-1, -1e0, -fmax(f32), -tmin(f32), -0.0, fmax(f32), -1e1, inf(f32),
10514 1e1, -inf(f32), 1e-1, fmin(f32), nan(f32), -fmax(f32), -tmin(f32), inf(f32), tmin(f32), -fmin(f32), fmax(f32), 1e0, fmin(f32), -0.0, 1e-1, fmin(f32),
10515 1e-1, inf(f32), -1e1, inf(f32), 1e1, tmin(f32), 0.0, 1e0, inf(f32), -1e1, -fmin(f32), tmin(f32), 1e0, 1e-1, 1e-1, -fmin(f32),
10516 1e1, 1e-1, fmax(f32), fmin(f32), 1e0, -1e1, -inf(f32), -1e1, 0.0, -fmax(f32), -inf(f32), -1e0, fmax(f32), -tmin(f32), inf(f32), nan(f32),
417610517 }, .{
4177 -tmin(f32), -fmax(f32), -fmax(f32), 10.0, inf(f32), 0.1, 1.0, fmin(f32), 0.1, 10.0, fmin(f32), -fmax(f32), 1.0, fmax(f32), 0.1, -fmin(f32),
4178 0.0, -0.0, -0.0, -1.0, -nan(f32), nan(f32), -tmin(f32), 10.0, -tmin(f32), -10.0, inf(f32), 0.0, tmin(f32), 0.0, -fmax(f32), inf(f32),
4179 fmin(f32), 0.1, -10.0, tmin(f32), tmin(f32), 0.1, fmin(f32), -tmin(f32), fmin(f32), nan(f32), 0.1, -fmax(f32), -1.0, -0.0, fmin(f32), -0.0,
4180 -1.0, -0.0, -inf(f32), fmax(f32), -10.0, 1.0, inf(f32), -1.0, -tmin(f32), -tmin(f32), 0.1, -10.0, -fmin(f32), 10.0, -10.0, -inf(f32),
4181 -1.0, inf(f32), 0.1, 1.0, -nan(f32), 0.1, -10.0, -nan(f32), -tmin(f32), 0.0, fmin(f32), -nan(f32), fmax(f32), -tmin(f32), 0.0, 0.0,
4182 -fmax(f32), -inf(f32), -1.0, -0.0, 10.0, nan(f32), 0.1, tmin(f32), -10.0, 10.0, tmin(f32), -fmax(f32), 0.1, -10.0, -tmin(f32), fmax(f32),
4183 -fmax(f32), 0.1, -nan(f32), -fmin(f32), inf(f32), inf(f32), tmin(f32), tmin(f32), -tmin(f32), tmin(f32), 0.0, -0.0, 1.0, 10.0, -10.0, inf(f32),
4184 0.0, -fmin(f32), fmax(f32), -10.0, fmax(f32), -0.0, 0.0, -fmin(f32), 10.0, -fmin(f32), -fmin(f32), -fmin(f32), 10.0, fmin(f32), -inf(f32), fmax(f32),
10518 -tmin(f32), -fmax(f32), -fmax(f32), 1e1, inf(f32), 1e-1, 1e0, fmin(f32), 1e-1, 1e1, fmin(f32), -fmax(f32), 1e0, fmax(f32), 1e-1, -fmin(f32),
10519 0.0, -0.0, -0.0, -1e0, -nan(f32), nan(f32), -tmin(f32), 1e1, -tmin(f32), -1e1, inf(f32), 0.0, tmin(f32), 0.0, -fmax(f32), inf(f32),
10520 fmin(f32), 1e-1, -1e1, tmin(f32), tmin(f32), 1e-1, fmin(f32), -tmin(f32), fmin(f32), nan(f32), 1e-1, -fmax(f32), -1e0, -0.0, fmin(f32), -0.0,
10521 -1e0, -0.0, -inf(f32), fmax(f32), -1e1, 1e0, inf(f32), -1e0, -tmin(f32), -tmin(f32), 1e-1, -1e1, -fmin(f32), 1e1, -1e1, -inf(f32),
10522 -1e0, inf(f32), 1e-1, 1e0, -nan(f32), 1e-1, -1e1, -nan(f32), -tmin(f32), 0.0, fmin(f32), -nan(f32), fmax(f32), -tmin(f32), 0.0, 0.0,
10523 -fmax(f32), -inf(f32), -1e0, -0.0, 1e1, nan(f32), 1e-1, tmin(f32), -1e1, 1e1, tmin(f32), -fmax(f32), 1e-1, -1e1, -tmin(f32), fmax(f32),
10524 -fmax(f32), 1e-1, -nan(f32), -fmin(f32), inf(f32), inf(f32), tmin(f32), tmin(f32), -tmin(f32), tmin(f32), 0.0, -0.0, 1e0, 1e1, -1e1, inf(f32),
10525 0.0, -fmin(f32), fmax(f32), -1e1, fmax(f32), -0.0, 0.0, -fmin(f32), 1e1, -fmin(f32), -fmin(f32), -fmin(f32), 1e1, fmin(f32), -inf(f32), fmax(f32),
418510526 });
418610527 try testArgs(@Vector(69, f32), .{
4187 nan(f32), 0.1, -tmin(f32), fmax(f32), nan(f32), -fmax(f32), 0.1, fmax(f32), 10.0, inf(f32), -fmin(f32), -fmax(f32), inf(f32), -nan(f32), 0.1, 1.0,
4188 fmax(f32), 0.1, 10.0, 0.0, -10.0, fmax(f32), 10.0, 0.0, 1.0, 10.0, -fmax(f32), 0.0, -tmin(f32), -fmin(f32), 0.1, 1.0,
4189 fmin(f32), tmin(f32), -fmin(f32), -tmin(f32), tmin(f32), -inf(f32), -fmax(f32), -0.0, -1.0, -0.0, -fmax(f32), fmax(f32), fmin(f32), -0.0, 0.0, -inf(f32),
4190 -tmin(f32), inf(f32), -nan(f32), tmin(f32), -1.0, -tmin(f32), 10.0, -inf(f32), -fmin(f32), 0.1, -inf(f32), -1.0, nan(f32), -inf(f32), -tmin(f32), 10.0,
4191 10.0, -nan(f32), -nan(f32), tmin(f32), -nan(f32),
10528 nan(f32), 1e-1, -tmin(f32), fmax(f32), nan(f32), -fmax(f32), 1e-1, fmax(f32), 1e1, inf(f32), -fmin(f32), -fmax(f32), inf(f32), -nan(f32), 1e-1, 1e0,
10529 fmax(f32), 1e-1, 1e1, 0.0, -1e1, fmax(f32), 1e1, 0.0, 1e0, 1e1, -fmax(f32), 0.0, -tmin(f32), -fmin(f32), 1e-1, 1e0,
10530 fmin(f32), tmin(f32), -fmin(f32), -tmin(f32), tmin(f32), -inf(f32), -fmax(f32), -0.0, -1e0, -0.0, -fmax(f32), fmax(f32), fmin(f32), -0.0, 0.0, -inf(f32),
10531 -tmin(f32), inf(f32), -nan(f32), tmin(f32), -1e0, -tmin(f32), 1e1, -inf(f32), -fmin(f32), 1e-1, -inf(f32), -1e0, nan(f32), -inf(f32), -tmin(f32), 1e1,
10532 1e1, -nan(f32), -nan(f32), tmin(f32), -nan(f32),
419210533 }, .{
4193 -nan(f32), 1.0, fmax(f32), 0.1, -0.0, 1.0, -inf(f32), -fmin(f32), -nan(f32), inf(f32), 1.0, -nan(f32), -nan(f32), -inf(f32), tmin(f32), -fmin(f32),
4194 -nan(f32), 0.1, fmin(f32), -1.0, -fmax(f32), 0.1, -1.0, 0.1, 0.1, -tmin(f32), 0.1, 0.1, 10.0, fmin(f32), 0.0, nan(f32),
4195 tmin(f32), 1.0, nan(f32), -fmin(f32), tmin(f32), nan(f32), 0.1, nan(f32), 1.0, -fmax(f32), tmin(f32), 1.0, 0.0, -1.0, nan(f32), fmin(f32),
4196 -inf(f32), fmax(f32), -0.0, nan(f32), tmin(f32), tmin(f32), -inf(f32), -10.0, -nan(f32), -fmax(f32), -0.0, 0.1, -inf(f32), 1.0, nan(f32), 1.0,
4197 -10.0, fmin(f32), inf(f32), fmin(f32), 0.0,
10534 -nan(f32), 1e0, fmax(f32), 1e-1, -0.0, 1e0, -inf(f32), -fmin(f32), -nan(f32), inf(f32), 1e0, -nan(f32), -nan(f32), -inf(f32), tmin(f32), -fmin(f32),
10535 -nan(f32), 1e-1, fmin(f32), -1e0, -fmax(f32), 1e-1, -1e0, 1e-1, 1e-1, -tmin(f32), 1e-1, 1e-1, 1e1, fmin(f32), 0.0, nan(f32),
10536 tmin(f32), 1e0, nan(f32), -fmin(f32), tmin(f32), nan(f32), 1e-1, nan(f32), 1e0, -fmax(f32), tmin(f32), 1e0, 0.0, -1e0, nan(f32), fmin(f32),
10537 -inf(f32), fmax(f32), -0.0, nan(f32), tmin(f32), tmin(f32), -inf(f32), -1e1, -nan(f32), -fmax(f32), -0.0, 1e-1, -inf(f32), 1e0, nan(f32), 1e0,
10538 -1e1, fmin(f32), inf(f32), fmin(f32), 0.0,
419810539 });
419910540
420010541 try testArgs(@Vector(1, f64), .{
420110542 -0.0,
420210543 }, .{
4203 1.0,
10544 1e0,
420410545 });
420510546 try testArgs(@Vector(2, f64), .{
4206 -1.0, 0.0,
10547 -1e0, 0.0,
420710548 }, .{
420810549 -inf(f64), -fmax(f64),
420910550 });
421010551 try testArgs(@Vector(4, f64), .{
4211 -inf(f64), inf(f64), 10.0, 0.0,
10552 -inf(f64), inf(f64), 1e1, 0.0,
421210553 }, .{
4213 -tmin(f64), 1.0, nan(f64), 0.0,
10554 -tmin(f64), 1e0, nan(f64), 0.0,
421410555 });
421510556 try testArgs(@Vector(8, f64), .{
4216 0.1, -tmin(f64), -fmax(f64), 1.0, inf(f64), -10.0, -tmin(f64), -10.0,
10557 1e-1, -tmin(f64), -fmax(f64), 1e0, inf(f64), -1e1, -tmin(f64), -1e1,
421710558 }, .{
4218 tmin(f64), fmin(f64), 0.1, 10.0, -0.0, -0.0, fmax(f64), -1.0,
10559 tmin(f64), fmin(f64), 1e-1, 1e1, -0.0, -0.0, fmax(f64), -1e0,
421910560 });
422010561 try testArgs(@Vector(16, f64), .{
4221 0.1, -nan(f64), 1.0, tmin(f64), fmax(f64), -fmax(f64), -tmin(f64), -0.0, -fmin(f64), -1.0, -fmax(f64), -nan(f64), -fmax(f64), nan(f64), -0.0, 0.1,
10562 1e-1, -nan(f64), 1e0, tmin(f64), fmax(f64), -fmax(f64), -tmin(f64), -0.0, -fmin(f64), -1e0, -fmax(f64), -nan(f64), -fmax(f64), nan(f64), -0.0, 1e-1,
422210563 }, .{
4223 -1.0, -tmin(f64), -fmin(f64), 0.1, 0.1, -0.0, -nan(f64), -inf(f64), -inf(f64), -0.0, nan(f64), tmin(f64), 1.0, 0.1, tmin(f64), fmin(f64),
10564 -1e0, -tmin(f64), -fmin(f64), 1e-1, 1e-1, -0.0, -nan(f64), -inf(f64), -inf(f64), -0.0, nan(f64), tmin(f64), 1e0, 1e-1, tmin(f64), fmin(f64),
422410565 });
422510566 try testArgs(@Vector(32, f64), .{
4226 -fmax(f64), fmin(f64), 0.1, 0.1, 0.0, 1.0, -0.0, -tmin(f64), tmin(f64), inf(f64), -tmin(f64), -tmin(f64), -tmin(f64), -fmax(f64), fmin(f64), 1.0,
4227 -fmin(f64), -nan(f64), 1.0, -inf(f64), -nan(f64), -1.0, 0.0, 0.0, nan(f64), -nan(f64), -fmin(f64), fmin(f64), 0.1, nan(f64), tmin(f64), -fmax(f64),
10567 -fmax(f64), fmin(f64), 1e-1, 1e-1, 0.0, 1e0, -0.0, -tmin(f64), tmin(f64), inf(f64), -tmin(f64), -tmin(f64), -tmin(f64), -fmax(f64), fmin(f64), 1e0,
10568 -fmin(f64), -nan(f64), 1e0, -inf(f64), -nan(f64), -1e0, 0.0, 0.0, nan(f64), -nan(f64), -fmin(f64), fmin(f64), 1e-1, nan(f64), tmin(f64), -fmax(f64),
422810569 }, .{
4229 -tmin(f64), -fmax(f64), -inf(f64), -nan(f64), fmin(f64), -inf(f64), 0.1, -fmax(f64), -inf(f64), fmin(f64), inf(f64), -1.0, -tmin(f64), inf(f64), 0.1, nan(f64),
4230 fmin(f64), 10.0, -tmin(f64), -nan(f64), -inf(f64), 1.0, nan(f64), -fmin(f64), -1.0, nan(f64), -1.0, 0.0, 1.0, nan(f64), -1.0, -fmin(f64),
10570 -tmin(f64), -fmax(f64), -inf(f64), -nan(f64), fmin(f64), -inf(f64), 1e-1, -fmax(f64), -inf(f64), fmin(f64), inf(f64), -1e0, -tmin(f64), inf(f64), 1e-1, nan(f64),
10571 fmin(f64), 1e1, -tmin(f64), -nan(f64), -inf(f64), 1e0, nan(f64), -fmin(f64), -1e0, nan(f64), -1e0, 0.0, 1e0, nan(f64), -1e0, -fmin(f64),
423110572 });
423210573 try testArgs(@Vector(64, f64), .{
4233 -10.0, fmax(f64), -nan(f64), tmin(f64), 0.1, -1.0, 1.0, -0.0, -fmin(f64), 0.1, -fmin(f64), -0.0, -0.0, tmin(f64), -10.0, 0.1,
4234 -10.0, -fmax(f64), -10.0, -fmin(f64), 0.0, -10.0, nan(f64), 1.0, inf(f64), inf(f64), -inf(f64), tmin(f64), tmin(f64), 0.1, -0.0, 0.1,
4235 -0.0, 0.1, -10.0, 10.0, fmax(f64), -fmin(f64), 1.0, fmax(f64), 1.0, -10.0, fmin(f64), fmax(f64), -1.0, -0.0, -0.0, fmax(f64),
4236 -inf(f64), -inf(f64), -tmin(f64), -fmax(f64), -nan(f64), tmin(f64), -1.0, 0.0, -inf(f64), fmax(f64), nan(f64), -inf(f64), fmin(f64), -nan(f64), -nan(f64), -10.0,
10574 -1e1, fmax(f64), -nan(f64), tmin(f64), 1e-1, -1e0, 1e0, -0.0, -fmin(f64), 1e-1, -fmin(f64), -0.0, -0.0, tmin(f64), -1e1, 1e-1,
10575 -1e1, -fmax(f64), -1e1, -fmin(f64), 0.0, -1e1, nan(f64), 1e0, inf(f64), inf(f64), -inf(f64), tmin(f64), tmin(f64), 1e-1, -0.0, 1e-1,
10576 -0.0, 1e-1, -1e1, 1e1, fmax(f64), -fmin(f64), 1e0, fmax(f64), 1e0, -1e1, fmin(f64), fmax(f64), -1e0, -0.0, -0.0, fmax(f64),
10577 -inf(f64), -inf(f64), -tmin(f64), -fmax(f64), -nan(f64), tmin(f64), -1e0, 0.0, -inf(f64), fmax(f64), nan(f64), -inf(f64), fmin(f64), -nan(f64), -nan(f64), -1e1,
423710578 }, .{
4238 nan(f64), -1.0, 0.0, -10.0, -fmax(f64), -fmin(f64), -nan(f64), -tmin(f64), 0.1, -1.0, -nan(f64), -fmax(f64), 0.0, 0.0, 10.0, inf(f64),
4239 fmin(f64), 0.0, -10.0, 1.0, -tmin(f64), -inf(f64), -fmax(f64), 0.0, -fmin(f64), -1.0, -fmin(f64), tmin(f64), 1.0, -10.0, fmin(f64), 0.1,
4240 inf(f64), -0.0, tmin(f64), -fmax(f64), -tmin(f64), -fmax(f64), fmin(f64), -fmax(f64), 0.1, 1.0, 1.0, 0.0, fmin(f64), nan(f64), -10.0, tmin(f64),
4241 inf(f64), 0.1, 1.0, -nan(f64), 1.0, -fmin(f64), fmax(f64), inf(f64), fmin(f64), -inf(f64), -0.0, 0.0, -1.0, -0.0, 0.1, 0.1,
10579 nan(f64), -1e0, 0.0, -1e1, -fmax(f64), -fmin(f64), -nan(f64), -tmin(f64), 1e-1, -1e0, -nan(f64), -fmax(f64), 0.0, 0.0, 1e1, inf(f64),
10580 fmin(f64), 0.0, -1e1, 1e0, -tmin(f64), -inf(f64), -fmax(f64), 0.0, -fmin(f64), -1e0, -fmin(f64), tmin(f64), 1e0, -1e1, fmin(f64), 1e-1,
10581 inf(f64), -0.0, tmin(f64), -fmax(f64), -tmin(f64), -fmax(f64), fmin(f64), -fmax(f64), 1e-1, 1e0, 1e0, 0.0, fmin(f64), nan(f64), -1e1, tmin(f64),
10582 inf(f64), 1e-1, 1e0, -nan(f64), 1e0, -fmin(f64), fmax(f64), inf(f64), fmin(f64), -inf(f64), -0.0, 0.0, -1e0, -0.0, 1e-1, 1e-1,
424210583 });
424310584 try testArgs(@Vector(128, f64), .{
4244 nan(f64), -fmin(f64), fmax(f64), fmin(f64), -10.0, nan(f64), tmin(f64), fmax(f64), inf(f64), -nan(f64), tmin(f64), -nan(f64), -0.0, fmin(f64), fmax(f64),
4245 -inf(f64), inf(f64), -1.0, 0.0, 0.1, fmin(f64), 0.0, 0.1, -1.0, -inf(f64), 0.1, fmax(f64), fmin(f64), fmax(f64), -fmax(f64),
4246 fmin(f64), inf(f64), -fmin(f64), -10.0, -0.0, 0.1, nan(f64), -fmax(f64), -fmax(f64), -1.0, 10.0, 10.0, -1.0, -inf(f64), inf(f64),
4247 -fmin(f64), 1.0, -inf(f64), -10.0, 0.1, 1.0, 10.0, 10.0, tmin(f64), nan(f64), inf(f64), 0.0, -1.0, -10.0, 1.0,
4248 -tmin(f64), -fmax(f64), -nan(f64), 10.0, 0.1, tmin(f64), 0.0, 10.0, 0.1, -tmin(f64), -tmin(f64), 1.0, -fmax(f64), nan(f64), -fmin(f64),
4249 nan(f64), 10.0, -1.0, -0.0, -tmin(f64), nan(f64), 10.0, 10.0, -inf(f64), 0.1, -nan(f64), -10.0, -tmin(f64), -fmax(f64), -fmax(f64),
4250 inf(f64), -inf(f64), tmin(f64), 1.0, -inf(f64), -10.0, inf(f64), 0.1, -nan(f64), -inf(f64), fmax(f64), 0.1, -inf(f64), 0.1, 1.0,
4251 0.1, 0.1, 0.1, inf(f64), -inf(f64), 1.0, 10.0, 10.0, nan(f64), 10.0, -tmin(f64), 1.0, -fmin(f64), -1.0, -fmax(f64),
4252 -fmin(f64), -fmin(f64), -1.0, inf(f64), nan(f64), tmin(f64), 0.1, -1.0,
10585 nan(f64), -fmin(f64), fmax(f64), fmin(f64), -1e1, nan(f64), tmin(f64), fmax(f64), inf(f64), -nan(f64), tmin(f64), -nan(f64), -0.0, fmin(f64), fmax(f64),
10586 -inf(f64), inf(f64), -1e0, 0.0, 1e-1, fmin(f64), 0.0, 1e-1, -1e0, -inf(f64), 1e-1, fmax(f64), fmin(f64), fmax(f64), -fmax(f64),
10587 fmin(f64), inf(f64), -fmin(f64), -1e1, -0.0, 1e-1, nan(f64), -fmax(f64), -fmax(f64), -1e0, 1e1, 1e1, -1e0, -inf(f64), inf(f64),
10588 -fmin(f64), 1e0, -inf(f64), -1e1, 1e-1, 1e0, 1e1, 1e1, tmin(f64), nan(f64), inf(f64), 0.0, -1e0, -1e1, 1e0,
10589 -tmin(f64), -fmax(f64), -nan(f64), 1e1, 1e-1, tmin(f64), 0.0, 1e1, 1e-1, -tmin(f64), -tmin(f64), 1e0, -fmax(f64), nan(f64), -fmin(f64),
10590 nan(f64), 1e1, -1e0, -0.0, -tmin(f64), nan(f64), 1e1, 1e1, -inf(f64), 1e-1, -nan(f64), -1e1, -tmin(f64), -fmax(f64), -fmax(f64),
10591 inf(f64), -inf(f64), tmin(f64), 1e0, -inf(f64), -1e1, inf(f64), 1e-1, -nan(f64), -inf(f64), fmax(f64), 1e-1, -inf(f64), 1e-1, 1e0,
10592 1e-1, 1e-1, 1e-1, inf(f64), -inf(f64), 1e0, 1e1, 1e1, nan(f64), 1e1, -tmin(f64), 1e0, -fmin(f64), -1e0, -fmax(f64),
10593 -fmin(f64), -fmin(f64), -1e0, inf(f64), nan(f64), tmin(f64), 1e-1, -1e0,
425310594 }, .{
4254 0.0, 0.0, inf(f64), -0.0, 0.1, -nan(f64), 10.0, -nan(f64), tmin(f64), -10.0, -0.0, inf(f64), -fmin(f64), 0.1, fmax(f64),
4255 nan(f64), -tmin(f64), tmin(f64), 1.0, 0.1, -10.0, -nan(f64), 1.0, inf(f64), -10.0, fmin(f64), 0.1, 10.0, -10.0, 10.0,
4256 -nan(f64), -nan(f64), 0.1, 0.0, 10.0, -fmax(f64), -tmin(f64), tmin(f64), -1.0, -tmin(f64), -10.0, 0.1, -fmax(f64), 10.0, nan(f64),
4257 fmax(f64), -1.0, -1.0, -tmin(f64), fmax(f64), -10.0, 0.1, 1.0, fmin(f64), inf(f64), 0.1, tmin(f64), 0.1, -fmax(f64), fmax(f64),
4258 -10.0, -fmax(f64), fmax(f64), tmin(f64), -fmin(f64), inf(f64), 0.1, -0.0, fmax(f64), tmin(f64), 0.1, 1.0, -inf(f64), 1.0, 10.0,
4259 0.1, 0.0, -10.0, -nan(f64), 10.0, -fmin(f64), -tmin(f64), 10.0, 1.0, -tmin(f64), -1.0, -fmin(f64), -0.0, -10.0, 0.1,
4260 inf(f64), -fmax(f64), 0.1, tmin(f64), -0.0, fmax(f64), 0.0, -nan(f64), -fmin(f64), fmax(f64), -0.0, nan(f64), -inf(f64), tmin(f64), 0.1,
4261 inf(f64), 0.0, 10.0, -fmax(f64), tmin(f64), -0.0, fmin(f64), -nan(f64), -10.0, -inf(f64), nan(f64), inf(f64), -0.0, 10.0, fmax(f64),
4262 tmin(f64), -10.0, -nan(f64), 10.0, -inf(f64), -fmax(f64), -inf(f64), -1.0,
10595 0.0, 0.0, inf(f64), -0.0, 1e-1, -nan(f64), 1e1, -nan(f64), tmin(f64), -1e1, -0.0, inf(f64), -fmin(f64), 1e-1, fmax(f64),
10596 nan(f64), -tmin(f64), tmin(f64), 1e0, 1e-1, -1e1, -nan(f64), 1e0, inf(f64), -1e1, fmin(f64), 1e-1, 1e1, -1e1, 1e1,
10597 -nan(f64), -nan(f64), 1e-1, 0.0, 1e1, -fmax(f64), -tmin(f64), tmin(f64), -1e0, -tmin(f64), -1e1, 1e-1, -fmax(f64), 1e1, nan(f64),
10598 fmax(f64), -1e0, -1e0, -tmin(f64), fmax(f64), -1e1, 1e-1, 1e0, fmin(f64), inf(f64), 1e-1, tmin(f64), 1e-1, -fmax(f64), fmax(f64),
10599 -1e1, -fmax(f64), fmax(f64), tmin(f64), -fmin(f64), inf(f64), 1e-1, -0.0, fmax(f64), tmin(f64), 1e-1, 1e0, -inf(f64), 1e0, 1e1,
10600 1e-1, 0.0, -1e1, -nan(f64), 1e1, -fmin(f64), -tmin(f64), 1e1, 1e0, -tmin(f64), -1e0, -fmin(f64), -0.0, -1e1, 1e-1,
10601 inf(f64), -fmax(f64), 1e-1, tmin(f64), -0.0, fmax(f64), 0.0, -nan(f64), -fmin(f64), fmax(f64), -0.0, nan(f64), -inf(f64), tmin(f64), 1e-1,
10602 inf(f64), 0.0, 1e1, -fmax(f64), tmin(f64), -0.0, fmin(f64), -nan(f64), -1e1, -inf(f64), nan(f64), inf(f64), -0.0, 1e1, fmax(f64),
10603 tmin(f64), -1e1, -nan(f64), 1e1, -inf(f64), -fmax(f64), -inf(f64), -1e0,
426310604 });
426410605 try testArgs(@Vector(69, f64), .{
4265 inf(f64), -0.0, -fmax(f64), fmax(f64), fmax(f64), 0.0, fmin(f64), -nan(f64), 0.1, 0.1, 0.1, -fmin(f64), inf(f64), 0.1, fmax(f64), nan(f64),
4266 tmin(f64), -10.0, 10.0, -tmin(f64), -0.0, nan(f64), -10.0, fmin(f64), 0.0, -0.0, 0.1, inf(f64), -tmin(f64), -nan(f64), inf(f64), -nan(f64),
4267 -inf(f64), fmax(f64), 0.1, -fmin(f64), 0.1, -1.0, fmin(f64), fmin(f64), fmin(f64), 10.0, -fmin(f64), nan(f64), 0.0, 0.0, 10.0, nan(f64),
4268 -tmin(f64), tmin(f64), tmin(f64), fmin(f64), -0.0, -1.0, 0.1, 1.0, fmax(f64), tmin(f64), fmin(f64), 0.0, -fmin(f64), fmin(f64), -tmin(f64), 0.0,
4269 -nan(f64), 10.0, -1.0, 0.1, 0.0,
10606 inf(f64), -0.0, -fmax(f64), fmax(f64), fmax(f64), 0.0, fmin(f64), -nan(f64), 1e-1, 1e-1, 1e-1, -fmin(f64), inf(f64), 1e-1, fmax(f64), nan(f64),
10607 tmin(f64), -1e1, 1e1, -tmin(f64), -0.0, nan(f64), -1e1, fmin(f64), 0.0, -0.0, 1e-1, inf(f64), -tmin(f64), -nan(f64), inf(f64), -nan(f64),
10608 -inf(f64), fmax(f64), 1e-1, -fmin(f64), 1e-1, -1e0, fmin(f64), fmin(f64), fmin(f64), 1e1, -fmin(f64), nan(f64), 0.0, 0.0, 1e1, nan(f64),
10609 -tmin(f64), tmin(f64), tmin(f64), fmin(f64), -0.0, -1e0, 1e-1, 1e0, fmax(f64), tmin(f64), fmin(f64), 0.0, -fmin(f64), fmin(f64), -tmin(f64), 0.0,
10610 -nan(f64), 1e1, -1e0, 1e-1, 0.0,
427010611 }, .{
4271 -10.0, -0.0, fmin(f64), -fmin(f64), nan(f64), 10.0, -tmin(f64), -fmax(f64), 10.0, 0.1, -fmin(f64), inf(f64), -inf(f64), -tmin(f64), 1.0, tmin(f64),
4272 -tmin(f64), -nan(f64), fmax(f64), 0.0, -1.0, 10.0, inf(f64), fmin(f64), fmax(f64), 0.1, 0.1, fmax(f64), -inf(f64), 0.1, 0.1, fmin(f64),
4273 0.1, fmin(f64), -10.0, nan(f64), 0.0, 0.0, fmax(f64), -inf(f64), tmin(f64), inf(f64), -tmin(f64), fmax(f64), -inf(f64), -10.0, -1.0, fmin(f64),
4274 0.1, -nan(f64), fmax(f64), -fmin(f64), fmax(f64), nan(f64), -0.0, -fmax(f64), 10.0, nan(f64), inf(f64), -1.0, -fmin(f64), nan(f64), -fmin(f64), -0.0,
4275 -nan(f64), -fmin(f64), 0.1, nan(f64), 0.1,
10612 -1e1, -0.0, fmin(f64), -fmin(f64), nan(f64), 1e1, -tmin(f64), -fmax(f64), 1e1, 1e-1, -fmin(f64), inf(f64), -inf(f64), -tmin(f64), 1e0, tmin(f64),
10613 -tmin(f64), -nan(f64), fmax(f64), 0.0, -1e0, 1e1, inf(f64), fmin(f64), fmax(f64), 1e-1, 1e-1, fmax(f64), -inf(f64), 1e-1, 1e-1, fmin(f64),
10614 1e-1, fmin(f64), -1e1, nan(f64), 0.0, 0.0, fmax(f64), -inf(f64), tmin(f64), inf(f64), -tmin(f64), fmax(f64), -inf(f64), -1e1, -1e0, fmin(f64),
10615 1e-1, -nan(f64), fmax(f64), -fmin(f64), fmax(f64), nan(f64), -0.0, -fmax(f64), 1e1, nan(f64), inf(f64), -1e0, -fmin(f64), nan(f64), -fmin(f64), -0.0,
10616 -nan(f64), -fmin(f64), 1e-1, nan(f64), 1e-1,
427610617 });
427710618
427810619 try testArgs(@Vector(1, f80), .{
427910620 -nan(f80),
428010621 }, .{
4281 -1.0,
10622 -1e0,
428210623 });
428310624 try testArgs(@Vector(2, f80), .{
428410625 -fmax(f80), -inf(f80),
428510626 }, .{
4286 0.1, 10.0,
10627 1e-1, 1e1,
428710628 });
428810629 try testArgs(@Vector(4, f80), .{
4289 -0.0, -inf(f80), 0.1, 10.0,
10630 -0.0, -inf(f80), 1e-1, 1e1,
429010631 }, .{
4291 -1.0, 0.0, 0.1, -10.0,
10632 -1e0, 0.0, 1e-1, -1e1,
429210633 });
429310634 try testArgs(@Vector(8, f80), .{
4294 1.0, -0.0, -inf(f80), 0.1, -inf(f80), fmin(f80), 0.0, 10.0,
10635 1e0, -0.0, -inf(f80), 1e-1, -inf(f80), fmin(f80), 0.0, 1e1,
429510636 }, .{
4296 -0.0, -fmin(f80), fmin(f80), -nan(f80), nan(f80), inf(f80), fmin(f80), 10.0,
10637 -0.0, -fmin(f80), fmin(f80), -nan(f80), nan(f80), inf(f80), fmin(f80), 1e1,
429710638 });
429810639 try testArgs(@Vector(16, f80), .{
4299 10.0, inf(f80), -fmin(f80), 0.1, -tmin(f80), -0.0, -inf(f80), -1.0, -fmax(f80), -nan(f80), -tmin(f80), 10.0, 10.0, -inf(f80), -fmax(f80), fmax(f80),
10640 1e1, inf(f80), -fmin(f80), 1e-1, -tmin(f80), -0.0, -inf(f80), -1e0, -fmax(f80), -nan(f80), -tmin(f80), 1e1, 1e1, -inf(f80), -fmax(f80), fmax(f80),
430010641 }, .{
4301 -inf(f80), nan(f80), -fmax(f80), fmin(f80), 1.0, 0.1, -inf(f80), nan(f80), 0.1, nan(f80), -inf(f80), nan(f80), tmin(f80), 0.1, -tmin(f80), -10.0,
10642 -inf(f80), nan(f80), -fmax(f80), fmin(f80), 1e0, 1e-1, -inf(f80), nan(f80), 1e-1, nan(f80), -inf(f80), nan(f80), tmin(f80), 1e-1, -tmin(f80), -1e1,
430210643 });
430310644 try testArgs(@Vector(32, f80), .{
4304 inf(f80), -0.0, 0.1, -0.0, 0.1, -fmin(f80), -0.0, fmax(f80), nan(f80), -tmin(f80), nan(f80), -10.0, 0.0, 1.0, 10.0, -fmin(f80),
4305 fmin(f80), 0.1, inf(f80), -0.0, nan(f80), tmin(f80), -tmin(f80), fmin(f80), tmin(f80), -0.0, nan(f80), -fmax(f80), tmin(f80), -fmin(f80), 1.0, tmin(f80),
10645 inf(f80), -0.0, 1e-1, -0.0, 1e-1, -fmin(f80), -0.0, fmax(f80), nan(f80), -tmin(f80), nan(f80), -1e1, 0.0, 1e0, 1e1, -fmin(f80),
10646 fmin(f80), 1e-1, inf(f80), -0.0, nan(f80), tmin(f80), -tmin(f80), fmin(f80), tmin(f80), -0.0, nan(f80), -fmax(f80), tmin(f80), -fmin(f80), 1e0, tmin(f80),
430610647 }, .{
4307 0.0, -10.0, fmax(f80), -inf(f80), 0.1, -inf(f80), inf(f80), 10.0, -1.0, -10.0, -fmin(f80), 0.0, inf(f80), 1.0, -nan(f80), 0.0,
4308 0.1, nan(f80), 1.0, -fmax(f80), fmin(f80), -inf(f80), -fmax(f80), 0.1, -10.0, tmin(f80), fmax(f80), -0.0, -fmin(f80), -fmin(f80), fmin(f80), -tmin(f80),
10648 0.0, -1e1, fmax(f80), -inf(f80), 1e-1, -inf(f80), inf(f80), 1e1, -1e0, -1e1, -fmin(f80), 0.0, inf(f80), 1e0, -nan(f80), 0.0,
10649 1e-1, nan(f80), 1e0, -fmax(f80), fmin(f80), -inf(f80), -fmax(f80), 1e-1, -1e1, tmin(f80), fmax(f80), -0.0, -fmin(f80), -fmin(f80), fmin(f80), -tmin(f80),
430910650 });
431010651 try testArgs(@Vector(64, f80), .{
4311 -fmax(f80), 0.1, -1.0, 1.0, inf(f80), 0.1, -10.0, 0.1, fmin(f80), -fmin(f80), -10.0, -fmax(f80), 0.0, -10.0, -1.0, -nan(f80),
4312 0.0, 0.1, -1.0, -tmin(f80), 1.0, tmin(f80), fmax(f80), 0.0, -10.0, -tmin(f80), fmax(f80), -0.0, 0.1, -inf(f80), -fmax(f80), -1.0,
4313 -nan(f80), tmin(f80), -tmin(f80), -0.0, -0.0, -1.0, -0.0, fmax(f80), inf(f80), -nan(f80), 0.1, -inf(f80), -tmin(f80), nan(f80), 0.1, 10.0,
4314 nan(f80), -inf(f80), 0.1, tmin(f80), -fmin(f80), 10.0, -10.0, tmin(f80), fmin(f80), nan(f80), 0.1, -nan(f80), tmin(f80), nan(f80), fmax(f80), -fmax(f80),
10652 -fmax(f80), 1e-1, -1e0, 1e0, inf(f80), 1e-1, -1e1, 1e-1, fmin(f80), -fmin(f80), -1e1, -fmax(f80), 0.0, -1e1, -1e0, -nan(f80),
10653 0.0, 1e-1, -1e0, -tmin(f80), 1e0, tmin(f80), fmax(f80), 0.0, -1e1, -tmin(f80), fmax(f80), -0.0, 1e-1, -inf(f80), -fmax(f80), -1e0,
10654 -nan(f80), tmin(f80), -tmin(f80), -0.0, -0.0, -1e0, -0.0, fmax(f80), inf(f80), -nan(f80), 1e-1, -inf(f80), -tmin(f80), nan(f80), 1e-1, 1e1,
10655 nan(f80), -inf(f80), 1e-1, tmin(f80), -fmin(f80), 1e1, -1e1, tmin(f80), fmin(f80), nan(f80), 1e-1, -nan(f80), tmin(f80), nan(f80), fmax(f80), -fmax(f80),
431510656 }, .{
4316 -nan(f80), -fmax(f80), tmin(f80), -inf(f80), -tmin(f80), fmin(f80), -nan(f80), -fmin(f80), fmax(f80), inf(f80), -0.0, -1.0, 0.1, -fmax(f80), 1.0, -inf(f80),
4317 0.0, -nan(f80), -10.0, -1.0, -nan(f80), inf(f80), 1.0, -nan(f80), 10.0, inf(f80), tmin(f80), 0.1, tmin(f80), -tmin(f80), -inf(f80), -fmin(f80),
4318 fmax(f80), fmax(f80), 0.1, -tmin(f80), -nan(f80), -1.0, fmin(f80), -nan(f80), -nan(f80), inf(f80), -1.0, 0.1, -fmin(f80), -tmin(f80), 0.0, -0.0,
4319 0.1, -fmin(f80), -inf(f80), -1.0, -tmin(f80), 1.0, -inf(f80), -0.0, 0.0, 1.0, tmin(f80), 0.0, 0.1, -nan(f80), fmax(f80), 1.0,
10657 -nan(f80), -fmax(f80), tmin(f80), -inf(f80), -tmin(f80), fmin(f80), -nan(f80), -fmin(f80), fmax(f80), inf(f80), -0.0, -1e0, 1e-1, -fmax(f80), 1e0, -inf(f80),
10658 0.0, -nan(f80), -1e1, -1e0, -nan(f80), inf(f80), 1e0, -nan(f80), 1e1, inf(f80), tmin(f80), 1e-1, tmin(f80), -tmin(f80), -inf(f80), -fmin(f80),
10659 fmax(f80), fmax(f80), 1e-1, -tmin(f80), -nan(f80), -1e0, fmin(f80), -nan(f80), -nan(f80), inf(f80), -1e0, 1e-1, -fmin(f80), -tmin(f80), 0.0, -0.0,
10660 1e-1, -fmin(f80), -inf(f80), -1e0, -tmin(f80), 1e0, -inf(f80), -0.0, 0.0, 1e0, tmin(f80), 0.0, 1e-1, -nan(f80), fmax(f80), 1e0,
432010661 });
432110662 try testArgs(@Vector(128, f80), .{
4322 0.1, -0.0, 0.1, 0.0, fmin(f80), -1.0, 1.0, -inf(f80), fmax(f80), -fmin(f80), nan(f80), 10.0, 0.1, 0.1, -fmin(f80), -inf(f80),
4323 -1.0, -inf(f80), 1.0, -fmin(f80), inf(f80), -nan(f80), 10.0, inf(f80), tmin(f80), nan(f80), -10.0, inf(f80), 10.0, inf(f80), -10.0, 0.0,
4324 -10.0, fmin(f80), -tmin(f80), 1.0, -fmax(f80), nan(f80), 0.0, fmax(f80), 0.1, -1.0, -fmin(f80), inf(f80), -tmin(f80), nan(f80), -tmin(f80), 10.0,
4325 -10.0, -tmin(f80), -1.0, -tmin(f80), -fmax(f80), 10.0, -1.0, -inf(f80), -nan(f80), 0.0, 1.0, fmax(f80), -tmin(f80), -fmin(f80), fmin(f80), fmin(f80),
4326 -10.0, -fmax(f80), -tmin(f80), inf(f80), 1.0, 0.0, tmin(f80), -nan(f80), -fmin(f80), 0.1, -nan(f80), 0.0, 0.1, -10.0, -0.0, -nan(f80),
4327 1.0, 10.0, -10.0, fmin(f80), -nan(f80), fmax(f80), -0.0, 1.0, inf(f80), 1.0, -fmin(f80), -fmin(f80), 0.0, 0.1, inf(f80), 10.0,
4328 tmin(f80), -1.0, fmax(f80), -0.0, fmax(f80), fmax(f80), 0.1, -fmin(f80), -10.0, 1.0, -fmin(f80), -fmax(f80), fmin(f80), -fmax(f80), -0.0, -1.0,
4329 -nan(f80), -inf(f80), nan(f80), -fmax(f80), inf(f80), -inf(f80), -nan(f80), fmin(f80), nan(f80), -1.0, tmin(f80), tmin(f80), 0.1, 10.0, -tmin(f80), -nan(f80),
10663 1e-1, -0.0, 1e-1, 0.0, fmin(f80), -1e0, 1e0, -inf(f80), fmax(f80), -fmin(f80), nan(f80), 1e1, 1e-1, 1e-1, -fmin(f80), -inf(f80),
10664 -1e0, -inf(f80), 1e0, -fmin(f80), inf(f80), -nan(f80), 1e1, inf(f80), tmin(f80), nan(f80), -1e1, inf(f80), 1e1, inf(f80), -1e1, 0.0,
10665 -1e1, fmin(f80), -tmin(f80), 1e0, -fmax(f80), nan(f80), 0.0, fmax(f80), 1e-1, -1e0, -fmin(f80), inf(f80), -tmin(f80), nan(f80), -tmin(f80), 1e1,
10666 -1e1, -tmin(f80), -1e0, -tmin(f80), -fmax(f80), 1e1, -1e0, -inf(f80), -nan(f80), 0.0, 1e0, fmax(f80), -tmin(f80), -fmin(f80), fmin(f80), fmin(f80),
10667 -1e1, -fmax(f80), -tmin(f80), inf(f80), 1e0, 0.0, tmin(f80), -nan(f80), -fmin(f80), 1e-1, -nan(f80), 0.0, 1e-1, -1e1, -0.0, -nan(f80),
10668 1e0, 1e1, -1e1, fmin(f80), -nan(f80), fmax(f80), -0.0, 1e0, inf(f80), 1e0, -fmin(f80), -fmin(f80), 0.0, 1e-1, inf(f80), 1e1,
10669 tmin(f80), -1e0, fmax(f80), -0.0, fmax(f80), fmax(f80), 1e-1, -fmin(f80), -1e1, 1e0, -fmin(f80), -fmax(f80), fmin(f80), -fmax(f80), -0.0, -1e0,
10670 -nan(f80), -inf(f80), nan(f80), -fmax(f80), inf(f80), -inf(f80), -nan(f80), fmin(f80), nan(f80), -1e0, tmin(f80), tmin(f80), 1e-1, 1e1, -tmin(f80), -nan(f80),
433010671 }, .{
4331 -1.0, -0.0, 0.0, fmax(f80), -1.0, -0.0, 0.1, tmin(f80), -inf(f80), 10.0, -0.0, 0.1, -tmin(f80), -fmax(f80), tmin(f80), inf(f80),
4332 0.1, 1.0, tmin(f80), nan(f80), -fmax(f80), 10.0, fmin(f80), -1.0, -fmax(f80), nan(f80), -fmin(f80), 10.0, -1.0, tmin(f80), inf(f80), -0.0,
4333 tmin(f80), 1.0, 0.0, -fmin(f80), 0.0, 10.0, -fmax(f80), -0.0, -inf(f80), fmin(f80), -0.0, -0.0, -0.0, -fmax(f80), 0.1, fmax(f80),
4334 -tmin(f80), tmin(f80), -fmax(f80), 10.0, -fmax(f80), 0.1, fmax(f80), -10.0, 0.1, 1.0, -1.0, -1.0, nan(f80), -nan(f80), 10.0, -nan(f80),
4335 nan(f80), -10.0, -tmin(f80), fmin(f80), -tmin(f80), -fmin(f80), tmin(f80), -0.0, 0.1, fmax(f80), tmin(f80), tmin(f80), nan(f80), 0.1, 10.0, 0.1,
4336 inf(f80), inf(f80), 1.0, -inf(f80), -fmax(f80), 0.0, 1.0, -fmax(f80), fmax(f80), nan(f80), fmin(f80), 0.1, -1.0, 1.0, 0.1, -tmin(f80),
4337 10.0, 0.1, -fmax(f80), 0.0, nan(f80), -tmin(f80), 0.1, fmax(f80), fmax(f80), 0.1, -1.0, inf(f80), nan(f80), 10.0, fmax(f80), -nan(f80),
4338 -10.0, -1.0, tmin(f80), fmin(f80), inf(f80), fmax(f80), -fmin(f80), fmin(f80), -inf(f80), -tmin(f80), 1.0, nan(f80), -fmin(f80), -fmin(f80), fmax(f80), 1.0,
10672 -1e0, -0.0, 0.0, fmax(f80), -1e0, -0.0, 1e-1, tmin(f80), -inf(f80), 1e1, -0.0, 1e-1, -tmin(f80), -fmax(f80), tmin(f80), inf(f80),
10673 1e-1, 1e0, tmin(f80), nan(f80), -fmax(f80), 1e1, fmin(f80), -1e0, -fmax(f80), nan(f80), -fmin(f80), 1e1, -1e0, tmin(f80), inf(f80), -0.0,
10674 tmin(f80), 1e0, 0.0, -fmin(f80), 0.0, 1e1, -fmax(f80), -0.0, -inf(f80), fmin(f80), -0.0, -0.0, -0.0, -fmax(f80), 1e-1, fmax(f80),
10675 -tmin(f80), tmin(f80), -fmax(f80), 1e1, -fmax(f80), 1e-1, fmax(f80), -1e1, 1e-1, 1e0, -1e0, -1e0, nan(f80), -nan(f80), 1e1, -nan(f80),
10676 nan(f80), -1e1, -tmin(f80), fmin(f80), -tmin(f80), -fmin(f80), tmin(f80), -0.0, 1e-1, fmax(f80), tmin(f80), tmin(f80), nan(f80), 1e-1, 1e1, 1e-1,
10677 inf(f80), inf(f80), 1e0, -inf(f80), -fmax(f80), 0.0, 1e0, -fmax(f80), fmax(f80), nan(f80), fmin(f80), 1e-1, -1e0, 1e0, 1e-1, -tmin(f80),
10678 1e1, 1e-1, -fmax(f80), 0.0, nan(f80), -tmin(f80), 1e-1, fmax(f80), fmax(f80), 1e-1, -1e0, inf(f80), nan(f80), 1e1, fmax(f80), -nan(f80),
10679 -1e1, -1e0, tmin(f80), fmin(f80), inf(f80), fmax(f80), -fmin(f80), fmin(f80), -inf(f80), -tmin(f80), 1e0, nan(f80), -fmin(f80), -fmin(f80), fmax(f80), 1e0,
433910680 });
434010681 try testArgs(@Vector(69, f80), .{
4341 -10.0, tmin(f80), 0.1, -nan(f80), -inf(f80), -nan(f80), fmin(f80), -0.0, 10.0, fmax(f80), -fmin(f80), 0.1, -nan(f80), inf(f80), 1.0, -1.0,
4342 inf(f80), fmin(f80), -fmax(f80), 0.1, nan(f80), 0.0, 0.0, nan(f80), -10.0, fmax(f80), fmin(f80), -fmax(f80), 1.0, 0.1, 0.0, -fmin(f80),
4343 -tmin(f80), 0.0, -10.0, fmin(f80), 1.0, 10.0, 0.1, nan(f80), -10.0, fmax(f80), 0.1, fmin(f80), -inf(f80), 0.0, tmin(f80), inf(f80),
4344 fmax(f80), 1.0, 0.1, nan(f80), inf(f80), tmin(f80), tmin(f80), -fmax(f80), 0.0, fmin(f80), -inf(f80), 0.1, -tmin(f80), 0.1, -1.0, 0.1,
4345 -fmax(f80), -1.0, 0.1, -1.0, fmax(f80),
10682 -1e1, tmin(f80), 1e-1, -nan(f80), -inf(f80), -nan(f80), fmin(f80), -0.0, 1e1, fmax(f80), -fmin(f80), 1e-1, -nan(f80), inf(f80), 1e0, -1e0,
10683 inf(f80), fmin(f80), -fmax(f80), 1e-1, nan(f80), 0.0, 0.0, nan(f80), -1e1, fmax(f80), fmin(f80), -fmax(f80), 1e0, 1e-1, 0.0, -fmin(f80),
10684 -tmin(f80), 0.0, -1e1, fmin(f80), 1e0, 1e1, 1e-1, nan(f80), -1e1, fmax(f80), 1e-1, fmin(f80), -inf(f80), 0.0, tmin(f80), inf(f80),
10685 fmax(f80), 1e0, 1e-1, nan(f80), inf(f80), tmin(f80), tmin(f80), -fmax(f80), 0.0, fmin(f80), -inf(f80), 1e-1, -tmin(f80), 1e-1, -1e0, 1e-1,
10686 -fmax(f80), -1e0, 1e-1, -1e0, fmax(f80),
434610687 }, .{
4347 -1.0, fmin(f80), inf(f80), -nan(f80), -0.0, fmin(f80), -0.0, nan(f80), -fmax(f80), 0.1, 1.0, -10.0, -tmin(f80), -fmin(f80), 10.0, inf(f80),
4348 -10.0, -tmin(f80), -fmin(f80), 10.0, 0.0, -tmin(f80), 10.0, -10.0, 0.1, 0.1, tmin(f80), fmax(f80), 0.0, 0.1, 0.1, -10.0,
4349 fmin(f80), nan(f80), -10.0, -10.0, -10.0, 0.0, -0.0, 0.1, fmin(f80), fmin(f80), -0.0, -fmin(f80), -nan(f80), -inf(f80), 0.0, -inf(f80),
4350 inf(f80), fmax(f80), -tmin(f80), inf(f80), 0.1, -nan(f80), 0.1, tmin(f80), -10.0, -fmax(f80), -fmax(f80), inf(f80), -nan(f80), 1.0, -inf(f80), 10.0,
4351 nan(f80), 10.0, -10.0, 0.0, -fmin(f80),
10688 -1e0, fmin(f80), inf(f80), -nan(f80), -0.0, fmin(f80), -0.0, nan(f80), -fmax(f80), 1e-1, 1e0, -1e1, -tmin(f80), -fmin(f80), 1e1, inf(f80),
10689 -1e1, -tmin(f80), -fmin(f80), 1e1, 0.0, -tmin(f80), 1e1, -1e1, 1e-1, 1e-1, tmin(f80), fmax(f80), 0.0, 1e-1, 1e-1, -1e1,
10690 fmin(f80), nan(f80), -1e1, -1e1, -1e1, 0.0, -0.0, 1e-1, fmin(f80), fmin(f80), -0.0, -fmin(f80), -nan(f80), -inf(f80), 0.0, -inf(f80),
10691 inf(f80), fmax(f80), -tmin(f80), inf(f80), 1e-1, -nan(f80), 1e-1, tmin(f80), -1e1, -fmax(f80), -fmax(f80), inf(f80), -nan(f80), 1e0, -inf(f80), 1e1,
10692 nan(f80), 1e1, -1e1, 0.0, -fmin(f80),
435210693 });
435310694
435410695 try testArgs(@Vector(1, f128), .{
......@@ -4359,76 +10700,76 @@ fn binary(comptime op: anytype, comptime opts: struct { strict: bool = false })
435910700 try testArgs(@Vector(2, f128), .{
436010701 0.0, -inf(f128),
436110702 }, .{
4362 0.1, -fmin(f128),
10703 1e-1, -fmin(f128),
436310704 });
436410705 try testArgs(@Vector(4, f128), .{
4365 0.1, fmax(f128), 10.0, -fmax(f128),
10706 1e-1, fmax(f128), 1e1, -fmax(f128),
436610707 }, .{
436710708 -tmin(f128), fmax(f128), -0.0, -0.0,
436810709 });
436910710 try testArgs(@Vector(8, f128), .{
4370 10.0, -fmin(f128), 0.0, -inf(f128), 10.0, -0.0, -1.0, -fmin(f128),
10711 1e1, -fmin(f128), 0.0, -inf(f128), 1e1, -0.0, -1e0, -fmin(f128),
437110712 }, .{
4372 fmin(f128), tmin(f128), -1.0, -10.0, 0.0, -tmin(f128), 0.0, 0.1,
10713 fmin(f128), tmin(f128), -1e0, -1e1, 0.0, -tmin(f128), 0.0, 1e-1,
437310714 });
437410715 try testArgs(@Vector(16, f128), .{
4375 -fmin(f128), -10.0, -fmin(f128), 0.1, -10.0, 1.0, -fmax(f128), tmin(f128), -nan(f128), -tmin(f128), 10.0, -inf(f128), -1.0, tmin(f128), -0.0, nan(f128),
10716 -fmin(f128), -1e1, -fmin(f128), 1e-1, -1e1, 1e0, -fmax(f128), tmin(f128), -nan(f128), -tmin(f128), 1e1, -inf(f128), -1e0, tmin(f128), -0.0, nan(f128),
437610717 }, .{
4377 -fmax(f128), fmin(f128), inf(f128), tmin(f128), -10.0, 10.0, fmax(f128), 1.0, -inf(f128), -inf(f128), -fmax(f128), -nan(f128), 1.0, -inf(f128), tmin(f128), tmin(f128),
10718 -fmax(f128), fmin(f128), inf(f128), tmin(f128), -1e1, 1e1, fmax(f128), 1e0, -inf(f128), -inf(f128), -fmax(f128), -nan(f128), 1e0, -inf(f128), tmin(f128), tmin(f128),
437810719 });
437910720 try testArgs(@Vector(32, f128), .{
4380 -0.0, -1.0, 1.0, -fmax(f128), -fmax(f128), 0.1, -fmin(f128), -fmin(f128), -1.0, -tmin(f128), -0.0, -fmax(f128), tmin(f128), inf(f128), 0.0, fmax(f128),
4381 -nan(f128), -0.0, -inf(f128), -1.0, 0.1, -fmin(f128), tmin(f128), -10.0, fmax(f128), -nan(f128), -nan(f128), -fmax(f128), 0.1, inf(f128), -0.0, tmin(f128),
10721 -0.0, -1e0, 1e0, -fmax(f128), -fmax(f128), 1e-1, -fmin(f128), -fmin(f128), -1e0, -tmin(f128), -0.0, -fmax(f128), tmin(f128), inf(f128), 0.0, fmax(f128),
10722 -nan(f128), -0.0, -inf(f128), -1e0, 1e-1, -fmin(f128), tmin(f128), -1e1, fmax(f128), -nan(f128), -nan(f128), -fmax(f128), 1e-1, inf(f128), -0.0, tmin(f128),
438210723 }, .{
4383 -1.0, -10.0, -fmin(f128), -fmin(f128), inf(f128), tmin(f128), nan(f128), 0.0, -fmin(f128), 0.1, -nan(f128), 0.1, -0.0, tmin(f128), 1.0, 0.0,
4384 fmin(f128), fmax(f128), -fmax(f128), -tmin(f128), fmin(f128), -0.0, -1.0, -nan(f128), -inf(f128), 1.0, nan(f128), 1.0, 0.1, -0.0, -fmax(f128), -10.0,
10724 -1e0, -1e1, -fmin(f128), -fmin(f128), inf(f128), tmin(f128), nan(f128), 0.0, -fmin(f128), 1e-1, -nan(f128), 1e-1, -0.0, tmin(f128), 1e0, 0.0,
10725 fmin(f128), fmax(f128), -fmax(f128), -tmin(f128), fmin(f128), -0.0, -1e0, -nan(f128), -inf(f128), 1e0, nan(f128), 1e0, 1e-1, -0.0, -fmax(f128), -1e1,
438510726 });
438610727 try testArgs(@Vector(64, f128), .{
4387 -1.0, -0.0, nan(f128), 0.1, -10.0, 0.0, 1.0, 1.0, -inf(f128), fmin(f128), fmax(f128), nan(f128), -nan(f128), inf(f128), -0.0,
4388 0.1, -inf(f128), -fmax(f128), 10.0, -tmin(f128), -tmin(f128), -fmax(f128), 1.0, 0.1, 0.1, nan(f128), 10.0, 1.0, -tmin(f128), 10.0,
4389 -nan(f128), fmax(f128), fmax(f128), 0.0, fmax(f128), inf(f128), 1.0, -0.0, 0.1, -tmin(f128), fmin(f128), fmax(f128), tmin(f128), inf(f128), -10.0,
4390 -1.0, -1.0, -1.0, -inf(f128), 10.0, -tmin(f128), nan(f128), nan(f128), 0.1, fmin(f128), 0.1, tmin(f128), -10.0, 0.1, 10.0,
4391 fmax(f128), fmax(f128), 0.1, -fmax(f128),
10728 -1e0, -0.0, nan(f128), 1e-1, -1e1, 0.0, 1e0, 1e0, -inf(f128), fmin(f128), fmax(f128), nan(f128), -nan(f128), inf(f128), -0.0,
10729 1e-1, -inf(f128), -fmax(f128), 1e1, -tmin(f128), -tmin(f128), -fmax(f128), 1e0, 1e-1, 1e-1, nan(f128), 1e1, 1e0, -tmin(f128), 1e1,
10730 -nan(f128), fmax(f128), fmax(f128), 0.0, fmax(f128), inf(f128), 1e0, -0.0, 1e-1, -tmin(f128), fmin(f128), fmax(f128), tmin(f128), inf(f128), -1e1,
10731 -1e0, -1e0, -1e0, -inf(f128), 1e1, -tmin(f128), nan(f128), nan(f128), 1e-1, fmin(f128), 1e-1, tmin(f128), -1e1, 1e-1, 1e1,
10732 fmax(f128), fmax(f128), 1e-1, -fmax(f128),
439210733 }, .{
4393 -0.0, 0.1, -0.0, -fmin(f128), 10.0, 0.0, 1.0, -inf(f128), tmin(f128), -1.0, fmin(f128), -nan(f128), -10.0, 0.1, -10.0, 0.1,
4394 0.1, tmin(f128), nan(f128), -1.0, 0.0, -10.0, -10.0, fmax(f128), -fmax(f128), inf(f128), -nan(f128), 0.1, -nan(f128), 1.0, fmax(f128), inf(f128),
4395 nan(f128), fmin(f128), 10.0, inf(f128), 0.0, -inf(f128), 0.1, 0.1, 0.1, -1.0, 0.1, -10.0, inf(f128), -nan(f128), 0.1, inf(f128),
4396 inf(f128), inf(f128), -10.0, -tmin(f128), 0.1, -inf(f128), -fmin(f128), 1.0, -tmin(f128), 1.0, -tmin(f128), -inf(f128), -0.0, -nan(f128), -1.0, -fmax(f128),
10734 -0.0, 1e-1, -0.0, -fmin(f128), 1e1, 0.0, 1e0, -inf(f128), tmin(f128), -1e0, fmin(f128), -nan(f128), -1e1, 1e-1, -1e1, 1e-1,
10735 1e-1, tmin(f128), nan(f128), -1e0, 0.0, -1e1, -1e1, fmax(f128), -fmax(f128), inf(f128), -nan(f128), 1e-1, -nan(f128), 1e0, fmax(f128), inf(f128),
10736 nan(f128), fmin(f128), 1e1, inf(f128), 0.0, -inf(f128), 1e-1, 1e-1, 1e-1, -1e0, 1e-1, -1e1, inf(f128), -nan(f128), 1e-1, inf(f128),
10737 inf(f128), inf(f128), -1e1, -tmin(f128), 1e-1, -inf(f128), -fmin(f128), 1e0, -tmin(f128), 1e0, -tmin(f128), -inf(f128), -0.0, -nan(f128), -1e0, -fmax(f128),
439710738 });
439810739 try testArgs(@Vector(128, f128), .{
4399 -inf(f128), tmin(f128), -fmax(f128), 1.0, fmin(f128), -fmax(f128), -1.0, 0.1, -fmax(f128), -fmin(f128), -10.0, nan(f128), 0.1, nan(f128),
4400 inf(f128), -1.0, tmin(f128), -inf(f128), 0.0, fmax(f128), tmin(f128), -fmin(f128), fmin(f128), -10.0, -fmin(f128), -10.0, 1.0, -nan(f128),
4401 -inf(f128), fmin(f128), inf(f128), -tmin(f128), 0.1, 0.0, 10.0, 1.0, -tmin(f128), -tmin(f128), tmin(f128), 1.0, fmin(f128), 0.1,
4402 0.1, 0.1, fmax(f128), 0.1, inf(f128), 0.0, fmin(f128), -fmin(f128), 10.0, 10.0, -10.0, tmin(f128), inf(f128), inf(f128),
4403 -fmin(f128), 0.0, 0.1, -nan(f128), 0.1, -inf(f128), -nan(f128), -1.0, fmin(f128), -0.0, 10.0, -tmin(f128), 10.0, 1.0,
4404 0.1, -0.0, -tmin(f128), 0.1, -1.0, -tmin(f128), -fmin(f128), tmin(f128), 0.1, -tmin(f128), -nan(f128), -10.0, -inf(f128), 0.0,
4405 0.1, 0.0, -fmin(f128), 0.0, 10.0, 10.0, tmin(f128), inf(f128), -nan(f128), -inf(f128), -1.0, -fmin(f128), -10.0, -fmin(f128),
4406 -inf(f128), -fmax(f128), tmin(f128), tmin(f128), -fmin(f128), 0.1, fmin(f128), fmin(f128), -fmin(f128), nan(f128), -1.0, -0.0, -0.0, 0.1,
4407 fmax(f128), 0.0, -fmax(f128), nan(f128), nan(f128), nan(f128), nan(f128), -nan(f128), fmin(f128), -inf(f128), inf(f128), -fmax(f128), -10.0, fmin(f128),
4408 0.1, fmax(f128),
10740 -inf(f128), tmin(f128), -fmax(f128), 1e0, fmin(f128), -fmax(f128), -1e0, 1e-1, -fmax(f128), -fmin(f128), -1e1, nan(f128), 1e-1, nan(f128),
10741 inf(f128), -1e0, tmin(f128), -inf(f128), 0.0, fmax(f128), tmin(f128), -fmin(f128), fmin(f128), -1e1, -fmin(f128), -1e1, 1e0, -nan(f128),
10742 -inf(f128), fmin(f128), inf(f128), -tmin(f128), 1e-1, 0.0, 1e1, 1e0, -tmin(f128), -tmin(f128), tmin(f128), 1e0, fmin(f128), 1e-1,
10743 1e-1, 1e-1, fmax(f128), 1e-1, inf(f128), 0.0, fmin(f128), -fmin(f128), 1e1, 1e1, -1e1, tmin(f128), inf(f128), inf(f128),
10744 -fmin(f128), 0.0, 1e-1, -nan(f128), 1e-1, -inf(f128), -nan(f128), -1e0, fmin(f128), -0.0, 1e1, -tmin(f128), 1e1, 1e0,
10745 1e-1, -0.0, -tmin(f128), 1e-1, -1e0, -tmin(f128), -fmin(f128), tmin(f128), 1e-1, -tmin(f128), -nan(f128), -1e1, -inf(f128), 0.0,
10746 1e-1, 0.0, -fmin(f128), 0.0, 1e1, 1e1, tmin(f128), inf(f128), -nan(f128), -inf(f128), -1e0, -fmin(f128), -1e1, -fmin(f128),
10747 -inf(f128), -fmax(f128), tmin(f128), tmin(f128), -fmin(f128), 1e-1, fmin(f128), fmin(f128), -fmin(f128), nan(f128), -1e0, -0.0, -0.0, 1e-1,
10748 fmax(f128), 0.0, -fmax(f128), nan(f128), nan(f128), nan(f128), nan(f128), -nan(f128), fmin(f128), -inf(f128), inf(f128), -fmax(f128), -1e1, fmin(f128),
10749 1e-1, fmax(f128),
440910750 }, .{
4410 0.0, 10.0, 0.1, inf(f128), -0.0, -1.0, nan(f128), -10.0, -inf(f128), 0.1, -tmin(f128), 1.0, inf(f128), 0.1, -1.0,
4411 10.0, 0.0, 1.0, nan(f128), tmin(f128), fmax(f128), 10.0, 0.1, 0.1, -fmin(f128), -inf(f128), -nan(f128), -fmin(f128), -0.0, -inf(f128),
4412 -nan(f128), fmax(f128), -fmin(f128), -tmin(f128), -fmin(f128), -fmax(f128), nan(f128), fmin(f128), -fmax(f128), fmax(f128), 1.0, 10.0, -fmax(f128), nan(f128), -fmax(f128),
4413 -inf(f128), nan(f128), -nan(f128), tmin(f128), -1.0, 0.1, 0.1, -1.0, -nan(f128), fmax(f128), 10.0, -inf(f128), 10.0, -0.0, -1.0,
4414 -0.0, -tmin(f128), 10.0, -1.0, -fmax(f128), fmin(f128), fmax(f128), tmin(f128), 10.0, fmin(f128), -nan(f128), 1.0, -tmin(f128), -1.0, fmax(f128),
4415 1.0, -tmin(f128), 0.1, -nan(f128), inf(f128), 0.1, 0.1, fmax(f128), -fmin(f128), fmin(f128), -0.0, fmax(f128), -fmax(f128), -tmin(f128), tmin(f128),
4416 nan(f128), 0.1, tmin(f128), -1.0, fmin(f128), -nan(f128), fmax(f128), 1.0, nan(f128), -nan(f128), inf(f128), -fmin(f128), fmin(f128), 0.1, 10.0,
4417 -tmin(f128), -10.0, 0.0, 0.1, -fmin(f128), -0.0, 0.0, -10.0, fmax(f128), nan(f128), nan(f128), -fmin(f128), -fmax(f128), 10.0, 0.0,
4418 fmin(f128), 10.0, -tmin(f128), -tmin(f128), 0.0, -10.0, 1.0, -fmin(f128),
10751 0.0, 1e1, 1e-1, inf(f128), -0.0, -1e0, nan(f128), -1e1, -inf(f128), 1e-1, -tmin(f128), 1e0, inf(f128), 1e-1, -1e0,
10752 1e1, 0.0, 1e0, nan(f128), tmin(f128), fmax(f128), 1e1, 1e-1, 1e-1, -fmin(f128), -inf(f128), -nan(f128), -fmin(f128), -0.0, -inf(f128),
10753 -nan(f128), fmax(f128), -fmin(f128), -tmin(f128), -fmin(f128), -fmax(f128), nan(f128), fmin(f128), -fmax(f128), fmax(f128), 1e0, 1e1, -fmax(f128), nan(f128), -fmax(f128),
10754 -inf(f128), nan(f128), -nan(f128), tmin(f128), -1e0, 1e-1, 1e-1, -1e0, -nan(f128), fmax(f128), 1e1, -inf(f128), 1e1, -0.0, -1e0,
10755 -0.0, -tmin(f128), 1e1, -1e0, -fmax(f128), fmin(f128), fmax(f128), tmin(f128), 1e1, fmin(f128), -nan(f128), 1e0, -tmin(f128), -1e0, fmax(f128),
10756 1e0, -tmin(f128), 1e-1, -nan(f128), inf(f128), 1e-1, 1e-1, fmax(f128), -fmin(f128), fmin(f128), -0.0, fmax(f128), -fmax(f128), -tmin(f128), tmin(f128),
10757 nan(f128), 1e-1, tmin(f128), -1e0, fmin(f128), -nan(f128), fmax(f128), 1e0, nan(f128), -nan(f128), inf(f128), -fmin(f128), fmin(f128), 1e-1, 1e1,
10758 -tmin(f128), -1e1, 0.0, 1e-1, -fmin(f128), -0.0, 0.0, -1e1, fmax(f128), nan(f128), nan(f128), -fmin(f128), -fmax(f128), 1e1, 0.0,
10759 fmin(f128), 1e1, -tmin(f128), -tmin(f128), 0.0, -1e1, 1e0, -fmin(f128),
441910760 });
442010761 try testArgs(@Vector(69, f128), .{
4421 -1.0, nan(f128), 0.1, 0.1, 0.1, -1.0, -10.0, inf(f128), -0.0, inf(f128), tmin(f128), 0.0, -fmax(f128), -tmin(f128), -10.0, -fmax(f128),
4422 -0.0, 0.0, nan(f128), inf(f128), 1.0, -1.0, 0.1, -0.0, 1.0, fmax(f128), -fmax(f128), 0.0, inf(f128), -inf(f128), -tmin(f128), -inf(f128),
4423 10.0, fmin(f128), 10.0, -10.0, 0.1, 1.0, -0.0, nan(f128), tmin(f128), inf(f128), inf(f128), -nan(f128), -nan(f128), 1.0, -tmin(f128), 0.0,
4424 fmin(f128), fmax(f128), fmin(f128), -10.0, nan(f128), 0.0, -nan(f128), -0.0, -nan(f128), 0.1, -10.0, -tmin(f128), fmax(f128), 1.0, fmin(f128), fmax(f128),
4425 nan(f128), -inf(f128), 1.0, fmin(f128), -nan(f128),
10762 -1e0, nan(f128), 1e-1, 1e-1, 1e-1, -1e0, -1e1, inf(f128), -0.0, inf(f128), tmin(f128), 0.0, -fmax(f128), -tmin(f128), -1e1, -fmax(f128),
10763 -0.0, 0.0, nan(f128), inf(f128), 1e0, -1e0, 1e-1, -0.0, 1e0, fmax(f128), -fmax(f128), 0.0, inf(f128), -inf(f128), -tmin(f128), -inf(f128),
10764 1e1, fmin(f128), 1e1, -1e1, 1e-1, 1e0, -0.0, nan(f128), tmin(f128), inf(f128), inf(f128), -nan(f128), -nan(f128), 1e0, -tmin(f128), 0.0,
10765 fmin(f128), fmax(f128), fmin(f128), -1e1, nan(f128), 0.0, -nan(f128), -0.0, -nan(f128), 1e-1, -1e1, -tmin(f128), fmax(f128), 1e0, fmin(f128), fmax(f128),
10766 nan(f128), -inf(f128), 1e0, fmin(f128), -nan(f128),
442610767 }, .{
4427 -inf(f128), fmax(f128), 0.0, nan(f128), -10.0, tmin(f128), nan(f128), 1.0, 10.0, -fmin(f128), fmin(f128), tmin(f128), 0.0, -fmin(f128), -0.0, fmin(f128),
4428 inf(f128), inf(f128), fmin(f128), fmin(f128), -tmin(f128), -fmax(f128), 10.0, nan(f128), -0.0, 1.0, 10.0, -10.0, -inf(f128), fmin(f128), -fmax(f128), 0.1,
4429 -1.0, -nan(f128), -10.0, tmin(f128), inf(f128), nan(f128), 0.0, -10.0, tmin(f128), 0.0, -fmax(f128), -tmin(f128), 0.1, 0.1, 10.0, 0.1,
4430 fmax(f128), 0.1, 0.0, -fmin(f128), -inf(f128), -inf(f128), -nan(f128), 0.1, -fmax(f128), fmax(f128), -fmax(f128), -0.0, -tmin(f128), -1.0, nan(f128), 0.1,
4431 -1.0, -inf(f128), tmin(f128), inf(f128), inf(f128),
10768 -inf(f128), fmax(f128), 0.0, nan(f128), -1e1, tmin(f128), nan(f128), 1e0, 1e1, -fmin(f128), fmin(f128), tmin(f128), 0.0, -fmin(f128), -0.0, fmin(f128),
10769 inf(f128), inf(f128), fmin(f128), fmin(f128), -tmin(f128), -fmax(f128), 1e1, nan(f128), -0.0, 1e0, 1e1, -1e1, -inf(f128), fmin(f128), -fmax(f128), 1e-1,
10770 -1e0, -nan(f128), -1e1, tmin(f128), inf(f128), nan(f128), 0.0, -1e1, tmin(f128), 0.0, -fmax(f128), -tmin(f128), 1e-1, 1e-1, 1e1, 1e-1,
10771 fmax(f128), 1e-1, 0.0, -fmin(f128), -inf(f128), -inf(f128), -nan(f128), 1e-1, -fmax(f128), fmax(f128), -fmax(f128), -0.0, -tmin(f128), -1e0, nan(f128), 1e-1,
10772 -1e0, -inf(f128), tmin(f128), inf(f128), inf(f128),
443210773 });
443310774 }
443410775 };
......@@ -4463,6 +10804,14 @@ test clz {
446310804 try test_clz.testIntVectors();
446410805}
446510806
10807inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type) Result {
10808 return @floatCast(rhs);
10809}
10810test floatCast {
10811 const test_float_cast = cast(floatCast, .{ .strict = true });
10812 try test_float_cast.testFloats();
10813}
10814
446610815inline fn equal(comptime Type: type, lhs: Type, rhs: Type) @TypeOf(lhs == rhs) {
446710816 return lhs == rhs;
446810817}