// A compiled version of "add_sub.asm" for babybear.
namespace main(32..4096);
    // Dummy connection constraint
    col witness i1, i2, i3, i4, i5;
    [i1, i2, i3, i4, i5] is [main_add_sub::C_h, main_add_sub::C_l, main_add_sub::B_h, main_add_sub::B_l, main_add_sub::carry32];
namespace main_add_sub(32..4096);
    col witness carry16;
    main_add_sub::carry16 * (1 - main_add_sub::carry16) = 0;
    col witness carry32;
    main_add_sub::carry32 * (1 - main_add_sub::carry32) = 0;
    col witness A_h;
    col witness A_l;
    col witness B_h;
    col witness B_l;
    col witness C_h;
    col witness C_l;
    main_add_sub::A_l + main_add_sub::B_l = main_add_sub::C_l + main_add_sub::carry16 * 65536;
    main_add_sub::A_h + main_add_sub::B_h + main_add_sub::carry16 = main_add_sub::C_h + main_add_sub::carry32 * 65536;
    col witness sel;
    main_add_sub::sel * (1 - main_add_sub::sel) = 0;
    [main_add_sub::A_l] in [main_byte2::BYTE2];
    [main_add_sub::A_h] in [main_byte2::BYTE2];
    [main_add_sub::B_l] in [main_byte2::BYTE2];
    [main_add_sub::B_h] in [main_byte2::BYTE2];
    [main_add_sub::C_l] in [main_byte2::BYTE2];
    [main_add_sub::C_h] in [main_byte2::BYTE2];
namespace main_byte2(65536);
    col fixed BYTE2(i) { i & 65535_int };
