// Generated Test Vectors
localparam NUM_TESTS = 58;
initial begin
    test_vectors[0] = 45'h000000000ffb; // x0=0, x1=0, x2=0, x3=0, y=0, z=-5
    test_vectors[1] = 45'h1ffffffff3f7; // x0=255, x1=255, x2=255, x3=255, y=1, z=1015
    test_vectors[2] = 45'h1fe0000012f8; // x0=255, x1=0, x2=0, x3=0, y=1, z=760
    test_vectors[3] = 45'h001fe0000dfd; // x0=0, x1=255, x2=0, x3=0, y=0, z=-515
    test_vectors[4] = 45'h00001fe013f7; // x0=0, x1=0, x2=255, x3=0, y=1, z=1015
    test_vectors[5] = 45'h0000001feefc; // x0=0, x1=0, x2=0, x3=255, y=0, z=-260
    test_vectors[6] = 45'h004000003000; // x0=2, x1=0, x2=0, x3=1, y=1, z=0
    test_vectors[7] = 45'h004000004fff; // x0=2, x1=0, x2=0, x3=2, y=0, z=-1
    test_vectors[8] = 45'h0cb6e4398f74; // x0=101, x1=183, x2=33, x3=204, y=0, z=-140
    test_vectors[9] = 45'h1daee4be9174; // x0=237, x1=119, x2=37, x3=244, y=1, z=372
    test_vectors[10] = 45'h14a4dc32d48c; // x0=165, x1=38, x2=225, x3=150, y=1, z=1164
    test_vectors[11] = 45'h0169609e8ea2; // x0=11, x1=75, x2=4, x3=244, y=0, z=-350
    test_vectors[12] = 45'h10165a2fd2dd; // x0=128, x1=178, x2=209, x3=126, y=1, z=733
    test_vectors[13] = 45'h15aae942b267; // x0=173, x1=87, x2=74, x3=21, y=1, z=615
    test_vectors[14] = 45'h177b700e7203; // x0=187, x1=219, x2=128, x3=115, y=1, z=515
    test_vectors[15] = 45'h0e7e1b4252ca; // x0=115, x1=240, x2=218, x3=18, y=1, z=714
    test_vectors[16] = 45'h1d75f174b2e5; // x0=235, x1=175, x2=139, x3=165, y=1, z=741
    test_vectors[17] = 45'h178d4a047278; // x0=188, x1=106, x2=80, x3=35, y=1, z=632
    test_vectors[18] = 45'h1249b68713af; // x0=146, x1=77, x2=180, x3=56, y=1, z=943
    test_vectors[19] = 45'h1a457364d461; // x0=210, x1=43, x2=155, x3=38, y=1, z=1121
    test_vectors[20] = 45'h0108b11cf0c2; // x0=8, x1=69, x2=136, x3=231, y=1, z=194
    test_vectors[21] = 45'h1aff1800f389; // x0=215, x1=248, x2=192, x3=7, y=1, z=905
    test_vectors[22] = 45'h15454345f1de; // x0=170, x1=42, x2=26, x3=47, y=1, z=478
    test_vectors[23] = 45'h1d6e5cf934ab; // x0=235, x1=114, x2=231, x3=201, y=1, z=1195
    test_vectors[24] = 45'h129e65f22ffc; // x0=148, x1=243, x2=47, x3=145, y=0, z=-4
    test_vectors[25] = 45'h084a9a1e1269; // x0=66, x1=84, x2=208, x3=240, y=1, z=617
    test_vectors[26] = 45'h0a521816f21a; // x0=82, x1=144, x2=192, x3=183, y=1, z=538
    test_vectors[27] = 45'h0192419eae36; // x0=12, x1=146, x2=12, x3=245, y=0, z=-458
    test_vectors[28] = 45'h0abb6fc73103; // x0=85, x1=219, x2=126, x3=57, y=1, z=259
    test_vectors[29] = 45'h168d3ba7d47b; // x0=180, x1=105, x2=221, x3=62, y=1, z=1147
    test_vectors[30] = 45'h18d8ace4f238; // x0=198, x1=197, x2=103, x3=39, y=1, z=568
    test_vectors[31] = 45'h0ba5b3b1b29f; // x0=93, x1=45, x2=157, x3=141, y=1, z=671
    test_vectors[32] = 45'h14866625b218; // x0=164, x1=51, x2=49, x3=45, y=1, z=536
    test_vectors[33] = 45'h1e04ac67b3d0; // x0=240, x1=37, x2=99, x3=61, y=1, z=976
    test_vectors[34] = 45'h0bbc258a2faf; // x0=93, x1=225, x2=44, x3=81, y=0, z=-81
    test_vectors[35] = 45'h1d01779a94b9; // x0=232, x1=11, x2=188, x3=212, y=1, z=1209
    test_vectors[36] = 45'h1e721e7ad4aa; // x0=243, x1=144, x2=243, x3=214, y=1, z=1194
    test_vectors[37] = 45'h1aded4a552fb; // x0=214, x1=246, x2=165, x3=42, y=1, z=763
    test_vectors[38] = 45'h1cce85a1526f; // x0=230, x1=116, x2=45, x3=10, y=1, z=623
    test_vectors[39] = 45'h1581e6d3d21b; // x0=172, x1=15, x2=54, x3=158, y=1, z=539
    test_vectors[40] = 45'h116f8d5051ca; // x0=139, x1=124, x2=106, x3=130, y=1, z=458
    test_vectors[41] = 45'h0dee4fddf16d; // x0=111, x1=114, x2=126, x3=239, y=1, z=365
    test_vectors[42] = 45'h1ef6658e51b8; // x0=247, x1=179, x2=44, x3=114, y=1, z=440
    test_vectors[43] = 45'h1de3922694a0; // x0=239, x1=28, x2=145, x3=52, y=1, z=1184
    test_vectors[44] = 45'h129a4d569107; // x0=148, x1=210, x2=106, x3=180, y=1, z=263
    test_vectors[45] = 45'h13b8664790d8; // x0=157, x1=195, x2=50, x3=60, y=1, z=216
    test_vectors[46] = 45'h04b298bbd178; // x0=37, x1=148, x2=197, x3=222, y=1, z=376
    test_vectors[47] = 45'h19a8f1599330; // x0=205, x1=71, x2=138, x3=204, y=1, z=816
    test_vectors[48] = 45'h03ab609c8ec8; // x0=29, x1=91, x2=4, x3=228, y=0, z=-312
    test_vectors[49] = 45'h0e729c643397; // x0=115, x1=148, x2=227, x3=33, y=1, z=919
    test_vectors[50] = 45'h1b34dcd53429; // x0=217, x1=166, x2=230, x3=169, y=1, z=1065
    test_vectors[51] = 45'h1d735412d372; // x0=235, x1=154, x2=160, x3=150, y=1, z=882
    test_vectors[52] = 45'h16db2dcbf1c4; // x0=182, x1=217, x2=110, x3=95, y=1, z=452
    test_vectors[53] = 45'h164e36d5535d; // x0=178, x1=113, x2=182, x3=170, y=1, z=861
    test_vectors[54] = 45'h151771133204; // x0=168, x1=187, x2=136, x3=153, y=1, z=516
    test_vectors[55] = 45'h07ba96b2714b; // x0=61, x1=212, x2=181, x3=147, y=1, z=331
    test_vectors[56] = 45'h160c8dd0d275; // x0=176, x1=100, x2=110, x3=134, y=1, z=629
    test_vectors[57] = 45'h1a04ac5ff2aa; // x0=208, x1=37, x2=98, x3=255, y=1, z=682
end
