struct BigNat_init_quotient<Qm1, Lp1> { field[Qm1][Lp1] limbs; field last_limb; } struct BigNat_init<N, Lp1> { field[N][Lp1] limbs; } struct BigNatModMult_init<Qm1, Lp1, ZG, CL> { BigNat_init_quotient<Qm1, Lp1> quotient_init; BigNat_init<ZG, CL> carry_init; } const u32 Qm1 = 7; const u32 Lp1 = 4; const u32 ZG = 2; const u32 CL = 5; def main(private BigNatModMult_init<Qm1,Lp1,ZG,CL>[1] intermediate_mod) -> bool { BigNat_init<ZG, CL> carry = intermediate_mod[0].carry_init; assert(carry.limbs[0][0] == 1); return true; }