master
   1const AsSignedness = math.AsSignedness;
   2const checkExpected = math.checkExpected;
   3const Compare = math.Compare;
   4const fmax = math.fmax;
   5const fmin = math.fmin;
   6const Gpr = math.Gpr;
   7const inf = math.inf;
   8const Log2IntCeil = math.Log2IntCeil;
   9const math = @import("math.zig");
  10const nan = math.nan;
  11const RoundBitsUp = math.RoundBitsUp;
  12const Scalar = math.Scalar;
  13const Sse = math.Sse;
  14const tmin = math.tmin;
  15
  16inline fn runtime(comptime Type: type, comptime value: Type) Type {
  17    if (@inComptime()) return value;
  18    return struct {
  19        var variable: Type = value;
  20    }.variable;
  21}
  22
  23fn unary(comptime op: anytype, comptime opts: struct {
  24    libc_name: ?[]const u8 = null,
  25    compare: Compare = .relaxed,
  26}) type {
  27    return struct {
  28        // noinline so that `mem_arg` is on the stack
  29        noinline fn testArgKinds(
  30            _: Gpr,
  31            _: Gpr,
  32            _: Gpr,
  33            _: Gpr,
  34            _: Gpr,
  35            _: Gpr,
  36            _: Gpr,
  37            _: Gpr,
  38            _: Sse,
  39            _: Sse,
  40            _: Sse,
  41            _: Sse,
  42            _: Sse,
  43            _: Sse,
  44            _: Sse,
  45            _: Sse,
  46            comptime Type: type,
  47            comptime imm_arg: Type,
  48            mem_arg: Type,
  49        ) !void {
  50            const expected = expected: {
  51                if (opts.libc_name) |libc_name| libc: {
  52                    const libc_func = @extern(*const fn (Scalar(Type)) callconv(.c) Scalar(Type), .{
  53                        .name = switch (Scalar(Type)) {
  54                            f16 => "__" ++ libc_name ++ "h",
  55                            f32 => libc_name ++ "f",
  56                            f64 => libc_name,
  57                            f80 => "__" ++ libc_name ++ "x",
  58                            f128 => libc_name ++ "q",
  59                            else => break :libc,
  60                        },
  61                        .library_name = switch (@import("builtin").object_format) {
  62                            else => null,
  63                            .coff => "compiler_rt",
  64                        },
  65                    });
  66                    switch (@typeInfo(Type)) {
  67                        else => break :expected libc_func(imm_arg),
  68                        .vector => |vector| {
  69                            var res: Type = undefined;
  70                            inline for (0..vector.len) |i| res[i] = libc_func(imm_arg[i]);
  71                            break :expected res;
  72                        },
  73                    }
  74                }
  75                break :expected comptime op(Type, imm_arg);
  76            };
  77            var reg_arg = mem_arg;
  78            _ = .{&reg_arg};
  79            try checkExpected(expected, op(Type, reg_arg), opts.compare);
  80            try checkExpected(expected, op(Type, mem_arg), opts.compare);
  81            if (opts.libc_name == null) try checkExpected(expected, op(Type, imm_arg), opts.compare);
  82        }
  83        // noinline for a more helpful stack trace
  84        noinline fn testArgs(comptime Type: type, comptime imm_arg: Type) !void {
  85            try testArgKinds(
  86                undefined,
  87                undefined,
  88                undefined,
  89                undefined,
  90                undefined,
  91                undefined,
  92                undefined,
  93                undefined,
  94                undefined,
  95                undefined,
  96                undefined,
  97                undefined,
  98                undefined,
  99                undefined,
 100                undefined,
 101                undefined,
 102                Type,
 103                imm_arg,
 104                imm_arg,
 105            );
 106        }
 107        fn testBools() !void {
 108            try testArgs(bool, false);
 109            try testArgs(bool, true);
 110        }
 111        fn testIntTypes() !void {
 112            try testArgs(i1, undefined);
 113            try testArgs(u1, undefined);
 114            try testArgs(i2, undefined);
 115            try testArgs(u2, undefined);
 116            try testArgs(i3, undefined);
 117            try testArgs(u3, undefined);
 118            try testArgs(i4, undefined);
 119            try testArgs(u4, undefined);
 120            try testArgs(i5, undefined);
 121            try testArgs(u5, undefined);
 122            try testArgs(i7, undefined);
 123            try testArgs(u7, undefined);
 124            try testArgs(i8, undefined);
 125            try testArgs(u8, undefined);
 126            try testArgs(i9, undefined);
 127            try testArgs(u9, undefined);
 128            try testArgs(i15, undefined);
 129            try testArgs(u15, undefined);
 130            try testArgs(i16, undefined);
 131            try testArgs(u16, undefined);
 132            try testArgs(i17, undefined);
 133            try testArgs(u17, undefined);
 134            try testArgs(i31, undefined);
 135            try testArgs(u31, undefined);
 136            try testArgs(i32, undefined);
 137            try testArgs(u32, undefined);
 138            try testArgs(i33, undefined);
 139            try testArgs(u33, undefined);
 140            try testArgs(i63, undefined);
 141            try testArgs(u63, undefined);
 142            try testArgs(i64, undefined);
 143            try testArgs(u64, undefined);
 144            try testArgs(i65, undefined);
 145            try testArgs(u65, undefined);
 146            try testArgs(i95, undefined);
 147            try testArgs(u95, undefined);
 148            try testArgs(i96, undefined);
 149            try testArgs(u96, undefined);
 150            try testArgs(i97, undefined);
 151            try testArgs(u97, undefined);
 152            try testArgs(i127, undefined);
 153            try testArgs(u127, undefined);
 154            try testArgs(i128, undefined);
 155            try testArgs(u128, undefined);
 156            try testArgs(i129, undefined);
 157            try testArgs(u129, undefined);
 158            try testArgs(i159, undefined);
 159            try testArgs(u159, undefined);
 160            try testArgs(i160, undefined);
 161            try testArgs(u160, undefined);
 162            try testArgs(i161, undefined);
 163            try testArgs(u161, undefined);
 164            try testArgs(i191, undefined);
 165            try testArgs(u191, undefined);
 166            try testArgs(i192, undefined);
 167            try testArgs(u192, undefined);
 168            try testArgs(i193, undefined);
 169            try testArgs(u193, undefined);
 170            try testArgs(i223, undefined);
 171            try testArgs(u223, undefined);
 172            try testArgs(i224, undefined);
 173            try testArgs(u224, undefined);
 174            try testArgs(i225, undefined);
 175            try testArgs(u225, undefined);
 176            try testArgs(i255, undefined);
 177            try testArgs(u255, undefined);
 178            try testArgs(i256, undefined);
 179            try testArgs(u256, undefined);
 180            try testArgs(i257, undefined);
 181            try testArgs(u257, undefined);
 182            try testArgs(i511, undefined);
 183            try testArgs(u511, undefined);
 184            try testArgs(i512, undefined);
 185            try testArgs(u512, undefined);
 186            try testArgs(i513, undefined);
 187            try testArgs(u513, undefined);
 188            try testArgs(i1023, undefined);
 189            try testArgs(u1023, undefined);
 190            try testArgs(i1024, undefined);
 191            try testArgs(u1024, undefined);
 192            try testArgs(i1025, undefined);
 193            try testArgs(u1025, undefined);
 194        }
 195        fn testInts() !void {
 196            try testArgs(i1, -1);
 197            try testArgs(i1, 0);
 198            try testArgs(u1, 0);
 199            try testArgs(u1, 1 << 0);
 200
 201            try testArgs(i2, -1 << 1);
 202            try testArgs(i2, -1);
 203            try testArgs(i2, 0);
 204            try testArgs(u2, 0);
 205            try testArgs(u2, 1 << 0);
 206            try testArgs(u2, 1 << 1);
 207
 208            try testArgs(i3, -1 << 2);
 209            try testArgs(i3, -1);
 210            try testArgs(i3, 0);
 211            try testArgs(u3, 0);
 212            try testArgs(u3, 1 << 0);
 213            try testArgs(u3, 1 << 1);
 214            try testArgs(u3, 1 << 2);
 215
 216            try testArgs(i4, -1 << 3);
 217            try testArgs(i4, -1);
 218            try testArgs(i4, 0);
 219            try testArgs(u4, 0);
 220            try testArgs(u4, 1 << 0);
 221            try testArgs(u4, 1 << 1);
 222            try testArgs(u4, 1 << 2);
 223            try testArgs(u4, 1 << 3);
 224
 225            try testArgs(i5, -1 << 4);
 226            try testArgs(i5, -1);
 227            try testArgs(i5, 0);
 228            try testArgs(u5, 0);
 229            try testArgs(u5, 1 << 0);
 230            try testArgs(u5, 1 << 1);
 231            try testArgs(u5, 1 << 3);
 232            try testArgs(u5, 1 << 4);
 233
 234            try testArgs(i7, -1 << 6);
 235            try testArgs(i7, -1);
 236            try testArgs(i7, 0);
 237            try testArgs(u7, 0);
 238            try testArgs(u7, 1 << 0);
 239            try testArgs(u7, 1 << 1);
 240            try testArgs(u7, 1 << 5);
 241            try testArgs(u7, 1 << 6);
 242
 243            try testArgs(i8, -1 << 7);
 244            try testArgs(i8, -1);
 245            try testArgs(i8, 0);
 246            try testArgs(u8, 0);
 247            try testArgs(u8, 1 << 0);
 248            try testArgs(u8, 1 << 1);
 249            try testArgs(u8, 1 << 6);
 250            try testArgs(u8, 1 << 7);
 251
 252            try testArgs(i9, -1 << 8);
 253            try testArgs(i9, -1);
 254            try testArgs(i9, 0);
 255            try testArgs(u9, 0);
 256            try testArgs(u9, 1 << 0);
 257            try testArgs(u9, 1 << 1);
 258            try testArgs(u9, 1 << 7);
 259            try testArgs(u9, 1 << 8);
 260
 261            try testArgs(i15, -1 << 14);
 262            try testArgs(i15, -1);
 263            try testArgs(i15, 0);
 264            try testArgs(u15, 0);
 265            try testArgs(u15, 1 << 0);
 266            try testArgs(u15, 1 << 1);
 267            try testArgs(u15, 1 << 13);
 268            try testArgs(u15, 1 << 14);
 269
 270            try testArgs(i16, -1 << 15);
 271            try testArgs(i16, -1);
 272            try testArgs(i16, 0);
 273            try testArgs(u16, 0);
 274            try testArgs(u16, 1 << 0);
 275            try testArgs(u16, 1 << 1);
 276            try testArgs(u16, 1 << 14);
 277            try testArgs(u16, 1 << 15);
 278
 279            try testArgs(i17, -1 << 16);
 280            try testArgs(i17, -1);
 281            try testArgs(i17, 0);
 282            try testArgs(u17, 0);
 283            try testArgs(u17, 1 << 0);
 284            try testArgs(u17, 1 << 1);
 285            try testArgs(u17, 1 << 15);
 286            try testArgs(u17, 1 << 16);
 287
 288            try testArgs(i31, -1 << 30);
 289            try testArgs(i31, -1);
 290            try testArgs(i31, 0);
 291            try testArgs(u31, 0);
 292            try testArgs(u31, 1 << 0);
 293            try testArgs(u31, 1 << 1);
 294            try testArgs(u31, 1 << 29);
 295            try testArgs(u31, 1 << 30);
 296
 297            try testArgs(i32, -1 << 31);
 298            try testArgs(i32, -1);
 299            try testArgs(i32, 0);
 300            try testArgs(u32, 0);
 301            try testArgs(u32, 1 << 0);
 302            try testArgs(u32, 1 << 1);
 303            try testArgs(u32, 1 << 30);
 304            try testArgs(u32, 1 << 31);
 305
 306            try testArgs(i33, -1 << 32);
 307            try testArgs(i33, -1);
 308            try testArgs(i33, 0);
 309            try testArgs(u33, 0);
 310            try testArgs(u33, 1 << 0);
 311            try testArgs(u33, 1 << 1);
 312            try testArgs(u33, 1 << 31);
 313            try testArgs(u33, 1 << 32);
 314
 315            try testArgs(i63, -1 << 62);
 316            try testArgs(i63, -1);
 317            try testArgs(i63, 0);
 318            try testArgs(u63, 0);
 319            try testArgs(u63, 1 << 0);
 320            try testArgs(u63, 1 << 1);
 321            try testArgs(u63, 1 << 61);
 322            try testArgs(u63, 1 << 62);
 323
 324            try testArgs(i64, -1 << 63);
 325            try testArgs(i64, -1);
 326            try testArgs(i64, 0);
 327            try testArgs(u64, 0);
 328            try testArgs(u64, 1 << 0);
 329            try testArgs(u64, 1 << 1);
 330            try testArgs(u64, 1 << 62);
 331            try testArgs(u64, 1 << 63);
 332
 333            try testArgs(i65, -1 << 64);
 334            try testArgs(i65, -1);
 335            try testArgs(i65, 0);
 336            try testArgs(u65, 0);
 337            try testArgs(u65, 1 << 0);
 338            try testArgs(u65, 1 << 1);
 339            try testArgs(u65, 1 << 63);
 340            try testArgs(u65, 1 << 64);
 341
 342            try testArgs(i95, -1 << 94);
 343            try testArgs(i95, -1);
 344            try testArgs(i95, 0);
 345            try testArgs(u95, 0);
 346            try testArgs(u95, 1 << 0);
 347            try testArgs(u95, 1 << 1);
 348            try testArgs(u95, 1 << 93);
 349            try testArgs(u95, 1 << 94);
 350
 351            try testArgs(i96, -1 << 95);
 352            try testArgs(i96, -1);
 353            try testArgs(i96, 0);
 354            try testArgs(u96, 0);
 355            try testArgs(u96, 1 << 0);
 356            try testArgs(u96, 1 << 1);
 357            try testArgs(u96, 1 << 94);
 358            try testArgs(u96, 1 << 95);
 359
 360            try testArgs(i97, -1 << 96);
 361            try testArgs(i97, -1);
 362            try testArgs(i97, 0);
 363            try testArgs(u97, 0);
 364            try testArgs(u97, 1 << 0);
 365            try testArgs(u97, 1 << 1);
 366            try testArgs(u97, 1 << 95);
 367            try testArgs(u97, 1 << 96);
 368
 369            try testArgs(i127, -1 << 126);
 370            try testArgs(i127, -1);
 371            try testArgs(i127, 0);
 372            try testArgs(u127, 0);
 373            try testArgs(u127, 1 << 0);
 374            try testArgs(u127, 1 << 1);
 375            try testArgs(u127, 1 << 125);
 376            try testArgs(u127, 1 << 126);
 377
 378            try testArgs(i128, -1 << 127);
 379            try testArgs(i128, -1);
 380            try testArgs(i128, 0);
 381            try testArgs(u128, 0);
 382            try testArgs(u128, 1 << 0);
 383            try testArgs(u128, 1 << 1);
 384            try testArgs(u128, 1 << 126);
 385            try testArgs(u128, 1 << 127);
 386
 387            try testArgs(i129, -1 << 128);
 388            try testArgs(i129, -1);
 389            try testArgs(i129, 0);
 390            try testArgs(u129, 0);
 391            try testArgs(u129, 1 << 0);
 392            try testArgs(u129, 1 << 1);
 393            try testArgs(u129, 1 << 127);
 394            try testArgs(u129, 1 << 128);
 395
 396            try testArgs(i159, -1 << 158);
 397            try testArgs(i159, -1);
 398            try testArgs(i159, 0);
 399            try testArgs(u159, 0);
 400            try testArgs(u159, 1 << 0);
 401            try testArgs(u159, 1 << 1);
 402            try testArgs(u159, 1 << 157);
 403            try testArgs(u159, 1 << 158);
 404
 405            try testArgs(i160, -1 << 159);
 406            try testArgs(i160, -1);
 407            try testArgs(i160, 0);
 408            try testArgs(u160, 0);
 409            try testArgs(u160, 1 << 0);
 410            try testArgs(u160, 1 << 1);
 411            try testArgs(u160, 1 << 158);
 412            try testArgs(u160, 1 << 159);
 413
 414            try testArgs(i161, -1 << 160);
 415            try testArgs(i161, -1);
 416            try testArgs(i161, 0);
 417            try testArgs(u161, 0);
 418            try testArgs(u161, 1 << 0);
 419            try testArgs(u161, 1 << 1);
 420            try testArgs(u161, 1 << 159);
 421            try testArgs(u161, 1 << 160);
 422
 423            try testArgs(i191, -1 << 190);
 424            try testArgs(i191, -1);
 425            try testArgs(i191, 0);
 426            try testArgs(u191, 0);
 427            try testArgs(u191, 1 << 0);
 428            try testArgs(u191, 1 << 1);
 429            try testArgs(u191, 1 << 189);
 430            try testArgs(u191, 1 << 190);
 431
 432            try testArgs(i192, -1 << 191);
 433            try testArgs(i192, -1);
 434            try testArgs(i192, 0);
 435            try testArgs(u192, 0);
 436            try testArgs(u192, 1 << 0);
 437            try testArgs(u192, 1 << 1);
 438            try testArgs(u192, 1 << 190);
 439            try testArgs(u192, 1 << 191);
 440
 441            try testArgs(i193, -1 << 192);
 442            try testArgs(i193, -1);
 443            try testArgs(i193, 0);
 444            try testArgs(u193, 0);
 445            try testArgs(u193, 1 << 0);
 446            try testArgs(u193, 1 << 1);
 447            try testArgs(u193, 1 << 191);
 448            try testArgs(u193, 1 << 192);
 449
 450            try testArgs(i223, -1 << 222);
 451            try testArgs(i223, -1);
 452            try testArgs(i223, 0);
 453            try testArgs(u223, 0);
 454            try testArgs(u223, 1 << 0);
 455            try testArgs(u223, 1 << 1);
 456            try testArgs(u223, 1 << 221);
 457            try testArgs(u223, 1 << 222);
 458
 459            try testArgs(i224, -1 << 223);
 460            try testArgs(i224, -1);
 461            try testArgs(i224, 0);
 462            try testArgs(u224, 0);
 463            try testArgs(u224, 1 << 0);
 464            try testArgs(u224, 1 << 1);
 465            try testArgs(u224, 1 << 222);
 466            try testArgs(u224, 1 << 223);
 467
 468            try testArgs(i225, -1 << 224);
 469            try testArgs(i225, -1);
 470            try testArgs(i225, 0);
 471            try testArgs(u225, 0);
 472            try testArgs(u225, 1 << 0);
 473            try testArgs(u225, 1 << 1);
 474            try testArgs(u225, 1 << 223);
 475            try testArgs(u225, 1 << 224);
 476
 477            try testArgs(i255, -1 << 254);
 478            try testArgs(i255, -1);
 479            try testArgs(i255, 0);
 480            try testArgs(u255, 0);
 481            try testArgs(u255, 1 << 0);
 482            try testArgs(u255, 1 << 1);
 483            try testArgs(u255, 1 << 253);
 484            try testArgs(u255, 1 << 254);
 485
 486            try testArgs(i256, -1 << 255);
 487            try testArgs(i256, -1);
 488            try testArgs(i256, 0);
 489            try testArgs(u256, 0);
 490            try testArgs(u256, 1 << 0);
 491            try testArgs(u256, 1 << 1);
 492            try testArgs(u256, 1 << 254);
 493            try testArgs(u256, 1 << 255);
 494
 495            try testArgs(i257, -1 << 256);
 496            try testArgs(i257, -1);
 497            try testArgs(i257, 0);
 498            try testArgs(u257, 0);
 499            try testArgs(u257, 1 << 0);
 500            try testArgs(u257, 1 << 1);
 501            try testArgs(u257, 1 << 255);
 502            try testArgs(u257, 1 << 256);
 503
 504            try testArgs(i383, -1 << 382);
 505            try testArgs(i383, -1);
 506            try testArgs(i383, 0);
 507            try testArgs(u383, 0);
 508            try testArgs(u383, 1 << 0);
 509            try testArgs(u383, 1 << 1);
 510            try testArgs(u383, 1 << 381);
 511            try testArgs(u383, 1 << 382);
 512
 513            try testArgs(i384, -1 << 383);
 514            try testArgs(i384, -1);
 515            try testArgs(i384, 0);
 516            try testArgs(u384, 0);
 517            try testArgs(u384, 1 << 0);
 518            try testArgs(u384, 1 << 1);
 519            try testArgs(u384, 1 << 382);
 520            try testArgs(u384, 1 << 383);
 521
 522            try testArgs(i385, -1 << 384);
 523            try testArgs(i385, -1);
 524            try testArgs(i385, 0);
 525            try testArgs(u385, 0);
 526            try testArgs(u385, 1 << 0);
 527            try testArgs(u385, 1 << 1);
 528            try testArgs(u385, 1 << 383);
 529            try testArgs(u385, 1 << 384);
 530
 531            try testArgs(i511, -1 << 510);
 532            try testArgs(i511, -1);
 533            try testArgs(i511, 0);
 534            try testArgs(u511, 0);
 535            try testArgs(u511, 1 << 0);
 536            try testArgs(u511, 1 << 1);
 537            try testArgs(u511, 1 << 509);
 538            try testArgs(u511, 1 << 510);
 539
 540            try testArgs(i512, -1 << 511);
 541            try testArgs(i512, -1);
 542            try testArgs(i512, 0);
 543            try testArgs(u512, 0);
 544            try testArgs(u512, 1 << 0);
 545            try testArgs(u512, 1 << 1);
 546            try testArgs(u512, 1 << 510);
 547            try testArgs(u512, 1 << 511);
 548
 549            try testArgs(i513, -1 << 512);
 550            try testArgs(i513, -1);
 551            try testArgs(i513, 0);
 552            try testArgs(u513, 0);
 553            try testArgs(u513, 1 << 0);
 554            try testArgs(u513, 1 << 1);
 555            try testArgs(u513, 1 << 511);
 556            try testArgs(u513, 1 << 512);
 557
 558            try testArgs(i1023, -1 << 1022);
 559            try testArgs(i1023, -1);
 560            try testArgs(i1023, 0);
 561            try testArgs(u1023, 0);
 562            try testArgs(u1023, 1 << 0);
 563            try testArgs(u1023, 1 << 1);
 564            try testArgs(u1023, 1 << 1021);
 565            try testArgs(u1023, 1 << 1022);
 566
 567            try testArgs(i1024, -1 << 1023);
 568            try testArgs(i1024, -1);
 569            try testArgs(i1024, 0);
 570            try testArgs(u1024, 0);
 571            try testArgs(u1024, 1 << 0);
 572            try testArgs(u1024, 1 << 1);
 573            try testArgs(u1024, 1 << 1022);
 574            try testArgs(u1024, 1 << 1023);
 575
 576            try testArgs(i1025, -1 << 1024);
 577            try testArgs(i1025, -1);
 578            try testArgs(i1025, 0);
 579            try testArgs(u1025, 0);
 580            try testArgs(u1025, 1 << 0);
 581            try testArgs(u1025, 1 << 1);
 582            try testArgs(u1025, 1 << 1023);
 583            try testArgs(u1025, 1 << 1024);
 584        }
 585        fn testFloatTypes() !void {
 586            try testArgs(f16, undefined);
 587            try testArgs(f32, undefined);
 588            try testArgs(f64, undefined);
 589            try testArgs(f80, undefined);
 590            try testArgs(f128, undefined);
 591        }
 592        fn testFloats() !void {
 593            try testArgs(f16, -nan(f16));
 594            try testArgs(f16, -inf(f16));
 595            try testArgs(f16, -fmax(f16));
 596            try testArgs(f16, -1e1);
 597            try testArgs(f16, -1e0);
 598            try testArgs(f16, -1e-1);
 599            try testArgs(f16, -fmin(f16));
 600            try testArgs(f16, -tmin(f16));
 601            try testArgs(f16, -0.0);
 602            try testArgs(f16, 0.0);
 603            try testArgs(f16, tmin(f16));
 604            try testArgs(f16, fmin(f16));
 605            try testArgs(f16, 1e-1);
 606            try testArgs(f16, 1e0);
 607            try testArgs(f16, 1e1);
 608            try testArgs(f16, fmax(f16));
 609            try testArgs(f16, inf(f16));
 610            try testArgs(f16, nan(f16));
 611
 612            try testArgs(f32, -nan(f32));
 613            try testArgs(f32, -inf(f32));
 614            try testArgs(f32, -fmax(f32));
 615            try testArgs(f32, -1e1);
 616            try testArgs(f32, -1e0);
 617            try testArgs(f32, -1e-1);
 618            try testArgs(f32, -fmin(f32));
 619            try testArgs(f32, -tmin(f32));
 620            try testArgs(f32, -0.0);
 621            try testArgs(f32, 0.0);
 622            try testArgs(f32, tmin(f32));
 623            try testArgs(f32, fmin(f32));
 624            try testArgs(f32, 1e-1);
 625            try testArgs(f32, 1e0);
 626            try testArgs(f32, 1e1);
 627            try testArgs(f32, fmax(f32));
 628            try testArgs(f32, inf(f32));
 629            try testArgs(f32, nan(f32));
 630
 631            try testArgs(f64, -nan(f64));
 632            try testArgs(f64, -inf(f64));
 633            try testArgs(f64, -fmax(f64));
 634            try testArgs(f64, -1e1);
 635            try testArgs(f64, -1e0);
 636            try testArgs(f64, -1e-1);
 637            try testArgs(f64, -fmin(f64));
 638            try testArgs(f64, -tmin(f64));
 639            try testArgs(f64, -0.0);
 640            try testArgs(f64, 0.0);
 641            try testArgs(f64, tmin(f64));
 642            try testArgs(f64, fmin(f64));
 643            try testArgs(f64, 1e-1);
 644            try testArgs(f64, 1e0);
 645            try testArgs(f64, 1e1);
 646            try testArgs(f64, fmax(f64));
 647            try testArgs(f64, inf(f64));
 648            try testArgs(f64, nan(f64));
 649
 650            try testArgs(f80, -nan(f80));
 651            try testArgs(f80, -inf(f80));
 652            try testArgs(f80, -fmax(f80));
 653            try testArgs(f80, -1e1);
 654            try testArgs(f80, -1e0);
 655            try testArgs(f80, -1e-1);
 656            try testArgs(f80, -fmin(f80));
 657            try testArgs(f80, -tmin(f80));
 658            try testArgs(f80, -0.0);
 659            try testArgs(f80, 0.0);
 660            try testArgs(f80, tmin(f80));
 661            try testArgs(f80, fmin(f80));
 662            try testArgs(f80, 1e-1);
 663            try testArgs(f80, 1e0);
 664            try testArgs(f80, 1e1);
 665            try testArgs(f80, fmax(f80));
 666            try testArgs(f80, inf(f80));
 667            try testArgs(f80, nan(f80));
 668
 669            try testArgs(f128, -nan(f128));
 670            try testArgs(f128, -inf(f128));
 671            try testArgs(f128, -fmax(f128));
 672            try testArgs(f128, -1e1);
 673            try testArgs(f128, -1e0);
 674            try testArgs(f128, -1e-1);
 675            try testArgs(f128, -fmin(f128));
 676            try testArgs(f128, -tmin(f128));
 677            try testArgs(f128, -0.0);
 678            try testArgs(f128, 0.0);
 679            try testArgs(f128, tmin(f128));
 680            try testArgs(f128, fmin(f128));
 681            try testArgs(f128, 1e-1);
 682            try testArgs(f128, 1e0);
 683            try testArgs(f128, 1e1);
 684            try testArgs(f128, fmax(f128));
 685            try testArgs(f128, inf(f128));
 686            try testArgs(f128, nan(f128));
 687        }
 688        fn testBoolVectors() !void {
 689            try testArgs(@Vector(1, bool), .{
 690                true,
 691            });
 692            try testArgs(@Vector(2, bool), .{
 693                false, false,
 694            });
 695            try testArgs(@Vector(3, bool), .{
 696                false, false, false,
 697            });
 698            try testArgs(@Vector(4, bool), .{
 699                true, true, true, true,
 700            });
 701            try testArgs(@Vector(5, bool), .{
 702                true, true, true, true, true,
 703            });
 704            try testArgs(@Vector(7, bool), .{
 705                false, false, false, false, false, false, false,
 706            });
 707            try testArgs(@Vector(8, bool), .{
 708                false, true, false, true, true, false, true, false,
 709            });
 710            try testArgs(@Vector(9, bool), .{
 711                true, false, false, false, true, true, false, true, false,
 712            });
 713            try testArgs(@Vector(15, bool), .{
 714                false, false, false, false, false, false, false, false, false, false, false, false, false, false, false,
 715            });
 716            try testArgs(@Vector(16, bool), .{
 717                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 718            });
 719            try testArgs(@Vector(17, bool), .{
 720                true, false, true, true, true, true, false, false, true, false, true, true, false, false, false, true,
 721                true,
 722            });
 723            try testArgs(@Vector(31, bool), .{
 724                false, false, false, false, false, false, true, true, true, false, false, true, false, false, false, false,
 725                true,  true,  false, false, true,  false, true, true, true, false, false, true, true,  false, false,
 726            });
 727            try testArgs(@Vector(32, bool), .{
 728                false, true,  true,  false, true,  false, false, false, true, false, false, false, true, true,  true,  true,
 729                false, false, false, true,  false, true,  false, true,  true, false, false, false, true, false, false, false,
 730            });
 731            try testArgs(@Vector(33, bool), .{
 732                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 733                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 734                true,
 735            });
 736            try testArgs(@Vector(63, bool), .{
 737                true,  false, false, true,  false, false, true,  false, true, true,  true, false, false, false, false, true,
 738                true,  true,  false, false, false, true,  true,  false, true, false, true, false, false, true,  true,  false,
 739                true,  true,  true,  true,  false, true,  true,  true,  true, true,  true, false, false, false, false, true,
 740                false, false, true,  false, true,  true,  false, true,  true, true,  true, true,  true,  false, true,
 741            });
 742            try testArgs(@Vector(64, bool), .{
 743                true,  true, false, true,  true,  false, false, false, false, true,  false, true,  false, false, false, false,
 744                true,  true, true,  false, true,  true,  false, true,  true,  true,  false, false, false, true,  true,  false,
 745                false, true, false, false, false, false, false, false, true,  true,  false, true,  false, false, false, false,
 746                false, true, true,  true,  false, false, false, false, true,  false, false, true,  false, true,  false, true,
 747            });
 748            try testArgs(@Vector(65, bool), .{
 749                false, false, true,  false, false, false, false, true,  false, true,  false, true,  true, true,  true,  false,
 750                false, true,  false, true,  true,  false, false, true,  true,  false, true,  false, true, true,  true,  false,
 751                false, true,  true,  true,  true,  false, false, false, true,  true,  false, true,  true, true,  false, false,
 752                false, true,  false, false, false, false, true,  true,  false, false, false, true,  true, false, false, false,
 753                false,
 754            });
 755            try testArgs(@Vector(127, bool), .{
 756                true,  true,  true,  false, false, false, false, true,  true,  true,  true,  true,  false, false, true,  false,
 757                false, true,  false, true,  true,  false, true,  true,  true,  true,  true,  false, true,  false, true,  true,
 758                true,  true,  false, true,  true,  true,  true,  true,  false, false, true,  false, true,  true,  true,  false,
 759                false, true,  true,  false, true,  true,  false, false, true,  false, true,  true,  false, false, true,  true,
 760                false, false, false, false, false, true,  true,  false, true,  true,  false, true,  true,  true,  false, true,
 761                true,  false, false, false, false, false, false, true,  true,  true,  false, true,  true,  true,  false, true,
 762                false, true,  true,  false, false, false, false, true,  true,  false, false, false, true,  false, true,  true,
 763                true,  false, true,  false, true,  true,  false, true,  false, false, false, true,  false, false, true,
 764            });
 765            try testArgs(@Vector(128, bool), .{
 766                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 767                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 768                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 769                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 770                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 771                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 772                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 773                true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
 774            });
 775            try testArgs(@Vector(129, bool), .{
 776                true,  true,  false, true,  true,  false, true,  false, false, true,  true,  false, true,  true,  true,  false,
 777                true,  true,  true,  false, false, false, true,  true,  false, false, false, true,  true,  false, false, true,
 778                true,  false, false, true,  false, true,  true,  false, true,  true,  false, true,  false, false, true,  false,
 779                false, false, false, false, true,  true,  false, false, true,  true,  false, false, false, false, true,  false,
 780                false, true,  true,  true,  true,  true,  false, true,  true,  true,  false, false, true,  false, false, true,
 781                true,  true,  true,  true,  true,  false, true,  false, false, true,  true,  true,  true,  false, true,  true,
 782                true,  false, true,  true,  true,  true,  true,  true,  false, false, false, false, false, true,  true,  true,
 783                true,  true,  false, false, false, false, false, true,  true,  false, true,  true,  true,  false, false, false,
 784                false,
 785            });
 786        }
 787        fn testIntVectorTypes() !void {
 788            try testArgs(@Vector(3, i1), undefined);
 789            try testArgs(@Vector(3, u1), undefined);
 790            try testArgs(@Vector(3, i2), undefined);
 791            try testArgs(@Vector(3, u2), undefined);
 792            try testArgs(@Vector(3, i3), undefined);
 793            try testArgs(@Vector(3, u3), undefined);
 794            try testArgs(@Vector(3, i4), undefined);
 795            try testArgs(@Vector(1, i4), undefined);
 796            try testArgs(@Vector(2, i4), undefined);
 797            try testArgs(@Vector(4, i4), undefined);
 798            try testArgs(@Vector(8, i4), undefined);
 799            try testArgs(@Vector(16, i4), undefined);
 800            try testArgs(@Vector(32, i4), undefined);
 801            try testArgs(@Vector(64, i4), undefined);
 802            try testArgs(@Vector(128, i4), undefined);
 803            try testArgs(@Vector(256, i4), undefined);
 804            try testArgs(@Vector(3, u4), undefined);
 805            try testArgs(@Vector(1, u4), undefined);
 806            try testArgs(@Vector(2, u4), undefined);
 807            try testArgs(@Vector(4, u4), undefined);
 808            try testArgs(@Vector(8, u4), undefined);
 809            try testArgs(@Vector(16, u4), undefined);
 810            try testArgs(@Vector(32, u4), undefined);
 811            try testArgs(@Vector(64, u4), undefined);
 812            try testArgs(@Vector(128, u4), undefined);
 813            try testArgs(@Vector(256, u4), undefined);
 814            try testArgs(@Vector(3, i5), undefined);
 815            try testArgs(@Vector(3, u5), undefined);
 816            try testArgs(@Vector(3, i7), undefined);
 817            try testArgs(@Vector(3, u7), undefined);
 818            try testArgs(@Vector(3, i8), undefined);
 819            try testArgs(@Vector(1, i8), undefined);
 820            try testArgs(@Vector(2, i8), undefined);
 821            try testArgs(@Vector(4, i8), undefined);
 822            try testArgs(@Vector(8, i8), undefined);
 823            try testArgs(@Vector(16, i8), undefined);
 824            try testArgs(@Vector(32, i8), undefined);
 825            try testArgs(@Vector(64, i8), undefined);
 826            try testArgs(@Vector(128, i8), undefined);
 827            try testArgs(@Vector(3, u8), undefined);
 828            try testArgs(@Vector(1, u8), undefined);
 829            try testArgs(@Vector(2, u8), undefined);
 830            try testArgs(@Vector(4, u8), undefined);
 831            try testArgs(@Vector(8, u8), undefined);
 832            try testArgs(@Vector(16, u8), undefined);
 833            try testArgs(@Vector(32, u8), undefined);
 834            try testArgs(@Vector(64, u8), undefined);
 835            try testArgs(@Vector(128, u8), undefined);
 836            try testArgs(@Vector(3, i9), undefined);
 837            try testArgs(@Vector(3, u9), undefined);
 838            try testArgs(@Vector(3, i15), undefined);
 839            try testArgs(@Vector(3, u15), undefined);
 840            try testArgs(@Vector(3, i16), undefined);
 841            try testArgs(@Vector(1, i16), undefined);
 842            try testArgs(@Vector(2, i16), undefined);
 843            try testArgs(@Vector(4, i16), undefined);
 844            try testArgs(@Vector(8, i16), undefined);
 845            try testArgs(@Vector(16, i16), undefined);
 846            try testArgs(@Vector(32, i16), undefined);
 847            try testArgs(@Vector(64, i16), undefined);
 848            try testArgs(@Vector(3, u16), undefined);
 849            try testArgs(@Vector(1, u16), undefined);
 850            try testArgs(@Vector(2, u16), undefined);
 851            try testArgs(@Vector(4, u16), undefined);
 852            try testArgs(@Vector(8, u16), undefined);
 853            try testArgs(@Vector(16, u16), undefined);
 854            try testArgs(@Vector(32, u16), undefined);
 855            try testArgs(@Vector(64, u16), undefined);
 856            try testArgs(@Vector(3, i17), undefined);
 857            try testArgs(@Vector(3, u17), undefined);
 858            try testArgs(@Vector(3, i31), undefined);
 859            try testArgs(@Vector(3, u31), undefined);
 860            try testArgs(@Vector(3, i32), undefined);
 861            try testArgs(@Vector(1, i32), undefined);
 862            try testArgs(@Vector(2, i32), undefined);
 863            try testArgs(@Vector(4, i32), undefined);
 864            try testArgs(@Vector(8, i32), undefined);
 865            try testArgs(@Vector(16, i32), undefined);
 866            try testArgs(@Vector(32, i32), undefined);
 867            try testArgs(@Vector(3, u32), undefined);
 868            try testArgs(@Vector(1, u32), undefined);
 869            try testArgs(@Vector(2, u32), undefined);
 870            try testArgs(@Vector(4, u32), undefined);
 871            try testArgs(@Vector(8, u32), undefined);
 872            try testArgs(@Vector(16, u32), undefined);
 873            try testArgs(@Vector(32, u32), undefined);
 874            try testArgs(@Vector(3, i33), undefined);
 875            try testArgs(@Vector(3, u33), undefined);
 876            try testArgs(@Vector(3, i63), undefined);
 877            try testArgs(@Vector(3, u63), undefined);
 878            try testArgs(@Vector(3, i64), undefined);
 879            try testArgs(@Vector(1, i64), undefined);
 880            try testArgs(@Vector(2, i64), undefined);
 881            try testArgs(@Vector(4, i64), undefined);
 882            try testArgs(@Vector(8, i64), undefined);
 883            try testArgs(@Vector(16, i64), undefined);
 884            try testArgs(@Vector(3, u64), undefined);
 885            try testArgs(@Vector(1, u64), undefined);
 886            try testArgs(@Vector(2, u64), undefined);
 887            try testArgs(@Vector(4, u64), undefined);
 888            try testArgs(@Vector(8, u64), undefined);
 889            try testArgs(@Vector(16, u64), undefined);
 890            try testArgs(@Vector(3, i65), undefined);
 891            try testArgs(@Vector(3, u65), undefined);
 892            try testArgs(@Vector(3, i127), undefined);
 893            try testArgs(@Vector(3, u127), undefined);
 894            try testArgs(@Vector(3, i128), undefined);
 895            try testArgs(@Vector(1, i128), undefined);
 896            try testArgs(@Vector(2, i128), undefined);
 897            try testArgs(@Vector(4, i128), undefined);
 898            try testArgs(@Vector(8, i128), undefined);
 899            try testArgs(@Vector(3, u128), undefined);
 900            try testArgs(@Vector(1, u128), undefined);
 901            try testArgs(@Vector(2, u128), undefined);
 902            try testArgs(@Vector(4, u128), undefined);
 903            try testArgs(@Vector(8, u128), undefined);
 904            try testArgs(@Vector(3, i129), undefined);
 905            try testArgs(@Vector(3, u129), undefined);
 906            try testArgs(@Vector(3, i191), undefined);
 907            try testArgs(@Vector(3, u191), undefined);
 908            try testArgs(@Vector(3, i192), undefined);
 909            try testArgs(@Vector(1, i192), undefined);
 910            try testArgs(@Vector(2, i192), undefined);
 911            try testArgs(@Vector(4, i192), undefined);
 912            try testArgs(@Vector(3, u192), undefined);
 913            try testArgs(@Vector(1, u192), undefined);
 914            try testArgs(@Vector(2, u192), undefined);
 915            try testArgs(@Vector(4, u192), undefined);
 916            try testArgs(@Vector(3, i193), undefined);
 917            try testArgs(@Vector(3, u193), undefined);
 918            try testArgs(@Vector(3, i255), undefined);
 919            try testArgs(@Vector(3, u255), undefined);
 920            try testArgs(@Vector(3, i256), undefined);
 921            try testArgs(@Vector(1, i256), undefined);
 922            try testArgs(@Vector(2, i256), undefined);
 923            try testArgs(@Vector(4, i256), undefined);
 924            try testArgs(@Vector(3, u256), undefined);
 925            try testArgs(@Vector(1, u256), undefined);
 926            try testArgs(@Vector(2, u256), undefined);
 927            try testArgs(@Vector(4, u256), undefined);
 928            try testArgs(@Vector(3, i257), undefined);
 929            try testArgs(@Vector(3, u257), undefined);
 930            try testArgs(@Vector(3, i511), undefined);
 931            try testArgs(@Vector(3, u511), undefined);
 932            try testArgs(@Vector(3, i512), undefined);
 933            try testArgs(@Vector(1, i512), undefined);
 934            try testArgs(@Vector(2, i512), undefined);
 935            try testArgs(@Vector(3, u512), undefined);
 936            try testArgs(@Vector(1, u512), undefined);
 937            try testArgs(@Vector(2, u512), undefined);
 938            try testArgs(@Vector(3, i513), undefined);
 939            try testArgs(@Vector(3, u513), undefined);
 940            try testArgs(@Vector(3, i1023), undefined);
 941            try testArgs(@Vector(3, u1023), undefined);
 942            try testArgs(@Vector(3, i1024), undefined);
 943            try testArgs(@Vector(1, i1024), undefined);
 944            try testArgs(@Vector(3, u1024), undefined);
 945            try testArgs(@Vector(1, u1024), undefined);
 946            try testArgs(@Vector(3, i1025), undefined);
 947            try testArgs(@Vector(3, u1025), undefined);
 948        }
 949        fn testIntVectors() !void {
 950            try testArgs(@Vector(1, i1), .{
 951                0x0,
 952            });
 953            try testArgs(@Vector(2, i1), .{
 954                -0x1, -0x1,
 955            });
 956            try testArgs(@Vector(3, i1), .{
 957                0x0, 0x0, 0x0,
 958            });
 959            try testArgs(@Vector(4, i1), .{
 960                -0x1, -0x1, -0x1, 0x0,
 961            });
 962            try testArgs(@Vector(5, i1), .{
 963                -0x1, -0x1, 0x0, 0x0, -0x1,
 964            });
 965            try testArgs(@Vector(7, i1), .{
 966                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
 967            });
 968            try testArgs(@Vector(8, i1), .{
 969                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
 970            });
 971            try testArgs(@Vector(9, i1), .{
 972                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
 973            });
 974            try testArgs(@Vector(15, i1), .{
 975                0x0, 0x0, -0x1, -0x1, 0x0, 0x0, 0x0, 0x0, -0x1, 0x0, 0x0, -0x1, -0x1, -0x1, -0x1,
 976            });
 977            try testArgs(@Vector(16, i1), .{
 978                -0x1, -0x1, 0x0, -0x1, 0x0, 0x0, -0x1, 0x0, -0x1, -0x1, -0x1, -0x1, 0x0, 0x0, -0x1, -0x1,
 979            });
 980            try testArgs(@Vector(17, i1), .{
 981                -0x1, -0x1, 0x0, -0x1, 0x0, -0x1, 0x0, 0x0, 0x0, -0x1, 0x0, 0x0, -0x1, -0x1, -0x1, 0x0,
 982                -0x1,
 983            });
 984            try testArgs(@Vector(31, i1), .{
 985                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
 986                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
 987            });
 988            try testArgs(@Vector(32, i1), .{
 989                0x0, -0x1, 0x0,  0x0,  -0x1, -0x1, -0x1, -0x1, -0x1, 0x0, -0x1, -0x1, -0x1, -0x1, 0x0,  0x0,
 990                0x0, 0x0,  -0x1, -0x1, 0x0,  0x0,  0x0,  -0x1, 0x0,  0x0, -0x1, 0x0,  0x0,  -0x1, -0x1, -0x1,
 991            });
 992            try testArgs(@Vector(33, i1), .{
 993                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 994                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 995                0x0,
 996            });
 997            try testArgs(@Vector(63, i1), .{
 998                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 999                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1000                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1001                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1002            });
1003            try testArgs(@Vector(64, i1), .{
1004                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1005                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1006                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1007                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1008            });
1009            try testArgs(@Vector(65, i1), .{
1010                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1011                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1012                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1013                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1014                0x0,
1015            });
1016            try testArgs(@Vector(127, i1), .{
1017                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1018                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1019                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1020                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1021                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1022                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1023                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1024                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1025            });
1026            try testArgs(@Vector(128, i1), .{
1027                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1028                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1029                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1030                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1031                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1032                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1033                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1034                -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, -0x1,
1035            });
1036            try testArgs(@Vector(129, i1), .{
1037                -0x1, -0x1, 0x0,  -0x1, -0x1, -0x1, 0x0,  -0x1, -0x1, 0x0,  0x0,  0x0,  0x0,  -0x1, 0x0,  0x0,
1038                0x0,  -0x1, -0x1, -0x1, -0x1, -0x1, -0x1, 0x0,  -0x1, -0x1, 0x0,  0x0,  0x0,  -0x1, 0x0,  0x0,
1039                0x0,  -0x1, 0x0,  -0x1, 0x0,  0x0,  0x0,  0x0,  0x0,  -0x1, 0x0,  0x0,  -0x1, 0x0,  0x0,  0x0,
1040                -0x1, -0x1, 0x0,  -0x1, -0x1, 0x0,  0x0,  -0x1, -0x1, 0x0,  -0x1, -0x1, 0x0,  -0x1, -0x1, -0x1,
1041                -0x1, 0x0,  -0x1, 0x0,  -0x1, -0x1, -0x1, -0x1, 0x0,  0x0,  -0x1, 0x0,  -0x1, 0x0,  -0x1, 0x0,
1042                0x0,  -0x1, -0x1, 0x0,  0x0,  -0x1, -0x1, 0x0,  -0x1, 0x0,  0x0,  -0x1, 0x0,  -0x1, 0x0,  0x0,
1043                0x0,  0x0,  0x0,  -0x1, -0x1, 0x0,  -0x1, -0x1, 0x0,  -0x1, -0x1, -0x1, -0x1, -0x1, 0x0,  0x0,
1044                0x0,  -0x1, 0x0,  0x0,  0x0,  0x0,  -0x1, 0x0,  -0x1, -0x1, 0x0,  0x0,  -0x1, -0x1, -0x1, -0x1,
1045                0x0,
1046            });
1047
1048            try testArgs(@Vector(1, u1), .{
1049                0x1,
1050            });
1051            try testArgs(@Vector(2, u1), .{
1052                0x0, 0x0,
1053            });
1054            try testArgs(@Vector(3, u1), .{
1055                0x0, 0x0, 0x0,
1056            });
1057            try testArgs(@Vector(4, u1), .{
1058                0x1, 0x1, 0x1, 0x1,
1059            });
1060            try testArgs(@Vector(5, u1), .{
1061                0x1, 0x1, 0x1, 0x1, 0x1,
1062            });
1063            try testArgs(@Vector(7, u1), .{
1064                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1065            });
1066            try testArgs(@Vector(8, u1), .{
1067                0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0,
1068            });
1069            try testArgs(@Vector(9, u1), .{
1070                0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0,
1071            });
1072            try testArgs(@Vector(15, u1), .{
1073                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
1074            });
1075            try testArgs(@Vector(16, u1), .{
1076                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1077            });
1078            try testArgs(@Vector(17, u1), .{
1079                0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1,
1080                0x1,
1081            });
1082            try testArgs(@Vector(31, u1), .{
1083                0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
1084                0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0,
1085            });
1086            try testArgs(@Vector(32, u1), .{
1087                0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1,
1088                0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0,
1089            });
1090            try testArgs(@Vector(33, u1), .{
1091                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1092                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1093                0x1,
1094            });
1095            try testArgs(@Vector(63, u1), .{
1096                0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
1097                0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0,
1098                0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
1099                0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1,
1100            });
1101            try testArgs(@Vector(64, u1), .{
1102                0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
1103                0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0,
1104                0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
1105                0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1,
1106            });
1107            try testArgs(@Vector(65, u1), .{
1108                0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0,
1109                0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0,
1110                0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0,
1111                0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0,
1112                0x0,
1113            });
1114            try testArgs(@Vector(127, u1), .{
1115                0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0,
1116                0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1,
1117                0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0,
1118                0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1,
1119                0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1,
1120                0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1,
1121                0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1,
1122                0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1,
1123            });
1124            try testArgs(@Vector(128, u1), .{
1125                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1126                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1127                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1128                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1129                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1130                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1131                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1132                0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1133            });
1134            try testArgs(@Vector(129, u1), .{
1135                0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0,
1136                0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1,
1137                0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0,
1138                0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0,
1139                0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1,
1140                0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1,
1141                0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1,
1142                0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0,
1143                0x0,
1144            });
1145
1146            try testArgs(@Vector(1, i2), .{
1147                0x1,
1148            });
1149            try testArgs(@Vector(2, i2), .{
1150                0x0, 0x0,
1151            });
1152            try testArgs(@Vector(3, i2), .{
1153                -0x2, 0x1, -0x2,
1154            });
1155            try testArgs(@Vector(4, i2), .{
1156                0x1, 0x0, 0x0, -0x2,
1157            });
1158            try testArgs(@Vector(5, i2), .{
1159                -0x1, -0x2, -0x1, 0x1, 0x1,
1160            });
1161            try testArgs(@Vector(7, i2), .{
1162                0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1,
1163            });
1164            try testArgs(@Vector(8, i2), .{
1165                0x1, -0x1, -0x1, -0x1, 0x1, 0x1, -0x1, 0x1,
1166            });
1167            try testArgs(@Vector(9, i2), .{
1168                -0x2, -0x2, 0x0, 0x0, 0x0, 0x0, 0x0, -0x2, -0x2,
1169            });
1170            try testArgs(@Vector(15, i2), .{
1171                -0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
1172            });
1173            try testArgs(@Vector(16, i2), .{
1174                0x0, -0x2, 0x1, -0x2, 0x1, -0x1, -0x2, -0x1, 0x0, -0x2, -0x1, 0x1, 0x1, 0x1, -0x1, -0x1,
1175            });
1176            try testArgs(@Vector(17, i2), .{
1177                -0x2, 0x0, 0x1, 0x0, -0x2, 0x0, -0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, -0x2,
1178                -0x1,
1179            });
1180            try testArgs(@Vector(31, i2), .{
1181                0x0,  0x1, -0x1, 0x1, -0x1, -0x2, -0x1, 0x1,  0x0,  -0x2, -0x1, 0x0,  0x0, 0x1,  0x0,  -0x1,
1182                -0x1, 0x0, 0x1,  0x0, -0x2, -0x1, -0x1, -0x2, -0x2, 0x0,  -0x1, -0x1, 0x1, -0x2, -0x1,
1183            });
1184            try testArgs(@Vector(32, i2), .{
1185                0x1, 0x0,  -0x1, 0x0, 0x0,  -0x1, 0x0,  0x1, -0x1, 0x0, -0x1, -0x1, 0x1,  0x0,  -0x2, -0x1,
1186                0x1, -0x1, 0x0,  0x1, -0x1, 0x1,  -0x1, 0x0, -0x2, 0x1, -0x1, 0x1,  -0x1, -0x2, 0x1,  -0x2,
1187            });
1188            try testArgs(@Vector(33, i2), .{
1189                0x0,  -0x1, -0x2, -0x1, 0x0, -0x1, -0x2, 0x0,  -0x2, 0x1, -0x2, -0x1, -0x2, -0x1, -0x2, -0x1,
1190                -0x1, -0x1, 0x1,  0x0,  0x1, -0x2, -0x1, -0x2, -0x1, 0x1, -0x1, 0x0,  -0x1, -0x1, -0x2, 0x0,
1191                -0x1,
1192            });
1193            try testArgs(@Vector(63, i2), .{
1194                -0x2, -0x2, -0x2, 0x0,  0x0,  -0x1, 0x1, 0x1,  0x1,  0x0,  -0x2, 0x1,  -0x2, -0x2, 0x0,  -0x2,
1195                0x1,  -0x1, 0x0,  0x1,  0x1,  -0x2, 0x0, -0x2, -0x1, -0x1, 0x1,  0x1,  -0x1, -0x2, -0x1, 0x0,
1196                0x1,  0x0,  0x1,  0x1,  -0x2, -0x2, 0x0, 0x1,  0x1,  -0x2, -0x2, -0x2, 0x1,  0x1,  -0x2, -0x2,
1197                -0x2, 0x1,  0x0,  -0x2, 0x1,  -0x2, 0x0, 0x0,  0x0,  -0x2, -0x1, 0x1,  0x0,  0x1,  -0x2,
1198            });
1199            try testArgs(@Vector(64, i2), .{
1200                -0x1, 0x1,  0x1,  -0x1, -0x1, 0x1,  -0x1, 0x1,  0x1,  0x1,  0x1,  0x1,  -0x1, -0x1, 0x1,  0x1,
1201                -0x1, -0x1, -0x1, 0x1,  -0x1, 0x1,  -0x1, 0x1,  0x1,  0x1,  -0x1, 0x1,  0x1,  -0x1, 0x1,  -0x1,
1202                0x1,  -0x1, 0x1,  0x1,  0x1,  -0x1, 0x1,  0x1,  -0x1, -0x1, 0x1,  0x1,  0x1,  -0x1, -0x1, -0x1,
1203                -0x1, 0x1,  0x1,  -0x1, 0x1,  -0x1, -0x1, -0x1, -0x1, 0x1,  0x1,  -0x1, 0x1,  -0x1, 0x1,  -0x1,
1204            });
1205            try testArgs(@Vector(65, i2), .{
1206                0x1,  -0x1, 0x1,  0x1,  0x1,  -0x2, -0x1, -0x1, 0x1, 0x1,  -0x2, 0x0,  -0x1, -0x2, -0x1, -0x1,
1207                0x0,  0x1,  -0x2, -0x2, 0x0,  -0x2, -0x2, 0x1,  0x1, -0x2, 0x0,  -0x1, 0x0,  -0x2, -0x1, -0x2,
1208                -0x2, -0x1, 0x1,  0x0,  -0x2, -0x1, -0x2, 0x0,  0x1, -0x2, -0x1, -0x2, 0x0,  -0x1, -0x2, -0x1,
1209                0x0,  0x1,  -0x1, 0x1,  -0x2, -0x1, 0x1,  -0x2, 0x1, 0x0,  -0x2, 0x1,  -0x1, 0x0,  -0x2, 0x0,
1210                -0x1,
1211            });
1212            try testArgs(@Vector(127, i2), .{
1213                -0x1, 0x0,  -0x1, 0x0,  -0x2, -0x2, -0x2, -0x1, 0x0,  -0x1, 0x1,  -0x2, -0x1, -0x2, 0x0,  -0x1,
1214                0x1,  0x0,  0x1,  -0x2, 0x1,  0x0,  -0x2, 0x0,  0x1,  -0x1, -0x1, 0x1,  -0x1, -0x2, -0x1, -0x2,
1215                0x0,  0x1,  -0x1, 0x0,  0x0,  -0x2, 0x0,  -0x2, -0x2, 0x0,  0x0,  0x1,  0x0,  -0x2, 0x0,  -0x1,
1216                -0x2, 0x0,  -0x1, -0x2, 0x1,  0x0,  -0x2, -0x1, -0x1, 0x1,  -0x1, 0x0,  0x0,  -0x2, -0x1, -0x1,
1217                0x0,  0x0,  0x1,  0x0,  -0x2, -0x1, 0x0,  0x0,  0x1,  0x0,  -0x2, -0x2, 0x0,  -0x2, -0x1, -0x2,
1218                0x0,  0x0,  -0x1, -0x2, 0x1,  -0x2, -0x1, 0x0,  -0x1, -0x1, -0x1, 0x0,  0x0,  -0x1, 0x1,  -0x1,
1219                -0x1, -0x1, -0x2, 0x0,  -0x2, 0x0,  0x1,  0x0,  -0x1, -0x1, 0x1,  0x1,  -0x1, 0x0,  -0x1, 0x1,
1220                0x1,  0x0,  -0x1, -0x2, 0x1,  -0x2, 0x1,  -0x2, -0x1, 0x1,  0x1,  -0x2, -0x2, 0x1,  -0x1,
1221            });
1222            try testArgs(@Vector(128, i2), .{
1223                -0x2, 0x0,  -0x2, 0x0,  0x0,  -0x2, -0x2, 0x0,  -0x2, 0x0,  -0x2, 0x0,  0x0,  0x0,  -0x2, 0x0,
1224                -0x2, -0x2, 0x0,  0x0,  0x0,  -0x2, 0x0,  0x0,  0x0,  -0x2, 0x0,  -0x2, -0x2, 0x0,  0x0,  -0x2,
1225                -0x2, 0x0,  -0x2, 0x0,  0x0,  -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, 0x0,  -0x2, 0x0,  -0x2, 0x0,
1226                0x0,  -0x2, 0x0,  -0x2, 0x0,  0x0,  0x0,  -0x2, -0x2, 0x0,  0x0,  -0x2, -0x2, -0x2, -0x2, -0x2,
1227                -0x2, -0x2, -0x2, -0x2, -0x2, 0x0,  0x0,  0x0,  -0x2, -0x2, -0x2, -0x2, 0x0,  0x0,  0x0,  -0x2,
1228                0x0,  -0x2, 0x0,  0x0,  -0x2, 0x0,  0x0,  -0x2, -0x2, 0x0,  -0x2, 0x0,  0x0,  0x0,  0x0,  0x0,
1229                0x0,  0x0,  0x0,  0x0,  0x0,  0x0,  -0x2, 0x0,  -0x2, -0x2, -0x2, -0x2, 0x0,  0x0,  0x0,  -0x2,
1230                0x0,  -0x2, -0x2, -0x2, 0x0,  0x0,  -0x2, 0x0,  -0x2, -0x2, 0x0,  -0x2, 0x0,  -0x2, 0x0,  0x0,
1231            });
1232            try testArgs(@Vector(129, i2), .{
1233                -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1, -0x1, -0x1, -0x2, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1,
1234                -0x2, -0x2, -0x2, -0x2, -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1,
1235                -0x1, -0x1, -0x1, -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x2, -0x1, -0x1, -0x2, -0x2, -0x2,
1236                -0x1, -0x1, -0x1, -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x1, -0x1,
1237                -0x1, -0x2, -0x2, -0x2, -0x1, -0x1, -0x2, -0x2, -0x1, -0x2, -0x1, -0x2, -0x1, -0x1, -0x2, -0x2,
1238                -0x1, -0x1, -0x2, -0x1, -0x1, -0x2, -0x1, -0x2, -0x1, -0x1, -0x1, -0x1, -0x1, -0x2, -0x2, -0x1,
1239                -0x1, -0x1, -0x1, -0x1, -0x2, -0x2, -0x2, -0x2, -0x2, -0x2, -0x1, -0x1, -0x2, -0x2, -0x2, -0x1,
1240                -0x2, -0x1, -0x2, -0x1, -0x1, -0x2, -0x1, -0x2, -0x2, -0x1, -0x2, -0x2, -0x2, -0x1, -0x1, -0x2,
1241                -0x2,
1242            });
1243
1244            try testArgs(@Vector(1, u2), .{
1245                0x2,
1246            });
1247            try testArgs(@Vector(2, u2), .{
1248                0x3, 0x1,
1249            });
1250            try testArgs(@Vector(3, u2), .{
1251                0x1, 0x3, 0x3,
1252            });
1253            try testArgs(@Vector(4, u2), .{
1254                0x0, 0x2, 0x2, 0x1,
1255            });
1256            try testArgs(@Vector(5, u2), .{
1257                0x1, 0x3, 0x3, 0x0, 0x0,
1258            });
1259            try testArgs(@Vector(7, u2), .{
1260                0x2, 0x3, 0x2, 0x2, 0x2, 0x3, 0x2,
1261            });
1262            try testArgs(@Vector(8, u2), .{
1263                0x2, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3,
1264            });
1265            try testArgs(@Vector(9, u2), .{
1266                0x3, 0x3, 0x2, 0x3, 0x0, 0x0, 0x0, 0x2, 0x3,
1267            });
1268            try testArgs(@Vector(15, u2), .{
1269                0x1, 0x2, 0x3, 0x3, 0x1, 0x0, 0x3, 0x2, 0x3, 0x3, 0x2, 0x1, 0x0, 0x1, 0x0,
1270            });
1271            try testArgs(@Vector(16, u2), .{
1272                0x1, 0x3, 0x0, 0x2, 0x2, 0x3, 0x1, 0x2, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x2,
1273            });
1274            try testArgs(@Vector(17, u2), .{
1275                0x1, 0x0, 0x3, 0x0, 0x3, 0x1, 0x3, 0x0, 0x2, 0x0, 0x3, 0x3, 0x1, 0x3, 0x1, 0x3,
1276                0x2,
1277            });
1278            try testArgs(@Vector(31, u2), .{
1279                0x2, 0x2, 0x1, 0x3, 0x3, 0x2, 0x2, 0x1, 0x3, 0x0, 0x2, 0x1, 0x2, 0x1, 0x3, 0x3,
1280                0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x3, 0x0, 0x1, 0x3, 0x0, 0x0,
1281            });
1282            try testArgs(@Vector(32, u2), .{
1283                0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0,
1284                0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1,
1285            });
1286            try testArgs(@Vector(33, u2), .{
1287                0x3, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3, 0x2, 0x3, 0x2, 0x2, 0x3, 0x2, 0x2, 0x3, 0x2,
1288                0x2, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x2, 0x3,
1289                0x2,
1290            });
1291            try testArgs(@Vector(63, u2), .{
1292                0x1, 0x1, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x0, 0x0, 0x1, 0x2, 0x0, 0x1, 0x0,
1293                0x0, 0x1, 0x2, 0x1, 0x1, 0x0, 0x0, 0x0, 0x2, 0x2, 0x3, 0x3, 0x3, 0x2, 0x1, 0x0,
1294                0x2, 0x1, 0x2, 0x1, 0x2, 0x2, 0x2, 0x1, 0x3, 0x3, 0x2, 0x3, 0x2, 0x1, 0x1, 0x3,
1295                0x1, 0x3, 0x3, 0x0, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x3, 0x3,
1296            });
1297            try testArgs(@Vector(64, u2), .{
1298                0x0, 0x0, 0x0, 0x2, 0x2, 0x2, 0x2, 0x0, 0x3, 0x0, 0x3, 0x1, 0x2, 0x0, 0x2, 0x2,
1299                0x3, 0x2, 0x0, 0x3, 0x0, 0x3, 0x0, 0x1, 0x1, 0x1, 0x0, 0x3, 0x1, 0x0, 0x3, 0x1,
1300                0x1, 0x0, 0x3, 0x2, 0x3, 0x3, 0x2, 0x3, 0x0, 0x1, 0x0, 0x2, 0x3, 0x3, 0x1, 0x2,
1301                0x2, 0x2, 0x0, 0x2, 0x3, 0x3, 0x0, 0x1, 0x2, 0x2, 0x1, 0x1, 0x0, 0x3, 0x3, 0x3,
1302            });
1303            try testArgs(@Vector(65, u2), .{
1304                0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x2, 0x2, 0x2, 0x3, 0x2, 0x2, 0x2, 0x3,
1305                0x3, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x2, 0x2,
1306                0x2, 0x2, 0x2, 0x3, 0x3, 0x2, 0x3, 0x3, 0x2, 0x3, 0x3, 0x2, 0x3, 0x2, 0x2, 0x3,
1307                0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3,
1308                0x3,
1309            });
1310            try testArgs(@Vector(127, u2), .{
1311                0x2, 0x2, 0x2, 0x3, 0x2, 0x3, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2,
1312                0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3,
1313                0x3, 0x2, 0x2, 0x3, 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x2,
1314                0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x2, 0x2, 0x3, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x3,
1315                0x2, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x3, 0x2,
1316                0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x2, 0x2, 0x3,
1317                0x2, 0x2, 0x2, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2, 0x3, 0x3, 0x2, 0x3, 0x3, 0x3, 0x2,
1318                0x3, 0x3, 0x2, 0x3, 0x2, 0x2, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x2, 0x2, 0x2,
1319            });
1320            try testArgs(@Vector(128, u2), .{
1321                0x3, 0x1, 0x2, 0x3, 0x0, 0x1, 0x2, 0x0, 0x3, 0x2, 0x3, 0x1, 0x1, 0x3, 0x3, 0x3,
1322                0x2, 0x0, 0x0, 0x3, 0x2, 0x1, 0x1, 0x2, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x2, 0x1,
1323                0x0, 0x3, 0x1, 0x2, 0x3, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x1,
1324                0x3, 0x0, 0x0, 0x3, 0x2, 0x1, 0x3, 0x1, 0x0, 0x0, 0x3, 0x2, 0x0, 0x2, 0x1, 0x0,
1325                0x2, 0x0, 0x2, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x3, 0x2, 0x3, 0x3, 0x1, 0x3, 0x3,
1326                0x1, 0x1, 0x2, 0x3, 0x3, 0x3, 0x3, 0x0, 0x1, 0x2, 0x1, 0x2, 0x1, 0x3, 0x0, 0x1,
1327                0x1, 0x1, 0x0, 0x1, 0x3, 0x3, 0x3, 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x1, 0x1, 0x1,
1328                0x3, 0x1, 0x1, 0x2, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x3, 0x3, 0x1, 0x0, 0x3, 0x1,
1329            });
1330            try testArgs(@Vector(129, u2), .{
1331                0x2, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3, 0x1, 0x1, 0x2, 0x0, 0x1, 0x2, 0x2, 0x0, 0x1,
1332                0x1, 0x0, 0x0, 0x3, 0x3, 0x3, 0x0, 0x3, 0x3, 0x1, 0x3, 0x0, 0x0, 0x1, 0x2, 0x3,
1333                0x1, 0x3, 0x2, 0x2, 0x3, 0x0, 0x2, 0x1, 0x2, 0x3, 0x3, 0x3, 0x1, 0x1, 0x1, 0x2,
1334                0x0, 0x2, 0x2, 0x2, 0x0, 0x2, 0x3, 0x0, 0x0, 0x2, 0x1, 0x0, 0x2, 0x0, 0x0, 0x0,
1335                0x0, 0x0, 0x0, 0x3, 0x2, 0x3, 0x2, 0x1, 0x3, 0x2, 0x3, 0x0, 0x2, 0x0, 0x0, 0x3,
1336                0x1, 0x0, 0x3, 0x2, 0x3, 0x0, 0x0, 0x2, 0x3, 0x0, 0x3, 0x0, 0x0, 0x2, 0x1, 0x1,
1337                0x2, 0x3, 0x0, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x0, 0x2, 0x1, 0x2, 0x2, 0x0,
1338                0x3, 0x3, 0x3, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x3, 0x3, 0x1, 0x1, 0x3, 0x1,
1339                0x0,
1340            });
1341
1342            try testArgs(@Vector(1, i3), .{
1343                -0x3,
1344            });
1345            try testArgs(@Vector(2, i3), .{
1346                -0x4, -0x3,
1347            });
1348            try testArgs(@Vector(3, i3), .{
1349                0x1, -0x1, 0x3,
1350            });
1351            try testArgs(@Vector(4, i3), .{
1352                -0x3, 0x0, 0x2, 0x3,
1353            });
1354            try testArgs(@Vector(5, i3), .{
1355                -0x1, -0x1, -0x2, 0x3, 0x0,
1356            });
1357            try testArgs(@Vector(7, i3), .{
1358                0x2, 0x2, -0x4, -0x4, 0x1, 0x0, 0x1,
1359            });
1360            try testArgs(@Vector(8, i3), .{
1361                0x1, 0x2, -0x4, -0x3, 0x1, 0x0, -0x2, -0x1,
1362            });
1363            try testArgs(@Vector(9, i3), .{
1364                0x0, -0x1, 0x3, -0x2, 0x1, -0x3, -0x3, -0x2, -0x1,
1365            });
1366            try testArgs(@Vector(15, i3), .{
1367                -0x1, -0x3, -0x4, -0x3, -0x1, -0x3, -0x3, -0x4, -0x1, -0x2, -0x1, -0x1, -0x2, -0x2, -0x2,
1368            });
1369            try testArgs(@Vector(16, i3), .{
1370                0x1, -0x3, 0x3, -0x3, 0x3, -0x3, 0x3, 0x1, 0x1, -0x3, -0x3, -0x1, 0x1, 0x3, 0x3, -0x3,
1371            });
1372            try testArgs(@Vector(17, i3), .{
1373                0x2,  -0x4, -0x2, 0x0, 0x2, -0x2, -0x2, 0x0, 0x2, -0x2, -0x4, 0x0, -0x4, -0x2, 0x2, -0x2,
1374                -0x4,
1375            });
1376            try testArgs(@Vector(31, i3), .{
1377                -0x4, -0x4, 0x2, 0x0,  -0x4, 0x0,  0x2,  -0x2, -0x2, -0x4, -0x2, 0x0, -0x4, 0x0,  -0x4, 0x0,
1378                0x2,  -0x4, 0x0, -0x2, -0x4, -0x4, -0x4, -0x4, 0x0,  -0x4, -0x2, 0x0, -0x2, -0x4, 0x0,
1379            });
1380            try testArgs(@Vector(32, i3), .{
1381                -0x1, 0x3,  0x3, 0x3,  0x0, -0x2, 0x0,  0x1,  0x1, -0x1, -0x2, -0x2, 0x3, 0x2,  0x1,  -0x1,
1382                0x3,  -0x3, 0x1, -0x4, 0x3, 0x1,  -0x2, -0x1, 0x2, 0x1,  0x0,  0x3,  0x1, -0x4, -0x1, 0x0,
1383            });
1384            try testArgs(@Vector(33, i3), .{
1385                -0x2, 0x0,  0x0,  0x2, -0x4, -0x2, -0x4, 0x2,  0x2, 0x2,  0x0,  -0x4, 0x0,  0x2, 0x2,  -0x4,
1386                -0x2, -0x2, -0x4, 0x0, 0x2,  0x0,  0x0,  -0x2, 0x2, -0x4, -0x4, -0x2, -0x2, 0x0, -0x2, -0x2,
1387                0x2,
1388            });
1389            try testArgs(@Vector(63, i3), .{
1390                -0x1, -0x2, -0x1, -0x2, -0x2, -0x2, -0x2, 0x2,  0x3,  -0x1, 0x2, -0x1, 0x3, -0x1, -0x1, 0x3,
1391                -0x2, -0x1, 0x2,  0x3,  0x2,  -0x2, -0x2, 0x3,  -0x2, -0x2, 0x3, -0x1, 0x3, -0x1, -0x1, -0x1,
1392                -0x2, 0x2,  -0x1, 0x3,  0x3,  0x3,  -0x2, 0x3,  0x2,  -0x2, 0x3, -0x1, 0x3, 0x3,  -0x2, 0x3,
1393                -0x1, 0x2,  0x3,  -0x2, -0x1, -0x2, -0x2, -0x1, -0x1, 0x3,  0x2, 0x3,  0x2, -0x2, -0x1,
1394            });
1395            try testArgs(@Vector(64, i3), .{
1396                -0x2, -0x4, 0x1,  0x2,  -0x2, 0x3,  -0x3, -0x3, 0x1,  0x3,  0x2, 0x2, -0x3, 0x3,  0x2,  -0x2,
1397                0x0,  -0x4, -0x4, -0x3, -0x3, 0x0,  -0x1, 0x0,  0x0,  0x2,  0x1, 0x1, 0x1,  0x3,  0x0,  0x2,
1398                -0x3, -0x2, 0x3,  0x3,  -0x3, -0x1, -0x1, 0x3,  0x0,  0x3,  0x2, 0x0, -0x2, 0x0,  -0x4, -0x4,
1399                0x2,  0x2,  0x0,  0x0,  0x3,  -0x1, 0x0,  -0x3, -0x2, -0x1, 0x1, 0x1, -0x4, -0x4, -0x3, 0x1,
1400            });
1401            try testArgs(@Vector(65, i3), .{
1402                0x0, 0x2, 0x0, 0x3, 0x3, 0x2, 0x0, 0x2, 0x3, 0x3, 0x1, 0x3, 0x1, 0x3, 0x2, 0x0,
1403                0x0, 0x1, 0x0, 0x2, 0x2, 0x3, 0x2, 0x2, 0x0, 0x1, 0x0, 0x2, 0x1, 0x1, 0x3, 0x2,
1404                0x0, 0x1, 0x0, 0x1, 0x2, 0x1, 0x3, 0x3, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0, 0x3, 0x2,
1405                0x2, 0x0, 0x3, 0x1, 0x2, 0x2, 0x0, 0x1, 0x3, 0x3, 0x3, 0x0, 0x3, 0x3, 0x3, 0x1,
1406                0x0,
1407            });
1408            try testArgs(@Vector(127, i3), .{
1409                0x1, 0x3, 0x1, 0x1, 0x3, 0x1, 0x2, 0x3, 0x3, 0x1, 0x2, 0x2, 0x3, 0x3, 0x2, 0x1,
1410                0x1, 0x0, 0x2, 0x1, 0x3, 0x3, 0x3, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x3, 0x3,
1411                0x2, 0x3, 0x1, 0x1, 0x2, 0x2, 0x3, 0x2, 0x2, 0x2, 0x0, 0x3, 0x1, 0x3, 0x3, 0x3,
1412                0x3, 0x1, 0x2, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x2, 0x3, 0x1, 0x2, 0x1, 0x3, 0x2,
1413                0x2, 0x3, 0x1, 0x0, 0x1, 0x3, 0x0, 0x0, 0x3, 0x1, 0x0, 0x2, 0x1, 0x3, 0x0, 0x2,
1414                0x3, 0x1, 0x1, 0x1, 0x2, 0x1, 0x1, 0x1, 0x0, 0x0, 0x2, 0x0, 0x1, 0x0, 0x2, 0x2,
1415                0x0, 0x1, 0x1, 0x3, 0x2, 0x3, 0x1, 0x1, 0x3, 0x0, 0x2, 0x2, 0x0, 0x2, 0x3, 0x3,
1416                0x2, 0x3, 0x1, 0x1, 0x2, 0x1, 0x3, 0x0, 0x3, 0x3, 0x0, 0x0, 0x1, 0x0, 0x1,
1417            });
1418            try testArgs(@Vector(128, i3), .{
1419                0x3,  -0x2, -0x1, -0x2, 0x2,  0x0,  -0x1, 0x2,  -0x3, -0x1, 0x2,  0x0,  0x0,  0x0,  0x0,  -0x1,
1420                -0x3, 0x3,  -0x3, 0x0,  -0x4, -0x4, 0x0,  -0x1, 0x1,  0x2,  0x3,  -0x2, -0x3, 0x3,  -0x3, 0x2,
1421                -0x2, 0x1,  -0x3, 0x1,  -0x4, -0x3, -0x4, -0x2, -0x3, 0x2,  0x0,  -0x1, 0x3,  0x1,  0x1,  -0x1,
1422                -0x4, 0x2,  -0x4, 0x0,  -0x3, -0x2, -0x1, -0x4, 0x2,  -0x4, 0x2,  0x2,  0x0,  0x3,  -0x4, 0x2,
1423                -0x4, -0x3, 0x0,  -0x3, 0x3,  -0x1, 0x3,  0x3,  -0x2, 0x3,  -0x1, 0x0,  0x0,  0x1,  0x3,  -0x3,
1424                -0x1, 0x1,  0x1,  0x2,  0x3,  0x3,  0x0,  0x3,  0x0,  0x1,  -0x1, -0x3, -0x4, -0x3, 0x2,  -0x4,
1425                0x2,  0x1,  0x2,  -0x2, 0x2,  0x0,  -0x3, -0x4, -0x3, -0x1, 0x1,  0x0,  -0x4, -0x3, -0x1, -0x3,
1426                0x3,  -0x3, 0x1,  0x3,  -0x3, 0x2,  -0x4, -0x3, 0x2,  0x2,  -0x4, 0x3,  -0x3, 0x0,  0x2,  -0x4,
1427            });
1428            try testArgs(@Vector(129, i3), .{
1429                -0x3, -0x3, -0x4, -0x3, 0x1,  -0x4, -0x4, -0x4, -0x4, -0x4, -0x3, 0x0,  -0x3, 0x1,  0x1,  -0x4,
1430                -0x3, 0x0,  -0x4, 0x0,  -0x3, 0x1,  -0x4, 0x0,  -0x4, 0x0,  0x1,  -0x3, -0x4, -0x4, 0x1,  0x1,
1431                0x0,  0x0,  0x0,  0x0,  0x0,  0x1,  -0x3, -0x3, 0x1,  0x0,  -0x3, -0x3, -0x4, 0x1,  -0x4, -0x4,
1432                0x0,  0x1,  0x1,  0x0,  0x0,  0x0,  -0x4, -0x4, -0x4, 0x1,  0x0,  -0x3, 0x0,  -0x4, -0x3, -0x4,
1433                -0x3, -0x4, 0x0,  -0x4, -0x4, 0x0,  -0x4, 0x1,  0x0,  0x1,  -0x3, 0x0,  -0x3, -0x4, -0x3, -0x4,
1434                0x0,  0x1,  -0x4, -0x4, 0x0,  -0x4, 0x0,  -0x3, -0x3, -0x3, -0x3, -0x3, -0x3, 0x1,  0x1,  0x0,
1435                -0x3, -0x3, -0x3, 0x1,  -0x3, 0x0,  0x0,  0x0,  0x0,  0x0,  -0x4, 0x0,  -0x3, -0x3, 0x0,  0x1,
1436                0x1,  -0x4, -0x4, -0x3, -0x3, 0x0,  -0x4, 0x1,  -0x3, -0x4, 0x0,  0x1,  -0x3, -0x4, 0x1,  0x1,
1437                -0x4,
1438            });
1439
1440            try testArgs(@Vector(1, u3), .{
1441                0x5,
1442            });
1443            try testArgs(@Vector(2, u3), .{
1444                0x4, 0x6,
1445            });
1446            try testArgs(@Vector(3, u3), .{
1447                0x4, 0x1, 0x1,
1448            });
1449            try testArgs(@Vector(4, u3), .{
1450                0x1, 0x4, 0x1, 0x5,
1451            });
1452            try testArgs(@Vector(5, u3), .{
1453                0x3, 0x4, 0x6, 0x4, 0x5,
1454            });
1455            try testArgs(@Vector(7, u3), .{
1456                0x1, 0x3, 0x1, 0x3, 0x7, 0x1, 0x1,
1457            });
1458            try testArgs(@Vector(8, u3), .{
1459                0x6, 0x0, 0x0, 0x4, 0x2, 0x4, 0x0, 0x6,
1460            });
1461            try testArgs(@Vector(9, u3), .{
1462                0x4, 0x4, 0x2, 0x2, 0x2, 0x2, 0x0, 0x6, 0x6,
1463            });
1464            try testArgs(@Vector(15, u3), .{
1465                0x7, 0x5, 0x4, 0x3, 0x6, 0x6, 0x6, 0x1, 0x5, 0x5, 0x6, 0x4, 0x2, 0x3, 0x0,
1466            });
1467            try testArgs(@Vector(16, u3), .{
1468                0x7, 0x6, 0x2, 0x7, 0x2, 0x7, 0x7, 0x2, 0x6, 0x2, 0x3, 0x6, 0x3, 0x2, 0x3, 0x7,
1469            });
1470            try testArgs(@Vector(17, u3), .{
1471                0x4, 0x2, 0x2, 0x0, 0x2, 0x0, 0x4, 0x4, 0x6, 0x2, 0x2, 0x6, 0x0, 0x0, 0x0, 0x2,
1472                0x2,
1473            });
1474            try testArgs(@Vector(31, u3), .{
1475                0x3, 0x0, 0x5, 0x3, 0x3, 0x5, 0x2, 0x3, 0x3, 0x6, 0x1, 0x3, 0x5, 0x7, 0x6, 0x6,
1476                0x6, 0x6, 0x0, 0x6, 0x4, 0x5, 0x3, 0x3, 0x3, 0x3, 0x0, 0x2, 0x7, 0x0, 0x0,
1477            });
1478            try testArgs(@Vector(32, u3), .{
1479                0x7, 0x1, 0x3, 0x1, 0x7, 0x1, 0x5, 0x1, 0x1, 0x5, 0x5, 0x5, 0x1, 0x1, 0x5, 0x1,
1480                0x3, 0x1, 0x3, 0x1, 0x7, 0x5, 0x1, 0x5, 0x1, 0x3, 0x7, 0x5, 0x3, 0x5, 0x5, 0x5,
1481            });
1482            try testArgs(@Vector(33, u3), .{
1483                0x3, 0x2, 0x4, 0x2, 0x7, 0x2, 0x1, 0x5, 0x6, 0x0, 0x0, 0x3, 0x0, 0x6, 0x2, 0x5,
1484                0x2, 0x4, 0x1, 0x4, 0x4, 0x1, 0x0, 0x7, 0x7, 0x2, 0x1, 0x5, 0x4, 0x2, 0x1, 0x0,
1485                0x3,
1486            });
1487            try testArgs(@Vector(63, u3), .{
1488                0x0, 0x6, 0x5, 0x1, 0x4, 0x7, 0x5, 0x4, 0x5, 0x3, 0x0, 0x5, 0x5, 0x7, 0x4, 0x5,
1489                0x0, 0x0, 0x2, 0x7, 0x2, 0x6, 0x0, 0x1, 0x4, 0x7, 0x4, 0x5, 0x5, 0x2, 0x2, 0x0,
1490                0x5, 0x4, 0x6, 0x0, 0x1, 0x2, 0x2, 0x1, 0x3, 0x5, 0x0, 0x2, 0x3, 0x5, 0x5, 0x2,
1491                0x3, 0x6, 0x3, 0x7, 0x1, 0x5, 0x5, 0x2, 0x1, 0x2, 0x7, 0x6, 0x2, 0x4, 0x5,
1492            });
1493            try testArgs(@Vector(64, u3), .{
1494                0x2, 0x1, 0x3, 0x3, 0x1, 0x1, 0x3, 0x1, 0x2, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x2,
1495                0x0, 0x0, 0x0, 0x3, 0x3, 0x1, 0x3, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3, 0x3,
1496                0x2, 0x3, 0x1, 0x3, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x3, 0x2, 0x0, 0x3, 0x2,
1497                0x3, 0x2, 0x1, 0x1, 0x2, 0x2, 0x0, 0x2, 0x2, 0x1, 0x3, 0x1, 0x3, 0x3, 0x3, 0x3,
1498            });
1499            try testArgs(@Vector(65, u3), .{
1500                0x4, 0x5, 0x6, 0x6, 0x7, 0x4, 0x4, 0x4, 0x6, 0x5, 0x6, 0x5, 0x7, 0x4, 0x6, 0x5,
1501                0x4, 0x6, 0x4, 0x7, 0x4, 0x4, 0x4, 0x4, 0x7, 0x4, 0x7, 0x6, 0x6, 0x4, 0x5, 0x6,
1502                0x7, 0x7, 0x4, 0x6, 0x6, 0x4, 0x5, 0x6, 0x4, 0x5, 0x7, 0x7, 0x7, 0x7, 0x5, 0x5,
1503                0x6, 0x6, 0x7, 0x5, 0x6, 0x4, 0x5, 0x6, 0x5, 0x6, 0x4, 0x6, 0x4, 0x6, 0x6, 0x5,
1504                0x5,
1505            });
1506            try testArgs(@Vector(127, u3), .{
1507                0x0, 0x5, 0x0, 0x0, 0x5, 0x6, 0x5, 0x1, 0x3, 0x3, 0x3, 0x2, 0x5, 0x5, 0x3, 0x7,
1508                0x6, 0x4, 0x5, 0x4, 0x3, 0x6, 0x1, 0x5, 0x5, 0x4, 0x2, 0x2, 0x1, 0x5, 0x0, 0x2,
1509                0x7, 0x3, 0x0, 0x7, 0x0, 0x7, 0x2, 0x2, 0x5, 0x5, 0x3, 0x4, 0x4, 0x0, 0x5, 0x1,
1510                0x7, 0x2, 0x6, 0x4, 0x7, 0x3, 0x5, 0x6, 0x3, 0x5, 0x5, 0x6, 0x4, 0x3, 0x4, 0x1,
1511                0x1, 0x4, 0x6, 0x7, 0x5, 0x0, 0x2, 0x0, 0x1, 0x3, 0x2, 0x2, 0x5, 0x3, 0x0, 0x1,
1512                0x5, 0x4, 0x2, 0x0, 0x0, 0x4, 0x3, 0x2, 0x7, 0x6, 0x6, 0x7, 0x1, 0x1, 0x5, 0x1,
1513                0x6, 0x4, 0x1, 0x7, 0x0, 0x7, 0x1, 0x1, 0x3, 0x6, 0x5, 0x1, 0x0, 0x5, 0x4, 0x0,
1514                0x7, 0x7, 0x7, 0x2, 0x0, 0x1, 0x6, 0x0, 0x4, 0x2, 0x3, 0x7, 0x7, 0x2, 0x2,
1515            });
1516            try testArgs(@Vector(128, u3), .{
1517                0x2, 0x4, 0x4, 0x6, 0x2, 0x6, 0x6, 0x2, 0x2, 0x0, 0x6, 0x6, 0x0, 0x0, 0x2, 0x4,
1518                0x0, 0x0, 0x4, 0x6, 0x2, 0x0, 0x6, 0x6, 0x0, 0x0, 0x4, 0x0, 0x4, 0x0, 0x4, 0x6,
1519                0x6, 0x6, 0x4, 0x4, 0x2, 0x4, 0x4, 0x0, 0x6, 0x0, 0x6, 0x0, 0x6, 0x4, 0x0, 0x6,
1520                0x2, 0x6, 0x0, 0x0, 0x2, 0x4, 0x2, 0x4, 0x6, 0x2, 0x2, 0x0, 0x2, 0x0, 0x2, 0x0,
1521                0x0, 0x2, 0x4, 0x4, 0x2, 0x6, 0x0, 0x4, 0x6, 0x6, 0x6, 0x2, 0x4, 0x6, 0x4, 0x6,
1522                0x0, 0x4, 0x6, 0x6, 0x2, 0x0, 0x2, 0x2, 0x6, 0x4, 0x6, 0x6, 0x2, 0x0, 0x6, 0x4,
1523                0x2, 0x2, 0x2, 0x0, 0x2, 0x6, 0x6, 0x4, 0x4, 0x2, 0x6, 0x0, 0x2, 0x4, 0x2, 0x0,
1524                0x2, 0x2, 0x6, 0x4, 0x4, 0x0, 0x6, 0x4, 0x4, 0x2, 0x6, 0x6, 0x6, 0x6, 0x6, 0x6,
1525            });
1526            try testArgs(@Vector(129, u3), .{
1527                0x4, 0x7, 0x3, 0x7, 0x5, 0x1, 0x7, 0x3, 0x7, 0x6, 0x1, 0x3, 0x2, 0x0, 0x1, 0x1,
1528                0x0, 0x4, 0x6, 0x5, 0x2, 0x5, 0x6, 0x7, 0x5, 0x2, 0x4, 0x7, 0x4, 0x3, 0x6, 0x4,
1529                0x1, 0x3, 0x0, 0x4, 0x5, 0x0, 0x2, 0x7, 0x5, 0x0, 0x1, 0x4, 0x4, 0x3, 0x0, 0x3,
1530                0x4, 0x4, 0x6, 0x2, 0x0, 0x5, 0x6, 0x5, 0x6, 0x7, 0x7, 0x1, 0x2, 0x5, 0x7, 0x4,
1531                0x5, 0x5, 0x2, 0x7, 0x5, 0x0, 0x5, 0x7, 0x0, 0x7, 0x0, 0x3, 0x5, 0x1, 0x0, 0x6,
1532                0x6, 0x4, 0x1, 0x7, 0x6, 0x7, 0x0, 0x0, 0x7, 0x6, 0x1, 0x1, 0x2, 0x4, 0x0, 0x1,
1533                0x7, 0x3, 0x3, 0x5, 0x6, 0x6, 0x6, 0x6, 0x2, 0x3, 0x4, 0x0, 0x4, 0x5, 0x1, 0x4,
1534                0x1, 0x5, 0x1, 0x0, 0x3, 0x1, 0x4, 0x7, 0x5, 0x6, 0x2, 0x0, 0x7, 0x2, 0x7, 0x1,
1535                0x0,
1536            });
1537
1538            try testArgs(@Vector(1, i4), .{
1539                0x4,
1540            });
1541            try testArgs(@Vector(2, i4), .{
1542                0x5, 0x1,
1543            });
1544            try testArgs(@Vector(3, i4), .{
1545                -0x8, 0x2, 0x0,
1546            });
1547            try testArgs(@Vector(4, i4), .{
1548                0x4, -0x7, -0x8, -0x7,
1549            });
1550            try testArgs(@Vector(5, i4), .{
1551                -0x3, -0x6, -0x5, -0x7, -0x7,
1552            });
1553            try testArgs(@Vector(7, i4), .{
1554                0x4, -0x3, 0x7, 0x2, -0x6, -0x7, 0x5,
1555            });
1556            try testArgs(@Vector(8, i4), .{
1557                -0x5, -0x6, 0x0, 0x3, -0x8, -0x5, 0x3, 0x3,
1558            });
1559            try testArgs(@Vector(9, i4), .{
1560                0x5, 0x1, 0x5, -0x1, 0x3, -0x3, -0x3, 0x1, 0x1,
1561            });
1562            try testArgs(@Vector(15, i4), .{
1563                0x7, -0x7, 0x0, 0x0, 0x0, -0x8, 0x5, -0x1, 0x4, -0x5, -0x3, 0x6, -0x7, -0x8, -0x1,
1564            });
1565            try testArgs(@Vector(16, i4), .{
1566                0x7, -0x1, 0x4, 0x3, -0x5, -0x4, -0x1, -0x8, -0x7, 0x6, -0x6, 0x6, -0x6, 0x6, -0x3, 0x7,
1567            });
1568            try testArgs(@Vector(17, i4), .{
1569                0x4, 0x2, 0x6, 0x3, 0x6, 0x2, 0x1, 0x5, 0x3, 0x4, 0x5, 0x2, 0x0, 0x0, 0x1, 0x5,
1570                0x0,
1571            });
1572            try testArgs(@Vector(31, i4), .{
1573                0x6, 0x4, 0x7,  -0x8, 0x7,  -0x8, 0x5, 0x7, -0x1, -0x5, -0x6, -0x3, -0x4, 0x1, 0x5,  0x3,
1574                0x0, 0x5, -0x6, 0x0,  -0x1, -0x8, 0x1, 0x7, 0x2,  0x3,  -0x3, 0x5,  -0x2, 0x2, -0x6,
1575            });
1576            try testArgs(@Vector(32, i4), .{
1577                -0x3, -0x4, -0x4, -0x8, 0x2,  0x3,  -0x2, 0x4,  -0x5, 0x7,  0x0,  -0x7, -0x3, 0x2, 0x3, 0x3,
1578                0x5,  -0x1, -0x8, 0x0,  -0x3, -0x1, -0x8, -0x6, -0x5, -0x4, -0x3, 0x2,  0x4,  0x3, 0x3, 0x2,
1579            });
1580            try testArgs(@Vector(33, i4), .{
1581                0x5,  0x6, 0x7, -0x1, -0x8, 0x5, 0x1,  0x7, 0x5,  -0x2, 0x3,  -0x1, 0x0,  0x0, -0x1, -0x2,
1582                -0x3, 0x3, 0x0, -0x2, 0x0,  0x7, -0x7, 0x1, -0x8, 0x5,  -0x6, -0x3, -0x3, 0x6, 0x0,  0x6,
1583                -0x3,
1584            });
1585            try testArgs(@Vector(63, i4), .{
1586                -0x7, -0x8, 0x2, 0x6,  0x6, -0x6, -0x8, -0x7, 0x7,  -0x3, -0x5, -0x1, -0x8, -0x4, 0x1,  -0x6,
1587                -0x4, -0x1, 0x2, -0x3, 0x4, 0x3,  0x0,  -0x3, 0x7,  0x1,  -0x5, -0x4, 0x2,  0x5,  0x7,  0x5,
1588                -0x4, -0x2, 0x0, -0x2, 0x3, 0x2,  0x0,  -0x1, -0x7, -0x2, -0x2, 0x6,  0x3,  -0x6, -0x6, -0x5,
1589                0x4,  -0x1, 0x3, 0x4,  0x7, -0x1, -0x5, -0x8, -0x5, -0x7, 0x3,  0x2,  -0x6, -0x8, -0x3,
1590            });
1591            try testArgs(@Vector(64, i4), .{
1592                -0x6, -0x8, -0x3, 0x5,  -0x7, -0x3, -0x8, -0x6, 0x3,  0x6,  0x5,  0x7, -0x7, 0x5,  0x4,  -0x8,
1593                -0x4, -0x2, -0x1, -0x4, 0x3,  0x4,  0x3,  -0x8, -0x5, 0x6,  0x7,  0x3, 0x6,  -0x1, 0x4,  0x2,
1594                -0x6, 0x4,  -0x1, 0x2,  -0x1, -0x2, -0x4, 0x4,  -0x2, -0x2, -0x3, 0x1, 0x0,  0x2,  -0x7, -0x8,
1595                0x1,  -0x7, -0x5, 0x6,  0x2,  0x7,  -0x6, 0x7,  -0x5, 0x0,  -0x6, 0x2, 0x6,  0x4,  -0x3, -0x6,
1596            });
1597            try testArgs(@Vector(65, i4), .{
1598                0x4,  -0x3, -0x1, 0x0,  -0x1, -0x7, 0x4,  -0x7, -0x3, -0x1, -0x5, 0x2,  -0x3, 0x5,  -0x8, 0x7,
1599                -0x7, 0x0,  0x2,  -0x7, 0x4,  -0x5, -0x4, 0x7,  -0x2, 0x6,  0x3,  0x4,  -0x1, 0x2,  0x5,  0x7,
1600                -0x2, 0x7,  0x2,  -0x1, 0x2,  0x2,  0x2,  0x7,  -0x2, -0x2, -0x5, 0x4,  0x7,  0x0,  0x3,  0x1,
1601                0x0,  -0x5, -0x1, 0x6,  0x2,  -0x3, -0x7, -0x4, 0x2,  -0x5, 0x4,  -0x7, 0x2,  -0x4, 0x2,  -0x1,
1602                -0x2,
1603            });
1604            try testArgs(@Vector(127, i4), .{
1605                -0x2, 0x2,  0x6,  0x3,  0x1,  -0x2, 0x1,  0x1,  -0x4, 0x5,  -0x5, 0x7,  0x7,  -0x5, -0x5, -0x6,
1606                0x0,  -0x8, 0x4,  0x7,  0x4,  -0x1, 0x3,  0x7,  -0x5, 0x7,  -0x8, 0x6,  -0x7, -0x6, 0x3,  -0x6,
1607                -0x4, -0x8, 0x1,  -0x7, 0x7,  0x2,  -0x2, 0x5,  0x1,  -0x8, -0x3, -0x5, -0x8, 0x0,  -0x4, 0x0,
1608                -0x8, 0x5,  -0x8, 0x0,  0x4,  -0x4, -0x4, -0x5, 0x2,  -0x8, -0x3, -0x1, -0x7, 0x0,  0x0,  -0x4,
1609                -0x5, 0x5,  -0x1, -0x7, -0x7, -0x8, -0x2, 0x7,  0x4,  0x6,  0x4,  0x5,  -0x1, 0x3,  -0x4, 0x7,
1610                -0x1, -0x1, 0x3,  0x1,  0x4,  0x1,  -0x3, 0x2,  -0x2, -0x6, -0x4, 0x5,  -0x7, -0x2, 0x0,  0x5,
1611                -0x4, 0x4,  -0x7, -0x7, -0x3, 0x4,  -0x3, -0x3, -0x7, -0x8, 0x1,  0x6,  0x5,  -0x3, -0x4, 0x7,
1612                0x3,  0x5,  0x0,  -0x7, -0x1, -0x7, 0x5,  0x1,  -0x4, -0x6, 0x6,  0x6,  -0x1, 0x1,  0x6,
1613            });
1614            try testArgs(@Vector(128, i4), .{
1615                -0x2, 0x3,  -0x1, -0x6, 0x1,  -0x7, 0x4,  0x4,  0x2, -0x5, 0x0,  0x4,  0x3,  0x2,  0x0,  -0x7,
1616                0x4,  -0x5, -0x6, -0x8, 0x7,  -0x8, 0x5,  0x3,  0x2, 0x5,  0x3,  -0x8, -0x8, -0x8, 0x1,  0x4,
1617                -0x3, -0x5, 0x6,  0x2,  -0x4, -0x2, 0x3,  -0x1, 0x1, -0x2, -0x7, -0x8, 0x5,  0x5,  0x3,  -0x6,
1618                0x3,  0x5,  0x7,  -0x7, 0x3,  0x6,  0x5,  0x2,  0x2, -0x3, 0x0,  -0x5, 0x7,  -0x8, 0x1,  0x1,
1619                0x6,  0x3,  0x1,  0x5,  -0x7, 0x1,  -0x5, -0x1, 0x4, -0x2, 0x1,  0x3,  0x4,  -0x3, 0x5,  0x1,
1620                -0x2, -0x6, -0x5, -0x1, -0x5, 0x6,  -0x5, 0x0,  0x0, -0x8, -0x8, 0x3,  -0x5, 0x3,  -0x1, -0x7,
1621                -0x2, 0x0,  0x3,  -0x3, -0x6, -0x5, -0x2, -0x5, 0x0, -0x1, 0x6,  -0x6, 0x4,  0x5,  0x6,  -0x3,
1622                -0x7, -0x4, 0x2,  0x5,  0x0,  -0x5, 0x7,  0x6,  0x2, 0x6,  0x6,  -0x2, 0x7,  -0x2, 0x0,  0x3,
1623            });
1624            try testArgs(@Vector(129, i4), .{
1625                0x3,  0x1,  0x3,  0x1,  0x2,  0x0,  -0x5, -0x6, -0x7, 0x2,  -0x6, 0x2,  0x0,  -0x8, -0x6, -0x6,
1626                0x0,  0x3,  0x2,  0x3,  -0x6, 0x2,  -0x6, -0x8, -0x6, 0x2,  -0x6, -0x7, 0x0,  0x3,  -0x7, 0x3,
1627                -0x5, -0x6, 0x0,  0x1,  0x0,  0x3,  0x2,  -0x5, -0x6, 0x3,  0x2,  0x0,  -0x5, 0x0,  0x0,  -0x7,
1628                -0x6, -0x6, -0x5, -0x8, 0x0,  -0x7, 0x3,  0x2,  -0x5, -0x6, -0x8, 0x3,  -0x8, 0x0,  -0x5, 0x0,
1629                -0x5, -0x5, 0x3,  -0x6, 0x3,  0x1,  0x3,  -0x5, 0x1,  -0x8, 0x0,  -0x6, -0x6, -0x8, -0x5, 0x0,
1630                0x2,  0x0,  0x0,  0x2,  -0x7, 0x3,  -0x5, -0x6, -0x5, 0x3,  0x1,  0x0,  -0x7, -0x5, -0x5, 0x3,
1631                0x0,  -0x5, 0x0,  0x0,  0x3,  0x2,  0x3,  0x3,  -0x7, 0x2,  0x0,  -0x6, -0x8, 0x2,  -0x6, -0x6,
1632                0x2,  0x0,  0x3,  -0x5, 0x1,  -0x7, 0x2,  0x0,  -0x7, 0x2,  -0x6, -0x6, 0x0,  0x2,  0x2,  0x1,
1633                -0x8,
1634            });
1635
1636            try testArgs(@Vector(1, u4), .{
1637                0xb,
1638            });
1639            try testArgs(@Vector(2, u4), .{
1640                0x0, 0xf,
1641            });
1642            try testArgs(@Vector(3, u4), .{
1643                0x9, 0xa, 0xe,
1644            });
1645            try testArgs(@Vector(4, u4), .{
1646                0x0, 0x9, 0x9, 0x9,
1647            });
1648            try testArgs(@Vector(5, u4), .{
1649                0xe, 0x8, 0x9, 0xd, 0x9,
1650            });
1651            try testArgs(@Vector(7, u4), .{
1652                0x5, 0xc, 0x1, 0x4, 0x1, 0xe, 0xd,
1653            });
1654            try testArgs(@Vector(8, u4), .{
1655                0x4, 0x0, 0x0, 0x7, 0x2, 0x1, 0x2, 0x3,
1656            });
1657            try testArgs(@Vector(9, u4), .{
1658                0x9, 0x4, 0x8, 0x9, 0xc, 0x9, 0x9, 0xc, 0xd,
1659            });
1660            try testArgs(@Vector(15, u4), .{
1661                0x8, 0x5, 0xc, 0x4, 0x7, 0x0, 0x0, 0x7, 0x6, 0xc, 0x5, 0x9, 0xa, 0x0, 0x2,
1662            });
1663            try testArgs(@Vector(16, u4), .{
1664                0xf, 0xf, 0x7, 0xf, 0x7, 0xb, 0x2, 0x6, 0x6, 0xf, 0x2, 0xb, 0x3, 0xa, 0xa, 0x2,
1665            });
1666            try testArgs(@Vector(17, u4), .{
1667                0x0, 0x6, 0x1, 0x7, 0x7, 0x6, 0x0, 0x6, 0x6, 0x7, 0x6, 0x1, 0x5, 0x7, 0x7, 0x3,
1668                0x1,
1669            });
1670            try testArgs(@Vector(31, u4), .{
1671                0x3, 0x1, 0xa, 0xa, 0x1, 0x3, 0xa, 0xb, 0xb, 0x1, 0x1, 0xa, 0x8, 0x3, 0x0, 0x9,
1672                0x8, 0x9, 0x0, 0x8, 0x2, 0x0, 0x2, 0xb, 0x0, 0x0, 0x1, 0x1, 0x0, 0x8, 0x3,
1673            });
1674            try testArgs(@Vector(32, u4), .{
1675                0x8, 0x7, 0x3, 0x9, 0xd, 0x0, 0x8, 0xe, 0xb, 0x8, 0x4, 0x4, 0x4, 0x8, 0x4, 0x2,
1676                0xd, 0x9, 0x1, 0xe, 0x1, 0xc, 0x0, 0x9, 0xa, 0x5, 0x1, 0x6, 0x9, 0x1, 0xd, 0xe,
1677            });
1678            try testArgs(@Vector(33, u4), .{
1679                0x5, 0xd, 0x0, 0x7, 0x8, 0x0, 0xd, 0x5, 0x3, 0x0, 0xe, 0xf, 0xd, 0xd, 0x6, 0xd,
1680                0x4, 0x4, 0x4, 0x0, 0x4, 0x1, 0x2, 0x0, 0x4, 0x2, 0x2, 0x9, 0x3, 0x7, 0xf, 0xb,
1681                0xd,
1682            });
1683            try testArgs(@Vector(63, u4), .{
1684                0x2, 0x2, 0x8, 0x7, 0x7, 0x3, 0xa, 0x0, 0x7, 0x7, 0xe, 0xb, 0xb, 0xe, 0x8, 0x8,
1685                0xe, 0x7, 0x7, 0x7, 0x1, 0xe, 0xb, 0x7, 0x8, 0x2, 0x7, 0x9, 0xd, 0x0, 0x2, 0x1,
1686                0xb, 0xc, 0xb, 0xa, 0x8, 0xb, 0x5, 0x3, 0x2, 0xf, 0x6, 0x2, 0x7, 0x7, 0x4, 0x3,
1687                0x2, 0xd, 0xb, 0x6, 0x6, 0x2, 0xd, 0x4, 0x4, 0x9, 0x9, 0x4, 0x5, 0x8, 0x2,
1688            });
1689            try testArgs(@Vector(64, u4), .{
1690                0x2, 0x0, 0x1, 0xb, 0x1, 0x8, 0x2, 0xa, 0x3, 0x3, 0x1, 0x1, 0x8, 0xb, 0x3, 0x3,
1691                0x9, 0xa, 0x2, 0x2, 0x8, 0x8, 0x2, 0x3, 0xb, 0x3, 0x8, 0xa, 0x8, 0xa, 0x8, 0x8,
1692                0x2, 0x2, 0x1, 0x8, 0x1, 0x1, 0x9, 0xa, 0x0, 0x0, 0x0, 0x3, 0x8, 0xb, 0x2, 0x2,
1693                0xb, 0xb, 0xb, 0x0, 0xb, 0x2, 0x0, 0x2, 0x1, 0xb, 0xb, 0x1, 0xa, 0x9, 0xb, 0x0,
1694            });
1695            try testArgs(@Vector(65, u4), .{
1696                0xb, 0x2, 0xb, 0xf, 0xf, 0xe, 0x6, 0xa, 0xf, 0x7, 0x7, 0xf, 0xa, 0x7, 0x2, 0x3,
1697                0xb, 0x3, 0xe, 0x6, 0x7, 0xa, 0x6, 0x2, 0x6, 0xb, 0xe, 0xf, 0xe, 0xa, 0xf, 0xf,
1698                0xf, 0x2, 0x6, 0xb, 0xa, 0x7, 0xb, 0x7, 0xa, 0x2, 0xa, 0xe, 0xe, 0x3, 0xb, 0xa,
1699                0x3, 0x2, 0xe, 0x6, 0xf, 0x2, 0x6, 0xe, 0xf, 0xe, 0x7, 0x7, 0x3, 0xb, 0x2, 0x7,
1700                0x2,
1701            });
1702            try testArgs(@Vector(127, u4), .{
1703                0x3, 0x1, 0x6, 0xf, 0x2, 0x1, 0x2, 0x3, 0x3, 0x9, 0xe, 0x8, 0x4, 0xe, 0xd, 0x8,
1704                0x6, 0x4, 0xa, 0xe, 0xa, 0x6, 0xe, 0x5, 0x0, 0x8, 0x3, 0xd, 0x5, 0x9, 0x5, 0xd,
1705                0x7, 0x0, 0x9, 0xb, 0xc, 0xd, 0x3, 0x2, 0x9, 0x4, 0xb, 0xd, 0x5, 0xd, 0xb, 0x2,
1706                0xe, 0x0, 0x6, 0xf, 0x4, 0x4, 0x8, 0xf, 0xb, 0xe, 0xf, 0x9, 0x5, 0x7, 0x7, 0xb,
1707                0x4, 0xf, 0x5, 0x2, 0x3, 0x2, 0xd, 0x9, 0xd, 0x9, 0x6, 0xe, 0x9, 0x4, 0x1, 0xa,
1708                0x7, 0xb, 0xe, 0xd, 0x7, 0x7, 0xa, 0xa, 0x2, 0x9, 0x6, 0x7, 0x9, 0x6, 0x9, 0x9,
1709                0xd, 0x6, 0x0, 0x1, 0x1, 0x5, 0xf, 0xe, 0x4, 0x7, 0x3, 0x4, 0x7, 0xb, 0x7, 0xd,
1710                0x0, 0x8, 0xf, 0x5, 0x1, 0x7, 0xb, 0x7, 0x1, 0x3, 0x3, 0x0, 0xe, 0x0, 0x4,
1711            });
1712            try testArgs(@Vector(128, u4), .{
1713                0x0, 0xb, 0x9, 0x0, 0x6, 0xd, 0x9, 0x3, 0xd, 0xa, 0x4, 0xb, 0x8, 0x7, 0xc, 0xe,
1714                0x6, 0x9, 0xb, 0x5, 0xc, 0x8, 0xd, 0x8, 0xc, 0x3, 0x2, 0xd, 0x9, 0x9, 0x2, 0x7,
1715                0xa, 0x0, 0xf, 0x7, 0xd, 0x6, 0x0, 0x6, 0x8, 0x3, 0x3, 0x0, 0xa, 0x4, 0xf, 0x6,
1716                0x6, 0x6, 0x5, 0x8, 0x4, 0xe, 0x2, 0x3, 0x4, 0x7, 0x3, 0x5, 0xa, 0xc, 0x1, 0xf,
1717                0x0, 0xf, 0xd, 0x8, 0x2, 0xe, 0x0, 0xa, 0x9, 0x0, 0x0, 0xf, 0x3, 0x4, 0x3, 0xd,
1718                0x8, 0xd, 0xb, 0xd, 0x6, 0xc, 0xc, 0x9, 0x3, 0x5, 0xa, 0xe, 0x9, 0xf, 0x0, 0x9,
1719                0xa, 0xf, 0x4, 0xd, 0x4, 0xa, 0x3, 0xb, 0xe, 0x7, 0x8, 0x6, 0xc, 0x0, 0x3, 0xd,
1720                0xc, 0xc, 0x1, 0x5, 0x4, 0xc, 0xd, 0x9, 0xa, 0x7, 0xd, 0x2, 0x6, 0x3, 0x4, 0x2,
1721            });
1722            try testArgs(@Vector(129, u4), .{
1723                0xd, 0x2, 0xd, 0xd, 0xc, 0x7, 0x4, 0x1, 0xa, 0xc, 0xf, 0xe, 0xb, 0xc, 0xc, 0x8,
1724                0x0, 0x1, 0xf, 0x4, 0xb, 0x4, 0x7, 0x9, 0x9, 0x2, 0x7, 0xc, 0x4, 0xb, 0xd, 0xc,
1725                0x5, 0x5, 0xd, 0x9, 0x7, 0x2, 0x7, 0xa, 0x2, 0x4, 0x1, 0x3, 0x2, 0x4, 0x6, 0x8,
1726                0x9, 0xd, 0x9, 0x7, 0x1, 0x5, 0x5, 0x1, 0x3, 0x2, 0x4, 0x7, 0x3, 0xf, 0x2, 0xa,
1727                0x3, 0x5, 0xf, 0x4, 0x6, 0xd, 0xa, 0x1, 0xb, 0x3, 0xa, 0xd, 0x6, 0x0, 0x0, 0x7,
1728                0x0, 0xf, 0x0, 0xa, 0xf, 0x5, 0xc, 0x5, 0x5, 0x8, 0x8, 0x0, 0x5, 0x3, 0xf, 0x4,
1729                0xb, 0x7, 0x1, 0x0, 0x3, 0x6, 0x6, 0xd, 0xd, 0x5, 0xd, 0x4, 0x8, 0x9, 0x1, 0x8,
1730                0x7, 0x6, 0x4, 0x2, 0x7, 0x0, 0x6, 0x9, 0xb, 0x5, 0x6, 0x8, 0xd, 0xe, 0x5, 0x7,
1731                0x9,
1732            });
1733
1734            try testArgs(@Vector(1, i5), .{
1735                -0x07,
1736            });
1737            try testArgs(@Vector(2, i5), .{
1738                0x00, 0x09,
1739            });
1740            try testArgs(@Vector(3, i5), .{
1741                0x08, -0x04, 0x04,
1742            });
1743            try testArgs(@Vector(4, i5), .{
1744                0x07, 0x06, -0x0a, 0x01,
1745            });
1746            try testArgs(@Vector(5, i5), .{
1747                -0x06, -0x06, -0x03, -0x06, 0x0e,
1748            });
1749            try testArgs(@Vector(7, i5), .{
1750                0x08, -0x0c, 0x05, 0x08, 0x02, -0x05, 0x06,
1751            });
1752            try testArgs(@Vector(8, i5), .{
1753                0x0b, -0x07, 0x01, 0x0d, -0x0e, -0x10, 0x0e, -0x01,
1754            });
1755            try testArgs(@Vector(9, i5), .{
1756                -0x02, -0x0e, -0x05, -0x0d, -0x10, -0x01, -0x0b, -0x0e, -0x05,
1757            });
1758            try testArgs(@Vector(15, i5), .{
1759                -0x09, 0x07, 0x00, -0x10, 0x00, -0x0a, -0x09, 0x00, 0x02, -0x10, -0x0a, -0x0d, 0x00, 0x05, -0x0f,
1760            });
1761            try testArgs(@Vector(16, i5), .{
1762                0x0f, 0x07, 0x0d, -0x05, -0x0f, -0x07, -0x01, -0x0d, -0x0f, -0x0f, -0x07, 0x05, -0x09, -0x01, -0x0b, 0x0b,
1763            });
1764            try testArgs(@Vector(17, i5), .{
1765                0x07, -0x08, 0x0e, 0x0a, -0x0f, -0x0c, -0x10, -0x0e, 0x0c, -0x05, 0x04, 0x06, 0x00, 0x07, -0x10, -0x0e,
1766                0x0f,
1767            });
1768            try testArgs(@Vector(31, i5), .{
1769                0x01,  0x0d, -0x04, -0x0b, 0x08, -0x08, -0x08, 0x00, 0x08, -0x08, -0x0b, -0x07, -0x0c, -0x03, 0x0c, 0x05,
1770                -0x03, 0x08, -0x07, 0x09,  0x0c, 0x01,  -0x10, 0x00, 0x09, -0x03, 0x09,  0x0d,  0x04,  0x09,  0x0c,
1771            });
1772            try testArgs(@Vector(32, i5), .{
1773                0x03,  -0x0d, -0x0f, 0x01,  -0x0f, -0x07, -0x03, -0x0f, 0x07,  -0x06, 0x02, 0x01, 0x0f, -0x0c, -0x0f, -0x0a,
1774                -0x07, -0x06, -0x02, -0x08, 0x08,  0x05,  -0x0f, 0x0b,  -0x02, -0x0e, 0x07, 0x02, 0x07, -0x04, 0x0b,  0x0d,
1775            });
1776            try testArgs(@Vector(33, i5), .{
1777                -0x0e, -0x08, -0x02, -0x0e, -0x04, -0x02, -0x08, -0x10, 0x04, 0x0c,  0x02, -0x10, -0x02, 0x08, -0x0c, -0x06,
1778                -0x0a, -0x06, -0x10, -0x02, 0x02,  -0x06, 0x0e,  -0x10, 0x06, -0x08, 0x04, 0x06,  -0x02, 0x00, 0x08,  0x08,
1779                -0x0e,
1780            });
1781            try testArgs(@Vector(63, i5), .{
1782                0x07,  0x05,  -0x03, -0x01, 0x03, 0x0b,  0x01,  -0x0d, 0x0b,  -0x09, -0x03, 0x01,  -0x01, -0x09, 0x05,  -0x0b,
1783                -0x0d, 0x0d,  0x0f,  -0x0b, 0x0b, -0x03, 0x05,  -0x03, -0x0d, -0x07, 0x0b,  0x0f,  0x0d,  -0x0b, -0x09, 0x03,
1784                0x05,  -0x0b, 0x0f,  0x07,  0x0d, -0x09, 0x0d,  -0x01, -0x09, 0x0f,  -0x03, -0x01, -0x0d, -0x07, -0x01, 0x09,
1785                0x0f,  -0x05, -0x03, -0x05, 0x0f, 0x01,  -0x0d, -0x05, -0x0d, -0x0b, -0x0f, 0x05,  0x09,  0x07,  -0x09,
1786            });
1787            try testArgs(@Vector(64, i5), .{
1788                -0x04, -0x03, 0x0f,  -0x0f, -0x04, -0x10, 0x0c,  -0x03, -0x0a, -0x06, 0x08,  -0x0a, -0x0b, 0x0f,  0x07,  0x02,
1789                -0x0b, 0x09,  -0x0b, 0x0b,  -0x0e, -0x04, -0x08, 0x00,  0x0d,  -0x0a, 0x01,  0x06,  0x0a,  0x05,  0x07,  -0x0a,
1790                0x05,  0x09,  -0x04, -0x08, -0x04, -0x02, -0x0e, 0x0d,  0x03,  -0x09, -0x0e, -0x01, 0x0f,  0x04,  0x0d,  -0x05,
1791                -0x04, 0x0d,  -0x0c, -0x0e, 0x0c,  0x0a,  -0x02, 0x0c,  0x00,  0x04,  0x06,  0x01,  0x0d,  -0x07, -0x04, 0x0a,
1792            });
1793            try testArgs(@Vector(65, i5), .{
1794                -0x02, 0x02, -0x04, -0x01, 0x07,  -0x02, -0x0c, 0x00,  -0x05, 0x0b,  0x0d,  -0x01, -0x09, 0x05,  -0x08, -0x04,
1795                0x00,  0x01, -0x04, -0x0e, -0x02, -0x04, -0x0d, 0x04,  -0x05, 0x01,  0x06,  0x07,  0x04,  -0x07, 0x02,  0x02,
1796                -0x0b, 0x0f, -0x02, -0x0e, 0x07,  -0x0c, 0x06,  -0x10, -0x0f, -0x03, -0x06, -0x0c, 0x0b,  -0x07, -0x06, 0x02,
1797                0x0a,  0x08, 0x01,  0x05,  0x03,  -0x0b, -0x0a, -0x0f, -0x10, -0x05, -0x0a, -0x0e, -0x0b, -0x06, 0x0c,  -0x08,
1798                0x04,
1799            });
1800            try testArgs(@Vector(127, i5), .{
1801                0x09,  0x0a,  -0x03, 0x08,  -0x04, -0x01, 0x0c,  0x0d,  0x0f,  -0x08, 0x09,  -0x05, -0x05, -0x01, -0x04, 0x0a,
1802                -0x02, 0x0c,  0x08,  0x0c,  -0x06, 0x0b,  0x0a,  0x09,  0x09,  0x0c,  -0x01, 0x09,  -0x01, -0x03, -0x04, 0x0c,
1803                0x0e,  0x0c,  0x0d,  -0x01, 0x0a,  0x0c,  -0x04, 0x09,  0x0f,  0x0e,  0x0f,  -0x08, -0x04, -0x04, 0x0f,  -0x02,
1804                0x0c,  -0x08, -0x06, -0x03, -0x07, 0x0d,  0x0d,  -0x01, 0x08,  -0x07, 0x08,  -0x01, -0x04, 0x0e,  -0x06, -0x03,
1805                -0x04, -0x05, 0x0e,  0x0c,  0x0a,  -0x04, 0x0e,  0x0e,  0x0a,  0x0c,  0x0d,  0x08,  0x0a,  -0x08, -0x06, 0x0a,
1806                0x0e,  -0x08, 0x09,  0x08,  -0x03, 0x0b,  -0x02, -0x06, 0x0f,  0x08,  -0x07, 0x0b,  0x0f,  -0x07, -0x06, -0x01,
1807                0x09,  0x09,  0x0d,  0x0e,  0x09,  0x0b,  -0x05, 0x0d,  0x08,  0x08,  -0x07, -0x07, 0x0e,  -0x07, -0x02, 0x0b,
1808                -0x05, 0x0d,  0x0e,  -0x04, -0x02, -0x07, -0x04, -0x06, -0x04, -0x07, 0x0e,  0x08,  -0x01, -0x03, 0x09,
1809            });
1810            try testArgs(@Vector(128, i5), .{
1811                -0x0c, -0x0d, -0x0b, -0x0c, -0x05, -0x09, 0x05,  0x02,  0x0a,  0x01,  -0x07, 0x01,  -0x09, -0x0c, -0x02, 0x03,
1812                -0x0f, 0x08,  0x03,  0x0b,  -0x03, 0x07,  -0x0b, 0x0a,  -0x04, 0x0f,  0x06,  -0x0a, -0x06, -0x0f, -0x0d, -0x0e,
1813                0x0a,  0x02,  -0x0f, 0x0c,  0x0d,  -0x03, 0x09,  -0x0a, 0x0d,  -0x10, -0x02, 0x06,  0x01,  -0x08, 0x0f,  -0x0b,
1814                -0x06, 0x01,  0x00,  -0x07, 0x08,  -0x03, -0x05, -0x03, -0x10, 0x00,  0x02,  0x09,  -0x05, 0x0e,  -0x04, 0x07,
1815                -0x09, -0x06, 0x0c,  0x00,  -0x09, 0x0d,  0x01,  -0x02, 0x07,  -0x0f, 0x09,  -0x0a, 0x04,  0x05,  -0x06, 0x03,
1816                0x0c,  0x02,  -0x05, -0x04, -0x06, -0x03, -0x0a, 0x01,  0x01,  -0x06, -0x06, -0x0e, 0x01,  0x0a,  0x03,  -0x0e,
1817                -0x10, 0x0a,  0x05,  0x04,  -0x01, -0x04, -0x09, -0x0a, 0x0e,  -0x0f, 0x0c,  -0x06, 0x0e,  0x09,  0x00,  0x06,
1818                0x0e,  -0x0a, -0x07, 0x04,  0x0b,  0x0f,  0x09,  -0x0b, 0x03,  0x0b,  0x06,  -0x0f, -0x04, -0x10, 0x03,  -0x01,
1819            });
1820            try testArgs(@Vector(129, i5), .{
1821                -0x02, 0x09,  0x08,  -0x06, 0x02,  -0x0e, -0x01, -0x05, -0x0c, -0x0a, -0x03, 0x06,  -0x02, -0x02, 0x09,  0x06,
1822                -0x02, 0x06,  -0x09, -0x0c, 0x05,  0x07,  -0x02, 0x0c,  0x09,  -0x01, -0x02, 0x04,  0x04,  0x05,  0x05,  0x02,
1823                0x0d,  -0x0f, 0x0c,  -0x08, -0x0a, 0x07,  0x09,  -0x04, -0x0c, 0x00,  0x01,  -0x01, -0x09, -0x0c, 0x0e,  0x0d,
1824                0x0e,  0x0e,  -0x0c, 0x0c,  -0x05, 0x0e,  0x05,  -0x0b, 0x0b,  0x01,  0x04,  0x0b,  -0x10, -0x03, -0x05, 0x0b,
1825                0x05,  -0x0f, -0x10, 0x08,  -0x01, 0x0f,  -0x0e, -0x10, 0x0d,  0x09,  0x00,  -0x01, -0x0f, 0x01,  0x0f,  -0x02,
1826                0x0d,  -0x01, 0x0a,  -0x0a, -0x0a, 0x0c,  -0x01, 0x00,  0x09,  0x01,  -0x08, -0x0e, 0x0d,  0x00,  0x02,  -0x01,
1827                0x04,  -0x0d, 0x00,  0x03,  0x08,  0x0d,  0x05,  0x03,  0x08,  -0x09, -0x01, -0x0c, -0x0f, 0x0b,  0x0d,  -0x08,
1828                0x0e,  0x0d,  0x0d,  0x05,  0x03,  0x01,  -0x0b, 0x0f,  0x07,  -0x08, -0x0d, -0x0b, 0x0f,  -0x0c, -0x05, -0x04,
1829                0x00,
1830            });
1831
1832            try testArgs(@Vector(1, u5), .{
1833                0x1a,
1834            });
1835            try testArgs(@Vector(2, u5), .{
1836                0x0c, 0x0c,
1837            });
1838            try testArgs(@Vector(3, u5), .{
1839                0x07, 0x19, 0x07,
1840            });
1841            try testArgs(@Vector(4, u5), .{
1842                0x17, 0x16, 0x1f, 0x13,
1843            });
1844            try testArgs(@Vector(5, u5), .{
1845                0x03, 0x1a, 0x07, 0x04, 0x0a,
1846            });
1847            try testArgs(@Vector(7, u5), .{
1848                0x00, 0x1c, 0x1d, 0x1a, 0x13, 0x15, 0x00,
1849            });
1850            try testArgs(@Vector(8, u5), .{
1851                0x14, 0x13, 0x11, 0x16, 0x1c, 0x1a, 0x18, 0x1e,
1852            });
1853            try testArgs(@Vector(9, u5), .{
1854                0x09, 0x1a, 0x1a, 0x14, 0x04, 0x09, 0x17, 0x0d, 0x0b,
1855            });
1856            try testArgs(@Vector(15, u5), .{
1857                0x03, 0x01, 0x0c, 0x05, 0x11, 0x06, 0x09, 0x01, 0x15, 0x09, 0x1c, 0x13, 0x16, 0x03, 0x06,
1858            });
1859            try testArgs(@Vector(16, u5), .{
1860                0x13, 0x07, 0x02, 0x10, 0x15, 0x03, 0x00, 0x01, 0x10, 0x13, 0x17, 0x11, 0x16, 0x00, 0x07, 0x10,
1861            });
1862            try testArgs(@Vector(17, u5), .{
1863                0x1b, 0x1b, 0x1b, 0x02, 0x00, 0x02, 0x03, 0x09, 0x08, 0x00, 0x19, 0x01, 0x18, 0x10, 0x13, 0x03,
1864                0x18,
1865            });
1866            try testArgs(@Vector(31, u5), .{
1867                0x1d, 0x1d, 0x1b, 0x12, 0x18, 0x12, 0x1c, 0x14, 0x12, 0x15, 0x19, 0x13, 0x13, 0x15, 0x1c, 0x1f,
1868                0x1c, 0x10, 0x1b, 0x11, 0x17, 0x14, 0x18, 0x1e, 0x17, 0x14, 0x1d, 0x11, 0x14, 0x15, 0x19,
1869            });
1870            try testArgs(@Vector(32, u5), .{
1871                0x00, 0x00, 0x11, 0x19, 0x0d, 0x10, 0x01, 0x10, 0x08, 0x11, 0x00, 0x15, 0x08, 0x05, 0x14, 0x1c,
1872                0x18, 0x01, 0x10, 0x1d, 0x01, 0x18, 0x14, 0x1d, 0x18, 0x08, 0x1d, 0x1d, 0x18, 0x11, 0x1c, 0x1c,
1873            });
1874            try testArgs(@Vector(33, u5), .{
1875                0x0b, 0x18, 0x0f, 0x0c, 0x1f, 0x1f, 0x0f, 0x1a, 0x1b, 0x1e, 0x18, 0x08, 0x0f, 0x0c, 0x0b, 0x1d,
1876                0x1a, 0x0a, 0x0b, 0x0a, 0x1b, 0x19, 0x1c, 0x0a, 0x0b, 0x0e, 0x1b, 0x0a, 0x0b, 0x0b, 0x08, 0x1d,
1877                0x09,
1878            });
1879            try testArgs(@Vector(63, u5), .{
1880                0x14, 0x1b, 0x00, 0x0a, 0x0b, 0x00, 0x05, 0x17, 0x06, 0x1f, 0x1e, 0x0a, 0x03, 0x17, 0x0a, 0x1a,
1881                0x19, 0x01, 0x0d, 0x14, 0x19, 0x0c, 0x09, 0x0e, 0x0a, 0x1c, 0x05, 0x15, 0x0e, 0x17, 0x07, 0x09,
1882                0x0a, 0x1f, 0x17, 0x19, 0x17, 0x13, 0x16, 0x16, 0x0a, 0x02, 0x10, 0x19, 0x10, 0x10, 0x1b, 0x1d,
1883                0x08, 0x08, 0x1b, 0x09, 0x0a, 0x10, 0x1e, 0x1f, 0x18, 0x10, 0x09, 0x07, 0x05, 0x09, 0x1b,
1884            });
1885            try testArgs(@Vector(64, u5), .{
1886                0x09, 0x0d, 0x1c, 0x11, 0x15, 0x0d, 0x09, 0x10, 0x0c, 0x01, 0x05, 0x14, 0x14, 0x18, 0x1d, 0x14,
1887                0x01, 0x15, 0x08, 0x15, 0x0c, 0x10, 0x18, 0x10, 0x11, 0x15, 0x00, 0x1d, 0x08, 0x1d, 0x10, 0x04,
1888                0x1d, 0x05, 0x05, 0x08, 0x00, 0x0c, 0x05, 0x08, 0x09, 0x0d, 0x0c, 0x1d, 0x14, 0x18, 0x01, 0x0d,
1889                0x18, 0x1c, 0x15, 0x19, 0x18, 0x19, 0x09, 0x08, 0x10, 0x0c, 0x1c, 0x1d, 0x0c, 0x04, 0x10, 0x19,
1890            });
1891            try testArgs(@Vector(65, u5), .{
1892                0x15, 0x00, 0x15, 0x13, 0x06, 0x01, 0x10, 0x16, 0x15, 0x01, 0x16, 0x01, 0x00, 0x07, 0x15, 0x00,
1893                0x13, 0x02, 0x13, 0x06, 0x13, 0x14, 0x10, 0x11, 0x00, 0x05, 0x13, 0x04, 0x00, 0x11, 0x15, 0x15,
1894                0x05, 0x11, 0x13, 0x01, 0x07, 0x14, 0x05, 0x13, 0x03, 0x05, 0x07, 0x04, 0x17, 0x14, 0x00, 0x01,
1895                0x13, 0x17, 0x03, 0x15, 0x04, 0x12, 0x13, 0x06, 0x17, 0x00, 0x07, 0x02, 0x16, 0x14, 0x07, 0x10,
1896                0x13,
1897            });
1898            try testArgs(@Vector(127, u5), .{
1899                0x09, 0x04, 0x19, 0x07, 0x1c, 0x0b, 0x1b, 0x1b, 0x1a, 0x11, 0x1f, 0x15, 0x05, 0x08, 0x08, 0x11,
1900                0x08, 0x05, 0x08, 0x0f, 0x00, 0x13, 0x05, 0x0c, 0x15, 0x10, 0x00, 0x0d, 0x13, 0x1d, 0x19, 0x1b,
1901                0x0c, 0x0a, 0x18, 0x09, 0x1c, 0x15, 0x04, 0x17, 0x19, 0x12, 0x05, 0x16, 0x09, 0x19, 0x0c, 0x12,
1902                0x14, 0x12, 0x1a, 0x15, 0x0d, 0x02, 0x1b, 0x05, 0x0d, 0x1e, 0x05, 0x1a, 0x01, 0x1b, 0x06, 0x0b,
1903                0x1c, 0x07, 0x00, 0x06, 0x09, 0x19, 0x13, 0x0a, 0x08, 0x04, 0x1d, 0x15, 0x0f, 0x1f, 0x0b, 0x1c,
1904                0x14, 0x15, 0x1e, 0x15, 0x15, 0x19, 0x0c, 0x0e, 0x07, 0x1f, 0x09, 0x1e, 0x18, 0x0f, 0x1d, 0x15,
1905                0x01, 0x19, 0x0d, 0x15, 0x10, 0x02, 0x15, 0x1f, 0x1e, 0x1d, 0x17, 0x17, 0x05, 0x1d, 0x10, 0x0c,
1906                0x17, 0x00, 0x10, 0x00, 0x0b, 0x12, 0x13, 0x0b, 0x09, 0x08, 0x1c, 0x0d, 0x1d, 0x11, 0x16,
1907            });
1908            try testArgs(@Vector(128, u5), .{
1909                0x14, 0x0f, 0x12, 0x10, 0x04, 0x0b, 0x11, 0x12, 0x18, 0x00, 0x1c, 0x0a, 0x11, 0x0a, 0x0f, 0x1d,
1910                0x09, 0x19, 0x06, 0x11, 0x03, 0x1a, 0x08, 0x0d, 0x03, 0x0e, 0x0e, 0x1a, 0x09, 0x00, 0x1c, 0x05,
1911                0x1c, 0x17, 0x19, 0x0a, 0x0a, 0x08, 0x1b, 0x0f, 0x0a, 0x15, 0x1e, 0x17, 0x1f, 0x1b, 0x10, 0x01,
1912                0x02, 0x1d, 0x11, 0x19, 0x0a, 0x15, 0x0d, 0x09, 0x03, 0x02, 0x00, 0x1d, 0x19, 0x03, 0x0d, 0x10,
1913                0x1b, 0x15, 0x1b, 0x13, 0x03, 0x08, 0x0c, 0x00, 0x16, 0x19, 0x05, 0x17, 0x1d, 0x07, 0x05, 0x15,
1914                0x00, 0x07, 0x01, 0x17, 0x0a, 0x00, 0x0c, 0x08, 0x19, 0x00, 0x0c, 0x06, 0x0b, 0x13, 0x01, 0x0b,
1915                0x0c, 0x03, 0x1c, 0x03, 0x08, 0x07, 0x14, 0x00, 0x02, 0x09, 0x08, 0x05, 0x18, 0x0d, 0x10, 0x1c,
1916                0x0d, 0x11, 0x12, 0x07, 0x01, 0x1d, 0x1e, 0x13, 0x08, 0x09, 0x08, 0x05, 0x16, 0x0c, 0x08, 0x1c,
1917            });
1918            try testArgs(@Vector(129, u5), .{
1919                0x1d, 0x12, 0x0a, 0x02, 0x03, 0x14, 0x1b, 0x00, 0x16, 0x0d, 0x1d, 0x1e, 0x0c, 0x17, 0x0f, 0x07,
1920                0x04, 0x1d, 0x03, 0x0b, 0x0a, 0x10, 0x04, 0x12, 0x00, 0x11, 0x00, 0x11, 0x03, 0x16, 0x0b, 0x08,
1921                0x17, 0x1e, 0x19, 0x10, 0x0f, 0x1d, 0x0a, 0x04, 0x11, 0x0a, 0x1c, 0x16, 0x02, 0x14, 0x13, 0x0f,
1922                0x0d, 0x04, 0x0a, 0x03, 0x1a, 0x0c, 0x18, 0x10, 0x00, 0x0d, 0x03, 0x06, 0x10, 0x03, 0x0e, 0x08,
1923                0x14, 0x10, 0x0b, 0x0d, 0x00, 0x0c, 0x0a, 0x07, 0x06, 0x10, 0x11, 0x1d, 0x06, 0x12, 0x0c, 0x12,
1924                0x00, 0x1d, 0x0f, 0x09, 0x02, 0x1d, 0x17, 0x13, 0x02, 0x09, 0x11, 0x0c, 0x1d, 0x14, 0x01, 0x11,
1925                0x03, 0x1f, 0x16, 0x0c, 0x16, 0x09, 0x11, 0x17, 0x01, 0x12, 0x13, 0x00, 0x1c, 0x0b, 0x03, 0x04,
1926                0x18, 0x0d, 0x06, 0x04, 0x10, 0x1e, 0x09, 0x1c, 0x04, 0x0a, 0x01, 0x0d, 0x1f, 0x1c, 0x1f, 0x1e,
1927                0x00,
1928            });
1929
1930            try testArgs(@Vector(1, i7), .{
1931                0x1e,
1932            });
1933            try testArgs(@Vector(2, i7), .{
1934                -0x2b, 0x17,
1935            });
1936            try testArgs(@Vector(3, i7), .{
1937                0x15, 0x36, 0x3a,
1938            });
1939            try testArgs(@Vector(4, i7), .{
1940                0x10, 0x17, -0x19, 0x1b,
1941            });
1942            try testArgs(@Vector(5, i7), .{
1943                -0x18, 0x0a, 0x2a, -0x3c, -0x2c,
1944            });
1945            try testArgs(@Vector(7, i7), .{
1946                -0x37, 0x1d, 0x2a, -0x3d, 0x07, 0x22, 0x38,
1947            });
1948            try testArgs(@Vector(8, i7), .{
1949                0x2a, -0x06, 0x03, -0x26, 0x18, -0x11, 0x12, 0x3f,
1950            });
1951            try testArgs(@Vector(9, i7), .{
1952                0x39, 0x0b, -0x1d, 0x10, -0x18, -0x2a, -0x2b, 0x16, 0x15,
1953            });
1954            try testArgs(@Vector(15, i7), .{
1955                -0x27, 0x3c, 0x39, -0x27, 0x1f, -0x2b, 0x39, 0x3b, -0x06, 0x38, -0x26, 0x11, -0x23, -0x01, 0x13,
1956            });
1957            try testArgs(@Vector(16, i7), .{
1958                0x31, -0x35, -0x21, 0x27, 0x13, 0x05, 0x07, 0x0d, -0x27, 0x3d, -0x0b, 0x0d, -0x1f, -0x13, -0x09, 0x1b,
1959            });
1960            try testArgs(@Vector(17, i7), .{
1961                0x2d, 0x2d, -0x05, -0x0a, 0x38, -0x3a, -0x36, 0x09, -0x34, -0x15, 0x34, 0x3d, 0x07, -0x16, -0x23, 0x10,
1962                0x35,
1963            });
1964            try testArgs(@Vector(31, i7), .{
1965                -0x32, -0x39, 0x37,  0x2d, -0x2a, 0x17,  -0x3a, 0x17, 0x0e,  -0x39, -0x11, 0x07,  0x0c,  0x2c, -0x19, -0x12,
1966                0x1e,  0x1f,  -0x3c, 0x0d, 0x25,  -0x0a, -0x13, 0x15, -0x33, 0x3f,  0x3c,  -0x3b, -0x0b, 0x06, -0x23,
1967            });
1968            try testArgs(@Vector(32, i7), .{
1969                0x1d, 0x2e, 0x1e, 0x00, 0x10, 0x09, 0x07, 0x20, 0x26, 0x2b, 0x0a, 0x02, 0x0c, 0x3d, 0x3f, 0x06,
1970                0x34, 0x13, 0x17, 0x1d, 0x1d, 0x0f, 0x1b, 0x05, 0x36, 0x0a, 0x1f, 0x14, 0x13, 0x3f, 0x1a, 0x3a,
1971            });
1972            try testArgs(@Vector(33, i7), .{
1973                0x19, 0x31, 0x3d, -0x38, -0x3b, 0x2b, -0x11, -0x1c, 0x2c, 0x25,  0x37, 0x3d, 0x34, -0x38, -0x0d, 0x01,
1974                0x37, 0x3c, 0x3f, 0x02,  0x00,  0x0e, 0x22,  -0x03, 0x26, -0x1f, 0x0b, 0x0f, 0x0f, -0x39, 0x10,  0x27,
1975                0x28,
1976            });
1977            try testArgs(@Vector(63, i7), .{
1978                0x13,  0x2c,  -0x08, 0x2f,  0x2c,  -0x3a, 0x3e,  -0x01, 0x0a,  0x12,  -0x1f, 0x34, 0x21,  -0x3f, -0x0f, -0x3d,
1979                0x38,  0x1e,  0x11,  0x3a,  -0x36, 0x2f,  -0x03, -0x39, 0x3b,  -0x3f, -0x29, 0x33, 0x25,  0x18,  0x0c,  -0x3e,
1980                -0x0f, 0x0d,  -0x01, -0x08, -0x2a, 0x33,  0x2b,  0x35,  0x18,  -0x29, -0x05, 0x20, 0x02,  0x39,  -0x24, 0x2f,
1981                0x36,  -0x04, -0x40, 0x2e,  0x07,  0x04,  -0x39, -0x3c, -0x24, 0x13,  -0x10, 0x30, -0x2f, -0x39, -0x01,
1982            });
1983            try testArgs(@Vector(64, i7), .{
1984                0x20,  -0x18, -0x15, -0x3a, 0x11,  0x39,  -0x23, 0x19,  -0x0a, -0x02, -0x1b, -0x28, -0x1f, -0x12, -0x33, -0x0f,
1985                -0x37, 0x2a,  0x35,  -0x08, 0x19,  0x2c,  0x11,  -0x13, -0x16, 0x00,  -0x40, -0x3c, -0x16, 0x39,  0x01,  0x3c,
1986                0x01,  -0x3e, -0x27, -0x17, -0x08, -0x3b, 0x13,  0x2f,  0x38,  -0x37, 0x0b,  0x03,  -0x21, -0x10, -0x40, 0x0a,
1987                -0x3c, 0x2f,  -0x0b, 0x12,  -0x2e, -0x32, 0x1b,  -0x35, -0x20, -0x1d, -0x10, 0x2f,  -0x40, 0x09,  0x13,  0x13,
1988            });
1989            try testArgs(@Vector(65, i7), .{
1990                0x0a,  0x16,  -0x31, -0x06, -0x26, -0x14, -0x38, -0x32, -0x2e, -0x07, 0x03,  0x3c,  0x34,  -0x14, -0x3b, 0x03,
1991                -0x11, -0x18, -0x12, -0x2f, -0x1c, 0x17,  0x0f,  0x0f,  0x2d,  -0x15, 0x33,  -0x2c, -0x2a, 0x2e,  0x26,  -0x3f,
1992                -0x07, -0x3f, -0x23, -0x31, -0x05, -0x32, -0x0e, 0x15,  -0x33, -0x03, -0x28, -0x1e, 0x15,  -0x3e, 0x37,  0x30,
1993                -0x35, 0x31,  -0x3e, 0x03,  0x17,  -0x0e, 0x2d,  -0x19, -0x2b, -0x3b, -0x16, 0x3f,  0x3c,  0x1b,  -0x12, -0x30,
1994                -0x08,
1995            });
1996            try testArgs(@Vector(127, i7), .{
1997                -0x2c, -0x13, -0x40, 0x12,  0x16,  -0x15, -0x29, 0x3c,  -0x2f, 0x24,  0x24,  0x27,  0x11,  -0x0b, 0x24,  -0x11,
1998                0x0a,  0x2a,  0x23,  -0x0f, 0x0f,  0x01,  -0x2b, -0x06, 0x02,  -0x1d, -0x09, -0x09, 0x2f,  0x09,  0x1c,  -0x0e,
1999                -0x3a, -0x18, -0x1e, -0x34, -0x20, 0x27,  -0x26, 0x26,  0x1f,  0x3c,  -0x35, -0x33, 0x15,  0x32,  -0x3e, -0x27,
2000                -0x3b, 0x0f,  -0x1c, -0x33, -0x28, 0x0b,  -0x1d, -0x21, -0x2b, 0x1d,  0x2a,  0x37,  -0x26, 0x0c,  -0x3e, -0x19,
2001                0x0a,  -0x34, 0x03,  0x02,  -0x2a, 0x36,  -0x06, 0x15,  0x09,  -0x0a, 0x0f,  0x07,  -0x09, 0x07,  -0x14, 0x24,
2002                -0x2f, 0x29,  -0x29, -0x0f, -0x3b, 0x08,  -0x0d, 0x11,  0x09,  -0x0f, 0x0c,  -0x27, -0x16, -0x2c, -0x14, 0x2e,
2003                -0x0c, -0x01, 0x19,  0x15,  0x21,  0x3f,  -0x03, 0x28,  -0x3d, -0x04, -0x0a, -0x2a, 0x2c,  -0x25, 0x1b,  0x2e,
2004                0x23,  -0x31, 0x03,  -0x06, 0x2b,  -0x04, 0x2e,  -0x07, -0x10, -0x10, -0x35, 0x24,  -0x3b, -0x36, 0x21,
2005            });
2006            try testArgs(@Vector(128, i7), .{
2007                0x28,  0x0a,  -0x3c, -0x31, 0x35,  -0x19, 0x3b,  0x3e,  -0x17, 0x0e,  0x3e,  -0x34, 0x23,  0x2d,  -0x27, -0x1a,
2008                0x38,  -0x1d, 0x10,  0x0c,  -0x20, -0x0e, 0x33,  -0x01, 0x0e,  -0x14, -0x14, 0x0f,  -0x39, 0x3d,  0x03,  -0x1b,
2009                0x0c,  0x04,  -0x0c, -0x2b, -0x25, 0x02,  0x20,  -0x1b, -0x04, 0x37,  -0x30, -0x10, -0x05, 0x0c,  -0x0d, -0x40,
2010                0x20,  0x29,  -0x3b, -0x24, -0x3e, 0x29,  -0x3c, 0x1a,  0x34,  0x2f,  -0x05, -0x11, 0x27,  0x25,  -0x25, 0x19,
2011                -0x2d, -0x14, 0x0c,  0x3b,  -0x22, -0x04, -0x19, 0x12,  -0x15, -0x0c, 0x29,  0x0a,  -0x18, -0x22, 0x27,  0x17,
2012                -0x2e, -0x01, -0x24, -0x10, 0x18,  -0x0b, -0x1f, 0x1f,  0x30,  -0x1e, -0x32, 0x17,  -0x34, -0x11, 0x29,  0x0f,
2013                0x37,  -0x01, 0x06,  -0x32, 0x1d,  -0x2a, 0x23,  -0x1c, 0x36,  0x33,  0x0b,  -0x19, 0x02,  0x15,  0x1b,  -0x1a,
2014                -0x30, 0x34,  -0x1f, 0x1e,  0x13,  -0x20, -0x31, -0x03, 0x1a,  -0x01, 0x36,  0x10,  0x2b,  0x17,  0x1f,  0x0e,
2015            });
2016            try testArgs(@Vector(129, i7), .{
2017                0x13, 0x20, 0x21, 0x11, 0x2c, 0x12, 0x23, 0x38, 0x00, 0x02, 0x2b, 0x30, 0x03, 0x21, 0x31, 0x3b,
2018                0x2c, 0x33, 0x1b, 0x3d, 0x1d, 0x2d, 0x22, 0x0a, 0x16, 0x3b, 0x04, 0x39, 0x24, 0x1e, 0x25, 0x2f,
2019                0x1e, 0x3d, 0x0a, 0x2f, 0x14, 0x18, 0x31, 0x2f, 0x07, 0x1d, 0x20, 0x25, 0x29, 0x36, 0x06, 0x2e,
2020                0x29, 0x1f, 0x3f, 0x26, 0x3d, 0x0b, 0x1b, 0x1d, 0x2f, 0x00, 0x14, 0x2b, 0x02, 0x13, 0x3c, 0x32,
2021                0x37, 0x0c, 0x00, 0x03, 0x28, 0x05, 0x39, 0x18, 0x38, 0x3c, 0x19, 0x1e, 0x35, 0x27, 0x0d, 0x08,
2022                0x0a, 0x28, 0x2a, 0x26, 0x0d, 0x10, 0x1b, 0x37, 0x2d, 0x11, 0x3b, 0x35, 0x1b, 0x31, 0x01, 0x0c,
2023                0x0d, 0x31, 0x32, 0x2c, 0x22, 0x2a, 0x0b, 0x05, 0x26, 0x3f, 0x13, 0x2c, 0x1a, 0x21, 0x1f, 0x14,
2024                0x16, 0x0d, 0x39, 0x20, 0x00, 0x23, 0x03, 0x34, 0x0a, 0x06, 0x17, 0x1b, 0x22, 0x11, 0x0e, 0x2e,
2025                0x0f,
2026            });
2027
2028            try testArgs(@Vector(1, u7), .{
2029                0x52,
2030            });
2031            try testArgs(@Vector(2, u7), .{
2032                0x06, 0x14,
2033            });
2034            try testArgs(@Vector(3, u7), .{
2035                0x03, 0x0d, 0x6b,
2036            });
2037            try testArgs(@Vector(4, u7), .{
2038                0x05, 0x26, 0x0c, 0x0b,
2039            });
2040            try testArgs(@Vector(5, u7), .{
2041                0x12, 0x43, 0x4b, 0x5d, 0x76,
2042            });
2043            try testArgs(@Vector(7, u7), .{
2044                0x51, 0x04, 0x52, 0x71, 0x05, 0x33, 0x53,
2045            });
2046            try testArgs(@Vector(8, u7), .{
2047                0x06, 0x65, 0x03, 0x61, 0x2a, 0x21, 0x01, 0x63,
2048            });
2049            try testArgs(@Vector(9, u7), .{
2050                0x38, 0x42, 0x79, 0x30, 0x20, 0x00, 0x00, 0x28, 0x22,
2051            });
2052            try testArgs(@Vector(15, u7), .{
2053                0x1e, 0x3f, 0x32, 0x2c, 0x01, 0x3f, 0x0a, 0x32, 0x39, 0x09, 0x24, 0x2b, 0x0f, 0x03, 0x3e,
2054            });
2055            try testArgs(@Vector(16, u7), .{
2056                0x74, 0x34, 0x11, 0x67, 0x52, 0x6d, 0x5e, 0x77, 0x00, 0x75, 0x4f, 0x54, 0x79, 0x21, 0x6d, 0x66,
2057            });
2058            try testArgs(@Vector(17, u7), .{
2059                0x71, 0x6c, 0x68, 0x5f, 0x42, 0x47, 0x7e, 0x42, 0x50, 0x50, 0x78, 0x57, 0x7b, 0x72, 0x57, 0x79,
2060                0x44,
2061            });
2062            try testArgs(@Vector(31, u7), .{
2063                0x3f, 0x64, 0x09, 0x5d, 0x61, 0x72, 0x50, 0x52, 0x5f, 0x2d, 0x54, 0x0b, 0x38, 0x08, 0x2a, 0x01,
2064                0x43, 0x1b, 0x21, 0x23, 0x26, 0x02, 0x0c, 0x32, 0x34, 0x4a, 0x77, 0x71, 0x68, 0x14, 0x2f,
2065            });
2066            try testArgs(@Vector(32, u7), .{
2067                0x03, 0x32, 0x20, 0x55, 0x77, 0x66, 0x71, 0x13, 0x55, 0x23, 0x34, 0x34, 0x40, 0x40, 0x45, 0x44,
2068                0x13, 0x00, 0x74, 0x21, 0x61, 0x12, 0x52, 0x32, 0x50, 0x05, 0x45, 0x22, 0x51, 0x07, 0x74, 0x03,
2069            });
2070            try testArgs(@Vector(33, u7), .{
2071                0x42, 0x42, 0x4c, 0x03, 0x53, 0x4a, 0x4c, 0x06, 0x44, 0x09, 0x01, 0x12, 0x4d, 0x01, 0x47, 0x1c,
2072                0x4c, 0x0b, 0x5a, 0x10, 0x42, 0x5a, 0x49, 0x0b, 0x19, 0x4f, 0x5b, 0x4b, 0x4e, 0x58, 0x4b, 0x1f,
2073                0x56,
2074            });
2075            try testArgs(@Vector(63, u7), .{
2076                0x51, 0x65, 0x25, 0x1b, 0x0f, 0x2f, 0x7a, 0x5e, 0x0f, 0x07, 0x40, 0x24, 0x5b, 0x29, 0x32, 0x14,
2077                0x43, 0x0b, 0x3e, 0x7a, 0x33, 0x08, 0x4a, 0x2d, 0x47, 0x5b, 0x17, 0x21, 0x25, 0x33, 0x14, 0x28,
2078                0x58, 0x60, 0x52, 0x67, 0x3c, 0x31, 0x0e, 0x09, 0x36, 0x15, 0x06, 0x13, 0x64, 0x46, 0x3a, 0x58,
2079                0x75, 0x68, 0x58, 0x56, 0x45, 0x44, 0x7c, 0x74, 0x51, 0x13, 0x49, 0x41, 0x0d, 0x5f, 0x64,
2080            });
2081            try testArgs(@Vector(64, u7), .{
2082                0x3b, 0x10, 0x70, 0x63, 0x0e, 0x36, 0x15, 0x00, 0x1d, 0x39, 0x4b, 0x0b, 0x03, 0x20, 0x27, 0x18,
2083                0x34, 0x48, 0x70, 0x37, 0x67, 0x21, 0x24, 0x09, 0x74, 0x62, 0x49, 0x34, 0x50, 0x05, 0x17, 0x47,
2084                0x13, 0x16, 0x34, 0x00, 0x00, 0x0d, 0x57, 0x1f, 0x4b, 0x53, 0x50, 0x00, 0x32, 0x02, 0x11, 0x16,
2085                0x39, 0x0d, 0x12, 0x3a, 0x5e, 0x51, 0x32, 0x48, 0x3a, 0x5e, 0x61, 0x64, 0x0b, 0x50, 0x56, 0x2e,
2086            });
2087            try testArgs(@Vector(65, u7), .{
2088                0x6e, 0x03, 0x6e, 0x39, 0x79, 0x49, 0x76, 0x12, 0x58, 0x52, 0x61, 0x58, 0x6f, 0x1a, 0x52, 0x1b,
2089                0x55, 0x77, 0x2a, 0x61, 0x1c, 0x4d, 0x0c, 0x71, 0x7c, 0x6b, 0x5f, 0x18, 0x63, 0x52, 0x5d, 0x6a,
2090                0x0f, 0x41, 0x4d, 0x0a, 0x7f, 0x78, 0x34, 0x0a, 0x37, 0x38, 0x31, 0x11, 0x45, 0x7e, 0x32, 0x2f,
2091                0x16, 0x0d, 0x45, 0x43, 0x67, 0x6d, 0x76, 0x54, 0x28, 0x5d, 0x09, 0x0b, 0x52, 0x20, 0x68, 0x65,
2092                0x7d,
2093            });
2094            try testArgs(@Vector(127, u7), .{
2095                0x02, 0x34, 0x23, 0x24, 0x28, 0x3c, 0x0e, 0x20, 0x03, 0x27, 0x13, 0x23, 0x1d, 0x32, 0x3f, 0x3f,
2096                0x1b, 0x37, 0x28, 0x2b, 0x38, 0x38, 0x2f, 0x0f, 0x07, 0x0c, 0x3d, 0x35, 0x2d, 0x0f, 0x1b, 0x32,
2097                0x3d, 0x30, 0x1c, 0x1a, 0x34, 0x21, 0x3d, 0x0f, 0x1e, 0x02, 0x0a, 0x2c, 0x16, 0x0c, 0x30, 0x37,
2098                0x16, 0x2a, 0x1f, 0x2d, 0x1f, 0x3d, 0x0c, 0x2e, 0x15, 0x1f, 0x2a, 0x10, 0x37, 0x3d, 0x2a, 0x3c,
2099                0x22, 0x17, 0x23, 0x0f, 0x3b, 0x21, 0x31, 0x02, 0x36, 0x31, 0x03, 0x14, 0x1b, 0x39, 0x29, 0x25,
2100                0x37, 0x37, 0x09, 0x33, 0x0a, 0x10, 0x10, 0x20, 0x07, 0x1e, 0x1c, 0x36, 0x05, 0x2f, 0x1a, 0x1a,
2101                0x21, 0x0b, 0x20, 0x30, 0x2c, 0x1e, 0x03, 0x2e, 0x09, 0x26, 0x3f, 0x30, 0x06, 0x37, 0x1c, 0x34,
2102                0x31, 0x0d, 0x2e, 0x3d, 0x24, 0x26, 0x10, 0x08, 0x14, 0x0f, 0x1c, 0x27, 0x37, 0x04, 0x02,
2103            });
2104            try testArgs(@Vector(128, u7), .{
2105                0x7b, 0x60, 0x69, 0x7b, 0x74, 0x5f, 0x51, 0x43, 0x69, 0x4b, 0x6f, 0x7f, 0x79, 0x5b, 0x56, 0x56,
2106                0x67, 0x70, 0x72, 0x73, 0x51, 0x60, 0x47, 0x5b, 0x79, 0x56, 0x62, 0x4f, 0x6f, 0x69, 0x6e, 0x68,
2107                0x4a, 0x47, 0x5e, 0x5b, 0x67, 0x6d, 0x64, 0x4a, 0x4e, 0x72, 0x50, 0x6b, 0x51, 0x43, 0x4b, 0x74,
2108                0x63, 0x6a, 0x75, 0x6f, 0x66, 0x74, 0x44, 0x51, 0x79, 0x46, 0x6d, 0x49, 0x49, 0x54, 0x62, 0x7d,
2109                0x40, 0x55, 0x70, 0x40, 0x6a, 0x5a, 0x65, 0x7d, 0x58, 0x4b, 0x49, 0x59, 0x5d, 0x5a, 0x61, 0x6a,
2110                0x4d, 0x5f, 0x5a, 0x62, 0x7f, 0x66, 0x7d, 0x53, 0x6b, 0x4f, 0x7e, 0x7b, 0x75, 0x73, 0x67, 0x6f,
2111                0x64, 0x6b, 0x75, 0x5a, 0x76, 0x53, 0x7b, 0x7a, 0x5d, 0x40, 0x6b, 0x5b, 0x6c, 0x65, 0x7a, 0x6a,
2112                0x5b, 0x43, 0x54, 0x74, 0x43, 0x7a, 0x57, 0x44, 0x44, 0x60, 0x4b, 0x47, 0x46, 0x7c, 0x63, 0x6b,
2113            });
2114            try testArgs(@Vector(129, u7), .{
2115                0x0f, 0x3b, 0x4f, 0x51, 0x55, 0x67, 0x07, 0x17, 0x53, 0x73, 0x25, 0x7b, 0x33, 0x6b, 0x0d, 0x29,
2116                0x51, 0x0b, 0x1d, 0x39, 0x1b, 0x2b, 0x33, 0x47, 0x73, 0x17, 0x59, 0x0d, 0x4b, 0x67, 0x5f, 0x1b,
2117                0x49, 0x3d, 0x7f, 0x3b, 0x49, 0x7f, 0x2d, 0x4b, 0x49, 0x55, 0x7d, 0x37, 0x29, 0x5d, 0x5f, 0x5d,
2118                0x4f, 0x39, 0x13, 0x39, 0x75, 0x6b, 0x2f, 0x33, 0x6f, 0x05, 0x45, 0x37, 0x0f, 0x7b, 0x25, 0x35,
2119                0x77, 0x09, 0x1d, 0x3d, 0x19, 0x11, 0x65, 0x6d, 0x01, 0x59, 0x6d, 0x2f, 0x5d, 0x01, 0x43, 0x0b,
2120                0x7f, 0x43, 0x13, 0x5d, 0x2b, 0x0d, 0x09, 0x69, 0x0d, 0x41, 0x37, 0x43, 0x5b, 0x07, 0x3d, 0x49,
2121                0x53, 0x0f, 0x15, 0x75, 0x01, 0x43, 0x3b, 0x45, 0x63, 0x15, 0x25, 0x15, 0x27, 0x5b, 0x33, 0x17,
2122                0x5d, 0x2b, 0x25, 0x73, 0x23, 0x2d, 0x49, 0x67, 0x51, 0x75, 0x31, 0x63, 0x39, 0x61, 0x1d, 0x1d,
2123                0x0d,
2124            });
2125
2126            try testArgs(@Vector(1, i8), .{
2127                -0x16,
2128            });
2129            try testArgs(@Vector(2, i8), .{
2130                0x18, 0x1b,
2131            });
2132            try testArgs(@Vector(3, i8), .{
2133                0x7a, 0x6f, 0x40,
2134            });
2135            try testArgs(@Vector(4, i8), .{
2136                0x14, -0x12, -0x53, 0x34,
2137            });
2138            try testArgs(@Vector(5, i8), .{
2139                -0x39, 0x63, 0x1a, 0x03, -0x48,
2140            });
2141            try testArgs(@Vector(7, i8), .{
2142                -0x56, -0x40, -0x1f, 0x7b, -0x7a, 0x39, -0x7b,
2143            });
2144            try testArgs(@Vector(8, i8), .{
2145                0x75, -0x64, -0x12, -0x0c, -0x47, 0x6f, 0x53, 0x1b,
2146            });
2147            try testArgs(@Vector(9, i8), .{
2148                0x29, 0x55, 0x4c, -0x4f, 0x54, 0x34, -0x21, -0x42, 0x36,
2149            });
2150            try testArgs(@Vector(15, i8), .{
2151                0x5f, -0x41, 0x76, 0x7c, 0x26, -0x5b, -0x4a, -0x7c, 0x26, 0x45, -0x69, 0x05, 0x67, 0x0f, -0x64,
2152            });
2153            try testArgs(@Vector(16, i8), .{
2154                -0x05, 0x77, 0x6f, -0x07, -0x7a, 0x56, -0x4d, -0x75, 0x02, -0x01, -0x4d, -0x7e, -0x24, 0x3a, -0x0b, 0x0a,
2155            });
2156            try testArgs(@Vector(17, i8), .{
2157                0x68,  0x06, -0x31, 0x7e, 0x07, 0x1d, 0x63, -0x01, -0x66, -0x75, 0x15, 0x00, 0x17, 0x00, -0x74, 0x03,
2158                -0x6b,
2159            });
2160            try testArgs(@Vector(31, i8), .{
2161                0x49, -0x72, 0x72, 0x15, 0x63,  -0x4c, 0x04,  0x62, 0x21, -0x30, 0x57,  0x53,  -0x33, 0x1b, -0x3b, -0x03,
2162                0x7d, -0x2c, 0x4a, 0x7b, -0x63, 0x36,  -0x0b, 0x26, 0x4d, -0x60, -0x14, -0x6e, 0x6f,  0x7c, 0x3e,
2163            });
2164            try testArgs(@Vector(32, i8), .{
2165                -0x1a, -0x5f, -0x79, -0x10, -0x5e, 0x62, -0x0c, -0x3a, 0x37,  0x60, -0x1b, 0x72, 0x74, -0x1d, 0x32,  -0x7c,
2166                0x31,  -0x7b, 0x70,  -0x4e, -0x7f, 0x53, 0x32,  -0x3d, -0x49, 0x42, -0x4b, 0x74, 0x13, 0x70,  -0x79, 0x64,
2167            });
2168            try testArgs(@Vector(33, i8), .{
2169                0x60,  -0x0e, 0x06, -0x2a, -0x4a, -0x1a, 0x13,  0x20, 0x21, 0x60, 0x63, -0x6a, -0x1e, -0x10, 0x24,  0x76,
2170                0x22,  -0x5c, 0x03, 0x03,  0x46,  -0x30, -0x0e, 0x24, 0x73, 0x30, 0x24, -0x5d, -0x5d, 0x24,  -0x1b, 0x31,
2171                -0x79,
2172            });
2173            try testArgs(@Vector(63, i8), .{
2174                -0x6b, 0x17,  -0x12, -0x5b, 0x29,  -0x03, -0x57, -0x1e, -0x70, 0x69,  -0x1e, 0x40,  0x18,  0x32,  0x5e, 0x3b,
2175                0x39,  0x2b,  -0x04, 0x54,  0x6a,  0x15,  -0x04, 0x74,  0x12,  -0x6f, 0x36,  -0x1b, -0x7a, 0x3a,  0x63, -0x4d,
2176                -0x6e, -0x5e, 0x34,  0x39,  -0x79, -0x1b, -0x6e, -0x3d, -0x5f, -0x1e, 0x70,  -0x6c, -0x46, 0x45,  0x6f, 0x6e,
2177                0x38,  -0x2d, -0x1e, -0x2c, -0x7a, 0x1c,  0x33,  0x26,  -0x37, 0x06,  -0x68, -0x7b, -0x2e, -0x48, 0x72,
2178            });
2179            try testArgs(@Vector(64, i8), .{
2180                0x23,  0x3b,  0x67,  -0x61, 0x11,  -0x45, -0x39, 0x43,  0x23,  0x37,  0x57, 0x6b,  -0x4f, 0x05,  -0x23, 0x1b,
2181                -0x3d, -0x73, 0x31,  0x6d,  -0x2f, -0x7b, 0x49,  -0x4d, -0x03, -0x5f, 0x13, 0x17,  -0x79, -0x03, 0x47,  -0x1f,
2182                0x51,  0x2d,  -0x55, -0x4d, -0x5f, 0x2b,  0x53,  -0x2f, -0x39, 0x23,  0x01, 0x29,  -0x65, -0x61, 0x57,  0x21,
2183                -0x6d, 0x71,  0x59,  -0x2d, -0x6d, 0x59,  -0x39, 0x55,  0x27,  0x67,  0x73, -0x4d, 0x1f,  0x75,  -0x05, 0x15,
2184            });
2185            try testArgs(@Vector(65, i8), .{
2186                -0x59, -0x45, -0x4a, -0x55, -0x0a, -0x11, 0x70,  0x20,  -0x1f, -0x56, 0x28,  0x2d,  0x7e,  0x2f,  -0x0e, -0x5d,
2187                0x2e,  0x7f,  -0x04, -0x48, -0x51, 0x27,  0x72,  0x24,  0x39,  -0x05, -0x4a, -0x60, 0x21,  0x7c,  -0x51, 0x6d,
2188                -0x55, -0x42, 0x71,  -0x08, -0x1f, 0x2a,  0x60,  -0x07, -0x10, -0x0a, 0x68,  0x39,  -0x4f, -0x44, 0x2b,  -0x15,
2189                0x7f,  0x71,  -0x51, -0x03, 0x3c,  0x3d,  -0x46, 0x70,  0x20,  -0x4b, 0x37,  0x72,  -0x50, -0x0a, 0x27,  -0x5b,
2190                -0x0d,
2191            });
2192            try testArgs(@Vector(127, i8), .{
2193                -0x13, -0x04, -0x6e, 0x5c,  0x20,  -0x51, 0x21,  0x7b,  -0x5d, 0x14,  0x72,  -0x32, 0x50,  0x3f,  0x0e,  -0x5d,
2194                0x3e,  0x77,  -0x4e, -0x4d, 0x71,  0x71,  0x49,  0x11,  0x27,  -0x0f, 0x08,  0x37,  0x08,  0x01,  -0x77, 0x2e,
2195                0x45,  0x20,  0x1c,  -0x17, 0x03,  -0x22, 0x01,  -0x1f, 0x71,  -0x05, -0x1e, -0x3d, 0x02,  -0x30, -0x5f, 0x17,
2196                -0x4a, -0x50, 0x16,  0x6f,  0x0c,  0x77,  -0x44, -0x6c, -0x79, -0x75, 0x05,  -0x3a, 0x11,  0x45,  0x57,  -0x0f,
2197                0x57,  0x44,  0x4c,  -0x63, 0x4b,  0x35,  0x16,  -0x3e, 0x5d,  -0x02, 0x22,  -0x0c, 0x6f,  0x37,  0x49,  0x0b,
2198                0x2a,  0x27,  0x3c,  0x21,  -0x7f, 0x7e,  -0x29, -0x04, -0x72, -0x1a, -0x35, 0x69,  0x20,  0x68,  -0x72, -0x58,
2199                -0x32, 0x0f,  0x4a,  -0x2a, 0x1b,  0x07,  0x74,  -0x44, -0x3e, -0x45, 0x54,  -0x4e, 0x27,  -0x4a, -0x0d, 0x55,
2200                -0x55, -0x67, 0x48,  -0x0d, -0x6c, 0x6a,  0x2c,  0x18,  -0x6d, -0x50, -0x2d, -0x2f, -0x01, -0x6b, 0x61,
2201            });
2202            try testArgs(@Vector(128, i8), .{
2203                0x55,  0x0f,  -0x65, 0x0c,  0x0f,  -0x22, -0x7a, 0x53,  -0x3c, -0x35, 0x50,  0x5c,  0x53,  -0x3d, -0x38, 0x18,
2204                0x5c,  -0x66, 0x0c,  -0x30, -0x77, -0x2d, -0x37, 0x5d,  -0x30, -0x7b, -0x68, 0x1f,  -0x2f, 0x56,  0x44,  -0x7c,
2205                0x02,  -0x2d, 0x15,  -0x22, -0x6b, 0x07,  -0x77, 0x1e,  -0x3a, 0x0e,  0x0e,  -0x69, 0x54,  -0x65, 0x54,  0x02,
2206                -0x2b, 0x56,  0x49,  -0x23, -0x40, 0x53,  0x0c,  -0x66, -0x21, -0x67, -0x26, -0x65, -0x6c, -0x22, -0x3a, -0x79,
2207                0x45,  0x50,  0x0e,  -0x34, -0x80, 0x13,  -0x2c, -0x22, -0x7e, -0x24, 0x46,  -0x21, 0x04,  0x41,  -0x37, 0x10,
2208                -0x7c, 0x4e,  -0x3a, 0x01,  0x12,  -0x6c, -0x2e, -0x21, -0x6a, -0x22, 0x04,  -0x6d, -0x7e, 0x02,  -0x27, -0x6e,
2209                -0x64, -0x70, 0x50,  0x48,  -0x24, 0x5a,  0x41,  -0x68, -0x3b, 0x47,  0x0d,  -0x70, -0x3a, 0x0f,  -0x28, -0x40,
2210                0x1a,  -0x6c, 0x11,  0x05,  0x5d,  0x5f,  0x5a,  0x0f,  0x56,  -0x37, -0x29, 0x5e,  0x56,  0x4b,  -0x22, 0x19,
2211            });
2212            try testArgs(@Vector(129, i8), .{
2213                0x0a,  -0x15, -0x4a, -0x03, -0x0b, -0x5f, 0x7a,  -0x52, 0x44,  -0x40, 0x4d,  0x22,  0x51,  -0x5c, 0x59,  0x1e,
2214                0x1c,  0x45,  -0x31, -0x6f, 0x39,  0x6a,  -0x1a, -0x36, 0x70,  -0x6e, -0x29, 0x49,  0x4d,  0x29,  -0x2f, 0x36,
2215                -0x08, -0x20, 0x18,  -0x68, -0x3e, 0x13,  -0x69, -0x6d, -0x31, 0x50,  0x16,  -0x73, 0x67,  0x05,  -0x24, 0x47,
2216                0x1e,  0x06,  -0x13, -0x4b, -0x5d, -0x02, -0x4e, 0x01,  -0x2a, 0x7b,  0x09,  -0x25, 0x48,  -0x65, 0x1c,  -0x25,
2217                -0x58, 0x35,  0x63,  0x06,  0x30,  -0x1d, -0x33, 0x2f,  0x7c,  -0x6e, -0x69, -0x57, -0x2d, 0x72,  -0x7c, 0x2c,
2218                -0x15, 0x0c,  0x0f,  -0x60, -0x01, -0x10, 0x4f,  0x6a,  0x3b,  0x34,  -0x18, 0x79,  0x1b,  -0x5b, 0x61,  0x17,
2219                -0x24, -0x20, -0x07, -0x16, -0x38, 0x13,  0x44,  -0x68, -0x32, -0x12, -0x51, 0x78,  -0x6d, -0x24, -0x37, 0x52,
2220                0x27,  -0x08, -0x48, -0x57, -0x2c, -0x66, -0x4c, 0x15,  0x67,  0x1f,  0x4e,  -0x4b, -0x09, -0x6d, -0x06, 0x53,
2221                -0x74,
2222            });
2223
2224            try testArgs(@Vector(1, u8), .{
2225                0x24,
2226            });
2227            try testArgs(@Vector(2, u8), .{
2228                0xe0, 0xf6,
2229            });
2230            try testArgs(@Vector(3, u8), .{
2231                0xa4, 0xc5, 0xfa,
2232            });
2233            try testArgs(@Vector(4, u8), .{
2234                0x40, 0x1e, 0x54, 0x19,
2235            });
2236            try testArgs(@Vector(5, u8), .{
2237                0xe1, 0xe4, 0x6d, 0xec, 0x24,
2238            });
2239            try testArgs(@Vector(7, u8), .{
2240                0xa1, 0x99, 0x91, 0x20, 0xe3, 0x2a, 0xca,
2241            });
2242            try testArgs(@Vector(8, u8), .{
2243                0x62, 0x03, 0x04, 0xa1, 0x19, 0xa4, 0xbc, 0xec,
2244            });
2245            try testArgs(@Vector(9, u8), .{
2246                0x5a, 0x3e, 0x4c, 0x7a, 0x79, 0xde, 0xff, 0x6b, 0xcd,
2247            });
2248            try testArgs(@Vector(15, u8), .{
2249                0x73, 0xdd, 0x7d, 0x97, 0x0b, 0x27, 0xa9, 0x55, 0x0f, 0x35, 0x07, 0x1f, 0x81, 0xbf, 0x83,
2250            });
2251            try testArgs(@Vector(16, u8), .{
2252                0xef, 0x69, 0x8f, 0xd9, 0x3d, 0xef, 0x2f, 0x43, 0x27, 0x3d, 0x49, 0xcf, 0xed, 0x3d, 0xfb, 0x97,
2253            });
2254            try testArgs(@Vector(17, u8), .{
2255                0x0e, 0xd4, 0x7d, 0x16, 0xe7, 0xf5, 0xf4, 0x54, 0xb6, 0x55, 0x06, 0x17, 0xbe, 0xfd, 0xae, 0x4f,
2256                0x6e,
2257            });
2258            try testArgs(@Vector(31, u8), .{
2259                0x97, 0x3d, 0xed, 0xdf, 0xd9, 0xe9, 0xbd, 0x4b, 0xfb, 0x4f, 0x6b, 0x51, 0xa1, 0xa1, 0xa5, 0x9f,
2260                0x8d, 0xad, 0xdb, 0x27, 0xc7, 0x9f, 0x8f, 0x23, 0x07, 0x15, 0x7b, 0xad, 0x73, 0xc5, 0x9d,
2261            });
2262            try testArgs(@Vector(32, u8), .{
2263                0xed, 0xbc, 0xf3, 0x76, 0xb4, 0xb5, 0xb7, 0xa4, 0x79, 0x73, 0xb7, 0x20, 0xe1, 0xf5, 0x76, 0xef,
2264                0x63, 0xbc, 0x34, 0x20, 0x3e, 0x3e, 0xa4, 0x3a, 0x61, 0xbe, 0xfb, 0xa2, 0xe9, 0x69, 0x6e, 0x7e,
2265            });
2266            try testArgs(@Vector(33, u8), .{
2267                0x65, 0xac, 0x6f, 0x6d, 0x3d, 0x0d, 0x5f, 0x66, 0xba, 0x74, 0x78, 0x6b, 0xf2, 0x7f, 0x41, 0xa9,
2268                0x20, 0x09, 0xbc, 0xd3, 0x97, 0x74, 0x05, 0x09, 0xfa, 0x69, 0x8c, 0x5e, 0xfa, 0xe2, 0x82, 0x10,
2269                0x8d,
2270            });
2271            try testArgs(@Vector(63, u8), .{
2272                0x80, 0x65, 0xd4, 0xed, 0xa5, 0xf1, 0x8d, 0x9d, 0x99, 0x25, 0x6d, 0x28, 0xf9, 0x35, 0xe9, 0x9d,
2273                0x74, 0x7d, 0x00, 0xc5, 0xed, 0x75, 0xb5, 0xec, 0x5c, 0x01, 0xb4, 0x39, 0xb9, 0xc4, 0x34, 0xb0,
2274                0xd1, 0x1c, 0xfd, 0xd9, 0xc5, 0xe1, 0xe1, 0x58, 0x69, 0x40, 0x7d, 0xdc, 0xc0, 0x20, 0x95, 0xb4,
2275                0x15, 0x31, 0x7d, 0x75, 0x49, 0x2c, 0x60, 0x2d, 0x28, 0x61, 0xe4, 0xb8, 0x09, 0x6d, 0xa0,
2276            });
2277            try testArgs(@Vector(64, u8), .{
2278                0x3a, 0x1e, 0x95, 0x0b, 0x8e, 0x91, 0xaf, 0x25, 0x4a, 0x7b, 0xc4, 0xce, 0x72, 0xec, 0x80, 0xc2,
2279                0xae, 0xeb, 0xa3, 0x6a, 0x32, 0xc9, 0x6b, 0x2a, 0xd6, 0x7b, 0x9b, 0x8d, 0xb8, 0xe3, 0x28, 0x07,
2280                0xe1, 0xd0, 0x3d, 0xca, 0xb6, 0x33, 0x18, 0x0a, 0x37, 0xc2, 0x5c, 0x10, 0x1e, 0x93, 0xdf, 0xf9,
2281                0xb5, 0x8c, 0x09, 0x26, 0x91, 0x3b, 0x05, 0x38, 0xd8, 0x4f, 0x24, 0xa3, 0x16, 0x6f, 0x1a, 0x21,
2282            });
2283            try testArgs(@Vector(65, u8), .{
2284                0xc2, 0x3a, 0xa7, 0x9e, 0xd5, 0x94, 0x9a, 0x92, 0xdd, 0x16, 0xf4, 0x07, 0xc1, 0x95, 0xe2, 0xf1,
2285                0xaa, 0x53, 0x45, 0xda, 0xb5, 0x2c, 0x98, 0xda, 0x83, 0xc0, 0x0f, 0x3a, 0x56, 0x58, 0x28, 0xb1,
2286                0xaf, 0x85, 0x3d, 0xbf, 0x3a, 0x4c, 0x39, 0x9b, 0xb8, 0x2d, 0x2e, 0x75, 0x37, 0x50, 0x16, 0xb9,
2287                0xb5, 0xc4, 0x08, 0x99, 0x0d, 0x82, 0x3e, 0x05, 0xe7, 0xdf, 0x48, 0x01, 0x73, 0x85, 0x5d, 0x4d,
2288                0xf5,
2289            });
2290            try testArgs(@Vector(127, u8), .{
2291                0x1e, 0xdb, 0x7a, 0xf1, 0xeb, 0xe7, 0x8e, 0xe1, 0xd2, 0x19, 0x00, 0xc3, 0x8c, 0x64, 0x2c, 0xd0,
2292                0x7e, 0x47, 0x3b, 0x35, 0x6d, 0xdf, 0xfa, 0x2d, 0x42, 0x67, 0xc6, 0x88, 0xf1, 0xd5, 0xca, 0x69,
2293                0xa4, 0xf7, 0xe4, 0xc8, 0xdd, 0x93, 0x6b, 0xd3, 0x11, 0xff, 0xc2, 0xf3, 0xbf, 0xa2, 0x4c, 0xec,
2294                0xce, 0xdc, 0xad, 0xb0, 0xf6, 0x56, 0xcc, 0xe4, 0x3b, 0xeb, 0x10, 0x93, 0xce, 0x86, 0xb1, 0xb8,
2295                0xed, 0x34, 0xad, 0xe2, 0x60, 0x03, 0xff, 0x5c, 0x6d, 0x63, 0xd0, 0xc9, 0x4a, 0x66, 0x83, 0x53,
2296                0x15, 0x0e, 0xd4, 0xc2, 0xa2, 0x7c, 0x21, 0x7b, 0xfc, 0x95, 0xb9, 0x61, 0x92, 0x7c, 0x32, 0xe6,
2297                0x5a, 0x29, 0x90, 0x40, 0x05, 0x86, 0x9a, 0xae, 0x5b, 0x20, 0x3d, 0xd0, 0x03, 0x52, 0x72, 0x5a,
2298                0x21, 0xe1, 0x96, 0xf4, 0xc4, 0x80, 0x9e, 0x9e, 0xe8, 0xe6, 0x4c, 0x78, 0x63, 0x91, 0xd4,
2299            });
2300            try testArgs(@Vector(128, u8), .{
2301                0x72, 0x66, 0xed, 0xd6, 0xfe, 0x4a, 0xed, 0xeb, 0xd9, 0x6e, 0x5c, 0x64, 0xf1, 0xd2, 0xf1, 0x66,
2302                0xe4, 0x77, 0x65, 0x75, 0xe7, 0xd7, 0x78, 0x64, 0xc7, 0x6f, 0xf2, 0x61, 0xf7, 0x63, 0x45, 0xd7,
2303                0x6f, 0x6f, 0x57, 0x5d, 0x44, 0xd5, 0x7b, 0x55, 0x51, 0xdb, 0x4a, 0x55, 0xea, 0xca, 0x75, 0xc5,
2304                0x48, 0x76, 0xc6, 0xfd, 0xd6, 0xde, 0xd7, 0x61, 0x53, 0xc7, 0xcd, 0xce, 0x61, 0xe3, 0x53, 0x6b,
2305                0xf0, 0xe7, 0x65, 0xf4, 0xc8, 0x6b, 0xc4, 0xf6, 0xdc, 0x6d, 0x63, 0xd8, 0x48, 0x4e, 0x60, 0xff,
2306                0x4a, 0xd4, 0xe0, 0x7e, 0x5c, 0x5c, 0xd9, 0x76, 0x4c, 0x69, 0xe4, 0xfc, 0x7e, 0x73, 0x79, 0x54,
2307                0xc6, 0xf4, 0x55, 0x60, 0x65, 0x59, 0x4d, 0xee, 0xda, 0x74, 0xc7, 0x62, 0x7d, 0xf9, 0x75, 0x67,
2308                0x4b, 0xc6, 0x78, 0xf5, 0x5b, 0xca, 0xc5, 0xdd, 0x62, 0x53, 0xd8, 0x46, 0xd6, 0x68, 0xd6, 0x6f,
2309            });
2310            try testArgs(@Vector(129, u8), .{
2311                0x67, 0x97, 0xcc, 0x16, 0x15, 0x7f, 0x6d, 0xf8, 0x3b, 0x96, 0xd0, 0x94, 0x47, 0x7a, 0x71, 0x15,
2312                0x67, 0x08, 0x61, 0xf0, 0xf8, 0x94, 0x34, 0xff, 0x49, 0xb0, 0xf8, 0x07, 0xd3, 0x64, 0xa4, 0xc5,
2313                0x43, 0x67, 0x02, 0xc2, 0xc8, 0x05, 0xf0, 0x47, 0x1f, 0xbf, 0x78, 0x5a, 0x19, 0xf8, 0x75, 0xb7,
2314                0xf7, 0x9e, 0x57, 0x81, 0xa0, 0x59, 0x0c, 0x72, 0x82, 0x3f, 0x6a, 0xd8, 0x6d, 0xef, 0x70, 0x6b,
2315                0x2a, 0xc7, 0x02, 0x16, 0x59, 0xa2, 0xef, 0x0f, 0x4e, 0x5f, 0xdb, 0x43, 0x70, 0x15, 0x51, 0xd1,
2316                0xeb, 0xab, 0x14, 0x07, 0x8d, 0x94, 0x55, 0xfe, 0xd4, 0x56, 0xbc, 0x82, 0xa7, 0xec, 0xe7, 0x69,
2317                0xaa, 0xaa, 0x7d, 0xd4, 0x28, 0x07, 0x60, 0x6e, 0x66, 0x0c, 0xd3, 0xcf, 0x30, 0xee, 0xf0, 0x86,
2318                0x4d, 0xaa, 0xc3, 0x96, 0x8c, 0xe8, 0xb5, 0xfc, 0x23, 0xa4, 0x78, 0x5c, 0x4d, 0xdd, 0x2b, 0x3f,
2319                0xbc,
2320            });
2321
2322            try testArgs(@Vector(1, i9), .{
2323                -0x061,
2324            });
2325            try testArgs(@Vector(2, i9), .{
2326                -0x0bc, -0x0e1,
2327            });
2328            try testArgs(@Vector(3, i9), .{
2329                -0x0e6, -0x024, -0x049,
2330            });
2331            try testArgs(@Vector(4, i9), .{
2332                0x001, 0x059, 0x0e9, -0x031,
2333            });
2334            try testArgs(@Vector(5, i9), .{
2335                0x0e2, 0x052, -0x0d8, 0x05d, -0x0d0,
2336            });
2337            try testArgs(@Vector(7, i9), .{
2338                -0x025, 0x0d5, -0x00d, 0x0d2, 0x0c1, -0x03f, -0x0e8,
2339            });
2340            try testArgs(@Vector(8, i9), .{
2341                -0x031, -0x0bf, -0x0ed, 0x070, 0x055, -0x08e, 0x094, 0x0a2,
2342            });
2343            try testArgs(@Vector(9, i9), .{
2344                -0x003, 0x0fb, 0x0f7, -0x04d, -0x0bd, 0x019, 0x06d, -0x001,
2345                0x06f,
2346            });
2347            try testArgs(@Vector(15, i9), .{
2348                0x06d, -0x0ac, -0x060, -0x0ab, 0x005, -0x0b5, 0x0c4, 0x00d,
2349                0x075, 0x0d1,  0x025,  -0x076, 0x01c, 0x01b,  0x0d2,
2350            });
2351            try testArgs(@Vector(16, i9), .{
2352                -0x04a, 0x01f, 0x077, 0x067,  -0x0cb, -0x0b9, 0x0af,  -0x0b2,
2353                0x045,  0x0dd, 0x0ff, -0x031, -0x0e1, 0x004,  -0x02b, -0x0fc,
2354            });
2355            try testArgs(@Vector(17, i9), .{
2356                -0x0c9, -0x0a2, -0x094, -0x0d9, -0x063, -0x07f, -0x019, -0x064,
2357                -0x0c4, -0x060, -0x0b4, -0x0df, -0x08a, -0x0fe, -0x0fa, -0x097,
2358                -0x031,
2359            });
2360            try testArgs(@Vector(31, i9), .{
2361                0x00d,  0x05b,  0x07a,  0x074,  -0x069, -0x024, -0x0f5, -0x065,
2362                -0x0b6, -0x08e, 0x0d3,  0x0f6,  -0x026, -0x087, 0x0e3,  -0x0a0,
2363                0x07c,  0x047,  -0x046, -0x0e8, 0x079,  0x018,  0x080,  0x032,
2364                -0x09b, 0x053,  0x095,  0x0d7,  0x02f,  -0x0ed, 0x0cf,
2365            });
2366            try testArgs(@Vector(32, i9), .{
2367                -0x0a9, 0x0b8,  -0x0e4, 0x0c4,  0x0df,  0x0c2, -0x0d6, 0x04d,
2368                0x0f2,  -0x0e7, 0x05b,  0x016,  -0x066, 0x0c1, 0x0a4,  0x0c6,
2369                0x0ff,  0x01b,  -0x021, 0x005,  -0x03d, 0x074, -0x0c1, 0x09a,
2370                0x0b7,  -0x0ed, -0x086, -0x003, -0x098, 0x005, 0x05e,  0x0ea,
2371            });
2372            try testArgs(@Vector(33, i9), .{
2373                0x00d,  0x03e,  0x084,  0x092,  0x055,  -0x0ed, 0x006,  0x0ca,
2374                0x020,  0x01b,  0x060,  0x058,  -0x044, -0x04b, -0x03d, 0x029,
2375                0x04a,  0x090,  -0x036, 0x009,  0x02d,  0x098,  -0x0fc, -0x029,
2376                -0x05d, -0x0d9, 0x0df,  -0x0bf, -0x0ab, 0x010,  0x0aa,  -0x0a4,
2377                -0x0d5,
2378            });
2379            try testArgs(@Vector(63, i9), .{
2380                0x028,  0x04e,  0x016,  0x02c,  -0x043, -0x0c0, -0x075, -0x078,
2381                0x006,  -0x0c9, -0x09d, 0x02e,  -0x041, -0x0cb, -0x0b1, -0x052,
2382                -0x01c, -0x059, -0x086, -0x073, 0x042,  -0x087, -0x034, 0x0be,
2383                0x0df,  -0x07f, -0x031, 0x0d9,  0x0d2,  -0x082, 0x080,  -0x043,
2384                0x0cb,  -0x0b5, 0x049,  0x028,  -0x08a, -0x0bf, -0x034, 0x053,
2385                0x02f,  -0x007, -0x085, 0x058,  -0x0c4, -0x0c3, 0x07c,  -0x064,
2386                -0x0d2, 0x027,  0x0fd,  0x0cd,  0x0e5,  0x0cc,  -0x055, 0x08b,
2387                0x07e,  -0x0e8, -0x052, 0x02a,  0x0b7,  0x0ea,  -0x0b0,
2388            });
2389            try testArgs(@Vector(64, i9), .{
2390                -0x088, 0x036,  0x06a,  -0x05c, -0x08d, -0x090, 0x0e3,  0x03b,
2391                -0x017, -0x0c7, 0x0a0,  0x0b4,  -0x09f, -0x013, -0x0c9, -0x0de,
2392                -0x09d, 0x027,  0x06f,  0x0a2,  0x0a5,  -0x099, -0x020, 0x071,
2393                0x0af,  0x0b4,  -0x0d1, 0x02f,  0x031,  0x0a4,  -0x048, -0x041,
2394                -0x0cf, -0x0c5, -0x020, 0x027,  -0x050, 0x075,  -0x0c4, 0x07a,
2395                -0x01f, -0x01d, 0x074,  0x03a,  0x038,  -0x044, 0x030,  -0x0c1,
2396                -0x002, 0x0e5,  -0x008, 0x0a4,  0x0be,  0x066,  -0x098, 0x021,
2397                -0x0cd, -0x00f, -0x04c, 0x0ab,  0x0f4,  -0x0c2, 0x0e3,  -0x014,
2398            });
2399            try testArgs(@Vector(65, i9), .{
2400                -0x048, -0x040, -0x0e5, 0x001,  0x056,  0x08a,  0x0ef,  -0x01b,
2401                -0x002, -0x03a, 0x04f,  -0x091, 0x0c6,  0x0b2,  0x038,  0x02e,
2402                -0x0a5, -0x020, -0x015, -0x068, -0x0d3, 0x081,  0x068,  0x0a3,
2403                0x097,  -0x0d0, 0x0af,  -0x0ab, -0x0ad, 0x0fa,  0x068,  -0x05d,
2404                -0x073, 0x0ad,  -0x091, -0x0ff, -0x0f4, -0x0b3, 0x009,  -0x0aa,
2405                0x046,  0x0a0,  -0x008, 0x018,  -0x017, -0x0be, 0x0cb,  0x087,
2406                -0x0e5, 0x0a3,  -0x05f, 0x0b5,  0x011,  0x0d1,  -0x02e, -0x0a9,
2407                -0x0e1, -0x0be, 0x026,  -0x0b2, -0x076, -0x0ec, 0x0bf,  0x0a0,
2408                0x063,
2409            });
2410
2411            try testArgs(@Vector(1, u9), .{
2412                0x180,
2413            });
2414            try testArgs(@Vector(2, u9), .{
2415                0x1d9, 0x15c,
2416            });
2417            try testArgs(@Vector(3, u9), .{
2418                0x112, 0x150, 0x0b7,
2419            });
2420            try testArgs(@Vector(4, u9), .{
2421                0x0b7, 0x1aa, 0x043, 0x033,
2422            });
2423            try testArgs(@Vector(5, u9), .{
2424                0x1e8, 0x012, 0x087, 0x039, 0x01f,
2425            });
2426            try testArgs(@Vector(7, u9), .{
2427                0x100, 0x0e9, 0x026, 0x08b, 0x071, 0x1e2, 0x15e,
2428            });
2429            try testArgs(@Vector(8, u9), .{
2430                0x007, 0x1c3, 0x113, 0x01d, 0x0be, 0x181, 0x110, 0x1d0,
2431            });
2432            try testArgs(@Vector(9, u9), .{
2433                0x073, 0x033, 0x1bd, 0x1ee, 0x1ab, 0x17c, 0x0bf, 0x1ba,
2434                0x1aa,
2435            });
2436            try testArgs(@Vector(15, u9), .{
2437                0x1bd, 0x039, 0x1ae, 0x1de, 0x12c, 0x05d, 0x09d, 0x118,
2438                0x068, 0x1b8, 0x1ed, 0x17d, 0x13a, 0x1ca, 0x01a,
2439            });
2440            try testArgs(@Vector(16, u9), .{
2441                0x186, 0x1ce, 0x134, 0x197, 0x144, 0x043, 0x051, 0x01d,
2442                0x158, 0x025, 0x13d, 0x0d0, 0x1d6, 0x0c2, 0x13f, 0x02f,
2443            });
2444            try testArgs(@Vector(17, u9), .{
2445                0x13b, 0x161, 0x0c7, 0x1ba, 0x0db, 0x1d3, 0x117, 0x091,
2446                0x17f, 0x1a4, 0x187, 0x0f2, 0x081, 0x02b, 0x02a, 0x1c4,
2447                0x0e8,
2448            });
2449            try testArgs(@Vector(31, u9), .{
2450                0x1f2, 0x1ba, 0x18a, 0x1d4, 0x072, 0x0c8, 0x05e, 0x0f8,
2451                0x0c0, 0x1c2, 0x002, 0x078, 0x002, 0x054, 0x188, 0x132,
2452                0x15e, 0x1ee, 0x16a, 0x0bc, 0x1a4, 0x1e6, 0x05c, 0x034,
2453                0x126, 0x020, 0x1b6, 0x07e, 0x02e, 0x12e, 0x004,
2454            });
2455            try testArgs(@Vector(32, u9), .{
2456                0x0e4, 0x0af, 0x1ab, 0x1e2, 0x096, 0x1c0, 0x117, 0x1c9,
2457                0x189, 0x0a0, 0x1e9, 0x060, 0x094, 0x11a, 0x0ff, 0x0ce,
2458                0x047, 0x083, 0x107, 0x0d4, 0x068, 0x13d, 0x06a, 0x164,
2459                0x0f1, 0x180, 0x059, 0x042, 0x0bd, 0x189, 0x157, 0x021,
2460            });
2461            try testArgs(@Vector(33, u9), .{
2462                0x048, 0x059, 0x170, 0x12f, 0x042, 0x11c, 0x059, 0x07c,
2463                0x13a, 0x13c, 0x07a, 0x047, 0x03e, 0x03e, 0x05d, 0x02d,
2464                0x17b, 0x056, 0x174, 0x077, 0x03b, 0x146, 0x15c, 0x031,
2465                0x057, 0x066, 0x04d, 0x058, 0x04a, 0x065, 0x044, 0x037,
2466                0x07d,
2467            });
2468            try testArgs(@Vector(63, u9), .{
2469                0x175, 0x0ca, 0x0df, 0x1c8, 0x0c0, 0x0cd, 0x16b, 0x042,
2470                0x1c9, 0x16d, 0x174, 0x14c, 0x064, 0x0d4, 0x153, 0x06f,
2471                0x1d5, 0x1d3, 0x050, 0x170, 0x0e8, 0x1db, 0x16e, 0x176,
2472                0x14d, 0x160, 0x0d7, 0x1cc, 0x1fd, 0x0de, 0x168, 0x0fd,
2473                0x175, 0x04a, 0x0cd, 0x0f7, 0x164, 0x1c1, 0x05f, 0x14a,
2474                0x1f6, 0x145, 0x0c2, 0x07e, 0x145, 0x0ea, 0x176, 0x154,
2475                0x0c9, 0x1f5, 0x1c4, 0x1f6, 0x15e, 0x1e0, 0x043, 0x1cb,
2476                0x0c9, 0x041, 0x1e2, 0x1e7, 0x14a, 0x074, 0x0f3,
2477            });
2478            try testArgs(@Vector(64, u9), .{
2479                0x169, 0x193, 0x044, 0x083, 0x13a, 0x06b, 0x1cc, 0x02a,
2480                0x04d, 0x078, 0x04d, 0x1bb, 0x14a, 0x1b4, 0x09a, 0x0eb,
2481                0x191, 0x044, 0x16c, 0x1f3, 0x04d, 0x19d, 0x0b7, 0x0de,
2482                0x15e, 0x04a, 0x184, 0x187, 0x1e0, 0x114, 0x0da, 0x055,
2483                0x1b1, 0x09d, 0x0aa, 0x183, 0x148, 0x103, 0x045, 0x0c4,
2484                0x117, 0x121, 0x1c5, 0x133, 0x1c1, 0x039, 0x023, 0x038,
2485                0x102, 0x01c, 0x1e0, 0x188, 0x149, 0x048, 0x075, 0x0b9,
2486                0x0c0, 0x1ee, 0x0ed, 0x171, 0x087, 0x177, 0x05f, 0x0f2,
2487            });
2488            try testArgs(@Vector(65, u9), .{
2489                0x00d, 0x10e, 0x05f, 0x138, 0x0c8, 0x138, 0x07f, 0x1fc,
2490                0x04e, 0x16a, 0x15d, 0x0de, 0x07d, 0x05f, 0x17d, 0x0f9,
2491                0x1bf, 0x14c, 0x08e, 0x06a, 0x029, 0x158, 0x188, 0x1bf,
2492                0x159, 0x1dc, 0x12f, 0x16c, 0x1fb, 0x0bc, 0x07c, 0x109,
2493                0x149, 0x0ce, 0x0db, 0x169, 0x10e, 0x178, 0x179, 0x028,
2494                0x098, 0x099, 0x0ff, 0x1c9, 0x17e, 0x0fa, 0x158, 0x01b,
2495                0x1bf, 0x0f8, 0x01a, 0x13f, 0x0b8, 0x0dd, 0x138, 0x029,
2496                0x13d, 0x1bb, 0x0eb, 0x05a, 0x13f, 0x1bc, 0x10e, 0x0ac,
2497                0x139,
2498            });
2499
2500            try testArgs(@Vector(1, i15), .{
2501                0x3e64,
2502            });
2503            try testArgs(@Vector(2, i15), .{
2504                0x1459, 0x24f0,
2505            });
2506            try testArgs(@Vector(3, i15), .{
2507                0x022d, 0x2f6e, 0x3993,
2508            });
2509            try testArgs(@Vector(4, i15), .{
2510                0x2a50, 0x1e30, -0x2e82, -0x0138,
2511            });
2512            try testArgs(@Vector(5, i15), .{
2513                0x1ea5, -0x175a, -0x38c9, -0x076d, -0x2dd6,
2514            });
2515            try testArgs(@Vector(7, i15), .{
2516                -0x1bea, 0x26d2, -0x34b4, 0x3192, 0x3f05, -0x1277, 0x35c0,
2517            });
2518            try testArgs(@Vector(8, i15), .{
2519                -0x00cc, 0x3ef1, 0x01af, -0x147a, -0x3b72, 0x04a2, 0x1dec, -0x0620,
2520            });
2521            try testArgs(@Vector(9, i15), .{
2522                -0x1d58, -0x28a6, 0x39cc, -0x219d, -0x1e51, 0x1f67, 0x2fef, 0x26e1,
2523                -0x3e39,
2524            });
2525            try testArgs(@Vector(15, i15), .{
2526                -0x2671, 0x00cb,  0x36c0, 0x2092, -0x3fb7, 0x2858, 0x00cd,  0x34a6,
2527                0x3f9c,  -0x13b2, 0x3ff9, 0x0c90, 0x0f2c,  0x02a9, -0x3174,
2528            });
2529            try testArgs(@Vector(16, i15), .{
2530                0x0255, 0x1966,  0x3135,  0x399a,  0x21b9,  0x3a16,  -0x1e8b, 0x1893,
2531                0x0d4d, -0x3b4d, -0x36e3, -0x1197, -0x2645, -0x3da3, -0x05d0, -0x1191,
2532            });
2533            try testArgs(@Vector(17, i15), .{
2534                -0x0805, -0x1a74, -0x22cd, -0x24d3, -0x0c9a, 0x158b, -0x1c5a, 0x318b,
2535                0x1b43,  -0x2ca2, -0x10ea, -0x366b, -0x3435, 0x3d02, 0x0d77,  -0x36d8,
2536                -0x3065,
2537            });
2538            try testArgs(@Vector(31, i15), .{
2539                -0x31db, -0x245a, 0x0894,  0x3405, -0x277c, -0x1680, 0x0a8c,  0x3425,
2540                -0x093b, -0x1df4, 0x1e07,  0x2dba, 0x2482,  -0x0ac3, 0x00f6,  -0x30b0,
2541                -0x19d2, -0x3c32, -0x3591, 0x1bfc, 0x1b37,  0x2d2a,  -0x2de3, 0x0c23,
2542                -0x2860, 0x03ea,  0x0253,  0x34b4, -0x100c, 0x1133,  -0x0950,
2543            });
2544            try testArgs(@Vector(32, i15), .{
2545                0x14a2,  0x0b4a,  -0x061e, 0x1cd0, 0x15a7,  0x263c,  0x31a2,  0x37e5,
2546                -0x04a3, -0x0ce2, -0x27dc, 0x1fc1, 0x118d,  0x2ca4,  0x00b8,  -0x388d,
2547                -0x3c35, 0x294c,  -0x0866, 0x22b0, -0x0088, -0x2609, 0x0e46,  0x38ba,
2548                -0x28fc, -0x011c, 0x0f58,  0x0552, -0x2108, -0x2dc9, -0x2a76, -0x1568,
2549            });
2550            try testArgs(@Vector(33, i15), .{
2551                0x3d65,  0x12d4,  -0x0ee6, 0x1df0,  -0x1701, -0x2fe6, -0x2113, -0x09cd,
2552                -0x01dc, -0x3b32, 0x0406,  -0x0db7, -0x3a96, -0x187c, -0x3eb5, -0x07a5,
2553                0x1390,  -0x256d, -0x16c8, -0x2d79, -0x091e, -0x1426, -0x2bc7, 0x395f,
2554                0x1f6e,  -0x3412, -0x22db, 0x3e3c,  0x01ed,  -0x3223, 0x0206,  0x252c,
2555                0x0149,
2556            });
2557            try testArgs(@Vector(63, i15), .{
2558                0x160d,  -0x0fc7, 0x0990,  -0x1180, 0x1131,  -0x1993, 0x1dd8,  -0x2c33,
2559                -0x3424, -0x1ee4, -0x1e07, 0x2a01,  0x1a01,  0x03ec,  -0x0fa8, 0x12b4,
2560                -0x1824, -0x2b8b, -0x0357, -0x2440, 0x0721,  0x303d,  0x092d,  -0x196c,
2561                -0x1070, 0x066c,  -0x1684, -0x1dd4, -0x2ba8, 0x11b9,  -0x1460, -0x0b7c,
2562                0x325c,  0x2f60,  0x25b1,  0x342c,  -0x051f, -0x25ac, 0x2d61,  -0x0a80,
2563                0x11f9,  -0x0e64, -0x2053, 0x24b1,  -0x2088, -0x358c, 0x24f5,  0x24b8,
2564                0x3581,  0x2fb0,  -0x0a6f, 0x18b5,  0x0041,  -0x2d93, 0x0901,  -0x18fb,
2565                0x37cc,  -0x3954, -0x3097, 0x38d5,  0x06d8,  -0x3fb0, -0x2e80,
2566            });
2567            try testArgs(@Vector(64, i15), .{
2568                -0x3948, -0x22d7, 0x0ad3, -0x304e, 0x0b52,  -0x1674, -0x0283, -0x11d9,
2569                -0x35ca, -0x15bd, 0x341d, 0x108e,  -0x0688, 0x2cb8,  -0x0dea, 0x35f9,
2570                -0x34e1, 0x39b1,  0x2bd2, -0x2515, 0x32ce,  0x33aa,  -0x3cda, 0x0be0,
2571                0x3596,  0x16de,  0x2df1, -0x3ef0, -0x3e7b, -0x1f4b, 0x18cb,  -0x1e56,
2572                0x237d,  -0x1cbb, 0x12c4, -0x2b65, 0x3967,  -0x0cc7, 0x2a17,  0x3a54,
2573                0x27b0,  0x0225,  0x33a3, -0x1a7e, 0x0756,  0x0d35,  -0x0ab8, 0x2b53,
2574                0x2751,  0x0784,  0x1ea0, -0x2a27, -0x02c6, 0x06da,  0x0e3c,  -0x1662,
2575                -0x291f, -0x324d, 0x32a8, -0x2326, 0x3b6e,  0x2519,  -0x15bb, 0x1ca3,
2576            });
2577            try testArgs(@Vector(65, i15), .{
2578                0x3e90,  -0x315b, -0x376e, -0x04ed, -0x308a, 0x2469,  0x0f32,  -0x2555,
2579                0x3b7a,  0x3830,  0x13f2,  0x0dc0,  0x06d7,  0x1953,  0x3945,  -0x18ee,
2580                -0x135e, -0x08da, 0x29e5,  -0x0fb4, -0x02a6, -0x3844, 0x2e42,  -0x24c6,
2581                -0x04b6, 0x0055,  0x22fc,  0x05a3,  -0x1e25, -0x12f9, 0x215d,  0x34b8,
2582                -0x28d8, 0x0f90,  0x307f,  -0x0849, -0x330a, 0x2ecf,  0x1243,  0x2bf6,
2583                0x070b,  0x2636,  -0x27a2, 0x2b60,  -0x03e8, -0x3492, 0x0d5d,  0x39e2,
2584                0x2b82,  0x0e2d,  -0x3d26, 0x3b02,  0x3302,  0x254a,  -0x0f5c, -0x25bf,
2585                -0x0979, -0x22d6, 0x098e,  -0x0be8, 0x3022,  -0x2918, -0x2327, -0x219e,
2586                0x3b74,
2587            });
2588
2589            try testArgs(@Vector(1, u15), .{
2590                0x1107,
2591            });
2592            try testArgs(@Vector(2, u15), .{
2593                0x5408, 0x1b06,
2594            });
2595            try testArgs(@Vector(3, u15), .{
2596                0x5487, 0x6f41, 0x4f6f,
2597            });
2598            try testArgs(@Vector(4, u15), .{
2599                0x233c, 0x7b1b, 0x74d0, 0x11dc,
2600            });
2601            try testArgs(@Vector(5, u15), .{
2602                0x2fe4, 0x7db8, 0x470a, 0x69d8, 0x7f73,
2603            });
2604            try testArgs(@Vector(7, u15), .{
2605                0x7fb2, 0x0395, 0x0464, 0x05ab, 0x6470, 0x1ed6, 0x5301,
2606            });
2607            try testArgs(@Vector(8, u15), .{
2608                0x053d, 0x4d61, 0x4d29, 0x01a2, 0x6f27, 0x7b7e, 0x68f0, 0x7e35,
2609            });
2610            try testArgs(@Vector(9, u15), .{
2611                0x57c1, 0x0325, 0x519c, 0x5b51, 0x0119, 0x395a, 0x7f1f, 0x03c7,
2612                0x178e,
2613            });
2614            try testArgs(@Vector(15, u15), .{
2615                0x651c, 0x4234, 0x7ce4, 0x4e77, 0x5668, 0x1a1c, 0x6a80, 0x0823,
2616                0x7b0c, 0x12e2, 0x70de, 0x1952, 0x0bc9, 0x6bc1, 0x4c7f,
2617            });
2618            try testArgs(@Vector(16, u15), .{
2619                0x19fd, 0x0bf2, 0x0c0f, 0x1f92, 0x0ad3, 0x2e77, 0x2904, 0x2429,
2620                0x36a3, 0x1cf7, 0x3069, 0x04ec, 0x03ea, 0x1839, 0x0928, 0x2248,
2621            });
2622            try testArgs(@Vector(17, u15), .{
2623                0x219f, 0x2472, 0x28fa, 0x6733, 0x2c3c, 0x2a9b, 0x0e15, 0x6d19,
2624                0x2d13, 0x58ff, 0x78b2, 0x1fd9, 0x20f9, 0x6cb5, 0x33d2, 0x24db,
2625                0x089c,
2626            });
2627            try testArgs(@Vector(31, u15), .{
2628                0x11ed, 0x77f9, 0x4737, 0x1f92, 0x15ee, 0x61f7, 0x410c, 0x27a4,
2629                0x0910, 0x2f1d, 0x4721, 0x0be5, 0x5501, 0x5b40, 0x3db3, 0x0bf5,
2630                0x750f, 0x4f99, 0x4138, 0x5144, 0x4147, 0x13ed, 0x69cd, 0x374d,
2631                0x29cd, 0x45a4, 0x4189, 0x5178, 0x33c8, 0x5ffd, 0x433e,
2632            });
2633            try testArgs(@Vector(32, u15), .{
2634                0x4d4e, 0x6f97, 0x09aa, 0x12ee, 0x7322, 0x7add, 0x28f7, 0x3a07,
2635                0x058a, 0x73fc, 0x37a8, 0x1737, 0x763d, 0x1a18, 0x7dc5, 0x24bc,
2636                0x50f2, 0x2486, 0x4217, 0x635a, 0x6c7d, 0x2e1c, 0x72fe, 0x6e52,
2637                0x707b, 0x38d4, 0x04b0, 0x6ca3, 0x7e65, 0x5233, 0x06c7, 0x6e0d,
2638            });
2639            try testArgs(@Vector(33, u15), .{
2640                0x2382, 0x4c0e, 0x7720, 0x0233, 0x6894, 0x4aaa, 0x7a09, 0x2089,
2641                0x3fb8, 0x5f9b, 0x7628, 0x04b0, 0x0692, 0x690a, 0x49be, 0x5ffb,
2642                0x5a4f, 0x29c2, 0x308b, 0x6b3c, 0x5c24, 0x3764, 0x2c53, 0x44d5,
2643                0x3863, 0x7757, 0x57c6, 0x3654, 0x575c, 0x77c5, 0x4c94, 0x61f4,
2644                0x67d2,
2645            });
2646            try testArgs(@Vector(63, u15), .{
2647                0x422e, 0x5fbc, 0x2366, 0x145a, 0x3c76, 0x4892, 0x5208, 0x5fd4,
2648                0x7e52, 0x74a2, 0x3834, 0x201c, 0x05d6, 0x7d02, 0x5f6a, 0x0d96,
2649                0x72a4, 0x3304, 0x6514, 0x4d6c, 0x5b56, 0x697c, 0x5f62, 0x164a,
2650                0x6260, 0x267e, 0x3620, 0x372a, 0x7218, 0x5a6e, 0x0a82, 0x07e4,
2651                0x7a04, 0x5e62, 0x38ca, 0x4b64, 0x3106, 0x21b6, 0x41a4, 0x6828,
2652                0x4838, 0x3574, 0x5d9e, 0x55ee, 0x352a, 0x049e, 0x678e, 0x7604,
2653                0x6af0, 0x17a0, 0x74e4, 0x252e, 0x4c2e, 0x3744, 0x61e4, 0x1cca,
2654                0x3ade, 0x69cc, 0x6066, 0x7d6e, 0x1afa, 0x6daa, 0x5fa6,
2655            });
2656            try testArgs(@Vector(64, u15), .{
2657                0x4163, 0x5b5d, 0x0d65, 0x56b2, 0x7788, 0x3b80, 0x0faf, 0x3292,
2658                0x75ec, 0x5cba, 0x3a09, 0x60c0, 0x2840, 0x2798, 0x2957, 0x7a3b,
2659                0x4fb6, 0x478d, 0x38f8, 0x2cc2, 0x0d5b, 0x63f5, 0x208f, 0x26e2,
2660                0x0924, 0x411a, 0x6d93, 0x7c19, 0x45fb, 0x6f45, 0x5581, 0x1e1d,
2661                0x4a7f, 0x7fd8, 0x3ce3, 0x7244, 0x4f7b, 0x2327, 0x6e09, 0x2c02,
2662                0x55d9, 0x7f8d, 0x438b, 0x4bf4, 0x389b, 0x2c96, 0x75e9, 0x1aad,
2663                0x0bc0, 0x2de3, 0x6dc8, 0x0d5b, 0x35f9, 0x21ce, 0x73fd, 0x30db,
2664                0x25d0, 0x2ca9, 0x3478, 0x0f73, 0x726b, 0x5e32, 0x0ae8, 0x67a4,
2665            });
2666            try testArgs(@Vector(65, u15), .{
2667                0x7ea5, 0x6508, 0x140c, 0x68c4, 0x1b2a, 0x01ab, 0x27cd, 0x7943,
2668                0x4209, 0x48a7, 0x6d81, 0x727f, 0x2e0c, 0x709a, 0x04c0, 0x1ac4,
2669                0x6efd, 0x57db, 0x593b, 0x2331, 0x6a45, 0x2011, 0x3a1a, 0x7d33,
2670                0x3053, 0x42d1, 0x08c1, 0x28ea, 0x1f0f, 0x0abc, 0x2051, 0x5125,
2671                0x7298, 0x0bfd, 0x75b9, 0x4cfe, 0x0b22, 0x2a06, 0x4f2d, 0x29a1,
2672                0x7a91, 0x4268, 0x72db, 0x11c1, 0x04e4, 0x35dd, 0x29c6, 0x411d,
2673                0x11de, 0x2399, 0x61ec, 0x2386, 0x5d27, 0x033d, 0x1c83, 0x3e41,
2674                0x5915, 0x4aa1, 0x28ef, 0x385e, 0x64bc, 0x1d0b, 0x7f84, 0x1546,
2675                0x7d72,
2676            });
2677
2678            try testArgs(@Vector(1, i16), .{
2679                -0x3d83,
2680            });
2681            try testArgs(@Vector(2, i16), .{
2682                -0x3e9f, -0x6fd5,
2683            });
2684            try testArgs(@Vector(3, i16), .{
2685                0x2a8d, 0x0b83, 0x26e9,
2686            });
2687            try testArgs(@Vector(4, i16), .{
2688                -0x6d64, 0x7972, -0x4200, -0x102f,
2689            });
2690            try testArgs(@Vector(5, i16), .{
2691                -0x4e21, 0x1c47, -0x2fd6, 0x3235, -0x4484,
2692            });
2693            try testArgs(@Vector(7, i16), .{
2694                0x7846, 0x49c6, -0x46d0, 0x5866, 0x440f, 0x710c, -0x1b93,
2695            });
2696            try testArgs(@Vector(8, i16), .{
2697                -0x6ca8, 0x38df, -0x2893, 0x0ec8, -0x4c26, -0x5d34, -0x61f4, 0x45fa,
2698            });
2699            try testArgs(@Vector(9, i16), .{
2700                0x5b79, 0x00e5, 0x4b71, -0x102b, 0x0ae1, 0x1c7f, 0x247e, 0x5445,
2701                0x5270,
2702            });
2703            try testArgs(@Vector(15, i16), .{
2704                0x6cdd,  -0x3e62, 0x3681,  -0x409c, -0x2ecf, 0x5437,  -0x540f, -0x4fa8,
2705                -0x0846, -0x62be, -0x70ea, 0x6020,  -0x2b00, -0x29af, 0x6fe3,
2706            });
2707            try testArgs(@Vector(16, i16), .{
2708                0x7e6b, -0x1a1c, 0x6a16,  0x2a32, -0x52f2, 0x350f, 0x76ae, -0x52ac,
2709                0x620e, -0x4ab1, -0x18b8, 0x379a, -0x5c9d, 0x6c61, 0x6615, 0x7c8c,
2710            });
2711            try testArgs(@Vector(17, i16), .{
2712                -0x08d6, 0x760a,  -0x79f6, 0x5529,  0x0440,  0x5636, 0x3376,  -0x7ec8,
2713                -0x2c94, -0x74a0, 0x5a88,  -0x4429, -0x47b4, 0x3127, -0x2099, -0x192b,
2714                -0x3512,
2715            });
2716            try testArgs(@Vector(31, i16), .{
2717                0x6e1c,  0x7729,  -0x31f6, 0x199d, 0x1cb1,  -0x60fd, 0x1cae, -0x26f7,
2718                -0x00f1, -0x3755, 0x6dae,  0x7ca8, -0x3059, 0x0398,  0x0130, 0x032c,
2719                0x1c33,  -0x5df1, 0x4628,  0x30ba, -0x0842, 0x32ad,  0x7489, -0x3d75,
2720                0x0a20,  0x151e,  0x0b06,  0x6220, -0x105f, 0x168a,  0x6d02,
2721            });
2722            try testArgs(@Vector(32, i16), .{
2723                -0x788f, -0x1481, 0x546e,  0x2bc4,  0x2cdb,  -0x0afe, 0x3d1d,  -0x0019,
2724                -0x1559, -0x5ad7, 0x1741,  -0x3445, -0x510c, -0x28a7, 0x4407,  -0x03c0,
2725                -0x7339, -0x2038, 0x24c8,  0x30c0,  0x1d35,  -0x76df, -0x03c7, 0x29a8,
2726                -0x000a, 0x47c7,  -0x648b, -0x7610, 0x755b,  -0x21ec, -0x1106, 0x5255,
2727            });
2728            try testArgs(@Vector(33, i16), .{
2729                -0x008a, -0x19d2, -0x49af, -0x67c4, -0x586f, -0x2365, -0x1a6d, -0x2535,
2730                -0x2ff2, -0x598c, -0x6dd3, -0x2ca0, -0x2e5c, -0x2513, -0x312a, -0x0d80,
2731                -0x703c, -0x16bf, -0x46e0, -0x7725, -0x6fe0, -0x7f8e, -0x7e83, -0x6b72,
2732                -0x492d, -0x234f, -0x5862, -0x0134, -0x4b2a, -0x50f4, -0x3b89, -0x25ce,
2733                -0x43ec,
2734            });
2735            try testArgs(@Vector(63, i16), .{
2736                -0x6e10, -0x1886, -0x0821, 0x5f19,  -0x3542, -0x42cf, 0x22f6,  0x5418,
2737                -0x134f, -0x5ea5, 0x5f93,  -0x26ef, 0x49f6,  0x2bf3,  -0x5126, 0x5ebf,
2738                -0x2c82, 0x4ddb,  -0x7a10, 0x29d3,  0x5b11,  0x171f,  -0x2587, -0x1eea,
2739                -0x0e2f, 0x1151,  -0x6243, -0x2682, 0x0ab5,  0x39b7,  0x5799,  0x20b6,
2740                0x7919,  0x6cd9,  0x7874,  0x6f72,  -0x2128, 0x2990,  0x4d5f,  -0x7621,
2741                -0x77e1, -0x54c2, -0x344f, 0x3f93,  -0x7d43, 0x0450,  0x3353,  -0x414c,
2742                0x633d,  0x2831,  0x2d32,  -0x4f48, -0x4604, 0x6c38,  -0x72e5, 0x25b5,
2743                -0x310b, 0x3a17,  0x0119,  -0x56e8, 0x6332,  -0x29a4, -0x5c90,
2744            });
2745            try testArgs(@Vector(64, i16), .{
2746                -0x11a2, 0x1875,  0x295d,  0x26a4,  -0x61a0, 0x0ce3,  0x7700,  -0x3cbe,
2747                0x606c,  0x2b3c,  -0x209f, 0x2330,  -0x3389, 0x6aa5,  -0x2396, -0x5700,
2748                0x3e00,  -0x4ed1, -0x228f, 0x7ccf,  -0x0c7b, -0x4ea4, 0x5c3b,  -0x3d8a,
2749                -0x7320, 0x02b7,  0x72db,  0x0542,  -0x32a6, -0x29c3, -0x5566, 0x66f5,
2750                0x5562,  0x3604,  -0x4117, 0x1942,  -0x3430, 0x4b70,  0x2ea0,  -0x2326,
2751                -0x715d, -0x292a, -0x16ab, -0x1471, 0x4ce7,  0x5246,  0x4672,  0x342c,
2752                -0x2dff, 0x6788,  -0x1114, -0x4756, 0x77b4,  0x41a3,  -0x01dc, 0x6671,
2753                -0x6255, -0x0bd2, 0x534e,  -0x628c, 0x03d2,  -0x7835, -0x4720, 0x5293,
2754            });
2755            try testArgs(@Vector(65, i16), .{
2756                0x2743,  -0x47c2, 0x39e3,  0x3e4e,  -0x46aa, 0x729e,  0x7707,  0x4697,
2757                -0x4726, -0x06d6, -0x1d9e, -0x71bd, 0x0efa,  -0x3cb9, -0x23ad, -0x75a1,
2758                -0x3652, -0x3a95, -0x04a1, -0x66ae, -0x59c9, -0x7f55, 0x523f,  -0x6d8a,
2759                0x272a,  -0x3955, 0x0206,  0x73d6,  -0x2375, 0x42a7,  0x3986,  0x179b,
2760                0x6e63,  -0x7119, -0x73b2, -0x22b1, 0x28ab,  0x1fae,  -0x65f1, 0x4a4a,
2761                -0x37aa, -0x5cb6, -0x3c42, -0x16c2, 0x3e0a,  -0x7f7a, 0x15fb,  0x52c7,
2762                -0x018a, 0x0176,  -0x4b2d, -0x13e5, 0x057f,  -0x3ba9, -0x5805, 0x45d6,
2763                -0x787e, 0x2f2a,  0x7082,  -0x0b5e, 0x16c6,  -0x7a92, -0x68c6, -0x7869,
2764                -0x63ce,
2765            });
2766
2767            try testArgs(@Vector(1, u16), .{
2768                0x275d,
2769            });
2770            try testArgs(@Vector(2, u16), .{
2771                0x72e1, 0xd759,
2772            });
2773            try testArgs(@Vector(3, u16), .{
2774                0x366a, 0x4e97, 0xeb63,
2775            });
2776            try testArgs(@Vector(4, u16), .{
2777                0x57a8, 0x7ae8, 0x6e0f, 0xb7ac,
2778            });
2779            try testArgs(@Vector(5, u16), .{
2780                0x0ff3, 0xc907, 0xd1b7, 0x4820, 0x6e24,
2781            });
2782            try testArgs(@Vector(7, u16), .{
2783                0x5ca4, 0x5fff, 0x6fea, 0xc089, 0xdfbc, 0x6808, 0xd12f,
2784            });
2785            try testArgs(@Vector(8, u16), .{
2786                0xfcb4, 0xf7a2, 0xb84f, 0x9eaa, 0x3c5b, 0x9092, 0xf2ce, 0x10a0,
2787            });
2788            try testArgs(@Vector(9, u16), .{
2789                0x2c7d, 0xfa5b, 0x8039, 0xdb41, 0xe676, 0x2674, 0x7c5f, 0xc575,
2790                0x9d24,
2791            });
2792            try testArgs(@Vector(15, u16), .{
2793                0x0da3, 0x8306, 0x644f, 0xfad0, 0x09b6, 0x3936, 0x1883, 0xf19d,
2794                0xad5c, 0x07bd, 0x4e7d, 0xbce0, 0xa55e, 0xf653, 0xeea3,
2795            });
2796            try testArgs(@Vector(16, u16), .{
2797                0xc8d7, 0x16bd, 0x5e6d, 0x4ec3, 0x95f2, 0x5876, 0x4b0c, 0x5286,
2798                0x62d1, 0xebb7, 0x8db9, 0xecdc, 0x1bd7, 0x7b0f, 0x1fd8, 0x7f17,
2799            });
2800            try testArgs(@Vector(17, u16), .{
2801                0x24c8, 0xdc8d, 0x81db, 0xdfb9, 0xeac1, 0x84a6, 0x549c, 0xf3bd,
2802                0xd2e4, 0xf089, 0xcebb, 0x4af0, 0xab83, 0xf9fe, 0xacc0, 0x2295,
2803                0xdff9,
2804            });
2805            try testArgs(@Vector(31, u16), .{
2806                0x403b, 0x11b5, 0xf09e, 0x7524, 0xc26a, 0x43b1, 0x06cd, 0xea16,
2807                0xfd76, 0xd91e, 0xd79f, 0xbeb6, 0x4677, 0xf9ca, 0x8595, 0x8d8a,
2808                0xe17d, 0xf13e, 0x4f1f, 0x0fdd, 0x522b, 0x6376, 0x85f4, 0x98b2,
2809                0xc2dc, 0xdac3, 0x195e, 0x66d2, 0x0261, 0x83b3, 0x5394,
2810            });
2811            try testArgs(@Vector(32, u16), .{
2812                0x28bd, 0x1845, 0xe8b0, 0x41bb, 0xec1f, 0xa140, 0x666a, 0x7dad,
2813                0x448e, 0x972b, 0x81db, 0xe582, 0xce85, 0x8927, 0x05d8, 0x7cf1,
2814                0x1f69, 0x1087, 0xf2df, 0xfcf0, 0x98a2, 0x4fe5, 0x0482, 0x9599,
2815                0x2964, 0x5275, 0xc3f4, 0x3a58, 0xca17, 0x955b, 0x59d2, 0x40b0,
2816            });
2817            try testArgs(@Vector(33, u16), .{
2818                0x55cb, 0x6633, 0x78ad, 0x9412, 0xdbc4, 0x209a, 0x62c1, 0xf6ac,
2819                0xee41, 0x2273, 0xb4e4, 0x8be3, 0x07df, 0xf834, 0x052d, 0x3b82,
2820                0xf4e7, 0xbf41, 0xeb0d, 0x92ab, 0x88d9, 0x9409, 0xc131, 0x0f66,
2821                0x7b4f, 0x41f6, 0xb59b, 0xd18d, 0x1235, 0x119d, 0x9dbf, 0xa16c,
2822                0xc22e,
2823            });
2824            try testArgs(@Vector(63, u16), .{
2825                0x292b, 0x76cb, 0xbb04, 0x3962, 0xe678, 0x54a4, 0x13ba, 0x6419,
2826                0x646c, 0x5241, 0x5b13, 0xb54a, 0x4967, 0xfbed, 0xaf9d, 0xde8f,
2827                0x68ae, 0xa5be, 0xf3f9, 0x0c40, 0x1c32, 0xa8b3, 0xb19e, 0xd093,
2828                0x8e8c, 0xcb05, 0xe5c3, 0x2e06, 0xcfe2, 0xdd4c, 0x66af, 0x9fb9,
2829                0x4a8f, 0xe4be, 0xe203, 0x77cb, 0x70cd, 0x871d, 0xb16a, 0x4f34,
2830                0xfe15, 0x8ddd, 0xf389, 0x38ae, 0x31ff, 0xe966, 0x2470, 0x9c16,
2831                0x2c85, 0xc2c4, 0x94d1, 0x693c, 0xcad6, 0x4eb2, 0x0892, 0x5ede,
2832                0x6509, 0x7de4, 0xeeb6, 0xe686, 0x3b36, 0x0600, 0x79d2,
2833            });
2834            try testArgs(@Vector(64, u16), .{
2835                0x3896, 0x7e5b, 0x2e2f, 0xae17, 0xdf3f, 0xa69e, 0x7a2f, 0xe468,
2836                0x5410, 0x80fa, 0xfcea, 0xabcd, 0x6349, 0x7477, 0x7855, 0xa0ae,
2837                0xb797, 0xcb52, 0x0569, 0x579a, 0x0117, 0x7254, 0x3458, 0xde51,
2838                0x1900, 0x3d53, 0x25b5, 0x3b2a, 0x04d1, 0x4ab4, 0x5f5e, 0xf56a,
2839                0x066b, 0x7e74, 0xc044, 0x7eb7, 0x5b9f, 0xa7d9, 0xfeda, 0x6b3a,
2840                0xfbd5, 0xa8d8, 0xe4ab, 0x33b8, 0xfca7, 0x519e, 0xc49a, 0x3340,
2841                0xe08e, 0x8e0e, 0xf0ca, 0x87d9, 0x8965, 0x61f0, 0xe3da, 0x482e,
2842                0x3909, 0xe40f, 0x96f3, 0x494b, 0xdde3, 0x0361, 0xbc80, 0x3d92,
2843            });
2844            try testArgs(@Vector(65, u16), .{
2845                0xba2b, 0xfd21, 0x640f, 0x550d, 0x3a95, 0x8969, 0x9455, 0xe1cd,
2846                0x4d01, 0x1d2f, 0x97f9, 0xeb9f, 0xefd9, 0xfc03, 0x5527, 0xabc9,
2847                0x8f8d, 0x8435, 0x065d, 0xf11b, 0x61eb, 0x9ef5, 0x1051, 0x58df,
2848                0xe1d5, 0xeab7, 0x8753, 0x6fbb, 0xf28f, 0x7bc7, 0x025b, 0x29d3,
2849                0x59d3, 0x2a0d, 0x10f5, 0x5ac9, 0x0d33, 0x56ff, 0x5213, 0xf7e5,
2850                0xa1d5, 0xefaf, 0xec75, 0x36bb, 0x1641, 0x1a5b, 0x099f, 0x726d,
2851                0x7e19, 0x0b09, 0x9085, 0xdecf, 0x1e23, 0xa92b, 0xe9f3, 0x0873,
2852                0xfcb5, 0x9afd, 0x702f, 0x2785, 0x3b0b, 0x03d5, 0xb43b, 0x5a0d,
2853                0x413f,
2854            });
2855
2856            try testArgs(@Vector(1, i17), .{
2857                0x0202b,
2858            });
2859            try testArgs(@Vector(2, i17), .{
2860                -0x0c0d7, -0x066d3,
2861            });
2862            try testArgs(@Vector(3, i17), .{
2863                0x0f620, 0x07c24, 0x04e4b,
2864            });
2865            try testArgs(@Vector(4, i17), .{
2866                0x0fb3b, 0x03d42, 0x03e54, 0x0af90,
2867            });
2868            try testArgs(@Vector(5, i17), .{
2869                0x0a9cf,  -0x05bed, 0x0e110, 0x0994b,
2870                -0x0ece6,
2871            });
2872            try testArgs(@Vector(7, i17), .{
2873                0x046d3,  0x04690,  -0x076c0, 0x08758,
2874                -0x07460, -0x039bf, 0x0a20e,
2875            });
2876            try testArgs(@Vector(8, i17), .{
2877                0x06e32, -0x0474e, 0x0e18f, -0x066dd,
2878                0x06e45, -0x0eaf6, 0x05365, -0x0f05d,
2879            });
2880            try testArgs(@Vector(9, i17), .{
2881                -0x058ab, -0x046ff, -0x012a9, 0x0ea46,
2882                -0x05320, 0x03073,  0x0eb08,  0x06b31,
2883                -0x02cf0,
2884            });
2885            try testArgs(@Vector(15, i17), .{
2886                -0x034cb, 0x0ecd5,  -0x00dfc, 0x0f1f4,
2887                0x03c82,  0x040c3,  0x01a20,  0x00e95,
2888                0x0d9d7,  -0x0ed69, -0x0012d, 0x03906,
2889                0x04d22,  0x0b604,  -0x0b30b,
2890            });
2891            try testArgs(@Vector(16, i17), .{
2892                0x064ad,  -0x014c9, 0x0f32f,  0x03808,
2893                -0x029e8, 0x0b9bc,  -0x04ff1, -0x010fb,
2894                0x05d25,  0x01fac,  -0x0e463, 0x02cbf,
2895                -0x015e4, 0x0c69d,  -0x0facb, -0x0ba53,
2896            });
2897            try testArgs(@Vector(17, i17), .{
2898                0x0c52e,  0x0fa5d,  -0x02799, 0x0c4e2,
2899                -0x046e3, 0x0c498,  0x0b1de,  -0x05e9e,
2900                -0x041d2, -0x06633, 0x0dbcb,  -0x00636,
2901                0x0a4ec,  0x0dc90,  0x0839f,  -0x026d4,
2902                -0x06c4e,
2903            });
2904            try testArgs(@Vector(31, i17), .{
2905                0x03016,  -0x0f230, -0x03a13, 0x0e818,
2906                -0x01bb0, 0x070ef,  0x09372,  0x077f0,
2907                0x0e933,  0x0701f,  0x08dcb,  -0x0ca62,
2908                -0x09016, 0x05b53,  0x0a2ed,  -0x031dd,
2909                0x052d7,  -0x034a2, -0x0a200, 0x095fd,
2910                -0x077a7, 0x0388c,  0x0560c,  0x09aab,
2911                0x0b1f1,  0x04a01,  -0x0b3a2, 0x091e5,
2912                0x0b34d,  0x043ad,  0x0f724,
2913            });
2914            try testArgs(@Vector(32, i17), .{
2915                0x0728d,  0x0410d,  0x0c361,  0x087b4,
2916                -0x00ccd, 0x0ac76,  0x0fd60,  -0x0bc3a,
2917                0x0fa1c,  0x07886,  -0x0d023, 0x034fd,
2918                -0x0ad34, 0x00953,  0x02c9f,  -0x0423e,
2919                -0x0804c, -0x0c794, -0x0052e, 0x0ed76,
2920                0x087b6,  -0x0ad23, -0x018b7, 0x0e471,
2921                -0x03cdd, 0x0b991,  -0x00ac2, -0x08600,
2922                -0x0f09b, 0x0d8c6,  0x0c5f6,  0x0909d,
2923            });
2924            try testArgs(@Vector(33, i17), .{
2925                0x0008f,  0x0955f,  0x0468f,  0x0f764,
2926                -0x0c02a, -0x09c51, -0x077b2, 0x04b66,
2927                0x0ff45,  0x04914,  0x06c4e,  0x021fd,
2928                0x09def,  0x0a0ff,  0x0eeb5,  0x08c27,
2929                0x009b7,  0x01e47,  -0x07f19, -0x00de1,
2930                -0x03409, -0x093ec, 0x01fc5,  0x0d2ac,
2931                -0x02a02, -0x0e383, -0x0dc33, 0x09c24,
2932                0x0e007,  0x07e4f,  -0x0b7b1, -0x0f623,
2933                0x0d21e,
2934            });
2935
2936            try testArgs(@Vector(1, u17), .{
2937                0x11623,
2938            });
2939            try testArgs(@Vector(2, u17), .{
2940                0x15a11, 0x19fd4,
2941            });
2942            try testArgs(@Vector(3, u17), .{
2943                0x1ab5b, 0x0506b, 0x07d78,
2944            });
2945            try testArgs(@Vector(4, u17), .{
2946                0x0768c, 0x08441, 0x1f5a8, 0x09628,
2947            });
2948            try testArgs(@Vector(5, u17), .{
2949                0x1e9cd, 0x02822, 0x1e69a, 0x1a728,
2950                0x14b1d,
2951            });
2952            try testArgs(@Vector(7, u17), .{
2953                0x001b3, 0x06963, 0x012fc, 0x13c02,
2954                0x04f1e, 0x12aa0, 0x11097,
2955            });
2956            try testArgs(@Vector(8, u17), .{
2957                0x1c9e5, 0x1700f, 0x10903, 0x01130,
2958                0x07523, 0x1689c, 0x11a72, 0x00db7,
2959            });
2960            try testArgs(@Vector(9, u17), .{
2961                0x1d512, 0x1fa25, 0x18e17, 0x1e0b9,
2962                0x0e1ca, 0x090a9, 0x19617, 0x08522,
2963                0x1dd51,
2964            });
2965            try testArgs(@Vector(15, u17), .{
2966                0x15869, 0x150c4, 0x1d78b, 0x139c7,
2967                0x0a0d0, 0x1d336, 0x0cda4, 0x0d1f5,
2968                0x07020, 0x0645a, 0x12f59, 0x18ae7,
2969                0x0a2a6, 0x08fde, 0x15b31,
2970            });
2971            try testArgs(@Vector(16, u17), .{
2972                0x13eb8, 0x1a482, 0x17589, 0x0ed6b,
2973                0x11029, 0x02430, 0x1fb7a, 0x0c905,
2974                0x17584, 0x191d1, 0x1ae69, 0x0d313,
2975                0x06b92, 0x08f72, 0x1b00b, 0x08d76,
2976            });
2977            try testArgs(@Vector(17, u17), .{
2978                0x0bde4, 0x08ec6, 0x138dc, 0x14f4d,
2979                0x169aa, 0x12db2, 0x0d0fc, 0x1af45,
2980                0x0a2f9, 0x08f46, 0x1bcb6, 0x1848f,
2981                0x0cffe, 0x0748d, 0x07ca8, 0x15191,
2982                0x0f9f6,
2983            });
2984            try testArgs(@Vector(31, u17), .{
2985                0x07d61, 0x10245, 0x1df09, 0x1aaec,
2986                0x0204d, 0x0a101, 0x131f1, 0x07340,
2987                0x09510, 0x04f60, 0x1946d, 0x1e8c1,
2988                0x06030, 0x1923c, 0x031ed, 0x147e1,
2989                0x1199d, 0x12621, 0x16f85, 0x0b180,
2990                0x0dbd1, 0x10901, 0x1d188, 0x1fa81,
2991                0x0ba30, 0x155dd, 0x01ed4, 0x1b8f9,
2992                0x13bec, 0x13361, 0x06efd,
2993            });
2994            try testArgs(@Vector(32, u17), .{
2995                0x0a881, 0x17906, 0x1bce8, 0x1b384,
2996                0x03462, 0x0cfcb, 0x08246, 0x0f001,
2997                0x0c683, 0x1c0cc, 0x026c9, 0x14306,
2998                0x0cdca, 0x12348, 0x0f246, 0x0a420,
2999                0x1a56a, 0x046ab, 0x004c0, 0x1bc02,
3000                0x14f6f, 0x1a66c, 0x0b6cf, 0x07167,
3001                0x09702, 0x07dab, 0x14667, 0x02ce9,
3002                0x00a03, 0x09aca, 0x11746, 0x125c2,
3003            });
3004            try testArgs(@Vector(33, u17), .{
3005                0x1bde5, 0x1910a, 0x0d78d, 0x177d0,
3006                0x17c40, 0x0123b, 0x12446, 0x1ceca,
3007                0x1e79e, 0x15013, 0x19cf7, 0x15016,
3008                0x17566, 0x1c0e8, 0x12da4, 0x0fb6c,
3009                0x1c442, 0x1e8e9, 0x1aa74, 0x0ba54,
3010                0x14fb7, 0x1aab0, 0x030a5, 0x041ed,
3011                0x05d98, 0x1d1ed, 0x0083d, 0x128f7,
3012                0x1e93a, 0x14a00, 0x0ac7c, 0x1c052,
3013                0x17fd7,
3014            });
3015
3016            try testArgs(@Vector(1, i31), .{
3017                -0x3f5c3228,
3018            });
3019            try testArgs(@Vector(2, i31), .{
3020                -0x307f1325, -0x0e59e507,
3021            });
3022            try testArgs(@Vector(3, i31), .{
3023                0x24544bf1, -0x104aebe0, -0x371b3c03,
3024            });
3025            try testArgs(@Vector(4, i31), .{
3026                -0x3616321a, 0x3b48f54b, -0x2790d613, 0x10122d7e,
3027            });
3028            try testArgs(@Vector(5, i31), .{
3029                0x2bfa57aa, -0x1392b765, -0x05d1942f, 0x3c868ece,
3030                0x32bc4fbc,
3031            });
3032            try testArgs(@Vector(7, i31), .{
3033                0x327ca4d4, -0x262b2dfc, 0x3d97b95c, -0x350d9a5f,
3034                0x0e9f3560, 0x1e7abb41,  0x38f6b827,
3035            });
3036            try testArgs(@Vector(8, i31), .{
3037                -0x3facecea, -0x267ee011, -0x3d4c39b3, -0x3681b9cc,
3038                -0x0cc15566, 0x1ac2d80d,  0x0b73bf53,  0x3ac83f51,
3039            });
3040            try testArgs(@Vector(9, i31), .{
3041                0x140fe5f4,  -0x316532d0, 0x3bfa5171, -0x10ec6a3b,
3042                0x24c600b5,  -0x1105f5c3, 0x02ede996, -0x10ae24a9,
3043                -0x3cf0b288,
3044            });
3045            try testArgs(@Vector(15, i31), .{
3046                0x39c4bcec,  0x11477e23,  0x1fe75212,  -0x338b45ac,
3047                0x3674ff0a,  0x0d6158db,  0x0daeb9cc,  0x28163c31,
3048                -0x246068ac, 0x2759ba5a,  -0x0c332dfb, -0x2e940d23,
3049                -0x202082f6, -0x28f86695, -0x138ee60f,
3050            });
3051            try testArgs(@Vector(16, i31), .{
3052                0x299b126f,  -0x036abc93, -0x316932c9, -0x000ec330,
3053                0x2b5b55e5,  0x1152d33c,  -0x38795956, -0x21775cfb,
3054                0x33b2f235,  -0x176a2b8a, -0x35a414c1, -0x05cea30b,
3055                -0x15d3fae1, -0x25099671, -0x2b129fc8, 0x1d85ef27,
3056            });
3057            try testArgs(@Vector(17, i31), .{
3058                -0x223aadf8, 0x33234ff2,  -0x1db41796, 0x22e5237c,
3059                -0x1410d17e, -0x1ed10316, 0x30dff9be,  0x074e62a4,
3060                0x2390942e,  0x226001ee,  -0x21707fa4, -0x133ec03e,
3061                0x3a1b2d46,  -0x008bb082, 0x2a9b9b06,  0x1d9d86d8,
3062                -0x155eec72,
3063            });
3064            try testArgs(@Vector(31, i31), .{
3065                -0x069867e7, 0x3e0186da,  0x051764c2,  0x285c56eb,
3066                0x13ec479a,  -0x15186c10, -0x3a8075f2, -0x024b4bfe,
3067                -0x05b08735, 0x09370e80,  0x27d62abd,  -0x0b7b1b4a,
3068                -0x150b9bf2, 0x1f605503,  0x1c8775dc,  0x3ff9f92c,
3069                -0x2dd39a05, -0x21cf63bb, 0x3152b0af,  0x32a0bd47,
3070                0x3bc898df,  -0x1fbadec1, -0x3d109aa9, 0x396300a9,
3071                -0x3fa15657, 0x385611db,  -0x194a13eb, 0x023adda1,
3072                0x051dc63e,  0x35aff5e7,  -0x0e90420b,
3073            });
3074            try testArgs(@Vector(32, i31), .{
3075                0x112b30e4,  -0x0da9c739, -0x10174644, 0x157e992d,
3076                0x19473df4,  0x3b194945,  -0x2e6a085c, 0x2eae0b44,
3077                -0x0258e533, -0x3954621c, -0x3bac17c9, -0x12d5ca74,
3078                0x27f994df,  -0x0a1af60a, -0x283eea84, -0x304d9adc,
3079                -0x0dcbf719, -0x26a8ad2a, -0x26da09cc, 0x3e897a4d,
3080                -0x33e8b253, 0x173b1b37,  0x1949b69f,  -0x3e40aae4,
3081                0x34b03b07,  -0x30c7c779, -0x2817e4d2, -0x13c5b391,
3082                0x314f4544,  -0x07966d92, -0x07e94444, 0x3e344c6d,
3083            });
3084            try testArgs(@Vector(33, i31), .{
3085                0x10c8e0c8,  -0x08367b53, -0x039c1426, 0x0f5abdc6,
3086                -0x38664c7c, -0x1ffeeff5, 0x0e89e2fa,  -0x047559e3,
3087                0x3b1a6467,  -0x070764a4, -0x1227de1b, 0x05f20469,
3088                -0x2926e5ee, 0x1a026b3a,  0x1f0122b1,  -0x2bc4e9ac,
3089                -0x01173206, 0x2b69af3f,  -0x00052dce, 0x2e9332f3,
3090                -0x1ef69302, 0x1f20844a,  -0x03cc2644, -0x206d68c4,
3091                -0x15c57bf9, 0x211a14ec,  -0x35fe6ae4, -0x0ac708c4,
3092                0x3829ca16,  -0x11476434, 0x2402fbb8,  0x0c78da7b,
3093                0x3e40fb9a,
3094            });
3095
3096            try testArgs(@Vector(1, u31), .{
3097                0x2c6b497e,
3098            });
3099            try testArgs(@Vector(2, u31), .{
3100                0x0f9eb70f, 0x688a61f6,
3101            });
3102            try testArgs(@Vector(3, u31), .{
3103                0x05045dcc, 0x5dafb08f, 0x72314cfd,
3104            });
3105            try testArgs(@Vector(4, u31), .{
3106                0x5bdb842a, 0x2cbf89db, 0x01ca9eb3, 0x0c06df26,
3107            });
3108            try testArgs(@Vector(5, u31), .{
3109                0x31a4c3c4, 0x3db09048, 0x0b169f8c, 0x35feaf93,
3110                0x0e3ab88b,
3111            });
3112            try testArgs(@Vector(7, u31), .{
3113                0x1f83eae7, 0x5b49e350, 0x0c324714, 0x46a152c4,
3114                0x5fa04eeb, 0x1339412b, 0x6c8113e9,
3115            });
3116            try testArgs(@Vector(8, u31), .{
3117                0x611bb129, 0x5d2aaa83, 0x33fe2094, 0x4196b6e7,
3118                0x4149fddc, 0x5439adc5, 0x4b88bbfd, 0x1c217427,
3119            });
3120            try testArgs(@Vector(9, u31), .{
3121                0x3aed8e55, 0x24cc6983, 0x202a1a4a, 0x2b2c7a1f,
3122                0x0b356172, 0x6d5d4290, 0x705bab83, 0x231da4ac,
3123                0x3c8da70f,
3124            });
3125            try testArgs(@Vector(15, u31), .{
3126                0x598fde59, 0x7e4123c8, 0x3eff4e38, 0x2278501a,
3127                0x7d0181ac, 0x2fd9cbc9, 0x58e249ee, 0x52ebe5ed,
3128                0x6d26aabf, 0x64e0376b, 0x511f2fc9, 0x5ccbbacd,
3129                0x7218842b, 0x01d2076a, 0x34427409,
3130            });
3131            try testArgs(@Vector(16, u31), .{
3132                0x528a3575, 0x563d5ea6, 0x09958a5c, 0x1b78e232,
3133                0x46df9a07, 0x1e25132f, 0x4cb32673, 0x0e62352e,
3134                0x05cf2d1e, 0x48f3e722, 0x6c8bd3ea, 0x3a3d18c1,
3135                0x11a6c988, 0x0a1d6527, 0x091272d9, 0x4217d85a,
3136            });
3137            try testArgs(@Vector(17, u31), .{
3138                0x46cfe55d, 0x71e0a946, 0x69be47c6, 0x447c001a,
3139                0x4d955f10, 0x3de520fe, 0x71172bfe, 0x3565930f,
3140                0x57a0a6e1, 0x6141f169, 0x05f34daf, 0x08394745,
3141                0x367b0a18, 0x0f03b206, 0x06b738c5, 0x6c99eefc,
3142                0x16080d55,
3143            });
3144            try testArgs(@Vector(31, u31), .{
3145                0x63d9eb09, 0x3471a86f, 0x75c2261b, 0x139932ae,
3146                0x4440b017, 0x37927e7e, 0x066348e7, 0x3539f369,
3147                0x4b68b426, 0x7eeb5e62, 0x102acfd3, 0x19a2be5e,
3148                0x130b4bcd, 0x046017c3, 0x14d105eb, 0x08d03f5c,
3149                0x5f2b7043, 0x5d9947ea, 0x6290f828, 0x22ba5819,
3150                0x348a8398, 0x73cb09bb, 0x2baaeb81, 0x23432105,
3151                0x41a27099, 0x45c95496, 0x450a1390, 0x3ef286c7,
3152                0x1239a9f3, 0x4e02de22, 0x6b026142,
3153            });
3154            try testArgs(@Vector(32, u31), .{
3155                0x16d1447a, 0x512f1aec, 0x7e0b81bc, 0x61e01788,
3156                0x4b04fa9e, 0x5347bc4c, 0x54dfd0ba, 0x5e6f604d,
3157                0x7c030feb, 0x4b752bfc, 0x7a6f0ff8, 0x37ab4908,
3158                0x75a473dc, 0x4f47141b, 0x48273189, 0x6c0dab29,
3159                0x4db28e4d, 0x38499d28, 0x413d5398, 0x6e1a6e2f,
3160                0x6c371778, 0x573122ed, 0x4eca8dec, 0x578b3f3f,
3161                0x44227c9b, 0x3ed38de8, 0x5bda357b, 0x221e6b2d,
3162                0x26adc9a9, 0x03cbf79a, 0x4c1b67ae, 0x23bc3b4f,
3163            });
3164            try testArgs(@Vector(33, u31), .{
3165                0x30658443, 0x6e6b28e0, 0x4ddcf7fa, 0x213d137a,
3166                0x5665eb75, 0x7584b67f, 0x752e0758, 0x2219b79f,
3167                0x63260da1, 0x63eb63c0, 0x5e6379fa, 0x5e6092ba,
3168                0x3b9ef10c, 0x70007fa1, 0x5168d49d, 0x500165f2,
3169                0x3cce8495, 0x2ccc37a0, 0x77355fd8, 0x6db8713a,
3170                0x32be3c7f, 0x6c5d8fd6, 0x0661a0d7, 0x2addb6f5,
3171                0x7f6ffe40, 0x3e044497, 0x31aa9ce7, 0x68f27de6,
3172                0x29ac6c5a, 0x33a9ac02, 0x1cebe9be, 0x008f2d15,
3173                0x114ece53,
3174            });
3175
3176            try testArgs(@Vector(1, i32), .{
3177                -0x57167162,
3178            });
3179            try testArgs(@Vector(2, i32), .{
3180                -0x0afc5ccf, 0x7c289f05,
3181            });
3182            try testArgs(@Vector(3, i32), .{
3183                -0x62b04b64, -0x749219be, -0x5f6f4126,
3184            });
3185            try testArgs(@Vector(4, i32), .{
3186                -0x057cc6de, -0x76130bb3, -0x58686a0f, 0x7c2f79d8,
3187            });
3188            try testArgs(@Vector(5, i32), .{
3189                0x13e42c0c, -0x30bf125a, 0x6cfc00ce, 0x45cd40ec,
3190                0x2b23633c,
3191            });
3192            try testArgs(@Vector(7, i32), .{
3193                -0x05e67091, 0x610956e2, 0x6f3044e4,  0x55f7c13a,
3194                -0x025bd536, 0x7e9b59d9, -0x2643b7f9,
3195            });
3196            try testArgs(@Vector(8, i32), .{
3197                0x02242952, 0x1c9e0018, 0x0202ca9a, 0x613a616e,
3198                0x1a7d609f, 0x08df0618, 0x67d9f0bb, 0x62f5eaa7,
3199            });
3200            try testArgs(@Vector(9, i32), .{
3201                -0x560db429, 0x1b2a7851, -0x08c78275, -0x44062b5d,
3202                0x15a9056e,  0x67387ef1, -0x1a9e2649, -0x2b0a542c,
3203                0x4a753362,
3204            });
3205            try testArgs(@Vector(15, i32), .{
3206                0x65c0a394,  -0x5776b4dc, 0x4a04bafd,  0x05cebaa5,
3207                -0x2d850047, -0x54125808, -0x1ad50b8e, -0x18155809,
3208                -0x49d97a00, 0x7b4a7238,  -0x14e94ce1, -0x3eb4baec,
3209                -0x31e938da, -0x2478216f, 0x3f44efb9,
3210            });
3211            try testArgs(@Vector(16, i32), .{
3212                0x19eef434,  -0x52773350, -0x17d21248, -0x5344d662,
3213                -0x0e9bddfd, 0x336d8629,  -0x4923275c, -0x4d2cdcde,
3214                0x265c60b0,  -0x1ea18441, -0x60576071, 0x4305bca0,
3215                0x3d91f4a8,  0x5c7c692f,  0x5d9fee97,  -0x37b8cee3,
3216            });
3217            try testArgs(@Vector(17, i32), .{
3218                0x4adeebba,  -0x4ea233b1, -0x13f148a7, 0x2b84b4ce,
3219                0x6a3696fd,  0x5c8fbdf8,  -0x79b39489, 0x6a2e0352,
3220                0x28de7593,  0x36afb0c1,  0x35e7b750,  -0x798a2b63,
3221                -0x6dc14668, 0x3bb49d78,  0x12efb113,  0x08d78e70,
3222                0x7e4e6b26,
3223            });
3224            try testArgs(@Vector(31, i32), .{
3225                0x3313989c,  -0x6114ea29, 0x24a5413f,  0x5403f71c,
3226                0x6cd915b8,  0x1491266e,  -0x33c2d8e9, -0x7758cc5f,
3227                0x53928da8,  -0x0e3fa3e8, 0x69f14e4e,  -0x0238a052,
3228                0x32c41453,  0x022675a1,  -0x345e5943, 0x3cd5446e,
3229                0x5f581036,  0x129b3b3a,  -0x4872b525, 0x3d0e213b,
3230                0x5a548a0d,  -0x70911c7d, 0x552ffd1a,  -0x66dc962a,
3231                -0x0e6ad8fe, 0x759e3543,  -0x3b9be89f, -0x49b6d632,
3232                -0x4ce29b04, 0x3faa898d,  -0x4f32bd09,
3233            });
3234            try testArgs(@Vector(32, i32), .{
3235                -0x352ba6a8, -0x74bb8a9e, 0x5328eafd,  -0x26f782be,
3236                -0x5a68e0ce, 0x0a28563b,  -0x1f3389ce, 0x60a45ab6,
3237                0x4b3d4026,  0x3d1fe7fe,  -0x7417a38d, -0x1907cd8d,
3238                0x797cc6d0,  0x431a0fe1,  0x5999b33f,  0x3b4692d2,
3239                0x23bf1d7e,  0x39db2e30,  0x4d11c405,  0x322da6ce,
3240                0x1101d6f7,  -0x063b8045, -0x56e008cc, -0x109cef25,
3241                -0x11cd8d98, -0x7a6d3339, -0x5b96ffcb, 0x29ffea46,
3242                0x00241d06,  -0x6666bd45, -0x0fef4041, 0x51ea50c3,
3243            });
3244            try testArgs(@Vector(33, i32), .{
3245                0x41619032,  0x76143ec6,  0x066d2c66,  0x65a92981,
3246                -0x1f054f6a, 0x1336e00d,  0x06c8d108,  -0x792c47c5,
3247                -0x3aa8fce1, 0x571943c1,  -0x3a04cfdc, 0x70d9852a,
3248                -0x2a504bb2, -0x6bab1ae8, 0x52df682a,  0x7645a921,
3249                0x21d00f11,  0x2288afe8,  0x3608772c,  -0x5dda74e7,
3250                0x26a729b3,  0x62a08b04,  -0x48b9799b, 0x764ff513,
3251                -0x5c0d65a9, -0x79476e8c, -0x38f32713, -0x5aa0a813,
3252                0x53c26d99,  0x01b24f7c,  -0x6e562527, -0x28dbdacf,
3253                -0x0af1abe6,
3254            });
3255
3256            try testArgs(@Vector(1, u32), .{
3257                0x417af061,
3258            });
3259            try testArgs(@Vector(2, u32), .{
3260                0x67d25405, 0x24530653,
3261            });
3262            try testArgs(@Vector(3, u32), .{
3263                0xea5a8586, 0xa486d5c7, 0x441951fa,
3264            });
3265            try testArgs(@Vector(4, u32), .{
3266                0x1330c66d, 0x190e4b87, 0xc40a763c, 0x1e04942a,
3267            });
3268            try testArgs(@Vector(5, u32), .{
3269                0xf2417484, 0x4628508b, 0xe5ce63a1, 0xedff9058,
3270                0x67e5a112,
3271            });
3272            try testArgs(@Vector(7, u32), .{
3273                0x294d002e, 0xb11b9a83, 0xd41dbc28, 0x956abbab,
3274                0x27aa5a4d, 0x236634c4, 0xfcb579e8,
3275            });
3276            try testArgs(@Vector(8, u32), .{
3277                0xdaaaf612, 0x3e5ba097, 0xaab27d52, 0xc4057607,
3278                0xc2377f4c, 0xaed82c05, 0x681c6c6e, 0xd33108ab,
3279            });
3280            try testArgs(@Vector(9, u32), .{
3281                0xb286c075, 0x95e2365c, 0x7db24272, 0x4d87734d,
3282                0x74b07a88, 0xc7f664a7, 0x94b83937, 0x61edd88b,
3283                0xddc2ce66,
3284            });
3285            try testArgs(@Vector(15, u32), .{
3286                0x37c1fd6a, 0x72b89c34, 0x9835fc75, 0x232fed02,
3287                0x33cc380a, 0xf8bc2d4f, 0x91944e7a, 0x70825173,
3288                0x78662e47, 0x9c6f9d5e, 0xb60e6b29, 0xabf644ab,
3289                0x43f862a8, 0xffab8ea1, 0xf66309e0,
3290            });
3291            try testArgs(@Vector(16, u32), .{
3292                0xdaa0372e, 0xfc2bd33b, 0xdc12c2ec, 0xc0965f29,
3293                0xbe7f49dc, 0xf16d3f9e, 0x0afbef72, 0x57683019,
3294                0xd4daf23a, 0x8008f39c, 0xf50ba3e1, 0x5112baa2,
3295                0x28b6f532, 0xd0c76d49, 0x245fa32e, 0xdfdad69f,
3296            });
3297            try testArgs(@Vector(17, u32), .{
3298                0xf2c0946e, 0xec9a560f, 0x828cbfe0, 0x59e22a95,
3299                0x3e3d7663, 0x16cee3ce, 0xad45d67b, 0x164c7ce7,
3300                0xf08aa758, 0xc43048e4, 0xbef1aaf1, 0xa933e19a,
3301                0x501a3c3b, 0x664e1fc0, 0xea91d637, 0xcba5ff92,
3302                0x494e8b1d,
3303            });
3304            try testArgs(@Vector(31, u32), .{
3305                0x5a667dbb, 0x2a1aa819, 0xac4b64b2, 0xfa76177d,
3306                0x900d48f0, 0xe53bd516, 0xea3dcaeb, 0xb1fe1e32,
3307                0x717ac9bf, 0x5c27b4b2, 0x6cb0c361, 0x90110ef8,
3308                0x63d63e78, 0x9bd0bdb4, 0x72e55414, 0x517ce90e,
3309                0x565443d0, 0x37c93db9, 0x193f0667, 0x2a4ecad8,
3310                0x13e08477, 0x2e0d69fd, 0x104dd13a, 0xbec0f4f1,
3311                0x728a93b4, 0x3253cd55, 0x99fa6707, 0x69b406c1,
3312                0x27ff507a, 0x15167dee, 0xb2615448,
3313            });
3314            try testArgs(@Vector(32, u32), .{
3315                0xeb065322, 0x3946a581, 0x81c97d07, 0x565e01bb,
3316                0x14949bc8, 0xfddfd79e, 0x349bae23, 0x6d797548,
3317                0xef62d1a6, 0x44192db6, 0x5fcb4512, 0x74a5f104,
3318                0xda03c6e3, 0xbbbedf47, 0x709794a3, 0x77942d36,
3319                0x66a49d4d, 0x0a83e3a5, 0xd3b40484, 0x278ad9de,
3320                0x8f382688, 0x9da30151, 0x1c067c60, 0x94145f5c,
3321                0x45ff36bc, 0xaeef3443, 0x3597cd33, 0x41f8008b,
3322                0xf7c801fa, 0xd3048ea5, 0xbb2c2bbb, 0x84693546,
3323            });
3324            try testArgs(@Vector(33, u32), .{
3325                0x46f29173, 0xd69fe90c, 0xd7b827e3, 0xb02aa49a,
3326                0x398d3cc7, 0x85d7ff46, 0x9a471601, 0x490652a2,
3327                0xc60d1927, 0x4baf48d1, 0x59272b71, 0x78567058,
3328                0xa9cd7ac3, 0x50fa223c, 0xf9b2caf4, 0xa1b5d026,
3329                0x2083ddb0, 0x5f8b1aac, 0x34b6528a, 0xfe1e2d7c,
3330                0xf93418cb, 0xc873e475, 0xf031b8fa, 0xe5ebe15c,
3331                0x086875a9, 0xf2a6e152, 0xa07bbe62, 0xaace4a7c,
3332                0xc7a88fc2, 0x5ffd5bfd, 0x646bb619, 0xa6425229,
3333                0xe203858f,
3334            });
3335
3336            try testArgs(@Vector(1, i33), .{
3337                -0x06cb7eb3c,
3338            });
3339            try testArgs(@Vector(2, i33), .{
3340                -0x08e99ce23, -0x04f4fc81d,
3341            });
3342            try testArgs(@Vector(3, i33), .{
3343                0x04dca5870,  -0x057649287,
3344                -0x0629b7859,
3345            });
3346            try testArgs(@Vector(4, i33), .{
3347                -0x03ac9fa2d, -0x056448c8c,
3348                -0x06327f240, 0x057caa00d,
3349            });
3350            try testArgs(@Vector(5, i33), .{
3351                -0x0eda7ca37, 0x00c150a49,
3352                0x0961b87fb,  -0x0efac7b65,
3353                -0x0abf89ecc,
3354            });
3355            try testArgs(@Vector(7, i33), .{
3356                0x0174d5a59,  -0x09103671b,
3357                -0x0920ebe1b, -0x05f76f77b,
3358                0x02f912948,  -0x036177518,
3359                0x0d8c9d0c9,
3360            });
3361            try testArgs(@Vector(8, i33), .{
3362                0x01609ce6e,  -0x02816dc90,
3363                -0x08be4b46a, 0x032e9d1c6,
3364                0x070c248ab,  0x02700eade,
3365                -0x0d5b561fe, -0x0c5ecfe6b,
3366            });
3367            try testArgs(@Vector(9, i33), .{
3368                0x0ff839829,  0x0a7311ec7,
3369                -0x0875b2074, 0x04b868bf9,
3370                0x05c7baa1a,  -0x096406153,
3371                0x08858ca39,  0x0e3b478b0,
3372                -0x02456564b,
3373            });
3374            try testArgs(@Vector(15, i33), .{
3375                0x0358b5e15,  -0x02489976c,
3376                0x0e710e92f,  0x0cb044409,
3377                0x0bf246fce,  -0x081e28596,
3378                0x0b6040038,  -0x043f0f0ea,
3379                0x0e4ba67c8,  -0x0c22ed81d,
3380                0x0f23c0c0e,  0x06540b535,
3381                -0x067b1d030, 0x09f71bb39,
3382                0x0c23fa3b0,
3383            });
3384            try testArgs(@Vector(16, i33), .{
3385                -0x0142ab9ee, 0x0459423ea,
3386                0x0de356963,  -0x0332d4d5e,
3387                -0x0e3352b48, 0x0d0f05ada,
3388                0x06684b9de,  0x0f1e76fa6,
3389                -0x0d9f75c96, 0x07e244fb3,
3390                0x08b8cab5a,  0x0debabd35,
3391                0x0f5434271,  -0x01bc41173,
3392                0x0a27988f5,  0x0fb4e5cf0,
3393            });
3394            try testArgs(@Vector(17, i33), .{
3395                -0x076e0997e, -0x074090dcb,
3396                -0x05a6ec729, -0x0a5a88f89,
3397                -0x020066f29, 0x08cb7a55c,
3398                -0x092eb4cf8, 0x06ff474ce,
3399                0x023df42a8,  0x0dd1a69fe,
3400                0x0b9150082,  -0x0162fde21,
3401                0x024df7571,  0x0bb74d943,
3402                -0x05de07f92, -0x09f02a5e2,
3403                0x09416d842,
3404            });
3405
3406            try testArgs(@Vector(1, u33), .{
3407                0x0ebec10d6,
3408            });
3409            try testArgs(@Vector(2, u33), .{
3410                0x1f42bc395, 0x1eb083140,
3411            });
3412            try testArgs(@Vector(3, u33), .{
3413                0x0727b446a, 0x1ac44a4b3,
3414                0x0b0730c42,
3415            });
3416            try testArgs(@Vector(4, u33), .{
3417                0x1d821cff0, 0x011b28b87,
3418                0x0739856cb, 0x19ed6a1fa,
3419            });
3420            try testArgs(@Vector(5, u33), .{
3421                0x0b2314516, 0x19c0de98e,
3422                0x00eb7fc2e, 0x1987258e6,
3423                0x003e3280e,
3424            });
3425            try testArgs(@Vector(7, u33), .{
3426                0x156b9af69, 0x16623874a,
3427                0x198771fa2, 0x1891367f0,
3428                0x1158cfd5a, 0x1c6a51cab,
3429                0x084f757b5,
3430            });
3431            try testArgs(@Vector(8, u33), .{
3432                0x1be002f1d, 0x0dd42ad31,
3433                0x04ba63298, 0x1534bd4a1,
3434                0x0a72dfea0, 0x0eae2b4bf,
3435                0x1bf962681, 0x0e57f3613,
3436            });
3437            try testArgs(@Vector(9, u33), .{
3438                0x11f21a47d, 0x0a8fef8a1,
3439                0x0009fb473, 0x06e94c939,
3440                0x0a9c9c22e, 0x0bfb8f89e,
3441                0x17ade9bf2, 0x11e4bc9e0,
3442                0x15968c696,
3443            });
3444            try testArgs(@Vector(15, u33), .{
3445                0x02af9eb53, 0x19ac3812b,
3446                0x1632dbb21, 0x023d5a196,
3447                0x1e154b359, 0x0b371fa45,
3448                0x0e565a06f, 0x1965c7126,
3449                0x018bf92f3, 0x14b48f26e,
3450                0x10c954288, 0x08c945996,
3451                0x0216073fd, 0x15fa9132e,
3452                0x0b6a428db,
3453            });
3454            try testArgs(@Vector(16, u33), .{
3455                0x0a6a69363, 0x19ea477ba,
3456                0x0493ff35e, 0x1fece1b1d,
3457                0x063eb6012, 0x103c65796,
3458                0x0e98ca7fd, 0x04b972c94,
3459                0x1b0dce10e, 0x088b67474,
3460                0x181322bd9, 0x1f78856bb,
3461                0x0f2f70b1b, 0x15ac608f8,
3462                0x08c9817f4, 0x00bc52fa0,
3463            });
3464            try testArgs(@Vector(17, u33), .{
3465                0x17d631441, 0x17e9ee0b7,
3466                0x08ef8565f, 0x103428ae3,
3467                0x03b039a4b, 0x00e90f659,
3468                0x1c66d2e73, 0x07347d531,
3469                0x1a03c6ad9, 0x0e6cedf41,
3470                0x0b30405ab, 0x0d2520be7,
3471                0x03f97d747, 0x1af71f3e1,
3472                0x01bf05ceb, 0x100526d23,
3473                0x0941ec325,
3474            });
3475
3476            try testArgs(@Vector(1, i63), .{
3477                0x3751c894e8fbe69b,
3478            });
3479            try testArgs(@Vector(2, i63), .{
3480                0x02659637000f4849, -0x1c21ef23a4708c02,
3481            });
3482            try testArgs(@Vector(3, i63), .{
3483                -0x3bd1aa5cccdac018, -0x1a70b3d17b0a767e,
3484                -0x3e6cf9c01feced83,
3485            });
3486            try testArgs(@Vector(4, i63), .{
3487                -0x21cf08dffb8c4261, -0x02952228a9555748,
3488                -0x0d28be6a86a51bbd, -0x048efe42b6a083e6,
3489            });
3490            try testArgs(@Vector(5, i63), .{
3491                0x191b8bf9c3cb1974,  0x173fcea0524d0dbe,
3492                -0x1d8fb8b6f758c797, -0x3837eb2a2bda5c45,
3493                0x31ad632bd048b341,
3494            });
3495            try testArgs(@Vector(7, i63), .{
3496                -0x2d8b6c97799235ea, 0x26d281f112edb009,
3497                0x300456663162abb3,  0x01530ea40f5a18c5,
3498                -0x12da0488be671be3, 0x0ec6f12b30534b7f,
3499                -0x216deec3e431f0bf,
3500            });
3501            try testArgs(@Vector(8, i63), .{
3502                0x245bf28fd8b546ba,  -0x2956bf6106b5d362,
3503                -0x319ab740f51b4154, -0x0e2e242a7881fac6,
3504                0x3bfcc5138251883a,  -0x1149a93f2eb40973,
3505                0x388be2cc2f89ad62,  0x28e30c5c7552f64a,
3506            });
3507            try testArgs(@Vector(9, i63), .{
3508                0x01944c5c05ed619c,  -0x01e49493b7503176,
3509                0x0629c5be94d83864,  -0x0c07c0a839450459,
3510                0x1a0382b2beff495a,  -0x2fd440b33af6eefb,
3511                0x00c526ddfbcaacda,  0x326e139a32198f4d,
3512                -0x11b5067f11748882,
3513            });
3514            try testArgs(@Vector(15, i63), .{
3515                -0x22eaa5b856307e6b, 0x06b7518dad66dd8d,
3516                -0x1c666681c4ca06f1, -0x34febd64e274f4f3,
3517                0x1305d4b063fbb18c,  -0x1df2eaa1ebb176b4,
3518                0x19dd5ae15bb8f765,  -0x066c6c1d31def660,
3519                -0x1bf661e9d29b449c, -0x3eaedd122226c2de,
3520                -0x0fb1ba685fdb2b68, -0x32fd1e57bb04eb26,
3521                0x3fd66e9f96aa8df0,  -0x3fbe307aa6523b61,
3522                0x1df0e564a0a8e2d7,
3523            });
3524            try testArgs(@Vector(16, i63), .{
3525                0x061767e9366a32ac,  -0x1c7542a68d5750aa,
3526                -0x174386205ba10e99, 0x1f7ae720e2b8513c,
3527                -0x286d271f72914c1b, 0x0ba2ccdcdae61287,
3528                -0x294d3c0c5c99c1ad, -0x094390e09b71d711,
3529                0x1ff69b4e11e4577d,  0x38376ee4fd90d9c7,
3530                -0x1fed65c3a90bb2ff, -0x0158ed8a5643f0f2,
3531                0x101e5ce53748f42f,  0x0a29f1e053325ddb,
3532                0x3b5826ebb9380e0f,  -0x08593f40b8e95311,
3533            });
3534            try testArgs(@Vector(17, i63), .{
3535                0x267962dbbbc555e2,  0x3acabce21dcfa860,
3536                0x3b3bd612d8ac0fe6,  0x164fbaeb4b6ebf96,
3537                0x0b59a4caca202e9f,  -0x1005cf4dd7d841ea,
3538                0x04900ca2be0565a9,  -0x1c0749e904112370,
3539                0x02e4f2e360a13b6c,  0x16baa5d7696d83ec,
3540                0x0c2616a3d3dec6a7,  0x041bea2fa7bac749,
3541                -0x2ecc7a999b3da500, -0x0def15b53d6a7490,
3542                -0x2c8d96e583a7dc12, -0x2f75e205478cbd3d,
3543                -0x2746871924743046,
3544            });
3545
3546            try testArgs(@Vector(1, u63), .{
3547                0x2177701462817ae8,
3548            });
3549            try testArgs(@Vector(2, u63), .{
3550                0x4d8aefa47c681718, 0x3c8bc100dc62a229,
3551            });
3552            try testArgs(@Vector(3, u63), .{
3553                0x51efe053a56e54cc, 0x4813340907e62f02,
3554                0x6cf745dfcfc5a0f8,
3555            });
3556            try testArgs(@Vector(4, u63), .{
3557                0x64b75da9ac93ca30, 0x163e34f890f56173,
3558                0x0a04ca663e580162, 0x14693b19720c5b04,
3559            });
3560            try testArgs(@Vector(5, u63), .{
3561                0x06bc896f283c63d7, 0x010d4ad73df2c443,
3562                0x3322a2732c5175a0, 0x1021e5e040a6c335,
3563                0x45afd197802c1448,
3564            });
3565            try testArgs(@Vector(7, u63), .{
3566                0x2efe752b1ee67744, 0x78c4c63665a5b5d2,
3567                0x1f0bfdabc6ef4bf1, 0x2be2324013eaff8a,
3568                0x5439d73093cd89d5, 0x61254b8532f1f7bd,
3569                0x6f3523b66691dba5,
3570            });
3571            try testArgs(@Vector(8, u63), .{
3572                0x7221f7d6f82ce4da, 0x591e824f45c20f9d,
3573                0x4e5f3d829a9090a1, 0x4b46fe4492b60c10,
3574                0x792e48d707425d79, 0x12454f364b8a3642,
3575                0x02cd18a19104066a, 0x099e27552e33ea05,
3576            });
3577            try testArgs(@Vector(9, u63), .{
3578                0x22f0f07ebf34daab, 0x0e52ab968e844242,
3579                0x1d5979b9177b31d9, 0x59b2d70b05eaca66,
3580                0x7eb234b48319fe7a, 0x2ef2c5db4b85978d,
3581                0x43f1d01e26f2c33f, 0x4eb09118689a5aba,
3582                0x43f205474675dd47,
3583            });
3584            try testArgs(@Vector(15, u63), .{
3585                0x14fa00be6ffab27e, 0x369543c3445d91aa,
3586                0x11754739f827f2e7, 0x3ff0ac34ed39c6ec,
3587                0x726b45a4e174a68c, 0x09c2a9b2197f0ade,
3588                0x22edec3dd9ae3783, 0x0611bd9d50406ae7,
3589                0x63b9ade47da2ba37, 0x04bd2c7a867bcba2,
3590                0x0d68a5438ae1d495, 0x70da32c6373f1036,
3591                0x5b85033485c5fe55, 0x43e6169b503ca8de,
3592                0x40cde07fe0470dc6,
3593            });
3594            try testArgs(@Vector(16, u63), .{
3595                0x1c635b835478a911, 0x0995b39ff44566a4,
3596                0x0cc867c3c17916ab, 0x10ed098c1ba3c91c,
3597                0x551afb772998e956, 0x4494d2d8453467de,
3598                0x48ae36cf8787812e, 0x163ec6db793793c2,
3599                0x1096a8cc35ad1ce1, 0x4029214025020ed9,
3600                0x4b322be7dd63b2da, 0x08c9e6ae8356922a,
3601                0x06efd2d7fa64419c, 0x5299f1bd4ef1d8af,
3602                0x4685daa8a2a8d7dc, 0x500d31c70e37dfac,
3603            });
3604            try testArgs(@Vector(17, u63), .{
3605                0x0c9e8888be3a1d7a, 0x3eb6dba412d9e9f8,
3606                0x4a36342aa344f7ba, 0x6c8baf91ed4085ef,
3607                0x343c5eeb15de875b, 0x001082f9c30cb0f0,
3608                0x3875a1104b976588, 0x737ad1482363b5b0,
3609                0x47e6be33674ea76f, 0x4d4fad5f4d31c8e6,
3610                0x3bde471489363a93, 0x462f3ee217211130,
3611                0x5139c07adde61547, 0x34f5436cce96302e,
3612                0x47f433875f988720, 0x2d984bcfe65386b6,
3613                0x70fe9dd022a1ace7,
3614            });
3615
3616            try testArgs(@Vector(1, i64), .{
3617                -0x4b7fb0b786be5c3a,
3618            });
3619            try testArgs(@Vector(2, i64), .{
3620                0x2137d770dcd7210d, 0x57f8f60e1ae33a48,
3621            });
3622            try testArgs(@Vector(3, i64), .{
3623                0x01f4d5911e62a232, -0x6f02ad23979236ad,
3624                0x78b48dc1d900fc75,
3625            });
3626            try testArgs(@Vector(4, i64), .{
3627                -0x7127d14674e525fd, 0x6305c7259a0349c1,
3628                0x7692ac00c0ec1cfa,  0x59ea1f91b10d5365,
3629            });
3630            try testArgs(@Vector(5, i64), .{
3631                0x11a559214771da81,  -0x09bfa4f3e16f9ac7,
3632                -0x0c6a6d70a5812ecd, 0x3a8731e64f568239,
3633                0x1911ef10b4fba5bc,
3634            });
3635            try testArgs(@Vector(7, i64), .{
3636                0x7afc6a3fda5693f6,  0x3810984cc9a442cf,
3637                -0x57dc022511143fee, 0x1c3104cde6237c23,
3638                -0x547d7db283a6bec4, 0x1c5abae6f7f692eb,
3639                -0x2d1de6d188652687,
3640            });
3641            try testArgs(@Vector(8, i64), .{
3642                -0x77388284294cc650, 0x4eaacacd5f19da71,
3643                -0x7a55c43d7f0c2e69, -0x181ffd0b2bba3542,
3644                -0x03c7eed19ea409f0, 0x02d7a2d738ec292c,
3645                -0x79518d662eb65d07, -0x0554d622b3d8bdc7,
3646            });
3647            try testArgs(@Vector(9, i64), .{
3648                0x089a5a66fa037603,  -0x0fad9e9572978fe2,
3649                -0x30e890e380bbbfe0, -0x029960ad7adec445,
3650                0x739971f03b533351,  -0x3d7a8714758eddc8,
3651                -0x0e438dca01a4c7f1, -0x498770017bf7829e,
3652                0x3f91d9063f19e5e9,
3653            });
3654            try testArgs(@Vector(15, i64), .{
3655                0x10e7e0bc67dd9007,  0x3f98419baf874724,
3656                0x5734cc0c224c897c,  0x309b977f13650658,
3657                0x69e4368beccb9363,  0x5f59916d2153f2c8,
3658                -0x68baea76bc430b80, 0x64df0fc97c44e6db,
3659                -0x6f653ae097106799, 0x047ea3393d8ea124,
3660                -0x12b554d34241c116, -0x4b129c9655dd20e8,
3661                0x5e1c137e8cf8c657,  -0x4de73be2ed085459,
3662                -0x4db87055403fae80,
3663            });
3664            try testArgs(@Vector(16, i64), .{
3665                0x4a200de54cf8a7d2,  0x7aa8a43d6ce85e1d,
3666                0x635c52f9d27dc223,  -0x4f8273cfef9532a5,
3667                0x28e0934381355f7d,  -0x1f4c5936fdc08f03,
3668                -0x1e48c06274cedf3b, -0x437a90f8ae575a54,
3669                -0x47a1285dc3053bfb, -0x2b9f621c5282cf9c,
3670                -0x3afbbad2d44d3b2c, 0x093993c1a3e2446c,
3671                -0x06e64b37f5cbf493, 0x7ef6fa9fdbf10a56,
3672                0x584892e663ff7964,  -0x39cec290300b6b26,
3673            });
3674            try testArgs(@Vector(17, i64), .{
3675                0x5d63f7f3ea59a706,  0x66479c3ea87e877d,
3676                0x60bbb83aa7074fef,  0x18af9352281786b6,
3677                -0x6585bf8d88ec68b0, 0x4061a05c9d172919,
3678                0x5416c7dbe6504682,  0x7099f1f3b043d901,
3679                0x74d29539167d4ebe,  -0x7c0d98061999fa98,
3680                0x650f42990507957f,  0x67a6137616636aa2,
3681                -0x79aab7fb99bca92b, -0x780079d7c8e19ca0,
3682                0x0cd27dfe2c7521a6,  0x765e9335c8148fa2,
3683                0x784d1133125c6938,
3684            });
3685
3686            try testArgs(@Vector(1, u64), .{
3687                0x355b7529a18f6e0a,
3688            });
3689            try testArgs(@Vector(2, u64), .{
3690                0x93377f019ceeb5f9, 0x990ccc5803cebd4b,
3691            });
3692            try testArgs(@Vector(3, u64), .{
3693                0xdcf28cd5bc1bcd54, 0x3770fa01b4bc08f9,
3694                0x5feeab26a2e0c753,
3695            });
3696            try testArgs(@Vector(4, u64), .{
3697                0xfb61199844333d29, 0xfac4e5a64b92413c,
3698                0x9d6d13d41ef64ba0, 0x632935cc93fd1804,
3699            });
3700            try testArgs(@Vector(5, u64), .{
3701                0x48f503b75b7c871d, 0x0bf3302c1c7311a9,
3702                0xa7c84e61899d845f, 0x26c4a4d696c3a12f,
3703                0x10fe1869c95ddde5,
3704            });
3705            try testArgs(@Vector(7, u64), .{
3706                0xa882300f7b3feb0c, 0x3d006e16890ec7e6,
3707                0x807a2a2da9c68810, 0x3574c34f46fadbb9,
3708                0xfd1ff4b713ff7e75, 0xe7741a11125e5734,
3709                0xa219656fc3e08bc9,
3710            });
3711            try testArgs(@Vector(8, u64), .{
3712                0x794ce49dc61ffe02, 0x26ded6f4ca236f77,
3713                0x2bb852a1a181e016, 0x9218a461b622abf3,
3714                0x250471ad116f28ab, 0x732280396a95f70f,
3715                0x913532dcdb1abe1a, 0x8b550b165f6f3c0d,
3716            });
3717            try testArgs(@Vector(9, u64), .{
3718                0xe0e3bc1116099b0c, 0x0a5dd53ba26770d2,
3719                0x43995c799f295c76, 0x4c169b362ce40ac2,
3720                0xb50ad4961a4c1508, 0xc46d51f361ed7b6a,
3721                0x2d7432e560138aae, 0x88e8d2b4338bfa38,
3722                0xac1cf0c39508b21a,
3723            });
3724            try testArgs(@Vector(15, u64), .{
3725                0xf3da70a7e248f183, 0x85386f2f82fa4906,
3726                0x8ccc8c1328dc408c, 0x563a8a2d52bd286d,
3727                0x87501c5a211a884f, 0xf740939299cc59fc,
3728                0x00c656fb3cf431f2, 0xbd74f9747be208d6,
3729                0x45013667a3ba98cc, 0x2954ea4409a605a3,
3730                0xf9bb98de17f87873, 0x94770fedfd97b1e6,
3731                0xfa90322d59fdb4bb, 0x7242fb5f83e8c199,
3732                0x2340d307e4438482,
3733            });
3734            try testArgs(@Vector(16, u64), .{
3735                0xd09341c824a83e25, 0x8a30caf3359f3d58,
3736                0x46cbadcd68afd397, 0x9f5f3e7ef79d9255,
3737                0xa247f41fd962e4ae, 0x8437c02fa08497e8,
3738                0xc375990c3cd82fe9, 0x5168826a7224f73f,
3739                0xc99ca45a2b746bb4, 0x42b849004159ce02,
3740                0x007c450769410f61, 0x8f2f91cf22e178fa,
3741                0x86ee7d1ff41c0f89, 0x079e9ec26a77aa45,
3742                0x3d2ffdbecf9660b0, 0xbb9ee5348ef39666,
3743            });
3744            try testArgs(@Vector(17, u64), .{
3745                0xcc4ba58941a112da, 0xfbbb48cbf9da0088,
3746                0xd558a4110617b6a2, 0xfe39ed646f5519db,
3747                0x56f3fbd81853b1e0, 0xd895d679446390d4,
3748                0x6eba9cc3f0d682d7, 0x248cbedaa78b144f,
3749                0x6be12ab5dce9a518, 0x7c30ffeefd1a097b,
3750                0x8ff88cf1643c385b, 0x6f6e9f5191889057,
3751                0xc4b4beeb8b531de0, 0x0189188d979da467,
3752                0xab22fceefbdd33d6, 0x1616bbf79271a0f3,
3753                0x52075d69a6cf3450,
3754            });
3755
3756            try testArgs(@Vector(1, i65), .{
3757                -0x04a1a4da1d9da76bf,
3758            });
3759            try testArgs(@Vector(2, i65), .{
3760                0x03c475f6c2f0951e5,
3761                0x0704f02479fb01242,
3762            });
3763            try testArgs(@Vector(3, i65), .{
3764                0x0138ba6e706a5ca65,
3765                -0x06c79c32b5080c6f7,
3766                -0x052327b60748ab35f,
3767            });
3768            try testArgs(@Vector(4, i65), .{
3769                -0x0815fe21ee3c89d70,
3770                -0x07100c511bbecfc96,
3771                0x04c3d645430697de9,
3772                -0x04d3fe6078180a7de,
3773            });
3774            try testArgs(@Vector(5, i65), .{
3775                -0x0c18f313629a95a15,
3776                -0x0ff2287b0afcce461,
3777                0x0f244ae6e9a14a1fe,
3778                -0x04eb5f56df21aeef8,
3779                0x0c84f100c53ecb805,
3780            });
3781            try testArgs(@Vector(7, i65), .{
3782                0x08242f0645e164a6b,
3783                0x0bae1b6147f56fd3b,
3784                -0x00043aa964b5c8834,
3785                0x0e44433985af34829,
3786                -0x01e7806be748ac6e9,
3787                -0x0e539dbff9fc2ed67,
3788                -0x087db7cf263c37dd9,
3789            });
3790            try testArgs(@Vector(8, i65), .{
3791                0x0fc8f809919517224,
3792                -0x0a09049fd34fe9525,
3793                -0x082c50cffe1f00ce6,
3794                0x0a58b97a6a016097f,
3795                -0x0605ab965554e1f64,
3796                0x01786432da6221baf,
3797                0x0cf8d7ffa9bd1a9d1,
3798                0x06a5e63bd10028fd3,
3799            });
3800            try testArgs(@Vector(9, i65), .{
3801                -0x064688784ee533a87,
3802                -0x0e36f7c74d13cb8af,
3803                -0x00fbf8cdce6c2ad1f,
3804                0x083a32da05be62d94,
3805                0x0e8518099bbc20330,
3806                -0x0bdc61a1ab64481f9,
3807                -0x0dcd7b2ac1bbb4f0c,
3808                0x0a085abafc8c3f27b,
3809                0x00fbf0b4bd400496e,
3810            });
3811
3812            try testArgs(@Vector(1, u65), .{
3813                0x0e0e8009c8e1ec0b5,
3814            });
3815            try testArgs(@Vector(2, u65), .{
3816                0x1c117d8ad564625d7,
3817                0x0c3747a5467b37ee5,
3818            });
3819            try testArgs(@Vector(3, u65), .{
3820                0x12b461e9764b53748,
3821                0x003a204e80672e085,
3822                0x014fe8f2e3ec390f2,
3823            });
3824            try testArgs(@Vector(4, u65), .{
3825                0x000e3560e820cbc54,
3826                0x05fb40efe3f1ea8f8,
3827                0x12037f424845e037c,
3828                0x193cc5a0da63d3df1,
3829            });
3830            try testArgs(@Vector(5, u65), .{
3831                0x0590bf116c607ce3e,
3832                0x19a477b6e89225818,
3833                0x0cf6987fe2b219e38,
3834                0x19f9962c1f211ae36,
3835                0x147ee711783a46478,
3836            });
3837            try testArgs(@Vector(7, u65), .{
3838                0x14cac53222c7edefd,
3839                0x1ca73b489f6a2837c,
3840                0x0174a046c14a44609,
3841                0x16ad206733a8d5306,
3842                0x082b7307498cdb16c,
3843                0x103fe2c5bccab3ac9,
3844                0x1980a02379a8ea497,
3845            });
3846            try testArgs(@Vector(8, u65), .{
3847                0x0bb30b196c3ee122c,
3848                0x131a3e0b3aa6d2271,
3849                0x1c350e1290fe9f771,
3850                0x0258f532f8e77bcfd,
3851                0x0de19ad96c7ab9b22,
3852                0x0af82d4983087e3c5,
3853                0x04359e9aec8013c5f,
3854                0x05ef28227ff853f26,
3855            });
3856            try testArgs(@Vector(9, u65), .{
3857                0x1a50f55a41b5bbbb7,
3858                0x1594b5f154f6b9e75,
3859                0x1ce13b94426f2edfa,
3860                0x165ee33c5d7805448,
3861                0x1337ab026ed906b22,
3862                0x1b6d719acce8941ba,
3863                0x0a2e49415413db37a,
3864                0x162394487c383a1f3,
3865                0x1c7c0ab4d0d5aff59,
3866            });
3867
3868            try testArgs(@Vector(1, i127), .{
3869                -0x1269fabc2d3ef2a76ffe049437be10dd,
3870            });
3871            try testArgs(@Vector(2, i127), .{
3872                -0x1ea96c9f0850491ef73e8c3d34cfd7d9,
3873                0x39e6865468b439fa018c83f91e5e105a,
3874            });
3875            try testArgs(@Vector(3, i127), .{
3876                -0x0db4b1d90b444db2a143ded070f85b1e,
3877                -0x01b3f62ea0ea5d91e76ed09e4a18956a,
3878                -0x33d5c74e99e40e151f32815402d90a9f,
3879            });
3880            try testArgs(@Vector(4, i127), .{
3881                -0x2ef61a8bfff8747de1ed931e98feac6e,
3882                -0x04ce48788f7f8ae9a4403add50551fa4,
3883                0x16beaff854c2ef6837d7ee0b623ea0a2,
3884                -0x2e4803db1cea5884f8c7e1d1c0fb2870,
3885            });
3886            try testArgs(@Vector(5, i127), .{
3887                -0x3c906f554a2ffe1fe72322b58ea5540f,
3888                0x3075e0a554755389e92bc63618b70034,
3889                0x3bb4ebf828754a38051d2f13dd0bf959,
3890                -0x09dc745d7419586dfd7bf71386027d45,
3891                0x3b142d80ddac6aaa50e61c797d2d931d,
3892            });
3893            try testArgs(@Vector(7, i127), .{
3894                0x1a801572a9f38591e6ec3a23628c4bf0,
3895                -0x129714e4602059eccfecbfca90ca0a49,
3896                -0x0f92f4230c9256fcb8dba6b68744a52b,
3897                -0x0b146fca739b47d0a85bcdbc33c4b16a,
3898                -0x3f6f76d3757db60d9d39200af6b3489c,
3899                -0x02e080402f7ec59fa07192fc395a57d1,
3900                -0x2b4fdb5e3b7bf0f312d82b1c93603580,
3901            });
3902            try testArgs(@Vector(8, i127), .{
3903                -0x2211dd783e1ad24c3d5af011f68354b4,
3904                0x3f005440e5b5c058cdfa285a7880da62,
3905                0x3b30ad071407b244f241aceae163a42d,
3906                -0x23c4fc0e1bf6dfbd3388b644c763d1ca,
3907                0x1186ab95a8b6d3c4e55703615a460fa7,
3908                0x32585f76772b93a3e9afd7e8940be7f6,
3909                -0x2f9f404af316876929a92939993a1681,
3910                -0x0590af0c94d4cfea1cf610aab419adf9,
3911            });
3912            try testArgs(@Vector(9, i127), .{
3913                0x08add0b42220fd2a71f04fe45f14dd2f,
3914                0x251bf6cce8f1d4003e92eb52f2501c74,
3915                -0x17e27992906723b7cd7e831928b02c97,
3916                -0x3d2d8f1d98bf76b2429e2a2a208a6055,
3917                0x2a2f48a325b72b72c4392a131c41ffc5,
3918                -0x0c590b2e084ac595d76a19c894e68859,
3919                0x30ec3b18bbcb33c301cb24a46b3be921,
3920                0x1cc175f62cdc953f5eb16a0a8913093b,
3921                -0x0fc33d8630d2e2ae5a75c4beaf7bd2f4,
3922            });
3923
3924            try testArgs(@Vector(1, u127), .{
3925                0x7462f202109a0e999de7ab35e87e0325,
3926            });
3927            try testArgs(@Vector(2, u127), .{
3928                0x6f19d7c613d714caab882675ecce9a53,
3929                0x6aa8cab6046949bdeb0edc41c0d42186,
3930            });
3931            try testArgs(@Vector(3, u127), .{
3932                0x5b97d59261ac4dd16f957a0291754717,
3933                0x3e38b6db3f9734f625a892b08e86e214,
3934                0x247d026b349f5a9fd940120c80ad8b52,
3935            });
3936            try testArgs(@Vector(4, u127), .{
3937                0x3717b59f6196b1eea95558d55bd6b96a,
3938                0x1868e935eb0494b7b9b548f049129a47,
3939                0x5fc089af4203a0efab982138893f279c,
3940                0x1b869da17109a01ce820f002a65c26a4,
3941            });
3942            try testArgs(@Vector(5, u127), .{
3943                0x0d89c344326d130d22b8dd899707aa38,
3944                0x5af65ed48bc78475d2ae1d56017daea7,
3945                0x2b67eb9fec417d211336c46fad38aba1,
3946                0x072712b1bf92c551f6d3e1cf71953224,
3947                0x66ed8a0aa3a31a6ed45c24807f0ac25a,
3948            });
3949            try testArgs(@Vector(7, u127), .{
3950                0x133d50c8794c33f96b432a9e84182bbe,
3951                0x43bec0f35bea1a9b6a706f39d4e5c563,
3952                0x3af628ccbc1973aee83a136f73f2f09f,
3953                0x7f80cc2c0b23cb51c10da6f65c95ac0b,
3954                0x08b8e883ac49809c919126bf716ea90d,
3955                0x30285cc5ba8ffecb816c344eea07b1d8,
3956                0x6befbab2ff599032ed04cc1e002d8c34,
3957            });
3958            try testArgs(@Vector(8, u127), .{
3959                0x6c92a56152df1d0bc4003108d2c035e5,
3960                0x1012581d4b7de3403694621515c85ccc,
3961                0x1ca797428f6e4ee601cad585b6c5d098,
3962                0x1b762e4e4606637ad02de1494b2da26a,
3963                0x1dfe3129064ab88a66967141a3109fbc,
3964                0x35a3c0f38ffb5b3701ac383b9499a665,
3965                0x38d199f20d34841d7350a02d83c7e4a7,
3966                0x6a87705d91b3325b7edcb4ed3f9eed30,
3967            });
3968            try testArgs(@Vector(9, u127), .{
3969                0x18a96634c100beb14a9f7255f577244c,
3970                0x21d39a8a3e9af9f883cdc413a4b29f21,
3971                0x5f7e1f12a47d2530ef0bbe01e836e290,
3972                0x244fdb35a6e32c5ab8f8a2ce536b2111,
3973                0x0829eda9af0f9e1b9301de171cae5d79,
3974                0x4a4485619560dca50f7e9ea47e5c4879,
3975                0x70c3f24bdb370119e60db26ff7c8dde0,
3976                0x4dc4da0a82f10073fff7f4c79216dd14,
3977                0x314a855e0ee8f5401006af852258adfc,
3978            });
3979
3980            try testArgs(@Vector(1, i128), .{
3981                0x743d7edc2f7bae65332567ccb7e17140,
3982            });
3983            try testArgs(@Vector(2, i128), .{
3984                0x29cba1f54ca060061ce2a082f24d3cff,
3985                0x67fe5eecb0e54c0b6680c8723c91ee1f,
3986            });
3987            try testArgs(@Vector(3, i128), .{
3988                0x5d23fbff853640375e4fea765d45096a,
3989                0x0510c243956b80ca93838c661f4c4ce9,
3990                0x7bde7db0cc6a7aaedd636197705b85e2,
3991            });
3992            try testArgs(@Vector(4, i128), .{
3993                -0x744c77b7f40ccec86498d4e3ff92260b,
3994                -0x2c3f3f0b6a8cd17f73a082846a77dbb7,
3995                0x2af1c5e71f3764211e95b37db75008cf,
3996                -0x082a87b4571760fb876d47e2a13ee6a0,
3997            });
3998            try testArgs(@Vector(5, i128), .{
3999                -0x7a34a250a0d7e02875ea9b589a3f7009,
4000                -0x44ad60deaa4229c0584e61b71e66653c,
4001                0x48b53a60ba3c8961476b7e288b1f1aa8,
4002                0x25f896ea80a5d0f1c051b122ce9f40f3,
4003                -0x2e2b3c3855e8964e4115757517d1f62b,
4004            });
4005            try testArgs(@Vector(7, i128), .{
4006                -0x78e261d24f5803a086cdb650789236dc,
4007                -0x274c41a258e7bec4d5301316859f51fd,
4008                -0x7b53e0d4310a27b1236d267fc9c92bfe,
4009                0x13069a0197a87a6abfa57fd7cf0a0360,
4010                -0x2d7041962c6c6f5d3c344b760803f68b,
4011                -0x715518f77daef65d9cdd4bb3e4ad2b5a,
4012                -0x68e9587c2cee9840d54907b97430ef8e,
4013            });
4014            try testArgs(@Vector(8, i128), .{
4015                -0x7c4635f4573902107d7f9287beed86ad,
4016                -0x57a0f8b1fc10c247bc362724cb2638d1,
4017                0x47a5955f0fee284a2c14ce5f8efaf8f4,
4018                0x6b3b18486e73a0277abaca37235ae1c2,
4019                0x5694cacab37b6a83e9399d4d8bfb0d8c,
4020                -0x7ad35792e9e56fbfdf964c31f9dfe641,
4021                0x5729001f2b5ae188d92aa361d4d3bc6a,
4022                -0x738c6d97d020d94f56b367721cafff40,
4023            });
4024            try testArgs(@Vector(9, i128), .{
4025                0x03c8f6e9a23c18ee51f9e7588582fb4c,
4026                0x789d77f0d91035467aebaa094e43aaf3,
4027                0x2ce9790bf03fee2b9386f3458182b415,
4028                -0x516ab5386fd98498688a2a06b8038c6e,
4029                -0x36ad4507626b6e9b4ca1c846694d0f7e,
4030                0x18193adfda9ada0a449a9e6667350ed3,
4031                -0x0d88d1123261cdc0ff373bafa9c9bfdd,
4032                0x1f529ee80d509d8ae3f0dbf532c127b9,
4033                0x30629d533c1286d30ced4c219cf078ba,
4034            });
4035
4036            try testArgs(@Vector(1, u128), .{
4037                0x5566c76797d4523a32920021e51621d5,
4038            });
4039            try testArgs(@Vector(2, u128), .{
4040                0x7e82f7f4dfef8f442243b3b3b355a96e,
4041                0xf967bd965d50a70c0d4000d9f7928b83,
4042            });
4043            try testArgs(@Vector(3, u128), .{
4044                0xd2c9228d99fc7a00a9331c6b81545e7c,
4045                0xdb03015497d36dd203b3349722706791,
4046                0xd3fe8ece75a5f18e8e34a257cc2c6c64,
4047            });
4048            try testArgs(@Vector(4, u128), .{
4049                0xa505ecca2d7b80d447475b9dd1f5e07c,
4050                0xc347f7b77a199786fabb8da91b40925a,
4051                0xbd2f98ea28ad941c21b342cdfbb4d297,
4052                0x2a91d184034d85bcf7bc2501ea07d73b,
4053            });
4054            try testArgs(@Vector(5, u128), .{
4055                0x8b4439cc68b09f984c3ccacee6ab94a8,
4056                0x78894d3a02536275951e9011483eb7d5,
4057                0x1a446bd15eab7cc896d1a9c299285957,
4058                0x1fd269e765c4a36996f1561e0bf50b31,
4059                0xe03c9a87b79c7fa082fc8f65aa50ebdd,
4060            });
4061            try testArgs(@Vector(7, u128), .{
4062                0x5008ab32979156a8acd32a7e32ef7f15,
4063                0x94aeced9de5b111f8003fec9b526f527,
4064                0x92fc060348f1ee6b482bd667aa43ba26,
4065                0xdaf4347b4b58ba2ded70a52cb5b5fbfa,
4066                0xf4e7a373762b18a2ce100f8a34e39444,
4067                0xe2186b935e0099ca342a61c1fb9a8091,
4068                0x4d661e1d2199985909534e9e2abb1c44,
4069            });
4070            try testArgs(@Vector(8, u128), .{
4071                0x7267d2c9d89152d441e28beac39fa0e5,
4072                0x92612c4fa59b5584bd5c68a6ef468616,
4073                0xb5c583d6b304b3843951ae367133504c,
4074                0xf1b17d139b8c683990dcbe42f2ffe671,
4075                0x71f721519c179ee00f737645f456b65f,
4076                0x8ab931bcf9d54fe8f998ea07f7ad8e55,
4077                0xd4b148cd313442ec6445e5c09a3de2ea,
4078                0x5698f95052ae8dffddf09bbc6216d38d,
4079            });
4080            try testArgs(@Vector(9, u128), .{
4081                0x4d322a5f0575a4b6efd05d6f67c6e7cb,
4082                0x6b22b0fd0300add6fc6583cca73324a6,
4083                0x73c79c8c3aba60a9d5b5f2afcc69da22,
4084                0x7d278f7642f544b91fb0967559738ec6,
4085                0xd39b8bd774220a07f81c1655a3ea4b04,
4086                0xf6e6b067fe824d7a88e7de3c9b528e58,
4087                0x369b7db29173bedd0b689ada1ccb3f53,
4088                0x85bfd20640039457bd071af527feb986,
4089                0x77cb6db8dcaaf7c679a3952bdf3b46ed,
4090            });
4091
4092            try testArgs(@Vector(1, i129), .{
4093                -0x0f44902992dd90b6b2bdcd3dee26ed81b,
4094            });
4095            try testArgs(@Vector(2, i129), .{
4096                -0x0305d2bf464b50a05766933859bb32851,
4097                -0x0db8e49f48667923a7316b6b02c24956c,
4098            });
4099            try testArgs(@Vector(3, i129), .{
4100                -0x0ff7d15e1c921f6c09189f8c22a1eebe5,
4101                0x0c6b14a671cd4a0ea34b31dd3762f8e93,
4102                0x011c8b2dd5616cd38811691ed41e44a7f,
4103            });
4104            try testArgs(@Vector(4, i129), .{
4105                0x08083e8a84ee72ecb5ec61d6255fbdc6e,
4106                0x0d1d7ddb25c8e41bb05595cddd06f3c51,
4107                0x0b32b29ab5070e4c89a8e318c42b8307c,
4108                0x006bd80101e00f7247f4345e66af09850,
4109            });
4110            try testArgs(@Vector(5, i129), .{
4111                0x0eb5215d4f542021cd904624dc94b4d09,
4112                -0x0077f53ce5c2297e6b6eec1ed435b6edb,
4113                0x0fb0abfc2444105aee10adaefc8574bf6,
4114                -0x0634b1120f0ce9002980ee8ea7df397fb,
4115                -0x0b13ad1cbf50d89b70195e07eaf539cf8,
4116            });
4117
4118            try testArgs(@Vector(1, u129), .{
4119                0x04bf162b7335a7ed6595ef439c3bca959,
4120            });
4121            try testArgs(@Vector(2, u129), .{
4122                0x11f0b8a2dd0106c219bb3178e05494541,
4123                0x12860bc7203d4df432a3cf65e162278d9,
4124            });
4125            try testArgs(@Vector(3, u129), .{
4126                0x0e7240ab63132cb5a050a3a37f0aae72f,
4127                0x1761ee40c60d0e3d8d10b9b085401766d,
4128                0x06ab93ee8933a9900386d6161cebbcde6,
4129            });
4130            try testArgs(@Vector(4, u129), .{
4131                0x14abbd1dabf3b66dc4834bb6ca71cd663,
4132                0x0cec8c3f6edf7f1c4041ba3e9290fc368,
4133                0x065f7a02e2c674f50bf17a027dd99b6d6,
4134                0x14fea575487ebbbb907d4ea477bb41f51,
4135            });
4136            try testArgs(@Vector(5, u129), .{
4137                0x0c7364e53c0e3d1b7adc4302471e944ce,
4138                0x01b877b126e0cac7eac0d8f1f21c186aa,
4139                0x0fb4e479178be9a9363dee23c7c772e8b,
4140                0x0a79c2021801327e5685c8f69afc82c80,
4141                0x0bb084ee07f1f1b0eae7b632b21effb99,
4142            });
4143
4144            try testArgs(@Vector(1, i255), .{
4145                0x08ffa1eb6ae037d6fcdc279d548082bfc27c77e30c265e04ff55e4d60fa1a886,
4146            });
4147            try testArgs(@Vector(2, i255), .{
4148                -0x08f3626e9f1b561d3364559676fffe16e809176ec624c1687f318bad67ab2b12,
4149                0x3328c8b59d09073fcb7e54d5632b565322ee296d727dbf93b7863b13a7256f8d,
4150            });
4151            try testArgs(@Vector(3, i255), .{
4152                0x05bd12ab3e8171b1dafc5716ef851a77830f619c1fc233e3175a6e6ebf8237f2,
4153                -0x0c5142c3de521d31e3284000a30fab14cb4c70d447eebfc78e7b7f422a5f2258,
4154                0x3b0e22e5807d7e4704b5db2800cd15ac964c3d9b12a13e6b614620f3507feb7f,
4155            });
4156            try testArgs(@Vector(4, i255), .{
4157                -0x14fb179f14c52dad21b622efe2fcae82f1bf1fce4b49bccdd918b2600168eb19,
4158                0x1432a7fd08acfe8165207e4c96bad7b422f79a492e00412e505d1179187007b5,
4159                0x347734d964e8bc5e6e737fe8486998cccd7a67fca36ea2be9816c5014e9ae93e,
4160                0x1630ffda865d3e2b7c204ecb7534c04397c6c5afc1df36a0febc9cb028629ae2,
4161            });
4162            try testArgs(@Vector(5, i255), .{
4163                -0x0a867735be9212a216e5a0ce6d77f8d787b7f340b0c091ad95939d21b5c02e12,
4164                0x1005df8d3c60aa085ad3302a9d02269cf3505a4ab3ce0b3cbac8328edfcd006c,
4165                0x0261f5d27bd0d6bce9bfc3624eb11dd699a227171729e3f81020014dd12cdcda,
4166                0x203a7c3e34b012a40d49c238c73a499e72ea35e1f73ede7458397780fe7a400e,
4167                0x0810b59e887390b9d1fe864b97722b74382777d2217f7617e6cd30e35df031c9,
4168            });
4169
4170            try testArgs(@Vector(1, u255), .{
4171                0x68b48f7d3a9b48503994f5f1766ddb8d4ac4475e241c87ddf8da6a76db27d27c,
4172            });
4173            try testArgs(@Vector(2, u255), .{
4174                0x337ec1d10605419d8dd4355be390a4f023499e34db52bf3b0d0a62606e348fdb,
4175                0x77bd83bc7a4710a1d2e1bef57f2106d591d99b56ae7e3607f02f6bb88936c38e,
4176            });
4177            try testArgs(@Vector(3, u255), .{
4178                0x1227d2db3e23ef3f557816e951e4bb10e72ff351ab91b5cacc71bbeca8b0d596,
4179                0x43a799e7b87842c06371083027c79ca49c371476e20ecc2f06eaf90109ab8879,
4180                0x28ee9a513882d1783c349978eb8113872e36db3a9f622865197259c170e6b0c5,
4181            });
4182            try testArgs(@Vector(4, u255), .{
4183                0x29fbe1da4fb030b7a41f4efc39782901e2ed36bb3a2bf6fce3328f1bb35a5d4a,
4184                0x181c6db7ec0704df46fb7ae82dab95b4b0c35e3792749fdd37c82b099def90fb,
4185                0x4f2a40171922d1ac76fb75284c58d5999dc471983dfd18ea9c09e2358b9bd958,
4186                0x73bd72cd5c05d4539e9068bf63f790f57a5209198308e82bbda5d794882e4006,
4187            });
4188            try testArgs(@Vector(5, u255), .{
4189                0x750d690dc749b9915d831d18a10bb93284829479a0995f2faffdbc9c5d688571,
4190                0x20c66f9fa79198e4cde0773e4eff0e99facbbec68e00363cf25ee2a244ff44f5,
4191                0x0af314300283a888b3c8b1d463c24308f459c99cd56f86ad94b9cbfc9b8d892e,
4192                0x3f748216e8320fcbac46856706cba9307cda93b051f96b0dbe6fc7aa2e852d40,
4193                0x230599336b1286dad05f7f7cd278456da672540599e5c582636b06e6bf4e5db6,
4194            });
4195
4196            try testArgs(@Vector(1, i256), .{
4197                0x11ee16bea436e0ca62a4b2210bf40485200d01cbd7cdf7dffdeaa211341cc1b9,
4198            });
4199            try testArgs(@Vector(2, i256), .{
4200                -0x2d656db593551216afa0151ba461ab2b45065679f5906fcaf982650d1ae08700,
4201                -0x1a9eca0762dc0aa39484646be3a3d31413399f03b752877ee1895cebacf79bb3,
4202            });
4203            try testArgs(@Vector(3, i256), .{
4204                0x1ce1dbf5cc4de891d8cb2650fd51532656189f6af66531e17e9898421b8eeb70,
4205                0x79693e75be0632e29a7c9d8fc6b8c6d999d99e5729c001c3d8be215166563374,
4206                0x360042a6f7deacda9311f0e6e720e4fcf569c49957872a7e4e2a9f29bff58efd,
4207            });
4208            try testArgs(@Vector(4, i256), .{
4209                -0x3afaf6fc3c751086bb171ee26d4fa5d5867401468e860df8622cd70c74ecd286,
4210                -0x3286f5d9152243d178e5215e797b3fc6194e0bb3cc7eab1787131b5002bab4b1,
4211                -0x48c21dad136e077f3160b044d45088d6e38e1f6360810ad1d2e5236cf6291f53,
4212                -0x7ffe532698217c24e1aef9da766a880482864bd3edcefa5d691dc3eb987f9eec,
4213            });
4214            try testArgs(@Vector(5, i256), .{
4215                -0x683d8b39ca890a8bb379f971b7ce21ccfb2d02960fbb545f6184ff3b2b1b9e00,
4216                0x5234f0155f933ed2f6142c0482911c3752c18851c5826eab3c7b0367cb0222b0,
4217                -0x106f2a3eb03fedcbd8e09a7e50d4ddb711869d85b0933a1ae4990c60d18b02ee,
4218                0x1841840fa31b745ce19f58a0e26aeaf201ae47b20218ec1ac0f742d0a824fa70,
4219                -0x1beda34721cb08e6d259b090c4b86460113f5d3714e04a9efdbd838230b87e50,
4220            });
4221
4222            try testArgs(@Vector(1, u256), .{
4223                0xe160c3257eedecf8e4e794287d2bdbe05e0199f9fa377bacaab7150a08218c43,
4224            });
4225            try testArgs(@Vector(2, u256), .{
4226                0x2a2890961f9c32fd6862a8a789e13ae578b8e97e85df9bfe2cd1c3633f470bb9,
4227                0x42ff3305839a8fab4f37fcadfce0280df965a34fe306251ece6160dd39e51628,
4228            });
4229            try testArgs(@Vector(3, u256), .{
4230                0x1662b2361088c58a203bcc4248650c2b0c42cdd1fca6f9e075a1e3723ea39ad2,
4231                0x16fecf186c81ad2d5879a8f8fd32c07ef5d3e6864e0fa9d02e07d73d58eff0a3,
4232                0xa7a55547b67ecde8dd03f7821ca174f0c700ccfa4279be827da689db22a67b73,
4233            });
4234            try testArgs(@Vector(4, u256), .{
4235                0x38425be8fb0d50bd71de47f3a43e79f1c5ff4e218c7e819fc99fc575d105fdcf,
4236                0xb35710b4e5f00e105b10198a43bdc34dbb311580649a5fe6ee95419288002437,
4237                0x6a0ffbd570da143aa47b79cdcffad77021e01c5089fd3b2ddeaeb0e6a742a0e2,
4238                0x378da7275797290db1da610eedbd504caa9562d792589c3c5ca63adf44f6ba7e,
4239            });
4240            try testArgs(@Vector(5, u256), .{
4241                0xc1df4ef4fec749a7e71674a74477ef38acffaf9fb9b13bd318134125a64f55a9,
4242                0x0f695983ce7b6efbe77e1d816c19d0d7d2825a0ca48a4ffbf46da056cc28de13,
4243                0xd945eee12e936cf69057cf1c6b13b2bb0b6a04625ac5264e3d98923c08bd5551,
4244                0x675f485918245af4d97fa5ec823f1d8286738757b6927bae35319802a9ac927b,
4245                0x1dafd52324617304934a3334232dbfd80bdda0a45e77071122673ffdfd1e2952,
4246            });
4247
4248            try testArgs(@Vector(1, i257), .{
4249                -0x0a14b20a35b536bd782a57c787dc3794c01134dba9173488fdaf6bca38f249bf0,
4250            });
4251            try testArgs(@Vector(2, i257), .{
4252                0x072d6a41d972033f35915badd23cf7b0e9ff57fa31183a33619b0cad46ccdec82,
4253                0x0380e7167fd18fe02359089fb1da1404d822d65c556e0c50793e57de38a80f974,
4254            });
4255            try testArgs(@Vector(3, i257), .{
4256                -0x04fd7d97aa324f2481852db7186940af86c33a3edf3aaf3ed89ffb1ecb3e051e4,
4257                -0x0e7ec48cdda939b3973b1c275a790f4322e70a0a6c1b6ad76e86ffe32b3ac54d2,
4258                0x0d8dfa23dfc9a6574f1ac8d20a14cd8f3c35186a7b0b0a7c5f66e4a0d4b5d555a,
4259            });
4260
4261            try testArgs(@Vector(1, u257), .{
4262                0x0239060d6fe46f05ff1107848d3f90a6a59bac53dbb5c568ed0fc463553ff9090,
4263            });
4264            try testArgs(@Vector(2, u257), .{
4265                0x1505201ee876be14f9e58adb9c64eab8c3b8df4f511241ba9732bd81a5447d159,
4266                0x0dff5626712281ab4ee02cd6fd76723c4028f99868c216c2f4e3effeb3df5279c,
4267            });
4268            try testArgs(@Vector(3, u257), .{
4269                0x1121004d94622d9cfe548894040386f04b6ebd3045ea9672e9de10a899dc98807,
4270                0x0bc7d4225c4b91e1707b7dd22e3f0c04ca7676be3df0566612f5a151b45a2ab09,
4271                0x179ffd9dee9a9353f35bd1da0d1abfe1d9a24e8e8f69d3a0f8e7a45abfac92f25,
4272            });
4273
4274            try testArgs(@Vector(1, i511), .{
4275                -0x24b04efc6e320fc823ddcf4e48f5ec8440a14267a4d972870a8d2883f5163f5037dd5a14ffb0294c4f3ced659380d6684d20234fb901bb34b67e28799f6b9091,
4276            });
4277            try testArgs(@Vector(2, i511), .{
4278                0x2df4135d518b6415b175a27a3e22300e76621372b8d4080170f980a2959e6f908ab64f100f48731d4b918b459521785de090eb686c24e509009086fb637dfed4,
4279                -0x33b264d68a02580d594a601c0cf67b57115e7a7bae762141f8ba392921c708824802fe2198503266dfd39ee7f00167ef2b044e3c83f8354087191a2ea60a0a5a,
4280            });
4281            try testArgs(@Vector(3, i511), .{
4282                0x167a905e5d767a9c721b11961b85bfa375f04f701848f6619347c6c2f88a8934be52aeb57263cb0e874de75a749939aad35c7221a9d47ac11dc6ad77648e66fe,
4283                -0x34ba5e2cfc8cbc6aa5eecd2f07100b38101b964fe007b47b2a36b7ac8a1a68bec4004afdbb05bab85afd7d524f7ca093ba6d3e3d88ee13cd52de40151a02e7b9,
4284                0x1d89093f8c8621d86658bf59b6c14d0653aa0cbc5400a35bd21999151b492e1969f74d62cd661b162affd0a905b9a845bda703b7d5a4fc109c06ebf1d482dfb5,
4285            });
4286
4287            try testArgs(@Vector(1, u511), .{
4288                0x6804f3f0fc2750d4b8d384d6b09ed3179d41846cc34aee1d5c7c6966262de3e34b69080d1f8f4c5d155801b291485a38568073906c643f95d841a4d7477d9b6e,
4289            });
4290            try testArgs(@Vector(2, u511), .{
4291                0x7af109f0eea82258c259e19cfcf141ab0afd05d435df15f431ed2abff952fb369507ad24402ab17e7f63699944cec282b091478eaeb4788063b22fd1f8ea0b7a,
4292                0x454dcddc7106161cd0d52bdccf6250dee079886424fc4aa8916c2aa7abe94f0d4a2b728d1bf98455183b435f24e8b365de40fcf8b2cf9e94b430e5abb83a3305,
4293            });
4294            try testArgs(@Vector(3, u511), .{
4295                0x185c3fa8e5ec1f6e4290000ba4483a00a90413d81666d011cfa4492615d1e96458ba37084e11dd526f8fb02cf329ac68992c06a1a3e714516712caa64debf8a4,
4296                0x102ced8900b60d10660543aeabca571bdcd1c1fc24fb02e82eddde7c2801d877a96f5290e25eeb6055bb475e432a77fc1ef1940d57a68535016e7ee22d4b750b,
4297                0x3f30eedf6b47b3877012d36088fcc4371d5dfbdf270c7e784528cbe2e6db3506432d085b90be8086368ba8d11fb01c900f4a77037e272730ae9b0a2e93412d99,
4298            });
4299
4300            try testArgs(@Vector(1, i512), .{
4301                0x7ac92c65ddd5102b216946290a59ebc58643006e65ad6f2b1c05fed84d660f8160c023d37da70d4c48a3a1220d7c897b57126e15e952c887c7f711ecbdb3f68a,
4302            });
4303            try testArgs(@Vector(2, i512), .{
4304                -0x5ce5c020744c7861891edc07ce7061c36767d58dcc89e6170895d10aea976b522b07416dc99c1d0df95511ef48ed8228f72cf73d95021f3aeeee36a4b45873c1,
4305                -0x7f1a17797bfc2022c64e650d6f347c826bb639503b8a0d08e025e647a823939edce5cb5ed3f4b287a176ec0f12af4e4137022259b5a2eeac3386997fdbe72094,
4306            });
4307            try testArgs(@Vector(3, i512), .{
4308                0x34fa3aeaf7e293ee5ca8c7fec8eb46fc52ebbee34b9e6348353145f11415f6764533ba41b8cab3227592644f7a44031dbf19280a60ea636117ff92c699e877fa,
4309                -0x2584de3309c35198d821a17ae79c48898309ce22980de644914be32bce6a8d885c01d06b197faaa1fd91880be1e67936b6752d3851d7eef913f44e7a59f75ad9,
4310                -0x75da521d275117328d53d7c4c702ded96cc3ac868d4eefb4656822673dcc0811cc0ee3352fc492d3a6ced47d60efac5acddf08aff4b9e27ef6fbb090a6cea9f5,
4311            });
4312
4313            try testArgs(@Vector(1, u512), .{
4314                0x79a47336a6fba6e6813ccfa098a9dd34c328106806d0df7d76e3f1aa1394487b8defe6edcb48e99375d7b1cbd48ccb1ed0d0944ef63c4a2efea7ba0428ebd763,
4315            });
4316            try testArgs(@Vector(2, u512), .{
4317                0x422895dc913417a5dd65b107ba3a025e3bf314009be30c819920105e9aa030d188d9a3ba91701d0affa6ed029e47e7f5190ae59f668c2645f31e41f5919dd57c,
4318                0x4d00d445c33a06ada34d7b6f71c3142c0839640e9431fe1643898885fed7cdebc64b5f696396ce0d761c59207780161d55d4e31d9197e4fdfca3db49de92ebee,
4319            });
4320            try testArgs(@Vector(3, u512), .{
4321                0x8f03cb52100b861f78b20e82a42cc93372d026718dbfe5a6e02eb4dafef402ac01e5c25215f041a8c0141d4b3893a9b00d5831af0ef6a2332ad91530358ac976,
4322                0x87073b8771f973cb4f20c2bb3471baaace1b96257f539b0c95a72e067875bce909658986d93e472283e6f2531139f419161d0d3b06f8e0d54aac251625881dcb,
4323                0x39b9325af9096a3bbd433949373e1fe3bdc4c3b4b815217cc434a619589331793f8464a3d39edf0ce03412571a115b0068b59939254f424cb283292c138d7402,
4324            });
4325
4326            try testArgs(@Vector(1, i513), .{
4327                -0x02fa7925db1974eed505becad489203de3f5b16a24345e5ac2b0aef5760354411707fd7f71a55ba4f5496122b33c09fc22bba6fccb442ad87a33a5702ab2ae80d,
4328            });
4329            try testArgs(@Vector(2, i513), .{
4330                -0x0572883196ec1f59abf0d223a1b267548aab3723a52c42b8dab05a5b55098499eec99d366df601ebf9ca2e4538f09963dbd0a4a757340b241704cdd8525472817,
4331                -0x0e67935e5e7bde4ec95b5a8785a8607cbb19198f6b51eb3767875f11c34df66ca37c29618b3e7cb446b2b5ceef3ecd784d42df002465662e38494f5cce5d04c3e,
4332            });
4333            try testArgs(@Vector(3, i513), .{
4334                0x083c8d7784c3710a10d1522b3317f07e1c837bbdfb283c9a8fd68d9d21d8e458e8a0e2858bfeeea66d5360d0c93fbf1b2d74566f331d7f2b13bd72d5e1ffb1411,
4335                -0x0279620ff484da4f6bc4d3c4001d440fe874a3878dcf108c960eeac423ac294da02e001190755d67017438c84aa64d8268013f4c11f48d66d85cb556114fd4b59,
4336                0x0415824b87729d90e61248d87119f51cf696c77a8a91f3cc16fd71369e9acac27a348efbaed8289ee4d9461cdac60590320c6f0f925c61a92280f182278a04197,
4337            });
4338
4339            try testArgs(@Vector(1, u513), .{
4340                0x0b3f0061e17faf60492be4c606127c198047d8848e60f9bb396b2b211ce905f4cbb0809728578a1b104232caf75ec24dcc6a0ed99c2bfeb78a45ce7c13da6f3e1,
4341            });
4342            try testArgs(@Vector(2, u513), .{
4343                0x17a2be6257dc9ee463ac0bd361f45085318085f00a2612d1394b298155f521d5015997553d82ab09a9e3e091efe6b1bb4abf5f2071b67c409982991c831099201,
4344                0x0719c3a3f236d6efbbe8c195957ed4f7abf32a97d4aa2a2998c0745ac038595a034d5bd4f908a425d7c562ba1e32ecb771028c5d68fb38c0885c0d811858b9592,
4345            });
4346            try testArgs(@Vector(3, u513), .{
4347                0x0125117a5e455d03de6a22e7e32751bedd25a0c3609c1626a2a3c951043e140ee55cae5f5df26b7dd72b24869a22c685c4aa86704bda24ba43018ebd77b4a9989,
4348                0x0aa290b16b679378e0c8698c827337aca4d962c02251a4e33755e2836729a7e0f6e9948e2db432301042099fa52aeaa83179297480be45f6178d6cbdab7010c68,
4349                0x1970f094defc472dfafb94c8bae6fe0e307885be5b59c3d3e861fcfa118565e4b4ad404d1bbe771d445aeaf4efcbb3415a124ad108ac187e4117b25c41dc107b3,
4350            });
4351
4352            try testArgs(@Vector(1, i1023), .{
4353                0x3d2da46d447f8bb6cb002f67cad8990a07b561c2967691d608a5f351cc9ace90327f5221e29c60e1a3aef30bfb7caa1ab0feb1b11f933a05b7a3e43d47319e41762d855bddcabc30a1ccc61dc00f5af7fcb2e94e880d74580aff5a82863115779ba6fbb687686b075be218397a4f5a3c457704a5d2da19cb0eea7de769e60c73,
4354            });
4355            try testArgs(@Vector(2, i1023), .{
4356                -0x2a754a676246ef2ee43171d120dcb05e4ad3f66c4783740af3b2ab0cbc825b90db0688e7b68b8fda5acc8b56b373d41071df282935f9e8dfef774bb43d4ed5afd8f3d7808a7cee4f488fd975e4bef3d7a0409bac6cb707ff26c557d7d7af7082ef2ee8e7862c35fb33094b27eea6cddf92978b3939f35d5207dddf60a44de455,
4357                0x161c7a3ea3411359a1938ce40bec3a76a5d8e15522c1be6cfafcfe3b5c58d941430721d4cb8e0efbd247063b1706c2388668e1cb11abbaba4d8a46fff5b0442490be242dd448fc90e7a7c1dfbbdcaf500b294cca878be34cec1407046772577047cfa17db746ee1d97e35670c9ee4ccc58ff4968001dfe6332a50e75eec9b276,
4358            });
4359            try testArgs(@Vector(3, i1023), .{
4360                -0x3fcc7f6eb4824d52d478ab4d1035f48a99001ec13352b1f9f05a90311b1e78429d6486d771ee17793f2966cef28568423f8d71d6feb03d554bb956231e73a17b3acaab219917c726e85dfbfa4262c331e76e5740dc78480fdc0f6d2e5e67ec5b9ae7a574c0e75a2db4cefbe4115ab8b9c2f2b7e16ac808053c7451ce8f298a5b,
4361                -0x1a9bca992bc979547fd708aff54b2b58e1d450cedc583582882bfdb522beaca79cf04cd113575a2790c9eb39462a515c36df90f0d1a690b8b5d1a674026a3ddc35da3780c9b4f63029f7a108f17183dffa9d467e8a2c2586881fe3cba85732e44ccd9c23f89139ea1d63a6628a04a800d878c0931523ef2edf15222f6a900d07,
4362                0x341194925f80b89df2023b8978fe45d12c897966639abb3fb1d49ecf07c7bb1608fbfcccce81802c5f52251cb73cd7c056764e100ebe5bf5c462f77cb9e7b7de1300a5b0c7853ecc93ff29097d8e08eb8407e4dd26f97a08d75543a9303195907301ae8702fc1e2dae527592b54cff4bb04ceeb686e4a7cc8a750866743b63bd,
4363            });
4364
4365            try testArgs(@Vector(1, u1023), .{
4366                0x3c5f7f4de2f1d7e49c67d6a3a18c2997cee8494cdcee98bd581be84286828c3e051fec9971701a6477143ab5a08a60992bc7511e88f784f58ec072ba8b37243008c3df6d0e4b146f41c1ef226d1b89132f89108978a0daaa21853e1a571ed882a808b8ae6c28214bb0e0b11e9d94cc2b691d23332a53834e5fbcd8990178442f,
4367            });
4368            try testArgs(@Vector(2, u1023), .{
4369                0x2b8dd03f8be36509fa36620048fc62c2d49d8a5376678fd0dcc5dd25db0d7e3a7978db01be60a5a301923a3797aa59f64ea84dcfb374051c7a7dbbacdda9f143aedbb63ff7395fa36a683d7a8cafa0c1c1b2a1e490e9ffa76d9c8952041253165eb627f51edfb0d95e1a73435d5e5f3e8e0c515360fcd8a9fb12b2889e99fadb,
4370                0x4c2ddc4fca46ac0447e6aa6da47fe92bd282623814bda4b053ef60f9d5fd3c978ef1a77f7738f0c6469fd2580a3f2322080c51ed1b5be87bc12674025df47157854d99be18f5affd10200de2cab1b2753b4414ad28f845d9995f04b0b0f9b705c81b79af74c738ee0c4cf099859d6361f04042ab8e916180039cd17dbc9f27c5,
4371            });
4372            try testArgs(@Vector(3, u1023), .{
4373                0x24ceb8803d48f284d4c0b51a2033fc2fde5794adfe9a0db8bdc812178e8277e9a2b90d07e58addc1cf02e40ce81286ac56db4d93432bba560d184ca319863bcd2c7176952b924388d1571b03356ed48837e278fd0aa16e915fa08bade0171d16b4a0d942c582dfefbfc906bfcbbc1dc260963eb5afcb353feb89d0d414501af2,
4374                0x44e492d7b289c654b650ac836b9635e71a3478d1a9d1518f4be5fb03f994dca3f4eedd30ad37006fc773cd22544ec724575407e04882b45be1c5bd41ca22efcdf89c2d9f298bbfb2dca1be1b1152ba318c59b3bdc61916876b70a83b1a1fc875113147eecd20aa89a1681b3912510ee719f1566593f822ca5eb286feca4f3721,
4375                0x4b812d648fd33de234ce48a62920510b609bce412f66945def4d63dfdf84bbacdbc5b59ed9c1eea8a34b6ddbf9a2d3a585190c7144bc2fde3dc776e89accea0e20c9e53dccd8173a09860fbd65b7d48939d9e38cebe9946f342b922cc314aaae6b238034f5cefa371b2c5736949937a5ad865058caae6c7f6b2522db34ff79e3,
4376            });
4377
4378            try testArgs(@Vector(1, i1024), .{
4379                0x6b671c8f7bed2bbb3c498c95de279178c68b8ae7d1ebf0551257362b741b6cf4381e4a7df5d7ba4eb9e58d1939214bb11bac2fcc1963680dc4967f44c3cc1a3fe00b6aeb1feb2258859573d7b4b6b12a20f006f6b92d6001244c8aaadb1df4d98c71dff3c87f097dcd43dd81334bed77c31292b6824f7830e029ff6d8bddc289,
4380            });
4381            try testArgs(@Vector(2, i1024), .{
4382                -0x0e21c88d159ed365504f6ea10dc9761424daaccafd3ef26adbafbe7500079237b0f7b73b71e81348d0dd151d4b42a1f49b4851c67a714f282966a5dd3c4b471457e13e954061e3e7c492b814575387ce6e541e86188c4f3cc77a494be7d1dfaa238dfc3a4533553ee20ca474c1e6099ea9f47c6825173f6cbd9683e75df28ae0,
4383                -0x107ef3d7b677ef54de72a85a9b10678737e94bfec2ee6d5aa4721075b71d3fa76be4901bca74776d5beceeef7453f3076242386e6f5904fc7bb278d94d6b94b347726bde745ddad57f6832b30faaea4f8900f2886b1784fa058505c2a85a6adf88ba17abd66345d3921b222610cd2d3d99a2a3c9feb3db8138dc8777c132c7b5,
4384            });
4385            try testArgs(@Vector(3, i1024), .{
4386                -0x02ff499fa41dfaac5c55ccaa6be1329170cacef301eb9fe6c90c313fb0eff4fe6408a9e88c49c124c219dc2acc76547e3b2068529a16df5a3a17618d278971e14fd63657e85adfaca61da450d2317ee221983efb560844bff2dac0b7a0a32eebeb6bf99b90786228d854ae293c42d6c0f8991aef0593ae3a92fbe5f8d8994120,
4387                0x5931557062aa9cb6887b469754dfcac235f1eb6a363735b45eded73cd1b267b1cc7e9cd745aae97fbeec6321ebc316a3bc8cd9001611844582e5d2305e6884b40aeb81f73b6879b3ef5ff559d4e263e3fdbe4d192d6f4c95dca64080d1de222c0d3cefcdfed787e62a878cb6976a567d02aef2a639134691713388ddc04ab964,
4388                0x0af9d629a1875b08ce10d8bd0103f75374d89fe6b9aec783bf4a17ffb6d048db702280ea8059a8e4489e58903d81fa3df53d2f24fa74f90c5b4fd5076fa7c3e22731ca433777d2d1db2052e1f8d2682765cf6d4adacf26321a85144db8b76ad6a0b8028b7dd65f6e4c88b11f7f88bc0e31200a1b931e20d8e17c227bc7fef8f4,
4389            });
4390
4391            try testArgs(@Vector(1, u1024), .{
4392                0x246608fcdc604ae118a4cfb7ec317eeb96ce4b1abc421d3780a9ac94bbfc09f0818daa620c413e93c1daffde3763becf724fbbef43628701d2d335daed8a5248b535e29d907289e3d1478d7299c23d7b15344505870d64e91590b7f896df2e5df3f824310ce626b6326bf8dca77948d198708721db81e8b23cbe0c7cd9288e55,
4393            });
4394            try testArgs(@Vector(2, u1024), .{
4395                0xbfad2b801641bb3668e502bc63577ced965e241e29660b08044658950f1d849d378f0029aede7becef9fac4f63f1f82e581810233ae7708173b318b64220bf7db0bf6cfb4fc2340cb174d3bdf06ed8c08d0d6beb155f54a1878c94edcc0104a340ad16481da6197cf879519414258ff4c7b7f05970c3153937229870677c0dbf,
4396                0x5cbfd667b1cc9363c85b460cf5028ff6f2e3af5e3c7f59799be0d826b500b8dc1e80eae818df0529b478e190eaccfb59c2b33978897c45bc29e1b416f032ab03baf6f14b043aeb9675137f5c2c06eb52f9b4f56e7ab6ccbefcaa67ef5b024d81f6b2b65d6b40153bc7738094d2a3a527377bdd7562d039229d946c6cde2de286,
4397            });
4398            try testArgs(@Vector(3, u1024), .{
4399                0x1001d073a02929017fa89db7fafd02e8ed7ae9e0b4ea1821d60f3edddb621312ae1c8b37b4a509e0aea10398f08f1bbd1d594f7514e4235931efb7161a244d0746796d509b894e4dd27cdd7aa093b3e68d057b6acf6678157a285c740c60b74be183ef1646cc872ff1581d84c2ee4b37d6a4e8e2d9b6906a8c117774bbd152af,
4400                0x39d642282ca74c0f3716f84658e72ba4244a56209f9058a1aff1e30a3b7ae0283a4470e39d025c4c9e822ae921724304cae1a795772609bceb0387bcd6e440d1b2f78fab2dfe1472fa9011bf57d90cfbf3dde03591ecce21edff98996513a0447eb46e4a32121fe2f6da5333a42c740f64822fd9ebe823557c8d2873869a1d1c,
4401                0x63aa1ffdebbe1810ac982923ca104863b3bc1191a0418a25a400ddad005fb959ee42076bbee7e4dedc6a49f426631e0e61a17a624759a145393dadeedcd7b43cd116d4ed16f335b1917a46892383c132639fe834305db2f020afe90bb4397dcd33a75b021cc1cf14cc25b9f070ab49f093904cbf1ed510689c9262c9ee0a4850,
4402            });
4403
4404            try testArgs(@Vector(1, i1025), .{
4405                -0x0c2cc48ef611337f59351a70d7663ff4fc7181b04680d67d9ff73e18fe40fbf4bf12072149c91e056363607f0670f1912daa6d2c25ff23970d79d5cb033c42e1f0a2fe2d498896fa9c064b241c9c8b218fa49dc060e9f0842130925d29e9baf51e789fff2ffb0dae09af96e64e9951747c40d25edf4dfb69d8a69370962361e49,
4406            });
4407            try testArgs(@Vector(2, i1025), .{
4408                -0x00fdcce826852665a7765c534543b9d70416312b53d96270cb588ce17f86f16d48445fd4d79924fa1785fee2968519e4d183fbd31c94a405d467615ad1f015b692916ee99bac4dda4a52fc200a490d8844aa25c58f419d698b91f376bba340af761bd8779e172cca71afbecbaa82f992a43c73f610686c36951e072ebc8f57a1d,
4409                0x0cffea79609ddaae8ef7262ab9cc8cdb3a52564e843b7fee701f5a5a04b8c9709976a00800b79752ba7be72f816c665d12e5ea62637da669b5fb207ae52d6629a6f60235e3d9e10d4afa92405c8db29f6ce9b54d013bb0a95646b17257e6df2eae063e27815f9f08b7be1e089ce734af5128ba0d7a601adff3f02f783cd756b7a,
4410            });
4411            try testArgs(@Vector(3, i1025), .{
4412                0x04461ed6de3fca86c238e890d4a3fc30597b881dfa207400d2b3c042705dd529f7a8f0a9328e94d9804afd014ae72a0d9f301c858a28bf6dcb181868366aa34db89b0ce469936ae69da8fcf82838d41bbb97473318aa9b81350ed69855d8fece3941bf5c1810155f46cea627b0dff0a6102c8b823f2c1a25a52ace05c4436cc99,
4413                -0x04ddaee982bc812cc8bffc99e8e0d5767426748c0875e111ccec02215a454b64e1528c4055e357048c50484c7c9ce1889de5d8bd1ba94b89a11f01bbdf94627e9447c054a144848be9f61db4f07605b9fa72d25084d495c136fba5ff242b9aa08b8a456e6a3e994d3e341ffb675000126b971b3e9379c90c06c7bd99570fcc1c7,
4414                -0x0df9e9416e77e5248dce87efacb4c381e5303d4d7d4b86da7da5effaa16f1ae564339b0bff27fd7a39469ca107d1a995f5b46bb6b9eb1fb7ef2fb1850dae69d32a4dcbd8fd8dcfd740757ab5fc218cf15d3d0460a8ded650e254414ff076df919c0d87453495dc658629301302db07a231b340150b1f910453835a74304c893fd,
4415            });
4416
4417            try testArgs(@Vector(1, u1025), .{
4418                0x1cf0886108e6cf9a178542832e0ecd6e10863173eb13a9340e9b4cb8f9c98e2e0dbf9adacc655f29f39f7aa3be7aae7c7a9e6f295bc7dd82caa8952a34f7e89888023416df303ee75dcfd93dd82a2be14a592eea41c5805806de0af9f587e6c4689acdca6ec5a4ac1b3b25b9316b3b568ea0668fbc915f153478e95f70f9e7e0d,
4419            });
4420            try testArgs(@Vector(2, u1025), .{
4421                0x05d2fd186099cf21acc255b80551d93720cab2db1c405eb550e04108b794dc0381267e189e8f653ef0a2fc23521ddbb79220556af1319cbd72012d133f2b7139b812138a477bddf01c0f2ef0dfd391161931a6660c797d5cd6b816d973262b381ea1c61a15580059a72a48b87d16955b8f41fd1fd5665fbf254e9c568f2f7b7ea,
4422                0x10fd90feb241e00b33a58ba6cd404acc87c73f0d110b33e14495c22d6a9c63ec234f7071831b51e8dc5f050cb4abf597a19f2c2ac611a9305d012d0ca89b7be66de3c08e83f05d792795bba102bfb2e25ebb534b52693005a6075acaf3d6e6a6b7c6adaa083f3003c749c4851cff102d8c007eb1865c27339d442bba8552d8bee,
4423            });
4424            try testArgs(@Vector(3, u1025), .{
4425                0x0d31cc56a6d6165e5814cdb97af9d13c78ab9ccff06dae36a866895d27b3a04981a55c22877e4dff45fe178492ede49dc3501b6c69e83b797632b45f94137b997857cfe8780179ad1c42e15273b33751cf04b96de00a16e564e7d144404f955032b775b90da2526d88f7540ffb5d10e3c171222841b2a1db353cb85fbe483935a,
4426                0x0950f7ce2ee39dfe774b4672fcdcf822303d0f0133e1652352df92f35e8f7e8136e4352b031cc59d7beb7c02997882ae4c2fb1465775c16cc30e4af1652591385a4861f3f347791c1af71c10a32d0282153e51762f62fbb76a44242c7f14e083879040226a74d8e240fa8f69edbe78a774359b2295ed2bb177044906ab3f65248,
4427                0x069f6540fa60e45dffd4a990048e4210a8b1d0a65e9b6ca0bbb3cb88e509fa129d5f91bc7f45ca77e699e01d81ac7686f26ceb67abbee88ac2fab1a529e7290ee7163e40833c806a6e82547a8f0628829d510367e06304c2eed7634da133f19de2a284b7094102374d9b1b779206a8d102d2e4cfd663bb9b06a71ee56b709e058,
4428            });
4429        }
4430        fn testFloatVectorTypes() !void {
4431            try testArgs(@Vector(1, f16), undefined);
4432            try testArgs(@Vector(2, f16), undefined);
4433            try testArgs(@Vector(4, f16), undefined);
4434            try testArgs(@Vector(8, f16), undefined);
4435            try testArgs(@Vector(16, f16), undefined);
4436            try testArgs(@Vector(32, f16), undefined);
4437            try testArgs(@Vector(64, f16), undefined);
4438
4439            try testArgs(@Vector(1, f32), undefined);
4440            try testArgs(@Vector(2, f32), undefined);
4441            try testArgs(@Vector(4, f32), undefined);
4442            try testArgs(@Vector(8, f32), undefined);
4443            try testArgs(@Vector(16, f32), undefined);
4444            try testArgs(@Vector(32, f32), undefined);
4445
4446            try testArgs(@Vector(1, f64), undefined);
4447            try testArgs(@Vector(2, f64), undefined);
4448            try testArgs(@Vector(4, f64), undefined);
4449            try testArgs(@Vector(8, f64), undefined);
4450            try testArgs(@Vector(16, f64), undefined);
4451
4452            try testArgs(@Vector(1, f80), undefined);
4453            try testArgs(@Vector(2, f80), undefined);
4454            try testArgs(@Vector(4, f80), undefined);
4455            try testArgs(@Vector(8, f80), undefined);
4456
4457            try testArgs(@Vector(1, f128), undefined);
4458            try testArgs(@Vector(2, f128), undefined);
4459            try testArgs(@Vector(4, f128), undefined);
4460            try testArgs(@Vector(8, f128), undefined);
4461        }
4462        fn testFloatVectors() !void {
4463            try testArgs(@Vector(1, f16), .{
4464                0x1.7d8p12,
4465            });
4466            try testArgs(@Vector(2, f16), .{
4467                -0x0.054p-14, -0x1.c6cp10,
4468            });
4469            try testArgs(@Vector(3, f16), .{
4470                -0x1.39cp-3, -0x1.088p4, -0x0.644p-14,
4471            });
4472            try testArgs(@Vector(4, f16), .{
4473                -0x1.108p11, 0x1.364p-3, 0x1.8f4p-2, -0x0.8acp-14,
4474            });
4475            try testArgs(@Vector(5, f16), .{
4476                0x1.e1p8, 0x1.ddp11, 0x0.388p-14, 0x1.7p-7, -0x0.a08p-14,
4477            });
4478            try testArgs(@Vector(7, f16), .{
4479                0x1.988p-14, -0x1.f7p-14, 0x1.38cp12, 0x0.0fp-14, -0x1.774p2, -0x1.de4p11, -0x1.9bp-10,
4480            });
4481            try testArgs(@Vector(8, f16), .{
4482                0x1.6ecp12, -0x1.834p9, -0x1.2c8p13, 0x1.e7cp3, -0x1.418p3, 0x1.15cp-1, 0x1.fecp-2, 0x1.1dp-3,
4483            });
4484            try testArgs(@Vector(9, f16), .{
4485                0x1.da8p-1, 0x1.d44p-11, 0x1.884p-10, -0x1.898p1, 0x1.5ccp-5, 0x1.68p0, 0x1.618p14, -0x1.c34p2,
4486                -0x1.318p6,
4487            });
4488            try testArgs(@Vector(15, f16), .{
4489                0x1.41cp11, 0x1.edp-1,   0x1.1c8p-12, -0x0.0ecp-14, -0x1.abp8,   0x1.34p0,  -0x1.24cp-4, -0x1.214p1,
4490                -0x1.604p9, -0x1.364p-1, 0x1.adp0,    0x0.63p-14,   0x0.60cp-14, 0x1.6ep-6, 0x0.84cp-14,
4491            });
4492            try testArgs(@Vector(16, f16), .{
4493                0x1.308p6,  -0x1.078p-1, 0x0.81p-14, 0x1.1b4p-14, 0x1.4ep-7,   0x1.75p12,  0x1.264p-8,   0x1.a6p2,
4494                0x1.9a4p-3, 0x1.e9p4,    -0x1.a4p-6, 0x1.6acp-1,  0x1.7e8p-12, -0x1.02cp6, -0x1.0ccp-14, 0x1.edp-12,
4495            });
4496            try testArgs(@Vector(17, f16), .{
4497                0x1.2c4p-1,  0x1.91cp-3,   0x1.bf8p10,  -0x0.25p-14, 0x1.45p-9,   0x1.cap-2,   0x1.e9cp8,  0x1.b7p8,
4498                0x1.21cp9,   -0x0.ba4p-14, -0x1.ddcp-4, -0x1.bcp9,   -0x1.7dcp-3, 0x1.6a4p-12, 0x1.ca8p-8, -0x1.558p11,
4499                0x0.26cp-14,
4500            });
4501            try testArgs(@Vector(31, f16), .{
4502                -0x1.f94p7,   0x1.55cp9,   -0x1.f78p11,  -0x0.f48p-14, -0x1.b6p-2,  0x1.85cp1,    -0x1.114p4,  -0x1.97cp-5,
4503                -0x1.6f8p2,   0x1.79cp-3,  0x1.e58p-9,   -0x1.f5cp-10, 0x1.a74p5,   -0x0.1e8p-14, 0x1.15cp-14, 0x1.814p-7,
4504                -0x0.318p-14, -0x1.b5p-5,  -0x1.058p-10, 0x1.124p0,    -0x1.20cp-1, 0x1.978p10,   -0x1.808p-8, 0x1.528p-6,
4505                -0x1.ba8p9,   0x0.294p-14, 0x1.11cp0,    0x1.e5p5,     0x1.904p-11, 0x1.d78p11,   -0x1.c1p5,
4506            });
4507            try testArgs(@Vector(32, f16), .{
4508                -0x0.11p-14, 0x0.29cp-14, 0x1.7a8p5,    0x1.49cp-11,  0x1.6c4p-3,   -0x1.85cp-11, 0x1.ap-8,   -0x0.49cp-14,
4509                0x1.dfp2,    -0x1.4cp1,   0x1.138p-5,   -0x1.45p-9,   0x0.88cp-14,  0x1.6acp10,   0x1.594p3,  0x1.704p6,
4510                -0x1.c34p13, 0x1.44cp0,   -0x1.cfcp-10, 0x1.5c8p-4,   -0x1.b2cp-10, -0x1.178p1,   -0x1.b74p7, -0x1.d18p0,
4511                0x1.0fcp-9,  0x1.b6p-11,  -0x1.ff4p-2,  -0x0.0b8p-14, 0x1.4dcp-10,  -0x1.af4p-5,  -0x1.eap2,  -0x1.79cp-4,
4512            });
4513            try testArgs(@Vector(33, f16), .{
4514                -0x1.6e8p0,  -0x1.304p-12, 0x1.558p11,  0x1.cf4p13,  0x1.cc4p-9,   0x1.d88p-11,  0x1.838p8,   -0x1.2ecp-10,
4515                -0x1.65cp-1, -0x1.644p8,   -0x1.048p10, 0x0.114p-14, 0x1.8a4p13,   0x1.c9p-3,    0x1.dfp-6,   -0x1.774p12,
4516                -0x0.4dp-14, 0x1.2ccp-12,  0x0.98p-14,  -0x1.b18p-6, 0x0.1ecp-14,  0x0.86cp-14,  0x0.6e8p-14, -0x1.6dp14,
4517                0x1.9e8p-3,  0x1.1ep10,    -0x1.6cp13,  -0x1.d44p1,  -0x1.f54p-12, -0x1.fe8p-14, 0x1.968p-1,  -0x1.ab4p-9,
4518                0x1.f0cp0,
4519            });
4520            try testArgs(@Vector(63, f16), .{
4521                -0x1.3ecp-1,  0x0.04p-14,  -0x1.1cp-2,   0x1.0dp10,    0x1.ddcp-12,  -0x1.57cp-11, -0x1.84p-9,  0x1.dfp4,
4522                0x1.6e4p-9,   0x0.5d4p-14, -0x0.51cp-14, -0x1.bp2,     -0x1.8ecp-14, 0x1.268p-2,   -0x0.69p-14, -0x1.b98p7,
4523                -0x0.cb4p-14, -0x1.accp-3, 0x1.cdcp6,    -0x1.e6p7,    0x1.4ep-14,   0x1.5fp5,     -0x1.95p8,   0x1.044p8,
4524                -0x1.e14p9,   0x1.e84p14,  0x1.ee8p-10,  -0x1.0a4p8,   0x1.b14p-8,   -0x1.5dp9,    0x0.e68p-14, -0x0.1acp-14,
4525                -0x1.7ccp-11, 0x1.45p-10,  0x0.044p-14,  0x1.078p4,    0x1.c8p-1,    -0x1.8fp11,   -0x1.cbp0,   -0x1.208p-10,
4526                -0x1.a5p-1,   -0x1.164p-8, -0x1.304p-3,  -0x1.038p-10, -0x1.4dp11,   0x0.248p-14,  0x1.09cp-4,  -0x1.a7cp14,
4527                -0x1.a38p-6,  -0x1.0bp-9,  -0x1.fecp-14, -0x1.c78p-10, -0x1.e38p-11, 0x1.47p-5,    -0x1.3bcp5,  0x1.6a4p9,
4528                0x0.728p-14,  0x1.9c8p9,   0x1.88p12,    -0x1.e6p0,    0x1.5dcp-2,   -0x1.7f4p-4,  -0x1.a6p3,
4529            });
4530            try testArgs(@Vector(64, f16), .{
4531                -0x1.67cp-13, 0x1.f2cp-10, 0x1.69cp11,  -0x1.0dp-2,  0x1.a8p9,     0x1.7dp-11,   0x1.908p-5,  -0x1.37cp0,
4532                0x1.8f8p5,    0x1.38p11,   0x1.d2p8,    0x1.b74p-10, -0x1.188p-7,  0x1.578p5,    0x1.68p-11,  -0x1.b9cp8,
4533                -0x1.ba4p2,   0x0.b78p-14, 0x1.458p-8,  0x0.054p-14, -0x0.63p-14,  0x1.83p10,    0x1.94cp-2,  -0x1.d7p2,
4534                -0x1.62p4,    0x1.b34p4,   -0x1.4cp-11, -0x1.714p9,  -0x1.ce4p1,   0x1.75p-3,    -0x1.cbp-13, 0x1.714p6,
4535                -0x1.cb8p7,   -0x1.b98p-4, 0x1.facp-13, -0x1.1f4p8,  -0x1.92p-3,   0x0.144p-14,  0x1.504p-4,  0x1.a9p-10,
4536                0x1.a94p3,    0x1.708p-2,  0x1.c84p-14, 0x1.77cp9,   -0x0.1e4p-14, -0x0.3d8p-14, -0x1.f8p4,   -0x1.2bp5,
4537                0x1.5b8p-14,  0x1.898p14,  -0x1.e2p3,   -0x1.0e8p-5, 0x1.4dcp-12,  0x1.368p8,    0x1.968p-7,  -0x1.98cp-5,
4538                0x1.39cp-13,  0x1.23p2,    0x1.8e8p6,   0x1.344p7,   0x1.70cp-5,   -0x1.f24p11,  -0x1.54p-7,  -0x1.904p3,
4539            });
4540            try testArgs(@Vector(65, f16), .{
4541                -0x1.d78p-4, 0x1.ea8p-8,   -0x1.b4cp6,   -0x1.c7cp4,   0x1.dfcp7,    0x1.a8cp6,   -0x1.768p11,  0x0.0fp-14,
4542                -0x1.a3p-4,  -0x1.868p-9,  0x1.23p-1,    -0x1.2e8p3,   -0x1.9e8p-12, 0x1.8a8p3,   0x1.168p-5,   -0x1.608p8,
4543                -0x1.9d4p-4, -0x1.17cp-1,  -0x1.f2p1,    -0x1.d38p-11, 0x1.f38p-12,  -0x1.92p-11, 0x1.c44p6,    0x1.4fp-3,
4544                0x0.18p-14,  0x1.3dp11,    -0x1.ce4p9,   -0x1.bf8p-12, 0x0.88cp-14,  -0x1.998p-9, 0x1.788p-2,   -0x1.5c4p2,
4545                0x0.08cp-14, -0x0.6f8p-14, 0x1.c7cp-10,  -0x0.1p-14,   -0x1.0fcp-9,  -0x1.5a4p6,  -0x1.8c8p-12, 0x0.57p-14,
4546                -0x1.96cp-9, 0x1.6ecp10,   -0x1.c18p1,   -0x1.0ap5,    -0x0.768p-14, -0x1.f8cp-6, 0x0.44p-14,   -0x1.2b4p-2,
4547                0x1.efcp-13, -0x1.434p-13, 0x1.434p-3,   0x1.a6p-2,    0x1.bc4p7,    -0x0.e1p-14, -0x1.d9cp-7,  -0x1.f94p-9,
4548                0x1.448p-6,  0x1.0d8p3,    -0x0.4a4p-14, -0x1.25cp-10, 0x1.c18p12,   0x0.1ccp-14, -0x1.ep14,    -0x1.42cp6,
4549                0x1.14p8,
4550            });
4551
4552            try testArgs(@Vector(1, f32), .{
4553                0x1.12e082p8,
4554            });
4555            try testArgs(@Vector(2, f32), .{
4556                -0x1.f04666p17, 0x1.27d624p4,
4557            });
4558            try testArgs(@Vector(3, f32), .{
4559                -0x1.c3168cp-85, -0x1.169cdcp9, -0x1.4bdb2ap13,
4560            });
4561            try testArgs(@Vector(4, f32), .{
4562                -0x1.a8b1d6p29, -0x1.b94e32p-76, 0x1.f4d9aap-43, 0x1.e6c654p44,
4563            });
4564            try testArgs(@Vector(5, f32), .{
4565                0x1.37c57ep-53,  -0x1.832c84p49, -0x1.04256ep-110, -0x1.de4454p-37,
4566                -0x1.a36832p-34,
4567            });
4568            try testArgs(@Vector(7, f32), .{
4569                -0x1.35df86p87, -0x1.d96a52p62, 0x1.f9d3ecp-12, 0x1.5f4cc6p112,
4570                0x1.176cfap94,  0x1.bb86fcp69,  0x1.015e56p0,
4571            });
4572            try testArgs(@Vector(8, f32), .{
4573                -0x1.9dd6cap3,   0x1.726066p-42, 0x1.5b1f5ep-20, -0x1.347ed6p29,
4574                0x1.bfb5d4p-126, -0x1.b0e8dp45,  0x1.5577bep45,  -0x1.9d1608p2,
4575            });
4576            try testArgs(@Vector(9, f32), .{
4577                -0x1.4159b2p76,  0x1.bea7b8p-107, -0x1.b47036p-82, -0x1.4635ap-26,
4578                -0x1.27bc98p-47, 0x1.1e0ap-116,   0x1.0f628p-118,  0x1.2e63bcp-62,
4579                0x1.d0e45ep-57,
4580            });
4581            try testArgs(@Vector(15, f32), .{
4582                0x1.65e0bcp-12, 0x1.d947c6p-42, -0x1.4596acp64,   -0x1.2a897cp75,
4583                0x1.cb074ap-8,  0x1.e44a98p-62, -0x1.3edb2p74,    0x1.07aecep-2,
4584                -0x1.fda1f8p14, 0x1.2f2c7ap-95, 0x1.9814e6p-33,   0x1.6d6a58p3,
4585                0x1.6a1478p-3,  -0x1.85886ap64, -0x1.e2b9bcp-114,
4586            });
4587            try testArgs(@Vector(16, f32), .{
4588                0x1.348b38p103,  0x1.bbc8e4p8,   -0x1.03f48ap-119, -0x1.90f87cp115,
4589                -0x1.88aaaep28,  -0x1.21ec4p-94, 0x1.e1f21cp-57,   0x1.0e7dd2p-37,
4590                -0x1.5963a2p-24, 0x1.4c314cp-61, -0x1.753d5ap113,  -0x1.65705p-12,
4591                -0x1.e34902p-54, -0x1.ab8022p87, -0x1.5cc252p-99,  0x1.4f4fe6p41,
4592            });
4593            try testArgs(@Vector(17, f32), .{
4594                0x1.6be79ap-19, -0x1.38819p-21,  -0x1.8551dp2,     -0x1.43155ep-126,
4595                0x1.96e6p108,   0x1.58abaap41,   0x1.145ffcp124,   -0x1.8e314ep-41,
4596                -0x1.63151p42,  0x1.9585e8p124,  0x1.4bdd42p-66,   0x1.858674p-45,
4597                -0x1.bccb68p66, -0x1.88e0e8p-14, -0x1.e0461cp-116, 0x1.3c1e2ep120,
4598                -0x1.0076dep14,
4599            });
4600            try testArgs(@Vector(31, f32), .{
4601                0x1.8d5b34p-49,   -0x1.bd019cp-83, -0x1.1d06e2p-95, -0x1.d9ac6ap-45,
4602                0x1.f942dap10,    -0x1.c23402p121, -0x1.8e5656p-32, 0x1.925222p-53,
4603                -0x1.16440ep-117, 0x1.b146cep107,  -0x1.b58cdep-52, 0x1.713f34p8,
4604                0x1.3de424p99,    -0x1.3e6d6ep-28, -0x1.8261b4p-69, 0x1.043d66p-91,
4605                -0x1.fbcd6ep113,  0x1.7934dcp-47,  0x1.fa8152p99,   0x1.c29968p-58,
4606                0x1.77f26ap82,    0x1.4602aap-57,  -0x1.8a4cb4p8,   0x1.d48cdap113,
4607                0x1.636a7ep29,    0x1.730262p57,   0x1.29e668p7,    0x1.58592cp20,
4608                0x1.d09ebp-107,   0x1.7a85c6p-39,  0x1.38e1d6p44,
4609            });
4610            try testArgs(@Vector(32, f32), .{
4611                -0x1.95dec4p-65,  0x1.3833cp65,    -0x1.0ef5ap-53,  0x1.86e4c8p101,
4612                -0x1.713132p24,   -0x1.c6fd0ep123, -0x1.75aadcp88,  -0x1.b8f0fp18,
4613                0x1.0f5b8ep-34,   -0x1.0d0d66p-15, 0x0.842836p-126, -0x1.157782p22,
4614                -0x1.025e8ap-100, 0x1.be825ep117,  0x1.d3efc6p-45,  0x1.ed8462p-34,
4615                -0x1.b373c8p-118, -0x1.dbfd16p4,   0x1.73ee9p-56,   -0x1.cdff48p-69,
4616                0x1.1b806ep-78,   0x1.65a58ap-4,   -0x1.0d851cp77,  0x1.442c12p41,
4617                0x1.215116p47,    -0x1.75f266p-48, 0x1.2273d4p89,   0x1.1bab24p-100,
4618                -0x1.0300ep-22,   0x1.8c199cp-70,  -0x1.70e08cp-66, 0x1.aa6b3ep-24,
4619            });
4620            try testArgs(@Vector(33, f32), .{
4621                -0x1.4eddccp-116, 0x1.724e18p-94,  -0x1.9d40bep54,  -0x1.0afc5p-14,
4622                0x1.576c2p92,     0x1.cf52b6p110,  -0x1.7e67ep117,  -0x1.7db66ep90,
4623                0x1.3eac22p-38,   0x1.6ba068p72,   -0x1.72dc2cp97,  -0x1.4193f4p72,
4624                0x1.aa81f6p86,    0x1.984268p53,   -0x1.14ba6ep-45, 0x1.15603ep-122,
4625                0x1.85e75p-56,    0x1.108a82p-121, 0x1.569ecp62,    -0x1.7f3268p-68,
4626                -0x1.d0964ep0,    0x0.f7a596p-126, -0x1.367646p-11, 0x1.2065bp-26,
4627                0x1.cc954ap125,   -0x1.956e1cp65,  0x1.774dep112,   0x1.69dfcep-16,
4628                -0x1.b0efb2p76,   0x1.14c54p70,    -0x1.7c6b08p25,  0x1.ae20b4p31,
4629                -0x1.73c584p-118,
4630            });
4631
4632            try testArgs(@Vector(1, f64), .{
4633                0x1.58849bfb1303cp-254,
4634            });
4635            try testArgs(@Vector(2, f64), .{
4636                -0x1.b4a24030f3facp215, -0x1.c1bdddbc41cdep950,
4637            });
4638            try testArgs(@Vector(3, f64), .{
4639                -0x1.7d154dcee386cp-284, -0x1.2fdda9cbabfap-84,
4640                0x1.00c86a9c3de5cp-46,
4641            });
4642            try testArgs(@Vector(4, f64), .{
4643                0x1.70f298f25a9bfp826,   0x1.4b944832c8eecp-319,
4644                -0x1.d801afafdbc01p-708, -0x1.65d0b4b097a57p-872,
4645            });
4646            try testArgs(@Vector(5, f64), .{
4647                -0x1.4796bdf4c112bp938, 0x1.3661030c6a2fp-156,
4648                -0x1.20d194f89bc7fp-9,  -0x1.f545d17a1d9e8p604,
4649                0x1.c786013e7205ep-514,
4650            });
4651            try testArgs(@Vector(7, f64), .{
4652                -0x1.8f6d6e549941fp501, -0x1.56374640d779p-762,
4653                -0x1.4ea02d12bd9cfp209, -0x1.ab85b639e78c6p-879,
4654                -0x1.fcd56fe4f85abp47,  -0x1.8963745584169p-957,
4655                -0x1.581a8a0033e8p915,
4656            });
4657            try testArgs(@Vector(8, f64), .{
4658                -0x1.2a8fb1782b7f2p-126, -0x1.b246d12815c21p606,
4659                0x1.6bc24f2a268b9p837,   0x1.1d550478ebd71p1016,
4660                0x1.d2ba52815edc2p252,   0x1.a8d87e5eb97ecp-450,
4661                -0x1.c8a3d899aa89p601,   -0x1.1fa47083d9a8fp289,
4662            });
4663            try testArgs(@Vector(9, f64), .{
4664                -0x1.312d39a09757p-567,  -0x1.4b0ef2ac9424ep-10,
4665                0x1.84302715c6852p930,   -0x1.01565f82fd32p761,
4666                -0x1.36ad9c057719ap-351, 0x1.dc4929f2400c8p793,
4667                -0x1.e90f3ae855d3dp-474, 0x1.4e65fb145865ep-834,
4668                0x1.4236a94937ee3p-987,
4669            });
4670            try testArgs(@Vector(15, f64), .{
4671                0x1.df73a72937309p351,  -0x1.73506ab182b9p-23,
4672                0x1.b2c954612187p-997,  0x1.7c5ee7c602989p-93,
4673                -0x1.5edba35428d13p762, -0x1.e3bc1f194dc8cp-386,
4674                0x1.ca056fb59bdb9p651,  0x1.e59b99b174a0dp-528,
4675                0x1.7a995c7651aa7p929,  -0x1.a25d3d5153405p413,
4676                0x1.e5579317d4b37p-50,  0x1.f9d5578c67f67p-90,
4677                -0x1.5da751d423506p611, 0x1.9a2cba7bf2467p488,
4678                0x1.db3d45f662c4ep-619,
4679            });
4680            try testArgs(@Vector(16, f64), .{
4681                0x1.fd61de463a33cp898,  -0x1.47be52b4f1241p-18,
4682                0x1.729aa777312a3p-930, -0x1.2db258cd9984dp895,
4683                0x1.a1fbc900c10cbp517,  -0x1.e93dfa8923807p815,
4684                -0x1.e8f19fc0aa2a8p191, -0x1.1b084206321d5p861,
4685                -0x1.0be3c6310c58ep457, 0x1.816c3bcf4b9f5p-504,
4686                0x1.ec4b026b00c91p-831, 0x1.e42d18f5c7e4bp924,
4687                -0x1.f1483ecd74646p560, -0x1.cc5aea97d2264p447,
4688                -0x1.a0b1e5b69d166p597, 0x1.e9a109fcf1358p694,
4689            });
4690            try testArgs(@Vector(17, f64), .{
4691                -0x1.cd163cf2878e5p-934, -0x1.ce0ad5b67552p196,
4692                -0x1.da0fd3a62b298p508,  0x1.1981c99b14943p3,
4693                0x1.d2f6461a9d1a9p390,   -0x1.e8e877d3b4e96p-539,
4694                -0x1.8ad9d3e185c43p864,  0x1.61786be9783eep-110,
4695                -0x1.1f4be91d90cc3p-500, 0x1.71cacdd984837p956,
4696                0x1.7b6ae301fd95ep-661,  0x1.24571ba56e32p343,
4697                0x1.b1a9454ab9481p648,   -0x1.887873f8044fep842,
4698                -0x1.2f4ee57b9de22p-967, -0x1.c931346ced885p-983,
4699                0x1.fe31b9923796bp-772,
4700            });
4701
4702            try testArgs(@Vector(1, f80), .{
4703                -0x1.482098130df28b74p12578,
4704            });
4705            try testArgs(@Vector(2, f80), .{
4706                -0x1.275157565b1eee5ep14003,
4707                0x1.a27b82ef4be6132ap3681,
4708            });
4709            try testArgs(@Vector(3, f80), .{
4710                0x1.9825fbd9b22021fep-10432,
4711                -0x1.b8c8c4e5e3911ca8p13568,
4712                0x1.aa99cc199c8e524p9865,
4713            });
4714            try testArgs(@Vector(4, f80), .{
4715                -0x1.9d8ab0a36953d0f6p-760,
4716                0x1.869b464121ce6576p-13660,
4717                0x1.a54b1d1e8ae2b62ap12073,
4718                -0x1.2abe41c9a9d89ea4p-13141,
4719            });
4720            try testArgs(@Vector(5, f80), .{
4721                0x1.0fb10e205522f5aep-15041,
4722                -0x1.13e0c338580504dap10809,
4723                0x1.50e7c6666fd851acp-5508,
4724                -0x1.e2231120481fc762p-8351,
4725                0x1.4fae86dc45b06fe2p10741,
4726            });
4727            try testArgs(@Vector(7, f80), .{
4728                -0x1.fe8f8caa4e8697ecp-2992,
4729                0x1.2623c910a340e286p-14518,
4730                0x1.c5524642a438569p-9469,
4731                0x1.3d416ca0a47c73cep2981,
4732                0x1.a3a1eb1243923114p-6689,
4733                -0x1.a55df9ded3010b1cp-5798,
4734                -0x1.3d593df395b03e5ap-14382,
4735            });
4736            try testArgs(@Vector(8, f80), .{
4737                -0x1.9bb73ea024f4167cp3116,
4738                0x1.adf6241753b29ed2p-4428,
4739                -0x1.1494fa8680f9f5f4p2008,
4740                -0x1.c68a673c59edeb24p2377,
4741                0x1.26c7ab4021afb6dcp1376,
4742                0x1.c829b0b3935a2ac6p-11758,
4743                -0x1.11e39b110c2fb122p-3836,
4744                -0x1.6db14745e291d466p1604,
4745            });
4746            try testArgs(@Vector(9, f80), .{
4747                0x1.f6e537676c132cc6p-10213,
4748                -0x1.b86eadf24d8c80eep808,
4749                -0x1.54bc27c9a9a2348cp-2369,
4750                -0x1.99453820b245bc5p-840,
4751                -0x1.93c299090fd981e6p-5264,
4752                -0x1.c742059979281ec4p-6347,
4753                -0x1.e3efe7b892591d3p-1877,
4754                -0x1.350c20a2d59c67dap-8972,
4755                -0x1.e3879f20ffc62ff2p-2600,
4756            });
4757
4758            try testArgs(@Vector(1, f128), .{
4759                -0x1.274ece23c1832bfe66a1bc59cf87p-8354,
4760            });
4761            try testArgs(@Vector(2, f128), .{
4762                0x1.838a4e7ba1e2191cebe701eac5d4p6581,
4763                0x1.cdfbda51a2adbce757d7c2e0981bp446,
4764            });
4765            try testArgs(@Vector(3, f128), .{
4766                -0x1.ff45938938f76db417c980c368c6p-7215,
4767                -0x1.277a316793a0172e49c7227952ccp10618,
4768                0x1.d85027eb4f4ed3512c10bff9a199p-8465,
4769            });
4770            try testArgs(@Vector(4, f128), .{
4771                -0x1.43d8ecf283d4ec6fc4993f385386p-12233,
4772                -0x1.384424d239aa2ed9719d2c2d1e58p7346,
4773                -0x1.d33fd11001f0ab6d0f9a2790b41cp14692,
4774                -0x1.40219a635ef4b042cfb9d7bd9781p900,
4775            });
4776            try testArgs(@Vector(5, f128), .{
4777                -0x1.3273c97faf4619baedaebb51148fp9085,
4778                -0x1.f381263ad1033a071dff3a143b14p-13649,
4779                -0x1.24b24810f9a1f9b5d1542e2b5841p1425,
4780                -0x1.df9e062d482c2bbae0b8fcb07efep-5044,
4781                -0x1.15cbca8b8384412d7d09ff76bfe4p-2424,
4782            });
4783            try testArgs(@Vector(7, f128), .{
4784                -0x1.0972e6da79fa8bcd49431d813ea5p12192,
4785                0x1.568e3e61ac4fb17303e4ead041dcp-2542,
4786                0x1.a55c3f0014942187e6d40c72f12p-13437,
4787                -0x1.31fb0ec6dbdf7e4ea8ecc307e6f4p13767,
4788                -0x1.5dcc12514e3e540fea9dbd257935p-8938,
4789                -0x1.32471cd1d5d2a36e9148a8ce879ap-3274,
4790                -0x1.3fd3eb6d86a14567e49f358cf029p-4569,
4791            });
4792            try testArgs(@Vector(8, f128), .{
4793                -0x1.05fe5035b415bdc5f8f9ae4c8815p455,
4794                -0x1.fafde904d5cad82413daee7b88b8p-244,
4795                0x1.53041230913c654449b12eb4d89bp2214,
4796                -0x1.12d9f4b006063e9c0c7bdf19f61ap-2483,
4797                0x1.aee9d4ba013f668773e4f0fd9002p5461,
4798                0x1.a6776670633403e78a3cc6fcf8fdp8324,
4799                -0x1.392aa756df3b993ea9db22def53ep15136,
4800                0x1.823ef104549bdd4624961a44736cp-1097,
4801            });
4802            try testArgs(@Vector(9, f128), .{
4803                -0x1.bde12739521a2bff70e510a6aca3p12384,
4804                -0x1.0001c77658eb15cd7cb631b4836bp2147,
4805                -0x1.f24c72b8cde26d95bd40f689a2aep-1416,
4806                -0x1.61957e7946030c0432af0381f64ap-9492,
4807                -0x1.631851492fa27fe7adc7441e0d21p16144,
4808                -0x1.9dd39ece97e7a70c6d36e7e3026p-15761,
4809                0x1.b044e441d7377755389d0bab3256p-1181,
4810                0x1.5c11719701b7ff21384fbbf32922p-1671,
4811                -0x1.1a2944a4dff2a4f96732bf03e8f7p-10567,
4812            });
4813        }
4814    };
4815}
4816
4817inline fn boolNot(comptime Type: type, rhs: Type) Type {
4818    return !rhs;
4819}
4820test boolNot {
4821    const test_bool_not = unary(boolNot, .{});
4822    try test_bool_not.testBools();
4823    try test_bool_not.testBoolVectors();
4824}
4825
4826inline fn bitNot(comptime Type: type, rhs: Type) Type {
4827    return ~rhs;
4828}
4829test bitNot {
4830    const test_bit_not = unary(bitNot, .{});
4831    try test_bit_not.testBools();
4832    try test_bit_not.testBoolVectors();
4833    try test_bit_not.testInts();
4834    try test_bit_not.testIntVectors();
4835}
4836
4837inline fn clz(comptime Type: type, rhs: Type) Log2IntCeil(Type) {
4838    return @clz(rhs);
4839}
4840test clz {
4841    const test_clz = unary(clz, .{});
4842    try test_clz.testInts();
4843    try test_clz.testIntVectors();
4844}
4845
4846inline fn ctz(comptime Type: type, rhs: Type) Log2IntCeil(Type) {
4847    return @ctz(rhs);
4848}
4849test ctz {
4850    const test_ctz = unary(ctz, .{});
4851    try test_ctz.testInts();
4852    try test_ctz.testIntVectors();
4853}
4854
4855inline fn popCount(comptime Type: type, rhs: Type) Log2IntCeil(Type) {
4856    return @popCount(rhs);
4857}
4858test popCount {
4859    const test_pop_count = unary(popCount, .{});
4860    try test_pop_count.testInts();
4861    try test_pop_count.testIntVectors();
4862}
4863
4864inline fn byteSwap(comptime Type: type, rhs: Type) RoundBitsUp(Type, 8) {
4865    return @byteSwap(@as(RoundBitsUp(Type, 8), rhs));
4866}
4867test byteSwap {
4868    const test_byte_swap = unary(byteSwap, .{});
4869    try test_byte_swap.testInts();
4870    try test_byte_swap.testIntVectors();
4871}
4872
4873inline fn bitReverse(comptime Type: type, rhs: Type) Type {
4874    return @bitReverse(rhs);
4875}
4876test bitReverse {
4877    const test_bit_reverse = unary(bitReverse, .{});
4878    try test_bit_reverse.testInts();
4879    try test_bit_reverse.testIntVectors();
4880}
4881
4882inline fn sqrt(comptime Type: type, rhs: Type) Type {
4883    return @sqrt(rhs);
4884}
4885test sqrt {
4886    const test_sqrt = unary(sqrt, .{ .libc_name = "sqrt", .compare = .approx });
4887    try test_sqrt.testFloats();
4888    try test_sqrt.testFloatVectors();
4889}
4890
4891inline fn sin(comptime Type: type, rhs: Type) Type {
4892    return @sin(rhs);
4893}
4894test sin {
4895    const test_sin = unary(sin, .{ .libc_name = "sin", .compare = .strict });
4896    try test_sin.testFloats();
4897    try test_sin.testFloatVectors();
4898}
4899
4900inline fn cos(comptime Type: type, rhs: Type) Type {
4901    return @cos(rhs);
4902}
4903test cos {
4904    const test_cos = unary(cos, .{ .libc_name = "cos", .compare = .strict });
4905    try test_cos.testFloats();
4906    try test_cos.testFloatVectors();
4907}
4908
4909inline fn tan(comptime Type: type, rhs: Type) Type {
4910    return @tan(rhs);
4911}
4912test tan {
4913    const test_tan = unary(tan, .{ .libc_name = "tan", .compare = .strict });
4914    try test_tan.testFloats();
4915    try test_tan.testFloatVectors();
4916}
4917
4918inline fn exp(comptime Type: type, rhs: Type) Type {
4919    return @exp(rhs);
4920}
4921test exp {
4922    const test_exp = unary(exp, .{ .libc_name = "exp", .compare = .strict });
4923    try test_exp.testFloats();
4924    try test_exp.testFloatVectors();
4925}
4926
4927inline fn exp2(comptime Type: type, rhs: Type) Type {
4928    return @exp2(rhs);
4929}
4930test exp2 {
4931    const test_exp2 = unary(exp2, .{ .libc_name = "exp2", .compare = .strict });
4932    try test_exp2.testFloats();
4933    try test_exp2.testFloatVectors();
4934}
4935
4936inline fn log(comptime Type: type, rhs: Type) Type {
4937    return @log(rhs);
4938}
4939test log {
4940    const test_log = unary(log, .{ .libc_name = "log", .compare = .strict });
4941    try test_log.testFloats();
4942    try test_log.testFloatVectors();
4943}
4944
4945inline fn log2(comptime Type: type, rhs: Type) Type {
4946    return @log2(rhs);
4947}
4948test log2 {
4949    const test_log2 = unary(log2, .{ .libc_name = "log2", .compare = .strict });
4950    try test_log2.testFloats();
4951    try test_log2.testFloatVectors();
4952}
4953
4954inline fn log10(comptime Type: type, rhs: Type) Type {
4955    return @log10(rhs);
4956}
4957test log10 {
4958    const test_log10 = unary(log10, .{ .libc_name = "log10", .compare = .strict });
4959    try test_log10.testFloats();
4960    try test_log10.testFloatVectors();
4961}
4962
4963inline fn abs(comptime Type: type, rhs: Type) AsSignedness(Type, .unsigned) {
4964    return @abs(rhs);
4965}
4966test abs {
4967    const test_abs = unary(abs, .{ .compare = .strict });
4968    try test_abs.testInts();
4969    try test_abs.testIntVectors();
4970    try test_abs.testFloats();
4971    try test_abs.testFloatVectors();
4972}
4973
4974inline fn floor(comptime Type: type, rhs: Type) Type {
4975    return @floor(rhs);
4976}
4977test floor {
4978    const test_floor = unary(floor, .{ .libc_name = "floor", .compare = .strict });
4979    try test_floor.testFloats();
4980    try test_floor.testFloatVectors();
4981}
4982
4983inline fn ceil(comptime Type: type, rhs: Type) Type {
4984    return @ceil(rhs);
4985}
4986test ceil {
4987    const test_ceil = unary(ceil, .{ .libc_name = "ceil", .compare = .strict });
4988    try test_ceil.testFloats();
4989    try test_ceil.testFloatVectors();
4990}
4991
4992inline fn round(comptime Type: type, rhs: Type) Type {
4993    return @round(rhs);
4994}
4995test round {
4996    const test_round = unary(round, .{ .libc_name = "round", .compare = .strict });
4997    try test_round.testFloats();
4998    try test_round.testFloatVectors();
4999}
5000
5001inline fn trunc(comptime Type: type, rhs: Type) Type {
5002    return @trunc(rhs);
5003}
5004test trunc {
5005    const test_trunc = unary(trunc, .{ .libc_name = "trunc", .compare = .strict });
5006    try test_trunc.testFloats();
5007    try test_trunc.testFloatVectors();
5008}
5009
5010inline fn negate(comptime Type: type, rhs: Type) Type {
5011    return -rhs;
5012}
5013test negate {
5014    const test_negate = unary(negate, .{ .compare = .strict });
5015    try test_negate.testFloats();
5016    try test_negate.testFloatVectors();
5017}
5018
5019inline fn nullIsNull(comptime Type: type, _: Type) bool {
5020    return runtime(?Type, null) == null;
5021}
5022test nullIsNull {
5023    const test_null_is_null = unary(nullIsNull, .{});
5024    try test_null_is_null.testIntTypes();
5025    try test_null_is_null.testIntVectorTypes();
5026    try test_null_is_null.testFloatTypes();
5027    try test_null_is_null.testFloatVectorTypes();
5028}
5029
5030inline fn nullIsNotNull(comptime Type: type, _: Type) bool {
5031    return runtime(?Type, null) != null;
5032}
5033test nullIsNotNull {
5034    const test_null_is_not_null = unary(nullIsNotNull, .{});
5035    try test_null_is_not_null.testIntTypes();
5036    try test_null_is_not_null.testIntVectorTypes();
5037    try test_null_is_not_null.testFloatTypes();
5038    try test_null_is_not_null.testFloatVectorTypes();
5039}
5040
5041inline fn optionalIsNull(comptime Type: type, lhs: Type) bool {
5042    return @as(?Type, lhs) == null;
5043}
5044test optionalIsNull {
5045    const test_optional_is_null = unary(optionalIsNull, .{});
5046    try test_optional_is_null.testInts();
5047    try test_optional_is_null.testFloats();
5048}
5049
5050inline fn optionalIsNotNull(comptime Type: type, lhs: Type) bool {
5051    return @as(?Type, lhs) != null;
5052}
5053test optionalIsNotNull {
5054    const test_optional_is_not_null = unary(optionalIsNotNull, .{});
5055    try test_optional_is_not_null.testInts();
5056    try test_optional_is_not_null.testFloats();
5057}
5058
5059inline fn nullEqualNull(comptime Type: type, _: Type) bool {
5060    return runtime(?Type, null) == runtime(?Type, null);
5061}
5062test nullEqualNull {
5063    const test_null_equal_null = unary(nullEqualNull, .{});
5064    try test_null_equal_null.testIntTypes();
5065    try test_null_equal_null.testFloatTypes();
5066}
5067
5068inline fn nullNotEqualNull(comptime Type: type, _: Type) bool {
5069    return runtime(?Type, null) != runtime(?Type, null);
5070}
5071test nullNotEqualNull {
5072    const test_null_not_equal_null = unary(nullNotEqualNull, .{});
5073    try test_null_not_equal_null.testIntTypes();
5074    try test_null_not_equal_null.testFloatTypes();
5075}
5076
5077inline fn optionalEqualNull(comptime Type: type, lhs: Type) bool {
5078    return lhs == runtime(?Type, null);
5079}
5080test optionalEqualNull {
5081    const test_optional_equal_null = unary(optionalEqualNull, .{});
5082    try test_optional_equal_null.testInts();
5083    try test_optional_equal_null.testFloats();
5084}
5085
5086inline fn optionalNotEqualNull(comptime Type: type, lhs: Type) bool {
5087    return lhs != runtime(?Type, null);
5088}
5089test optionalNotEqualNull {
5090    const test_optional_not_equal_null = unary(optionalIsNotNull, .{});
5091    try test_optional_not_equal_null.testInts();
5092    try test_optional_not_equal_null.testFloats();
5093}
5094
5095inline fn reduceAnd(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5096    return @reduce(.And, rhs);
5097}
5098test reduceAnd {
5099    const test_reduce_and = unary(reduceAnd, .{});
5100    try test_reduce_and.testBoolVectors();
5101    try test_reduce_and.testIntVectors();
5102}
5103
5104inline fn reduceOr(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5105    return @reduce(.Or, rhs);
5106}
5107test reduceOr {
5108    const test_reduce_or = unary(reduceOr, .{});
5109    try test_reduce_or.testBoolVectors();
5110    try test_reduce_or.testIntVectors();
5111}
5112
5113inline fn reduceXor(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5114    return @reduce(.Xor, rhs);
5115}
5116test reduceXor {
5117    const test_reduce_xor = unary(reduceXor, .{});
5118    try test_reduce_xor.testBoolVectors();
5119    try test_reduce_xor.testIntVectors();
5120}
5121
5122inline fn reduceMinUnoptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5123    return @reduce(.Min, rhs);
5124}
5125test reduceMinUnoptimized {
5126    const test_reduce_min_unoptimized = unary(reduceMinUnoptimized, .{});
5127    try test_reduce_min_unoptimized.testIntVectors();
5128    try test_reduce_min_unoptimized.testFloatVectors();
5129}
5130
5131inline fn reduceMaxUnoptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5132    return @reduce(.Max, rhs);
5133}
5134test reduceMaxUnoptimized {
5135    const test_reduce_max_unoptimized = unary(reduceMaxUnoptimized, .{});
5136    try test_reduce_max_unoptimized.testIntVectors();
5137    try test_reduce_max_unoptimized.testFloatVectors();
5138}
5139
5140inline fn reduceAddUnoptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5141    return @reduce(.Add, rhs);
5142}
5143test reduceAddUnoptimized {
5144    const test_reduce_add_unoptimized = unary(reduceAddUnoptimized, .{});
5145    try test_reduce_add_unoptimized.testIntVectors();
5146    try test_reduce_add_unoptimized.testFloatVectors();
5147}
5148
5149inline fn reduceMulUnoptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5150    return @reduce(.Mul, rhs);
5151}
5152test reduceMulUnoptimized {
5153    const test_reduce_mul_unoptimized = unary(reduceMulUnoptimized, .{});
5154    try test_reduce_mul_unoptimized.testIntVectors();
5155    try test_reduce_mul_unoptimized.testFloatVectors();
5156}
5157
5158inline fn reduceMinOptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5159    @setFloatMode(.optimized);
5160    return @reduce(.Min, rhs);
5161}
5162test reduceMinOptimized {
5163    const test_reduce_min_optimized = unary(reduceMinOptimized, .{});
5164    try test_reduce_min_optimized.testFloatVectors();
5165}
5166
5167inline fn reduceMaxOptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5168    @setFloatMode(.optimized);
5169    return @reduce(.Max, rhs);
5170}
5171test reduceMaxOptimized {
5172    const test_reduce_max_optimized = unary(reduceMaxOptimized, .{});
5173    try test_reduce_max_optimized.testFloatVectors();
5174}
5175
5176inline fn reduceAddOptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5177    @setFloatMode(.optimized);
5178    return @reduce(.Add, rhs);
5179}
5180test reduceAddOptimized {
5181    const test_reduce_add_optimized = unary(reduceAddOptimized, .{ .compare = .approx });
5182    try test_reduce_add_optimized.testFloatVectors();
5183}
5184
5185inline fn reduceMulOptimized(comptime Type: type, rhs: Type) @typeInfo(Type).vector.child {
5186    @setFloatMode(.optimized);
5187    return @reduce(.Mul, rhs);
5188}
5189test reduceMulOptimized {
5190    const test_reduce_mul_optimized = unary(reduceMulOptimized, .{ .compare = .approx_or_overflow });
5191    try test_reduce_mul_optimized.testFloatVectors();
5192}
5193
5194inline fn splat(comptime Type: type, rhs: Type) Type {
5195    return @splat(rhs[0]);
5196}
5197test splat {
5198    const test_splat = unary(splat, .{});
5199    try test_splat.testIntVectors();
5200    try test_splat.testFloatVectors();
5201}