// This test is doing byte decomposition for 64-Bit values naively.
// While this works on fields > 64 Bits (e.g. BN254), it is not sound on smaller fields
// (e.g. Goldilocks). On those fields, the machines in `std::machines::split` should be used.
// The point of this test is to make sure that witgen also fails in this case.

namespace Main(256);
    let INPUT: col = |i| i;

    let BYTES: col = |i| i % 256;
    let bytes: col[8];

    [ bytes[0] ] in [ BYTES ];
    [ bytes[1] ] in [ BYTES ];
    [ bytes[2] ] in [ BYTES ];
    [ bytes[3] ] in [ BYTES ];
    [ bytes[4] ] in [ BYTES ];
    [ bytes[5] ] in [ BYTES ];
    [ bytes[6] ] in [ BYTES ];
    [ bytes[7] ] in [ BYTES ];

    INPUT = bytes[0] + bytes[1] * 256 + bytes[2] * 256**2 + bytes[3] * 256**3 + bytes[4] * 256**4 + bytes[5] * 256**5 + bytes[6] * 256**6 + bytes[7] * 256**7;
