/* Autogenerated */
/* curve description: p434 */
/* requested operations: (all) */
/* m = 0x2341f271773446cfc5fd681c520567bc65c783158aea3fdc1767ae2ffffffffffffffffffffffffffffffffffffffffffffffffffffff (from "2^216 * 3^137 - 1") */
/* machine_wordsize = 64 (from "64") */
/*                                                                    */
/* NOTE: In addition to the bounds specified above each function, all */
/*   functions synthesized for this Montgomery arithmetic require the */
/*   input to be strictly less than the prime modulus (m), and also   */
/*   require the input to be in the unique saturated representation.  */
/*   All functions also ensure that these two properties are true of  */
/*   return values.                                                   */

#![allow(unused_parens)]
#[allow(non_camel_case_types)]

pub type fiat_p434_u1 = u8;
pub type fiat_p434_i1 = i8;
pub type fiat_p434_u2 = u8;
pub type fiat_p434_i2 = i8;
pub type fiat_p434_u128 = u128;
pub type fiat_p434_i128 = i128;


/*
 * The function fiat_p434_addcarryx_u64 is an addition with carry.
 * Postconditions:
 *   out1 = (arg1 + arg2 + arg3) mod 2^64
 *   out2 = ⌊(arg1 + arg2 + arg3) / 2^64⌋
 *
 * Input Bounds:
 *   arg1: [0x0 ~> 0x1]
 *   arg2: [0x0 ~> 0xffffffffffffffff]
 *   arg3: [0x0 ~> 0xffffffffffffffff]
 * Output Bounds:
 *   out1: [0x0 ~> 0xffffffffffffffff]
 *   out2: [0x0 ~> 0x1]
 */
pub fn fiat_p434_addcarryx_u64(out1: &mut u64, out2: &mut fiat_p434_u1, arg1: fiat_p434_u1, arg2: u64, arg3: u64) -> () {
  let x1: fiat_p434_u128 = (((arg1 as fiat_p434_u128) + (arg2 as fiat_p434_u128)) + (arg3 as fiat_p434_u128));
  let x2: u64 = ((x1 & (0xffffffffffffffff as fiat_p434_u128)) as u64);
  let x3: fiat_p434_u1 = ((x1 >> 64) as fiat_p434_u1);
  *out1 = x2;
  *out2 = x3;
}

/*
 * The function fiat_p434_subborrowx_u64 is a subtraction with borrow.
 * Postconditions:
 *   out1 = (-arg1 + arg2 + -arg3) mod 2^64
 *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^64⌋
 *
 * Input Bounds:
 *   arg1: [0x0 ~> 0x1]
 *   arg2: [0x0 ~> 0xffffffffffffffff]
 *   arg3: [0x0 ~> 0xffffffffffffffff]
 * Output Bounds:
 *   out1: [0x0 ~> 0xffffffffffffffff]
 *   out2: [0x0 ~> 0x1]
 */
pub fn fiat_p434_subborrowx_u64(out1: &mut u64, out2: &mut fiat_p434_u1, arg1: fiat_p434_u1, arg2: u64, arg3: u64) -> () {
  let x1: fiat_p434_i128 = (((arg2 as fiat_p434_i128) - (arg1 as fiat_p434_i128)) - (arg3 as fiat_p434_i128));
  let x2: fiat_p434_i1 = ((x1 >> 64) as fiat_p434_i1);
  let x3: u64 = ((x1 & (0xffffffffffffffff as fiat_p434_i128)) as u64);
  *out1 = x3;
  *out2 = (((0x0 as fiat_p434_i2) - (x2 as fiat_p434_i2)) as fiat_p434_u1);
}

/*
 * The function fiat_p434_mulx_u64 is a multiplication, returning the full double-width result.
 * Postconditions:
 *   out1 = (arg1 * arg2) mod 2^64
 *   out2 = ⌊arg1 * arg2 / 2^64⌋
 *
 * Input Bounds:
 *   arg1: [0x0 ~> 0xffffffffffffffff]
 *   arg2: [0x0 ~> 0xffffffffffffffff]
 * Output Bounds:
 *   out1: [0x0 ~> 0xffffffffffffffff]
 *   out2: [0x0 ~> 0xffffffffffffffff]
 */
pub fn fiat_p434_mulx_u64(out1: &mut u64, out2: &mut u64, arg1: u64, arg2: u64) -> () {
  let x1: fiat_p434_u128 = ((arg1 as fiat_p434_u128) * (arg2 as fiat_p434_u128));
  let x2: u64 = ((x1 & (0xffffffffffffffff as fiat_p434_u128)) as u64);
  let x3: u64 = ((x1 >> 64) as u64);
  *out1 = x2;
  *out2 = x3;
}

/*
 * The function fiat_p434_cmovznz_u64 is a single-word conditional move.
 * Postconditions:
 *   out1 = (if arg1 = 0 then arg2 else arg3)
 *
 * Input Bounds:
 *   arg1: [0x0 ~> 0x1]
 *   arg2: [0x0 ~> 0xffffffffffffffff]
 *   arg3: [0x0 ~> 0xffffffffffffffff]
 * Output Bounds:
 *   out1: [0x0 ~> 0xffffffffffffffff]
 */
pub fn fiat_p434_cmovznz_u64(out1: &mut u64, arg1: fiat_p434_u1, arg2: u64, arg3: u64) -> () {
  let x1: fiat_p434_u1 = (!(!arg1));
  let x2: u64 = ((((((0x0 as fiat_p434_i2) - (x1 as fiat_p434_i2)) as fiat_p434_i1) as fiat_p434_i128) & (0xffffffffffffffff as fiat_p434_i128)) as u64);
  let x3: u64 = ((x2 & arg3) | ((!x2) & arg2));
  *out1 = x3;
}

/*
 * The function fiat_p434_mul multiplies two field elements in the Montgomery domain.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 *   0 ≤ eval arg2 < m
 * Postconditions:
 *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
 *   0 ≤ eval out1 < m
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 */
pub fn fiat_p434_mul(out1: &mut [u64; 7], arg1: &[u64; 7], arg2: &[u64; 7]) -> () {
  let x1: u64 = (arg1[1]);
  let x2: u64 = (arg1[2]);
  let x3: u64 = (arg1[3]);
  let x4: u64 = (arg1[4]);
  let x5: u64 = (arg1[5]);
  let x6: u64 = (arg1[6]);
  let x7: u64 = (arg1[0]);
  let mut x8: u64 = 0;
  let mut x9: u64 = 0;
  fiat_p434_mulx_u64(&mut x8, &mut x9, x7, (arg2[6]));
  let mut x10: u64 = 0;
  let mut x11: u64 = 0;
  fiat_p434_mulx_u64(&mut x10, &mut x11, x7, (arg2[5]));
  let mut x12: u64 = 0;
  let mut x13: u64 = 0;
  fiat_p434_mulx_u64(&mut x12, &mut x13, x7, (arg2[4]));
  let mut x14: u64 = 0;
  let mut x15: u64 = 0;
  fiat_p434_mulx_u64(&mut x14, &mut x15, x7, (arg2[3]));
  let mut x16: u64 = 0;
  let mut x17: u64 = 0;
  fiat_p434_mulx_u64(&mut x16, &mut x17, x7, (arg2[2]));
  let mut x18: u64 = 0;
  let mut x19: u64 = 0;
  fiat_p434_mulx_u64(&mut x18, &mut x19, x7, (arg2[1]));
  let mut x20: u64 = 0;
  let mut x21: u64 = 0;
  fiat_p434_mulx_u64(&mut x20, &mut x21, x7, (arg2[0]));
  let mut x22: u64 = 0;
  let mut x23: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x22, &mut x23, 0x0, x21, x18);
  let mut x24: u64 = 0;
  let mut x25: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x24, &mut x25, x23, x19, x16);
  let mut x26: u64 = 0;
  let mut x27: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x26, &mut x27, x25, x17, x14);
  let mut x28: u64 = 0;
  let mut x29: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x28, &mut x29, x27, x15, x12);
  let mut x30: u64 = 0;
  let mut x31: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x30, &mut x31, x29, x13, x10);
  let mut x32: u64 = 0;
  let mut x33: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x32, &mut x33, x31, x11, x8);
  let mut x34: u64 = 0;
  let mut x35: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x34, &mut x35, x33, x9, (0x0 as u64));
  let mut x36: u64 = 0;
  let mut x37: u64 = 0;
  fiat_p434_mulx_u64(&mut x36, &mut x37, x20, 0x2341f27177344);
  let mut x38: u64 = 0;
  let mut x39: u64 = 0;
  fiat_p434_mulx_u64(&mut x38, &mut x39, x20, 0x6cfc5fd681c52056);
  let mut x40: u64 = 0;
  let mut x41: u64 = 0;
  fiat_p434_mulx_u64(&mut x40, &mut x41, x20, 0x7bc65c783158aea3);
  let mut x42: u64 = 0;
  let mut x43: u64 = 0;
  fiat_p434_mulx_u64(&mut x42, &mut x43, x20, 0xfdc1767ae2ffffff);
  let mut x44: u64 = 0;
  let mut x45: u64 = 0;
  fiat_p434_mulx_u64(&mut x44, &mut x45, x20, 0xffffffffffffffff);
  let mut x46: u64 = 0;
  let mut x47: u64 = 0;
  fiat_p434_mulx_u64(&mut x46, &mut x47, x20, 0xffffffffffffffff);
  let mut x48: u64 = 0;
  let mut x49: u64 = 0;
  fiat_p434_mulx_u64(&mut x48, &mut x49, x20, 0xffffffffffffffff);
  let mut x50: u64 = 0;
  let mut x51: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x50, &mut x51, 0x0, x49, x46);
  let mut x52: u64 = 0;
  let mut x53: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x52, &mut x53, x51, x47, x44);
  let mut x54: u64 = 0;
  let mut x55: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x54, &mut x55, x53, x45, x42);
  let mut x56: u64 = 0;
  let mut x57: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x56, &mut x57, x55, x43, x40);
  let mut x58: u64 = 0;
  let mut x59: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x58, &mut x59, x57, x41, x38);
  let mut x60: u64 = 0;
  let mut x61: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x60, &mut x61, x59, x39, x36);
  let mut x62: u64 = 0;
  let mut x63: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x62, &mut x63, x61, x37, (0x0 as u64));
  let mut x64: u64 = 0;
  let mut x65: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x64, &mut x65, 0x0, x20, x48);
  let mut x66: u64 = 0;
  let mut x67: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x66, &mut x67, x65, x22, x50);
  let mut x68: u64 = 0;
  let mut x69: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x68, &mut x69, x67, x24, x52);
  let mut x70: u64 = 0;
  let mut x71: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x70, &mut x71, x69, x26, x54);
  let mut x72: u64 = 0;
  let mut x73: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x72, &mut x73, x71, x28, x56);
  let mut x74: u64 = 0;
  let mut x75: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x74, &mut x75, x73, x30, x58);
  let mut x76: u64 = 0;
  let mut x77: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x76, &mut x77, x75, x32, x60);
  let mut x78: u64 = 0;
  let mut x79: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x78, &mut x79, x77, x34, x62);
  let mut x80: u64 = 0;
  let mut x81: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x80, &mut x81, x79, (0x0 as u64), (0x0 as u64));
  let mut x82: u64 = 0;
  let mut x83: u64 = 0;
  fiat_p434_mulx_u64(&mut x82, &mut x83, x1, (arg2[6]));
  let mut x84: u64 = 0;
  let mut x85: u64 = 0;
  fiat_p434_mulx_u64(&mut x84, &mut x85, x1, (arg2[5]));
  let mut x86: u64 = 0;
  let mut x87: u64 = 0;
  fiat_p434_mulx_u64(&mut x86, &mut x87, x1, (arg2[4]));
  let mut x88: u64 = 0;
  let mut x89: u64 = 0;
  fiat_p434_mulx_u64(&mut x88, &mut x89, x1, (arg2[3]));
  let mut x90: u64 = 0;
  let mut x91: u64 = 0;
  fiat_p434_mulx_u64(&mut x90, &mut x91, x1, (arg2[2]));
  let mut x92: u64 = 0;
  let mut x93: u64 = 0;
  fiat_p434_mulx_u64(&mut x92, &mut x93, x1, (arg2[1]));
  let mut x94: u64 = 0;
  let mut x95: u64 = 0;
  fiat_p434_mulx_u64(&mut x94, &mut x95, x1, (arg2[0]));
  let mut x96: u64 = 0;
  let mut x97: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x96, &mut x97, 0x0, x95, x92);
  let mut x98: u64 = 0;
  let mut x99: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x98, &mut x99, x97, x93, x90);
  let mut x100: u64 = 0;
  let mut x101: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x100, &mut x101, x99, x91, x88);
  let mut x102: u64 = 0;
  let mut x103: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x102, &mut x103, x101, x89, x86);
  let mut x104: u64 = 0;
  let mut x105: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x104, &mut x105, x103, x87, x84);
  let mut x106: u64 = 0;
  let mut x107: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x106, &mut x107, x105, x85, x82);
  let mut x108: u64 = 0;
  let mut x109: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x108, &mut x109, x107, x83, (0x0 as u64));
  let mut x110: u64 = 0;
  let mut x111: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x110, &mut x111, 0x0, x66, x94);
  let mut x112: u64 = 0;
  let mut x113: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x112, &mut x113, x111, x68, x96);
  let mut x114: u64 = 0;
  let mut x115: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x114, &mut x115, x113, x70, x98);
  let mut x116: u64 = 0;
  let mut x117: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x116, &mut x117, x115, x72, x100);
  let mut x118: u64 = 0;
  let mut x119: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x118, &mut x119, x117, x74, x102);
  let mut x120: u64 = 0;
  let mut x121: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x120, &mut x121, x119, x76, x104);
  let mut x122: u64 = 0;
  let mut x123: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x122, &mut x123, x121, x78, x106);
  let mut x124: u64 = 0;
  let mut x125: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x124, &mut x125, x123, ((x80 as fiat_p434_u1) as u64), x108);
  let mut x126: u64 = 0;
  let mut x127: u64 = 0;
  fiat_p434_mulx_u64(&mut x126, &mut x127, x110, 0x2341f27177344);
  let mut x128: u64 = 0;
  let mut x129: u64 = 0;
  fiat_p434_mulx_u64(&mut x128, &mut x129, x110, 0x6cfc5fd681c52056);
  let mut x130: u64 = 0;
  let mut x131: u64 = 0;
  fiat_p434_mulx_u64(&mut x130, &mut x131, x110, 0x7bc65c783158aea3);
  let mut x132: u64 = 0;
  let mut x133: u64 = 0;
  fiat_p434_mulx_u64(&mut x132, &mut x133, x110, 0xfdc1767ae2ffffff);
  let mut x134: u64 = 0;
  let mut x135: u64 = 0;
  fiat_p434_mulx_u64(&mut x134, &mut x135, x110, 0xffffffffffffffff);
  let mut x136: u64 = 0;
  let mut x137: u64 = 0;
  fiat_p434_mulx_u64(&mut x136, &mut x137, x110, 0xffffffffffffffff);
  let mut x138: u64 = 0;
  let mut x139: u64 = 0;
  fiat_p434_mulx_u64(&mut x138, &mut x139, x110, 0xffffffffffffffff);
  let mut x140: u64 = 0;
  let mut x141: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x140, &mut x141, 0x0, x139, x136);
  let mut x142: u64 = 0;
  let mut x143: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x142, &mut x143, x141, x137, x134);
  let mut x144: u64 = 0;
  let mut x145: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x144, &mut x145, x143, x135, x132);
  let mut x146: u64 = 0;
  let mut x147: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x146, &mut x147, x145, x133, x130);
  let mut x148: u64 = 0;
  let mut x149: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x148, &mut x149, x147, x131, x128);
  let mut x150: u64 = 0;
  let mut x151: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x150, &mut x151, x149, x129, x126);
  let mut x152: u64 = 0;
  let mut x153: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x152, &mut x153, x151, x127, (0x0 as u64));
  let mut x154: u64 = 0;
  let mut x155: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x154, &mut x155, 0x0, x110, x138);
  let mut x156: u64 = 0;
  let mut x157: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x156, &mut x157, x155, x112, x140);
  let mut x158: u64 = 0;
  let mut x159: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x158, &mut x159, x157, x114, x142);
  let mut x160: u64 = 0;
  let mut x161: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x160, &mut x161, x159, x116, x144);
  let mut x162: u64 = 0;
  let mut x163: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x162, &mut x163, x161, x118, x146);
  let mut x164: u64 = 0;
  let mut x165: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x164, &mut x165, x163, x120, x148);
  let mut x166: u64 = 0;
  let mut x167: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x166, &mut x167, x165, x122, x150);
  let mut x168: u64 = 0;
  let mut x169: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x168, &mut x169, x167, x124, x152);
  let mut x170: u64 = 0;
  let mut x171: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x170, &mut x171, x169, (x125 as u64), (0x0 as u64));
  let mut x172: u64 = 0;
  let mut x173: u64 = 0;
  fiat_p434_mulx_u64(&mut x172, &mut x173, x2, (arg2[6]));
  let mut x174: u64 = 0;
  let mut x175: u64 = 0;
  fiat_p434_mulx_u64(&mut x174, &mut x175, x2, (arg2[5]));
  let mut x176: u64 = 0;
  let mut x177: u64 = 0;
  fiat_p434_mulx_u64(&mut x176, &mut x177, x2, (arg2[4]));
  let mut x178: u64 = 0;
  let mut x179: u64 = 0;
  fiat_p434_mulx_u64(&mut x178, &mut x179, x2, (arg2[3]));
  let mut x180: u64 = 0;
  let mut x181: u64 = 0;
  fiat_p434_mulx_u64(&mut x180, &mut x181, x2, (arg2[2]));
  let mut x182: u64 = 0;
  let mut x183: u64 = 0;
  fiat_p434_mulx_u64(&mut x182, &mut x183, x2, (arg2[1]));
  let mut x184: u64 = 0;
  let mut x185: u64 = 0;
  fiat_p434_mulx_u64(&mut x184, &mut x185, x2, (arg2[0]));
  let mut x186: u64 = 0;
  let mut x187: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x186, &mut x187, 0x0, x185, x182);
  let mut x188: u64 = 0;
  let mut x189: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x188, &mut x189, x187, x183, x180);
  let mut x190: u64 = 0;
  let mut x191: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x190, &mut x191, x189, x181, x178);
  let mut x192: u64 = 0;
  let mut x193: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x192, &mut x193, x191, x179, x176);
  let mut x194: u64 = 0;
  let mut x195: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x194, &mut x195, x193, x177, x174);
  let mut x196: u64 = 0;
  let mut x197: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x196, &mut x197, x195, x175, x172);
  let mut x198: u64 = 0;
  let mut x199: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x198, &mut x199, x197, x173, (0x0 as u64));
  let mut x200: u64 = 0;
  let mut x201: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x200, &mut x201, 0x0, x156, x184);
  let mut x202: u64 = 0;
  let mut x203: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x202, &mut x203, x201, x158, x186);
  let mut x204: u64 = 0;
  let mut x205: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x204, &mut x205, x203, x160, x188);
  let mut x206: u64 = 0;
  let mut x207: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x206, &mut x207, x205, x162, x190);
  let mut x208: u64 = 0;
  let mut x209: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x208, &mut x209, x207, x164, x192);
  let mut x210: u64 = 0;
  let mut x211: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x210, &mut x211, x209, x166, x194);
  let mut x212: u64 = 0;
  let mut x213: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x212, &mut x213, x211, x168, x196);
  let mut x214: u64 = 0;
  let mut x215: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x214, &mut x215, x213, x170, x198);
  let mut x216: u64 = 0;
  let mut x217: u64 = 0;
  fiat_p434_mulx_u64(&mut x216, &mut x217, x200, 0x2341f27177344);
  let mut x218: u64 = 0;
  let mut x219: u64 = 0;
  fiat_p434_mulx_u64(&mut x218, &mut x219, x200, 0x6cfc5fd681c52056);
  let mut x220: u64 = 0;
  let mut x221: u64 = 0;
  fiat_p434_mulx_u64(&mut x220, &mut x221, x200, 0x7bc65c783158aea3);
  let mut x222: u64 = 0;
  let mut x223: u64 = 0;
  fiat_p434_mulx_u64(&mut x222, &mut x223, x200, 0xfdc1767ae2ffffff);
  let mut x224: u64 = 0;
  let mut x225: u64 = 0;
  fiat_p434_mulx_u64(&mut x224, &mut x225, x200, 0xffffffffffffffff);
  let mut x226: u64 = 0;
  let mut x227: u64 = 0;
  fiat_p434_mulx_u64(&mut x226, &mut x227, x200, 0xffffffffffffffff);
  let mut x228: u64 = 0;
  let mut x229: u64 = 0;
  fiat_p434_mulx_u64(&mut x228, &mut x229, x200, 0xffffffffffffffff);
  let mut x230: u64 = 0;
  let mut x231: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x230, &mut x231, 0x0, x229, x226);
  let mut x232: u64 = 0;
  let mut x233: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x232, &mut x233, x231, x227, x224);
  let mut x234: u64 = 0;
  let mut x235: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x234, &mut x235, x233, x225, x222);
  let mut x236: u64 = 0;
  let mut x237: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x236, &mut x237, x235, x223, x220);
  let mut x238: u64 = 0;
  let mut x239: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x238, &mut x239, x237, x221, x218);
  let mut x240: u64 = 0;
  let mut x241: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x240, &mut x241, x239, x219, x216);
  let mut x242: u64 = 0;
  let mut x243: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x242, &mut x243, x241, x217, (0x0 as u64));
  let mut x244: u64 = 0;
  let mut x245: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x244, &mut x245, 0x0, x200, x228);
  let mut x246: u64 = 0;
  let mut x247: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x246, &mut x247, x245, x202, x230);
  let mut x248: u64 = 0;
  let mut x249: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x248, &mut x249, x247, x204, x232);
  let mut x250: u64 = 0;
  let mut x251: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x250, &mut x251, x249, x206, x234);
  let mut x252: u64 = 0;
  let mut x253: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x252, &mut x253, x251, x208, x236);
  let mut x254: u64 = 0;
  let mut x255: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x254, &mut x255, x253, x210, x238);
  let mut x256: u64 = 0;
  let mut x257: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x256, &mut x257, x255, x212, x240);
  let mut x258: u64 = 0;
  let mut x259: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x258, &mut x259, x257, x214, x242);
  let mut x260: u64 = 0;
  let mut x261: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x260, &mut x261, x259, (x215 as u64), (0x0 as u64));
  let mut x262: u64 = 0;
  let mut x263: u64 = 0;
  fiat_p434_mulx_u64(&mut x262, &mut x263, x3, (arg2[6]));
  let mut x264: u64 = 0;
  let mut x265: u64 = 0;
  fiat_p434_mulx_u64(&mut x264, &mut x265, x3, (arg2[5]));
  let mut x266: u64 = 0;
  let mut x267: u64 = 0;
  fiat_p434_mulx_u64(&mut x266, &mut x267, x3, (arg2[4]));
  let mut x268: u64 = 0;
  let mut x269: u64 = 0;
  fiat_p434_mulx_u64(&mut x268, &mut x269, x3, (arg2[3]));
  let mut x270: u64 = 0;
  let mut x271: u64 = 0;
  fiat_p434_mulx_u64(&mut x270, &mut x271, x3, (arg2[2]));
  let mut x272: u64 = 0;
  let mut x273: u64 = 0;
  fiat_p434_mulx_u64(&mut x272, &mut x273, x3, (arg2[1]));
  let mut x274: u64 = 0;
  let mut x275: u64 = 0;
  fiat_p434_mulx_u64(&mut x274, &mut x275, x3, (arg2[0]));
  let mut x276: u64 = 0;
  let mut x277: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x276, &mut x277, 0x0, x275, x272);
  let mut x278: u64 = 0;
  let mut x279: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x278, &mut x279, x277, x273, x270);
  let mut x280: u64 = 0;
  let mut x281: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x280, &mut x281, x279, x271, x268);
  let mut x282: u64 = 0;
  let mut x283: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x282, &mut x283, x281, x269, x266);
  let mut x284: u64 = 0;
  let mut x285: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x284, &mut x285, x283, x267, x264);
  let mut x286: u64 = 0;
  let mut x287: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x286, &mut x287, x285, x265, x262);
  let mut x288: u64 = 0;
  let mut x289: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x288, &mut x289, x287, x263, (0x0 as u64));
  let mut x290: u64 = 0;
  let mut x291: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x290, &mut x291, 0x0, x246, x274);
  let mut x292: u64 = 0;
  let mut x293: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x292, &mut x293, x291, x248, x276);
  let mut x294: u64 = 0;
  let mut x295: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x294, &mut x295, x293, x250, x278);
  let mut x296: u64 = 0;
  let mut x297: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x296, &mut x297, x295, x252, x280);
  let mut x298: u64 = 0;
  let mut x299: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x298, &mut x299, x297, x254, x282);
  let mut x300: u64 = 0;
  let mut x301: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x300, &mut x301, x299, x256, x284);
  let mut x302: u64 = 0;
  let mut x303: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x302, &mut x303, x301, x258, x286);
  let mut x304: u64 = 0;
  let mut x305: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x304, &mut x305, x303, x260, x288);
  let mut x306: u64 = 0;
  let mut x307: u64 = 0;
  fiat_p434_mulx_u64(&mut x306, &mut x307, x290, 0x2341f27177344);
  let mut x308: u64 = 0;
  let mut x309: u64 = 0;
  fiat_p434_mulx_u64(&mut x308, &mut x309, x290, 0x6cfc5fd681c52056);
  let mut x310: u64 = 0;
  let mut x311: u64 = 0;
  fiat_p434_mulx_u64(&mut x310, &mut x311, x290, 0x7bc65c783158aea3);
  let mut x312: u64 = 0;
  let mut x313: u64 = 0;
  fiat_p434_mulx_u64(&mut x312, &mut x313, x290, 0xfdc1767ae2ffffff);
  let mut x314: u64 = 0;
  let mut x315: u64 = 0;
  fiat_p434_mulx_u64(&mut x314, &mut x315, x290, 0xffffffffffffffff);
  let mut x316: u64 = 0;
  let mut x317: u64 = 0;
  fiat_p434_mulx_u64(&mut x316, &mut x317, x290, 0xffffffffffffffff);
  let mut x318: u64 = 0;
  let mut x319: u64 = 0;
  fiat_p434_mulx_u64(&mut x318, &mut x319, x290, 0xffffffffffffffff);
  let mut x320: u64 = 0;
  let mut x321: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x320, &mut x321, 0x0, x319, x316);
  let mut x322: u64 = 0;
  let mut x323: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x322, &mut x323, x321, x317, x314);
  let mut x324: u64 = 0;
  let mut x325: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x324, &mut x325, x323, x315, x312);
  let mut x326: u64 = 0;
  let mut x327: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x326, &mut x327, x325, x313, x310);
  let mut x328: u64 = 0;
  let mut x329: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x328, &mut x329, x327, x311, x308);
  let mut x330: u64 = 0;
  let mut x331: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x330, &mut x331, x329, x309, x306);
  let mut x332: u64 = 0;
  let mut x333: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x332, &mut x333, x331, x307, (0x0 as u64));
  let mut x334: u64 = 0;
  let mut x335: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x334, &mut x335, 0x0, x290, x318);
  let mut x336: u64 = 0;
  let mut x337: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x336, &mut x337, x335, x292, x320);
  let mut x338: u64 = 0;
  let mut x339: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x338, &mut x339, x337, x294, x322);
  let mut x340: u64 = 0;
  let mut x341: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x340, &mut x341, x339, x296, x324);
  let mut x342: u64 = 0;
  let mut x343: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x342, &mut x343, x341, x298, x326);
  let mut x344: u64 = 0;
  let mut x345: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x344, &mut x345, x343, x300, x328);
  let mut x346: u64 = 0;
  let mut x347: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x346, &mut x347, x345, x302, x330);
  let mut x348: u64 = 0;
  let mut x349: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x348, &mut x349, x347, x304, x332);
  let mut x350: u64 = 0;
  let mut x351: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x350, &mut x351, x349, (x305 as u64), (0x0 as u64));
  let mut x352: u64 = 0;
  let mut x353: u64 = 0;
  fiat_p434_mulx_u64(&mut x352, &mut x353, x4, (arg2[6]));
  let mut x354: u64 = 0;
  let mut x355: u64 = 0;
  fiat_p434_mulx_u64(&mut x354, &mut x355, x4, (arg2[5]));
  let mut x356: u64 = 0;
  let mut x357: u64 = 0;
  fiat_p434_mulx_u64(&mut x356, &mut x357, x4, (arg2[4]));
  let mut x358: u64 = 0;
  let mut x359: u64 = 0;
  fiat_p434_mulx_u64(&mut x358, &mut x359, x4, (arg2[3]));
  let mut x360: u64 = 0;
  let mut x361: u64 = 0;
  fiat_p434_mulx_u64(&mut x360, &mut x361, x4, (arg2[2]));
  let mut x362: u64 = 0;
  let mut x363: u64 = 0;
  fiat_p434_mulx_u64(&mut x362, &mut x363, x4, (arg2[1]));
  let mut x364: u64 = 0;
  let mut x365: u64 = 0;
  fiat_p434_mulx_u64(&mut x364, &mut x365, x4, (arg2[0]));
  let mut x366: u64 = 0;
  let mut x367: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x366, &mut x367, 0x0, x365, x362);
  let mut x368: u64 = 0;
  let mut x369: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x368, &mut x369, x367, x363, x360);
  let mut x370: u64 = 0;
  let mut x371: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x370, &mut x371, x369, x361, x358);
  let mut x372: u64 = 0;
  let mut x373: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x372, &mut x373, x371, x359, x356);
  let mut x374: u64 = 0;
  let mut x375: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x374, &mut x375, x373, x357, x354);
  let mut x376: u64 = 0;
  let mut x377: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x376, &mut x377, x375, x355, x352);
  let mut x378: u64 = 0;
  let mut x379: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x378, &mut x379, x377, x353, (0x0 as u64));
  let mut x380: u64 = 0;
  let mut x381: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x380, &mut x381, 0x0, x336, x364);
  let mut x382: u64 = 0;
  let mut x383: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x382, &mut x383, x381, x338, x366);
  let mut x384: u64 = 0;
  let mut x385: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x384, &mut x385, x383, x340, x368);
  let mut x386: u64 = 0;
  let mut x387: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x386, &mut x387, x385, x342, x370);
  let mut x388: u64 = 0;
  let mut x389: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x388, &mut x389, x387, x344, x372);
  let mut x390: u64 = 0;
  let mut x391: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x390, &mut x391, x389, x346, x374);
  let mut x392: u64 = 0;
  let mut x393: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x392, &mut x393, x391, x348, x376);
  let mut x394: u64 = 0;
  let mut x395: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x394, &mut x395, x393, x350, x378);
  let mut x396: u64 = 0;
  let mut x397: u64 = 0;
  fiat_p434_mulx_u64(&mut x396, &mut x397, x380, 0x2341f27177344);
  let mut x398: u64 = 0;
  let mut x399: u64 = 0;
  fiat_p434_mulx_u64(&mut x398, &mut x399, x380, 0x6cfc5fd681c52056);
  let mut x400: u64 = 0;
  let mut x401: u64 = 0;
  fiat_p434_mulx_u64(&mut x400, &mut x401, x380, 0x7bc65c783158aea3);
  let mut x402: u64 = 0;
  let mut x403: u64 = 0;
  fiat_p434_mulx_u64(&mut x402, &mut x403, x380, 0xfdc1767ae2ffffff);
  let mut x404: u64 = 0;
  let mut x405: u64 = 0;
  fiat_p434_mulx_u64(&mut x404, &mut x405, x380, 0xffffffffffffffff);
  let mut x406: u64 = 0;
  let mut x407: u64 = 0;
  fiat_p434_mulx_u64(&mut x406, &mut x407, x380, 0xffffffffffffffff);
  let mut x408: u64 = 0;
  let mut x409: u64 = 0;
  fiat_p434_mulx_u64(&mut x408, &mut x409, x380, 0xffffffffffffffff);
  let mut x410: u64 = 0;
  let mut x411: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x410, &mut x411, 0x0, x409, x406);
  let mut x412: u64 = 0;
  let mut x413: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x412, &mut x413, x411, x407, x404);
  let mut x414: u64 = 0;
  let mut x415: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x414, &mut x415, x413, x405, x402);
  let mut x416: u64 = 0;
  let mut x417: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x416, &mut x417, x415, x403, x400);
  let mut x418: u64 = 0;
  let mut x419: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x418, &mut x419, x417, x401, x398);
  let mut x420: u64 = 0;
  let mut x421: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x420, &mut x421, x419, x399, x396);
  let mut x422: u64 = 0;
  let mut x423: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x422, &mut x423, x421, x397, (0x0 as u64));
  let mut x424: u64 = 0;
  let mut x425: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x424, &mut x425, 0x0, x380, x408);
  let mut x426: u64 = 0;
  let mut x427: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x426, &mut x427, x425, x382, x410);
  let mut x428: u64 = 0;
  let mut x429: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x428, &mut x429, x427, x384, x412);
  let mut x430: u64 = 0;
  let mut x431: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x430, &mut x431, x429, x386, x414);
  let mut x432: u64 = 0;
  let mut x433: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x432, &mut x433, x431, x388, x416);
  let mut x434: u64 = 0;
  let mut x435: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x434, &mut x435, x433, x390, x418);
  let mut x436: u64 = 0;
  let mut x437: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x436, &mut x437, x435, x392, x420);
  let mut x438: u64 = 0;
  let mut x439: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x438, &mut x439, x437, x394, x422);
  let mut x440: u64 = 0;
  let mut x441: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x440, &mut x441, x439, (x395 as u64), (0x0 as u64));
  let mut x442: u64 = 0;
  let mut x443: u64 = 0;
  fiat_p434_mulx_u64(&mut x442, &mut x443, x5, (arg2[6]));
  let mut x444: u64 = 0;
  let mut x445: u64 = 0;
  fiat_p434_mulx_u64(&mut x444, &mut x445, x5, (arg2[5]));
  let mut x446: u64 = 0;
  let mut x447: u64 = 0;
  fiat_p434_mulx_u64(&mut x446, &mut x447, x5, (arg2[4]));
  let mut x448: u64 = 0;
  let mut x449: u64 = 0;
  fiat_p434_mulx_u64(&mut x448, &mut x449, x5, (arg2[3]));
  let mut x450: u64 = 0;
  let mut x451: u64 = 0;
  fiat_p434_mulx_u64(&mut x450, &mut x451, x5, (arg2[2]));
  let mut x452: u64 = 0;
  let mut x453: u64 = 0;
  fiat_p434_mulx_u64(&mut x452, &mut x453, x5, (arg2[1]));
  let mut x454: u64 = 0;
  let mut x455: u64 = 0;
  fiat_p434_mulx_u64(&mut x454, &mut x455, x5, (arg2[0]));
  let mut x456: u64 = 0;
  let mut x457: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x456, &mut x457, 0x0, x455, x452);
  let mut x458: u64 = 0;
  let mut x459: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x458, &mut x459, x457, x453, x450);
  let mut x460: u64 = 0;
  let mut x461: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x460, &mut x461, x459, x451, x448);
  let mut x462: u64 = 0;
  let mut x463: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x462, &mut x463, x461, x449, x446);
  let mut x464: u64 = 0;
  let mut x465: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x464, &mut x465, x463, x447, x444);
  let mut x466: u64 = 0;
  let mut x467: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x466, &mut x467, x465, x445, x442);
  let mut x468: u64 = 0;
  let mut x469: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x468, &mut x469, x467, x443, (0x0 as u64));
  let mut x470: u64 = 0;
  let mut x471: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x470, &mut x471, 0x0, x426, x454);
  let mut x472: u64 = 0;
  let mut x473: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x472, &mut x473, x471, x428, x456);
  let mut x474: u64 = 0;
  let mut x475: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x474, &mut x475, x473, x430, x458);
  let mut x476: u64 = 0;
  let mut x477: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x476, &mut x477, x475, x432, x460);
  let mut x478: u64 = 0;
  let mut x479: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x478, &mut x479, x477, x434, x462);
  let mut x480: u64 = 0;
  let mut x481: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x480, &mut x481, x479, x436, x464);
  let mut x482: u64 = 0;
  let mut x483: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x482, &mut x483, x481, x438, x466);
  let mut x484: u64 = 0;
  let mut x485: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x484, &mut x485, x483, x440, x468);
  let mut x486: u64 = 0;
  let mut x487: u64 = 0;
  fiat_p434_mulx_u64(&mut x486, &mut x487, x470, 0x2341f27177344);
  let mut x488: u64 = 0;
  let mut x489: u64 = 0;
  fiat_p434_mulx_u64(&mut x488, &mut x489, x470, 0x6cfc5fd681c52056);
  let mut x490: u64 = 0;
  let mut x491: u64 = 0;
  fiat_p434_mulx_u64(&mut x490, &mut x491, x470, 0x7bc65c783158aea3);
  let mut x492: u64 = 0;
  let mut x493: u64 = 0;
  fiat_p434_mulx_u64(&mut x492, &mut x493, x470, 0xfdc1767ae2ffffff);
  let mut x494: u64 = 0;
  let mut x495: u64 = 0;
  fiat_p434_mulx_u64(&mut x494, &mut x495, x470, 0xffffffffffffffff);
  let mut x496: u64 = 0;
  let mut x497: u64 = 0;
  fiat_p434_mulx_u64(&mut x496, &mut x497, x470, 0xffffffffffffffff);
  let mut x498: u64 = 0;
  let mut x499: u64 = 0;
  fiat_p434_mulx_u64(&mut x498, &mut x499, x470, 0xffffffffffffffff);
  let mut x500: u64 = 0;
  let mut x501: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x500, &mut x501, 0x0, x499, x496);
  let mut x502: u64 = 0;
  let mut x503: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x502, &mut x503, x501, x497, x494);
  let mut x504: u64 = 0;
  let mut x505: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x504, &mut x505, x503, x495, x492);
  let mut x506: u64 = 0;
  let mut x507: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x506, &mut x507, x505, x493, x490);
  let mut x508: u64 = 0;
  let mut x509: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x508, &mut x509, x507, x491, x488);
  let mut x510: u64 = 0;
  let mut x511: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x510, &mut x511, x509, x489, x486);
  let mut x512: u64 = 0;
  let mut x513: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x512, &mut x513, x511, x487, (0x0 as u64));
  let mut x514: u64 = 0;
  let mut x515: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x514, &mut x515, 0x0, x470, x498);
  let mut x516: u64 = 0;
  let mut x517: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x516, &mut x517, x515, x472, x500);
  let mut x518: u64 = 0;
  let mut x519: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x518, &mut x519, x517, x474, x502);
  let mut x520: u64 = 0;
  let mut x521: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x520, &mut x521, x519, x476, x504);
  let mut x522: u64 = 0;
  let mut x523: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x522, &mut x523, x521, x478, x506);
  let mut x524: u64 = 0;
  let mut x525: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x524, &mut x525, x523, x480, x508);
  let mut x526: u64 = 0;
  let mut x527: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x526, &mut x527, x525, x482, x510);
  let mut x528: u64 = 0;
  let mut x529: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x528, &mut x529, x527, x484, x512);
  let mut x530: u64 = 0;
  let mut x531: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x530, &mut x531, x529, (x485 as u64), (0x0 as u64));
  let mut x532: u64 = 0;
  let mut x533: u64 = 0;
  fiat_p434_mulx_u64(&mut x532, &mut x533, x6, (arg2[6]));
  let mut x534: u64 = 0;
  let mut x535: u64 = 0;
  fiat_p434_mulx_u64(&mut x534, &mut x535, x6, (arg2[5]));
  let mut x536: u64 = 0;
  let mut x537: u64 = 0;
  fiat_p434_mulx_u64(&mut x536, &mut x537, x6, (arg2[4]));
  let mut x538: u64 = 0;
  let mut x539: u64 = 0;
  fiat_p434_mulx_u64(&mut x538, &mut x539, x6, (arg2[3]));
  let mut x540: u64 = 0;
  let mut x541: u64 = 0;
  fiat_p434_mulx_u64(&mut x540, &mut x541, x6, (arg2[2]));
  let mut x542: u64 = 0;
  let mut x543: u64 = 0;
  fiat_p434_mulx_u64(&mut x542, &mut x543, x6, (arg2[1]));
  let mut x544: u64 = 0;
  let mut x545: u64 = 0;
  fiat_p434_mulx_u64(&mut x544, &mut x545, x6, (arg2[0]));
  let mut x546: u64 = 0;
  let mut x547: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x546, &mut x547, 0x0, x545, x542);
  let mut x548: u64 = 0;
  let mut x549: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x548, &mut x549, x547, x543, x540);
  let mut x550: u64 = 0;
  let mut x551: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x550, &mut x551, x549, x541, x538);
  let mut x552: u64 = 0;
  let mut x553: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x552, &mut x553, x551, x539, x536);
  let mut x554: u64 = 0;
  let mut x555: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x554, &mut x555, x553, x537, x534);
  let mut x556: u64 = 0;
  let mut x557: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x556, &mut x557, x555, x535, x532);
  let mut x558: u64 = 0;
  let mut x559: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x558, &mut x559, x557, x533, (0x0 as u64));
  let mut x560: u64 = 0;
  let mut x561: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x560, &mut x561, 0x0, x516, x544);
  let mut x562: u64 = 0;
  let mut x563: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x562, &mut x563, x561, x518, x546);
  let mut x564: u64 = 0;
  let mut x565: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x564, &mut x565, x563, x520, x548);
  let mut x566: u64 = 0;
  let mut x567: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x566, &mut x567, x565, x522, x550);
  let mut x568: u64 = 0;
  let mut x569: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x568, &mut x569, x567, x524, x552);
  let mut x570: u64 = 0;
  let mut x571: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x570, &mut x571, x569, x526, x554);
  let mut x572: u64 = 0;
  let mut x573: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x572, &mut x573, x571, x528, x556);
  let mut x574: u64 = 0;
  let mut x575: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x574, &mut x575, x573, x530, x558);
  let mut x576: u64 = 0;
  let mut x577: u64 = 0;
  fiat_p434_mulx_u64(&mut x576, &mut x577, x560, 0x2341f27177344);
  let mut x578: u64 = 0;
  let mut x579: u64 = 0;
  fiat_p434_mulx_u64(&mut x578, &mut x579, x560, 0x6cfc5fd681c52056);
  let mut x580: u64 = 0;
  let mut x581: u64 = 0;
  fiat_p434_mulx_u64(&mut x580, &mut x581, x560, 0x7bc65c783158aea3);
  let mut x582: u64 = 0;
  let mut x583: u64 = 0;
  fiat_p434_mulx_u64(&mut x582, &mut x583, x560, 0xfdc1767ae2ffffff);
  let mut x584: u64 = 0;
  let mut x585: u64 = 0;
  fiat_p434_mulx_u64(&mut x584, &mut x585, x560, 0xffffffffffffffff);
  let mut x586: u64 = 0;
  let mut x587: u64 = 0;
  fiat_p434_mulx_u64(&mut x586, &mut x587, x560, 0xffffffffffffffff);
  let mut x588: u64 = 0;
  let mut x589: u64 = 0;
  fiat_p434_mulx_u64(&mut x588, &mut x589, x560, 0xffffffffffffffff);
  let mut x590: u64 = 0;
  let mut x591: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x590, &mut x591, 0x0, x589, x586);
  let mut x592: u64 = 0;
  let mut x593: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x592, &mut x593, x591, x587, x584);
  let mut x594: u64 = 0;
  let mut x595: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x594, &mut x595, x593, x585, x582);
  let mut x596: u64 = 0;
  let mut x597: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x596, &mut x597, x595, x583, x580);
  let mut x598: u64 = 0;
  let mut x599: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x598, &mut x599, x597, x581, x578);
  let mut x600: u64 = 0;
  let mut x601: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x600, &mut x601, x599, x579, x576);
  let mut x602: u64 = 0;
  let mut x603: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x602, &mut x603, x601, x577, (0x0 as u64));
  let mut x604: u64 = 0;
  let mut x605: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x604, &mut x605, 0x0, x560, x588);
  let mut x606: u64 = 0;
  let mut x607: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x606, &mut x607, x605, x562, x590);
  let mut x608: u64 = 0;
  let mut x609: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x608, &mut x609, x607, x564, x592);
  let mut x610: u64 = 0;
  let mut x611: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x610, &mut x611, x609, x566, x594);
  let mut x612: u64 = 0;
  let mut x613: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x612, &mut x613, x611, x568, x596);
  let mut x614: u64 = 0;
  let mut x615: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x614, &mut x615, x613, x570, x598);
  let mut x616: u64 = 0;
  let mut x617: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x616, &mut x617, x615, x572, x600);
  let mut x618: u64 = 0;
  let mut x619: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x618, &mut x619, x617, x574, x602);
  let mut x620: u64 = 0;
  let mut x621: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x620, &mut x621, x619, (x575 as u64), (0x0 as u64));
  let mut x622: u64 = 0;
  let mut x623: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x622, &mut x623, 0x0, x606, 0xffffffffffffffff);
  let mut x624: u64 = 0;
  let mut x625: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x624, &mut x625, x623, x608, 0xffffffffffffffff);
  let mut x626: u64 = 0;
  let mut x627: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x626, &mut x627, x625, x610, 0xffffffffffffffff);
  let mut x628: u64 = 0;
  let mut x629: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x628, &mut x629, x627, x612, 0xfdc1767ae2ffffff);
  let mut x630: u64 = 0;
  let mut x631: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x630, &mut x631, x629, x614, 0x7bc65c783158aea3);
  let mut x632: u64 = 0;
  let mut x633: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x632, &mut x633, x631, x616, 0x6cfc5fd681c52056);
  let mut x634: u64 = 0;
  let mut x635: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x634, &mut x635, x633, x618, 0x2341f27177344);
  let mut x636: u64 = 0;
  let mut x637: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x636, &mut x637, x635, x620, (0x0 as u64));
  let mut x638: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x638, x637, x622, x606);
  let mut x639: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x639, x637, x624, x608);
  let mut x640: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x640, x637, x626, x610);
  let mut x641: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x641, x637, x628, x612);
  let mut x642: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x642, x637, x630, x614);
  let mut x643: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x643, x637, x632, x616);
  let mut x644: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x644, x637, x634, x618);
  out1[0] = x638;
  out1[1] = x639;
  out1[2] = x640;
  out1[3] = x641;
  out1[4] = x642;
  out1[5] = x643;
  out1[6] = x644;
}

/*
 * The function fiat_p434_square squares a field element in the Montgomery domain.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 * Postconditions:
 *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
 *   0 ≤ eval out1 < m
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 */
pub fn fiat_p434_square(out1: &mut [u64; 7], arg1: &[u64; 7]) -> () {
  let x1: u64 = (arg1[1]);
  let x2: u64 = (arg1[2]);
  let x3: u64 = (arg1[3]);
  let x4: u64 = (arg1[4]);
  let x5: u64 = (arg1[5]);
  let x6: u64 = (arg1[6]);
  let x7: u64 = (arg1[0]);
  let mut x8: u64 = 0;
  let mut x9: u64 = 0;
  fiat_p434_mulx_u64(&mut x8, &mut x9, x7, (arg1[6]));
  let mut x10: u64 = 0;
  let mut x11: u64 = 0;
  fiat_p434_mulx_u64(&mut x10, &mut x11, x7, (arg1[5]));
  let mut x12: u64 = 0;
  let mut x13: u64 = 0;
  fiat_p434_mulx_u64(&mut x12, &mut x13, x7, (arg1[4]));
  let mut x14: u64 = 0;
  let mut x15: u64 = 0;
  fiat_p434_mulx_u64(&mut x14, &mut x15, x7, (arg1[3]));
  let mut x16: u64 = 0;
  let mut x17: u64 = 0;
  fiat_p434_mulx_u64(&mut x16, &mut x17, x7, (arg1[2]));
  let mut x18: u64 = 0;
  let mut x19: u64 = 0;
  fiat_p434_mulx_u64(&mut x18, &mut x19, x7, (arg1[1]));
  let mut x20: u64 = 0;
  let mut x21: u64 = 0;
  fiat_p434_mulx_u64(&mut x20, &mut x21, x7, (arg1[0]));
  let mut x22: u64 = 0;
  let mut x23: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x22, &mut x23, 0x0, x21, x18);
  let mut x24: u64 = 0;
  let mut x25: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x24, &mut x25, x23, x19, x16);
  let mut x26: u64 = 0;
  let mut x27: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x26, &mut x27, x25, x17, x14);
  let mut x28: u64 = 0;
  let mut x29: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x28, &mut x29, x27, x15, x12);
  let mut x30: u64 = 0;
  let mut x31: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x30, &mut x31, x29, x13, x10);
  let mut x32: u64 = 0;
  let mut x33: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x32, &mut x33, x31, x11, x8);
  let mut x34: u64 = 0;
  let mut x35: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x34, &mut x35, x33, x9, (0x0 as u64));
  let mut x36: u64 = 0;
  let mut x37: u64 = 0;
  fiat_p434_mulx_u64(&mut x36, &mut x37, x20, 0x2341f27177344);
  let mut x38: u64 = 0;
  let mut x39: u64 = 0;
  fiat_p434_mulx_u64(&mut x38, &mut x39, x20, 0x6cfc5fd681c52056);
  let mut x40: u64 = 0;
  let mut x41: u64 = 0;
  fiat_p434_mulx_u64(&mut x40, &mut x41, x20, 0x7bc65c783158aea3);
  let mut x42: u64 = 0;
  let mut x43: u64 = 0;
  fiat_p434_mulx_u64(&mut x42, &mut x43, x20, 0xfdc1767ae2ffffff);
  let mut x44: u64 = 0;
  let mut x45: u64 = 0;
  fiat_p434_mulx_u64(&mut x44, &mut x45, x20, 0xffffffffffffffff);
  let mut x46: u64 = 0;
  let mut x47: u64 = 0;
  fiat_p434_mulx_u64(&mut x46, &mut x47, x20, 0xffffffffffffffff);
  let mut x48: u64 = 0;
  let mut x49: u64 = 0;
  fiat_p434_mulx_u64(&mut x48, &mut x49, x20, 0xffffffffffffffff);
  let mut x50: u64 = 0;
  let mut x51: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x50, &mut x51, 0x0, x49, x46);
  let mut x52: u64 = 0;
  let mut x53: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x52, &mut x53, x51, x47, x44);
  let mut x54: u64 = 0;
  let mut x55: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x54, &mut x55, x53, x45, x42);
  let mut x56: u64 = 0;
  let mut x57: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x56, &mut x57, x55, x43, x40);
  let mut x58: u64 = 0;
  let mut x59: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x58, &mut x59, x57, x41, x38);
  let mut x60: u64 = 0;
  let mut x61: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x60, &mut x61, x59, x39, x36);
  let mut x62: u64 = 0;
  let mut x63: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x62, &mut x63, x61, x37, (0x0 as u64));
  let mut x64: u64 = 0;
  let mut x65: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x64, &mut x65, 0x0, x20, x48);
  let mut x66: u64 = 0;
  let mut x67: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x66, &mut x67, x65, x22, x50);
  let mut x68: u64 = 0;
  let mut x69: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x68, &mut x69, x67, x24, x52);
  let mut x70: u64 = 0;
  let mut x71: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x70, &mut x71, x69, x26, x54);
  let mut x72: u64 = 0;
  let mut x73: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x72, &mut x73, x71, x28, x56);
  let mut x74: u64 = 0;
  let mut x75: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x74, &mut x75, x73, x30, x58);
  let mut x76: u64 = 0;
  let mut x77: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x76, &mut x77, x75, x32, x60);
  let mut x78: u64 = 0;
  let mut x79: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x78, &mut x79, x77, x34, x62);
  let mut x80: u64 = 0;
  let mut x81: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x80, &mut x81, x79, (0x0 as u64), (0x0 as u64));
  let mut x82: u64 = 0;
  let mut x83: u64 = 0;
  fiat_p434_mulx_u64(&mut x82, &mut x83, x1, (arg1[6]));
  let mut x84: u64 = 0;
  let mut x85: u64 = 0;
  fiat_p434_mulx_u64(&mut x84, &mut x85, x1, (arg1[5]));
  let mut x86: u64 = 0;
  let mut x87: u64 = 0;
  fiat_p434_mulx_u64(&mut x86, &mut x87, x1, (arg1[4]));
  let mut x88: u64 = 0;
  let mut x89: u64 = 0;
  fiat_p434_mulx_u64(&mut x88, &mut x89, x1, (arg1[3]));
  let mut x90: u64 = 0;
  let mut x91: u64 = 0;
  fiat_p434_mulx_u64(&mut x90, &mut x91, x1, (arg1[2]));
  let mut x92: u64 = 0;
  let mut x93: u64 = 0;
  fiat_p434_mulx_u64(&mut x92, &mut x93, x1, (arg1[1]));
  let mut x94: u64 = 0;
  let mut x95: u64 = 0;
  fiat_p434_mulx_u64(&mut x94, &mut x95, x1, (arg1[0]));
  let mut x96: u64 = 0;
  let mut x97: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x96, &mut x97, 0x0, x95, x92);
  let mut x98: u64 = 0;
  let mut x99: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x98, &mut x99, x97, x93, x90);
  let mut x100: u64 = 0;
  let mut x101: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x100, &mut x101, x99, x91, x88);
  let mut x102: u64 = 0;
  let mut x103: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x102, &mut x103, x101, x89, x86);
  let mut x104: u64 = 0;
  let mut x105: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x104, &mut x105, x103, x87, x84);
  let mut x106: u64 = 0;
  let mut x107: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x106, &mut x107, x105, x85, x82);
  let mut x108: u64 = 0;
  let mut x109: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x108, &mut x109, x107, x83, (0x0 as u64));
  let mut x110: u64 = 0;
  let mut x111: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x110, &mut x111, 0x0, x66, x94);
  let mut x112: u64 = 0;
  let mut x113: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x112, &mut x113, x111, x68, x96);
  let mut x114: u64 = 0;
  let mut x115: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x114, &mut x115, x113, x70, x98);
  let mut x116: u64 = 0;
  let mut x117: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x116, &mut x117, x115, x72, x100);
  let mut x118: u64 = 0;
  let mut x119: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x118, &mut x119, x117, x74, x102);
  let mut x120: u64 = 0;
  let mut x121: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x120, &mut x121, x119, x76, x104);
  let mut x122: u64 = 0;
  let mut x123: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x122, &mut x123, x121, x78, x106);
  let mut x124: u64 = 0;
  let mut x125: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x124, &mut x125, x123, ((x80 as fiat_p434_u1) as u64), x108);
  let mut x126: u64 = 0;
  let mut x127: u64 = 0;
  fiat_p434_mulx_u64(&mut x126, &mut x127, x110, 0x2341f27177344);
  let mut x128: u64 = 0;
  let mut x129: u64 = 0;
  fiat_p434_mulx_u64(&mut x128, &mut x129, x110, 0x6cfc5fd681c52056);
  let mut x130: u64 = 0;
  let mut x131: u64 = 0;
  fiat_p434_mulx_u64(&mut x130, &mut x131, x110, 0x7bc65c783158aea3);
  let mut x132: u64 = 0;
  let mut x133: u64 = 0;
  fiat_p434_mulx_u64(&mut x132, &mut x133, x110, 0xfdc1767ae2ffffff);
  let mut x134: u64 = 0;
  let mut x135: u64 = 0;
  fiat_p434_mulx_u64(&mut x134, &mut x135, x110, 0xffffffffffffffff);
  let mut x136: u64 = 0;
  let mut x137: u64 = 0;
  fiat_p434_mulx_u64(&mut x136, &mut x137, x110, 0xffffffffffffffff);
  let mut x138: u64 = 0;
  let mut x139: u64 = 0;
  fiat_p434_mulx_u64(&mut x138, &mut x139, x110, 0xffffffffffffffff);
  let mut x140: u64 = 0;
  let mut x141: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x140, &mut x141, 0x0, x139, x136);
  let mut x142: u64 = 0;
  let mut x143: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x142, &mut x143, x141, x137, x134);
  let mut x144: u64 = 0;
  let mut x145: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x144, &mut x145, x143, x135, x132);
  let mut x146: u64 = 0;
  let mut x147: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x146, &mut x147, x145, x133, x130);
  let mut x148: u64 = 0;
  let mut x149: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x148, &mut x149, x147, x131, x128);
  let mut x150: u64 = 0;
  let mut x151: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x150, &mut x151, x149, x129, x126);
  let mut x152: u64 = 0;
  let mut x153: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x152, &mut x153, x151, x127, (0x0 as u64));
  let mut x154: u64 = 0;
  let mut x155: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x154, &mut x155, 0x0, x110, x138);
  let mut x156: u64 = 0;
  let mut x157: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x156, &mut x157, x155, x112, x140);
  let mut x158: u64 = 0;
  let mut x159: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x158, &mut x159, x157, x114, x142);
  let mut x160: u64 = 0;
  let mut x161: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x160, &mut x161, x159, x116, x144);
  let mut x162: u64 = 0;
  let mut x163: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x162, &mut x163, x161, x118, x146);
  let mut x164: u64 = 0;
  let mut x165: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x164, &mut x165, x163, x120, x148);
  let mut x166: u64 = 0;
  let mut x167: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x166, &mut x167, x165, x122, x150);
  let mut x168: u64 = 0;
  let mut x169: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x168, &mut x169, x167, x124, x152);
  let mut x170: u64 = 0;
  let mut x171: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x170, &mut x171, x169, (x125 as u64), (0x0 as u64));
  let mut x172: u64 = 0;
  let mut x173: u64 = 0;
  fiat_p434_mulx_u64(&mut x172, &mut x173, x2, (arg1[6]));
  let mut x174: u64 = 0;
  let mut x175: u64 = 0;
  fiat_p434_mulx_u64(&mut x174, &mut x175, x2, (arg1[5]));
  let mut x176: u64 = 0;
  let mut x177: u64 = 0;
  fiat_p434_mulx_u64(&mut x176, &mut x177, x2, (arg1[4]));
  let mut x178: u64 = 0;
  let mut x179: u64 = 0;
  fiat_p434_mulx_u64(&mut x178, &mut x179, x2, (arg1[3]));
  let mut x180: u64 = 0;
  let mut x181: u64 = 0;
  fiat_p434_mulx_u64(&mut x180, &mut x181, x2, (arg1[2]));
  let mut x182: u64 = 0;
  let mut x183: u64 = 0;
  fiat_p434_mulx_u64(&mut x182, &mut x183, x2, (arg1[1]));
  let mut x184: u64 = 0;
  let mut x185: u64 = 0;
  fiat_p434_mulx_u64(&mut x184, &mut x185, x2, (arg1[0]));
  let mut x186: u64 = 0;
  let mut x187: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x186, &mut x187, 0x0, x185, x182);
  let mut x188: u64 = 0;
  let mut x189: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x188, &mut x189, x187, x183, x180);
  let mut x190: u64 = 0;
  let mut x191: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x190, &mut x191, x189, x181, x178);
  let mut x192: u64 = 0;
  let mut x193: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x192, &mut x193, x191, x179, x176);
  let mut x194: u64 = 0;
  let mut x195: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x194, &mut x195, x193, x177, x174);
  let mut x196: u64 = 0;
  let mut x197: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x196, &mut x197, x195, x175, x172);
  let mut x198: u64 = 0;
  let mut x199: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x198, &mut x199, x197, x173, (0x0 as u64));
  let mut x200: u64 = 0;
  let mut x201: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x200, &mut x201, 0x0, x156, x184);
  let mut x202: u64 = 0;
  let mut x203: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x202, &mut x203, x201, x158, x186);
  let mut x204: u64 = 0;
  let mut x205: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x204, &mut x205, x203, x160, x188);
  let mut x206: u64 = 0;
  let mut x207: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x206, &mut x207, x205, x162, x190);
  let mut x208: u64 = 0;
  let mut x209: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x208, &mut x209, x207, x164, x192);
  let mut x210: u64 = 0;
  let mut x211: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x210, &mut x211, x209, x166, x194);
  let mut x212: u64 = 0;
  let mut x213: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x212, &mut x213, x211, x168, x196);
  let mut x214: u64 = 0;
  let mut x215: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x214, &mut x215, x213, x170, x198);
  let mut x216: u64 = 0;
  let mut x217: u64 = 0;
  fiat_p434_mulx_u64(&mut x216, &mut x217, x200, 0x2341f27177344);
  let mut x218: u64 = 0;
  let mut x219: u64 = 0;
  fiat_p434_mulx_u64(&mut x218, &mut x219, x200, 0x6cfc5fd681c52056);
  let mut x220: u64 = 0;
  let mut x221: u64 = 0;
  fiat_p434_mulx_u64(&mut x220, &mut x221, x200, 0x7bc65c783158aea3);
  let mut x222: u64 = 0;
  let mut x223: u64 = 0;
  fiat_p434_mulx_u64(&mut x222, &mut x223, x200, 0xfdc1767ae2ffffff);
  let mut x224: u64 = 0;
  let mut x225: u64 = 0;
  fiat_p434_mulx_u64(&mut x224, &mut x225, x200, 0xffffffffffffffff);
  let mut x226: u64 = 0;
  let mut x227: u64 = 0;
  fiat_p434_mulx_u64(&mut x226, &mut x227, x200, 0xffffffffffffffff);
  let mut x228: u64 = 0;
  let mut x229: u64 = 0;
  fiat_p434_mulx_u64(&mut x228, &mut x229, x200, 0xffffffffffffffff);
  let mut x230: u64 = 0;
  let mut x231: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x230, &mut x231, 0x0, x229, x226);
  let mut x232: u64 = 0;
  let mut x233: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x232, &mut x233, x231, x227, x224);
  let mut x234: u64 = 0;
  let mut x235: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x234, &mut x235, x233, x225, x222);
  let mut x236: u64 = 0;
  let mut x237: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x236, &mut x237, x235, x223, x220);
  let mut x238: u64 = 0;
  let mut x239: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x238, &mut x239, x237, x221, x218);
  let mut x240: u64 = 0;
  let mut x241: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x240, &mut x241, x239, x219, x216);
  let mut x242: u64 = 0;
  let mut x243: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x242, &mut x243, x241, x217, (0x0 as u64));
  let mut x244: u64 = 0;
  let mut x245: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x244, &mut x245, 0x0, x200, x228);
  let mut x246: u64 = 0;
  let mut x247: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x246, &mut x247, x245, x202, x230);
  let mut x248: u64 = 0;
  let mut x249: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x248, &mut x249, x247, x204, x232);
  let mut x250: u64 = 0;
  let mut x251: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x250, &mut x251, x249, x206, x234);
  let mut x252: u64 = 0;
  let mut x253: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x252, &mut x253, x251, x208, x236);
  let mut x254: u64 = 0;
  let mut x255: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x254, &mut x255, x253, x210, x238);
  let mut x256: u64 = 0;
  let mut x257: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x256, &mut x257, x255, x212, x240);
  let mut x258: u64 = 0;
  let mut x259: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x258, &mut x259, x257, x214, x242);
  let mut x260: u64 = 0;
  let mut x261: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x260, &mut x261, x259, (x215 as u64), (0x0 as u64));
  let mut x262: u64 = 0;
  let mut x263: u64 = 0;
  fiat_p434_mulx_u64(&mut x262, &mut x263, x3, (arg1[6]));
  let mut x264: u64 = 0;
  let mut x265: u64 = 0;
  fiat_p434_mulx_u64(&mut x264, &mut x265, x3, (arg1[5]));
  let mut x266: u64 = 0;
  let mut x267: u64 = 0;
  fiat_p434_mulx_u64(&mut x266, &mut x267, x3, (arg1[4]));
  let mut x268: u64 = 0;
  let mut x269: u64 = 0;
  fiat_p434_mulx_u64(&mut x268, &mut x269, x3, (arg1[3]));
  let mut x270: u64 = 0;
  let mut x271: u64 = 0;
  fiat_p434_mulx_u64(&mut x270, &mut x271, x3, (arg1[2]));
  let mut x272: u64 = 0;
  let mut x273: u64 = 0;
  fiat_p434_mulx_u64(&mut x272, &mut x273, x3, (arg1[1]));
  let mut x274: u64 = 0;
  let mut x275: u64 = 0;
  fiat_p434_mulx_u64(&mut x274, &mut x275, x3, (arg1[0]));
  let mut x276: u64 = 0;
  let mut x277: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x276, &mut x277, 0x0, x275, x272);
  let mut x278: u64 = 0;
  let mut x279: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x278, &mut x279, x277, x273, x270);
  let mut x280: u64 = 0;
  let mut x281: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x280, &mut x281, x279, x271, x268);
  let mut x282: u64 = 0;
  let mut x283: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x282, &mut x283, x281, x269, x266);
  let mut x284: u64 = 0;
  let mut x285: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x284, &mut x285, x283, x267, x264);
  let mut x286: u64 = 0;
  let mut x287: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x286, &mut x287, x285, x265, x262);
  let mut x288: u64 = 0;
  let mut x289: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x288, &mut x289, x287, x263, (0x0 as u64));
  let mut x290: u64 = 0;
  let mut x291: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x290, &mut x291, 0x0, x246, x274);
  let mut x292: u64 = 0;
  let mut x293: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x292, &mut x293, x291, x248, x276);
  let mut x294: u64 = 0;
  let mut x295: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x294, &mut x295, x293, x250, x278);
  let mut x296: u64 = 0;
  let mut x297: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x296, &mut x297, x295, x252, x280);
  let mut x298: u64 = 0;
  let mut x299: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x298, &mut x299, x297, x254, x282);
  let mut x300: u64 = 0;
  let mut x301: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x300, &mut x301, x299, x256, x284);
  let mut x302: u64 = 0;
  let mut x303: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x302, &mut x303, x301, x258, x286);
  let mut x304: u64 = 0;
  let mut x305: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x304, &mut x305, x303, x260, x288);
  let mut x306: u64 = 0;
  let mut x307: u64 = 0;
  fiat_p434_mulx_u64(&mut x306, &mut x307, x290, 0x2341f27177344);
  let mut x308: u64 = 0;
  let mut x309: u64 = 0;
  fiat_p434_mulx_u64(&mut x308, &mut x309, x290, 0x6cfc5fd681c52056);
  let mut x310: u64 = 0;
  let mut x311: u64 = 0;
  fiat_p434_mulx_u64(&mut x310, &mut x311, x290, 0x7bc65c783158aea3);
  let mut x312: u64 = 0;
  let mut x313: u64 = 0;
  fiat_p434_mulx_u64(&mut x312, &mut x313, x290, 0xfdc1767ae2ffffff);
  let mut x314: u64 = 0;
  let mut x315: u64 = 0;
  fiat_p434_mulx_u64(&mut x314, &mut x315, x290, 0xffffffffffffffff);
  let mut x316: u64 = 0;
  let mut x317: u64 = 0;
  fiat_p434_mulx_u64(&mut x316, &mut x317, x290, 0xffffffffffffffff);
  let mut x318: u64 = 0;
  let mut x319: u64 = 0;
  fiat_p434_mulx_u64(&mut x318, &mut x319, x290, 0xffffffffffffffff);
  let mut x320: u64 = 0;
  let mut x321: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x320, &mut x321, 0x0, x319, x316);
  let mut x322: u64 = 0;
  let mut x323: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x322, &mut x323, x321, x317, x314);
  let mut x324: u64 = 0;
  let mut x325: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x324, &mut x325, x323, x315, x312);
  let mut x326: u64 = 0;
  let mut x327: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x326, &mut x327, x325, x313, x310);
  let mut x328: u64 = 0;
  let mut x329: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x328, &mut x329, x327, x311, x308);
  let mut x330: u64 = 0;
  let mut x331: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x330, &mut x331, x329, x309, x306);
  let mut x332: u64 = 0;
  let mut x333: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x332, &mut x333, x331, x307, (0x0 as u64));
  let mut x334: u64 = 0;
  let mut x335: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x334, &mut x335, 0x0, x290, x318);
  let mut x336: u64 = 0;
  let mut x337: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x336, &mut x337, x335, x292, x320);
  let mut x338: u64 = 0;
  let mut x339: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x338, &mut x339, x337, x294, x322);
  let mut x340: u64 = 0;
  let mut x341: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x340, &mut x341, x339, x296, x324);
  let mut x342: u64 = 0;
  let mut x343: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x342, &mut x343, x341, x298, x326);
  let mut x344: u64 = 0;
  let mut x345: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x344, &mut x345, x343, x300, x328);
  let mut x346: u64 = 0;
  let mut x347: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x346, &mut x347, x345, x302, x330);
  let mut x348: u64 = 0;
  let mut x349: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x348, &mut x349, x347, x304, x332);
  let mut x350: u64 = 0;
  let mut x351: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x350, &mut x351, x349, (x305 as u64), (0x0 as u64));
  let mut x352: u64 = 0;
  let mut x353: u64 = 0;
  fiat_p434_mulx_u64(&mut x352, &mut x353, x4, (arg1[6]));
  let mut x354: u64 = 0;
  let mut x355: u64 = 0;
  fiat_p434_mulx_u64(&mut x354, &mut x355, x4, (arg1[5]));
  let mut x356: u64 = 0;
  let mut x357: u64 = 0;
  fiat_p434_mulx_u64(&mut x356, &mut x357, x4, (arg1[4]));
  let mut x358: u64 = 0;
  let mut x359: u64 = 0;
  fiat_p434_mulx_u64(&mut x358, &mut x359, x4, (arg1[3]));
  let mut x360: u64 = 0;
  let mut x361: u64 = 0;
  fiat_p434_mulx_u64(&mut x360, &mut x361, x4, (arg1[2]));
  let mut x362: u64 = 0;
  let mut x363: u64 = 0;
  fiat_p434_mulx_u64(&mut x362, &mut x363, x4, (arg1[1]));
  let mut x364: u64 = 0;
  let mut x365: u64 = 0;
  fiat_p434_mulx_u64(&mut x364, &mut x365, x4, (arg1[0]));
  let mut x366: u64 = 0;
  let mut x367: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x366, &mut x367, 0x0, x365, x362);
  let mut x368: u64 = 0;
  let mut x369: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x368, &mut x369, x367, x363, x360);
  let mut x370: u64 = 0;
  let mut x371: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x370, &mut x371, x369, x361, x358);
  let mut x372: u64 = 0;
  let mut x373: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x372, &mut x373, x371, x359, x356);
  let mut x374: u64 = 0;
  let mut x375: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x374, &mut x375, x373, x357, x354);
  let mut x376: u64 = 0;
  let mut x377: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x376, &mut x377, x375, x355, x352);
  let mut x378: u64 = 0;
  let mut x379: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x378, &mut x379, x377, x353, (0x0 as u64));
  let mut x380: u64 = 0;
  let mut x381: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x380, &mut x381, 0x0, x336, x364);
  let mut x382: u64 = 0;
  let mut x383: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x382, &mut x383, x381, x338, x366);
  let mut x384: u64 = 0;
  let mut x385: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x384, &mut x385, x383, x340, x368);
  let mut x386: u64 = 0;
  let mut x387: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x386, &mut x387, x385, x342, x370);
  let mut x388: u64 = 0;
  let mut x389: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x388, &mut x389, x387, x344, x372);
  let mut x390: u64 = 0;
  let mut x391: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x390, &mut x391, x389, x346, x374);
  let mut x392: u64 = 0;
  let mut x393: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x392, &mut x393, x391, x348, x376);
  let mut x394: u64 = 0;
  let mut x395: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x394, &mut x395, x393, x350, x378);
  let mut x396: u64 = 0;
  let mut x397: u64 = 0;
  fiat_p434_mulx_u64(&mut x396, &mut x397, x380, 0x2341f27177344);
  let mut x398: u64 = 0;
  let mut x399: u64 = 0;
  fiat_p434_mulx_u64(&mut x398, &mut x399, x380, 0x6cfc5fd681c52056);
  let mut x400: u64 = 0;
  let mut x401: u64 = 0;
  fiat_p434_mulx_u64(&mut x400, &mut x401, x380, 0x7bc65c783158aea3);
  let mut x402: u64 = 0;
  let mut x403: u64 = 0;
  fiat_p434_mulx_u64(&mut x402, &mut x403, x380, 0xfdc1767ae2ffffff);
  let mut x404: u64 = 0;
  let mut x405: u64 = 0;
  fiat_p434_mulx_u64(&mut x404, &mut x405, x380, 0xffffffffffffffff);
  let mut x406: u64 = 0;
  let mut x407: u64 = 0;
  fiat_p434_mulx_u64(&mut x406, &mut x407, x380, 0xffffffffffffffff);
  let mut x408: u64 = 0;
  let mut x409: u64 = 0;
  fiat_p434_mulx_u64(&mut x408, &mut x409, x380, 0xffffffffffffffff);
  let mut x410: u64 = 0;
  let mut x411: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x410, &mut x411, 0x0, x409, x406);
  let mut x412: u64 = 0;
  let mut x413: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x412, &mut x413, x411, x407, x404);
  let mut x414: u64 = 0;
  let mut x415: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x414, &mut x415, x413, x405, x402);
  let mut x416: u64 = 0;
  let mut x417: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x416, &mut x417, x415, x403, x400);
  let mut x418: u64 = 0;
  let mut x419: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x418, &mut x419, x417, x401, x398);
  let mut x420: u64 = 0;
  let mut x421: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x420, &mut x421, x419, x399, x396);
  let mut x422: u64 = 0;
  let mut x423: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x422, &mut x423, x421, x397, (0x0 as u64));
  let mut x424: u64 = 0;
  let mut x425: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x424, &mut x425, 0x0, x380, x408);
  let mut x426: u64 = 0;
  let mut x427: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x426, &mut x427, x425, x382, x410);
  let mut x428: u64 = 0;
  let mut x429: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x428, &mut x429, x427, x384, x412);
  let mut x430: u64 = 0;
  let mut x431: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x430, &mut x431, x429, x386, x414);
  let mut x432: u64 = 0;
  let mut x433: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x432, &mut x433, x431, x388, x416);
  let mut x434: u64 = 0;
  let mut x435: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x434, &mut x435, x433, x390, x418);
  let mut x436: u64 = 0;
  let mut x437: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x436, &mut x437, x435, x392, x420);
  let mut x438: u64 = 0;
  let mut x439: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x438, &mut x439, x437, x394, x422);
  let mut x440: u64 = 0;
  let mut x441: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x440, &mut x441, x439, (x395 as u64), (0x0 as u64));
  let mut x442: u64 = 0;
  let mut x443: u64 = 0;
  fiat_p434_mulx_u64(&mut x442, &mut x443, x5, (arg1[6]));
  let mut x444: u64 = 0;
  let mut x445: u64 = 0;
  fiat_p434_mulx_u64(&mut x444, &mut x445, x5, (arg1[5]));
  let mut x446: u64 = 0;
  let mut x447: u64 = 0;
  fiat_p434_mulx_u64(&mut x446, &mut x447, x5, (arg1[4]));
  let mut x448: u64 = 0;
  let mut x449: u64 = 0;
  fiat_p434_mulx_u64(&mut x448, &mut x449, x5, (arg1[3]));
  let mut x450: u64 = 0;
  let mut x451: u64 = 0;
  fiat_p434_mulx_u64(&mut x450, &mut x451, x5, (arg1[2]));
  let mut x452: u64 = 0;
  let mut x453: u64 = 0;
  fiat_p434_mulx_u64(&mut x452, &mut x453, x5, (arg1[1]));
  let mut x454: u64 = 0;
  let mut x455: u64 = 0;
  fiat_p434_mulx_u64(&mut x454, &mut x455, x5, (arg1[0]));
  let mut x456: u64 = 0;
  let mut x457: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x456, &mut x457, 0x0, x455, x452);
  let mut x458: u64 = 0;
  let mut x459: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x458, &mut x459, x457, x453, x450);
  let mut x460: u64 = 0;
  let mut x461: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x460, &mut x461, x459, x451, x448);
  let mut x462: u64 = 0;
  let mut x463: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x462, &mut x463, x461, x449, x446);
  let mut x464: u64 = 0;
  let mut x465: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x464, &mut x465, x463, x447, x444);
  let mut x466: u64 = 0;
  let mut x467: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x466, &mut x467, x465, x445, x442);
  let mut x468: u64 = 0;
  let mut x469: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x468, &mut x469, x467, x443, (0x0 as u64));
  let mut x470: u64 = 0;
  let mut x471: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x470, &mut x471, 0x0, x426, x454);
  let mut x472: u64 = 0;
  let mut x473: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x472, &mut x473, x471, x428, x456);
  let mut x474: u64 = 0;
  let mut x475: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x474, &mut x475, x473, x430, x458);
  let mut x476: u64 = 0;
  let mut x477: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x476, &mut x477, x475, x432, x460);
  let mut x478: u64 = 0;
  let mut x479: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x478, &mut x479, x477, x434, x462);
  let mut x480: u64 = 0;
  let mut x481: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x480, &mut x481, x479, x436, x464);
  let mut x482: u64 = 0;
  let mut x483: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x482, &mut x483, x481, x438, x466);
  let mut x484: u64 = 0;
  let mut x485: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x484, &mut x485, x483, x440, x468);
  let mut x486: u64 = 0;
  let mut x487: u64 = 0;
  fiat_p434_mulx_u64(&mut x486, &mut x487, x470, 0x2341f27177344);
  let mut x488: u64 = 0;
  let mut x489: u64 = 0;
  fiat_p434_mulx_u64(&mut x488, &mut x489, x470, 0x6cfc5fd681c52056);
  let mut x490: u64 = 0;
  let mut x491: u64 = 0;
  fiat_p434_mulx_u64(&mut x490, &mut x491, x470, 0x7bc65c783158aea3);
  let mut x492: u64 = 0;
  let mut x493: u64 = 0;
  fiat_p434_mulx_u64(&mut x492, &mut x493, x470, 0xfdc1767ae2ffffff);
  let mut x494: u64 = 0;
  let mut x495: u64 = 0;
  fiat_p434_mulx_u64(&mut x494, &mut x495, x470, 0xffffffffffffffff);
  let mut x496: u64 = 0;
  let mut x497: u64 = 0;
  fiat_p434_mulx_u64(&mut x496, &mut x497, x470, 0xffffffffffffffff);
  let mut x498: u64 = 0;
  let mut x499: u64 = 0;
  fiat_p434_mulx_u64(&mut x498, &mut x499, x470, 0xffffffffffffffff);
  let mut x500: u64 = 0;
  let mut x501: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x500, &mut x501, 0x0, x499, x496);
  let mut x502: u64 = 0;
  let mut x503: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x502, &mut x503, x501, x497, x494);
  let mut x504: u64 = 0;
  let mut x505: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x504, &mut x505, x503, x495, x492);
  let mut x506: u64 = 0;
  let mut x507: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x506, &mut x507, x505, x493, x490);
  let mut x508: u64 = 0;
  let mut x509: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x508, &mut x509, x507, x491, x488);
  let mut x510: u64 = 0;
  let mut x511: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x510, &mut x511, x509, x489, x486);
  let mut x512: u64 = 0;
  let mut x513: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x512, &mut x513, x511, x487, (0x0 as u64));
  let mut x514: u64 = 0;
  let mut x515: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x514, &mut x515, 0x0, x470, x498);
  let mut x516: u64 = 0;
  let mut x517: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x516, &mut x517, x515, x472, x500);
  let mut x518: u64 = 0;
  let mut x519: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x518, &mut x519, x517, x474, x502);
  let mut x520: u64 = 0;
  let mut x521: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x520, &mut x521, x519, x476, x504);
  let mut x522: u64 = 0;
  let mut x523: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x522, &mut x523, x521, x478, x506);
  let mut x524: u64 = 0;
  let mut x525: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x524, &mut x525, x523, x480, x508);
  let mut x526: u64 = 0;
  let mut x527: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x526, &mut x527, x525, x482, x510);
  let mut x528: u64 = 0;
  let mut x529: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x528, &mut x529, x527, x484, x512);
  let mut x530: u64 = 0;
  let mut x531: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x530, &mut x531, x529, (x485 as u64), (0x0 as u64));
  let mut x532: u64 = 0;
  let mut x533: u64 = 0;
  fiat_p434_mulx_u64(&mut x532, &mut x533, x6, (arg1[6]));
  let mut x534: u64 = 0;
  let mut x535: u64 = 0;
  fiat_p434_mulx_u64(&mut x534, &mut x535, x6, (arg1[5]));
  let mut x536: u64 = 0;
  let mut x537: u64 = 0;
  fiat_p434_mulx_u64(&mut x536, &mut x537, x6, (arg1[4]));
  let mut x538: u64 = 0;
  let mut x539: u64 = 0;
  fiat_p434_mulx_u64(&mut x538, &mut x539, x6, (arg1[3]));
  let mut x540: u64 = 0;
  let mut x541: u64 = 0;
  fiat_p434_mulx_u64(&mut x540, &mut x541, x6, (arg1[2]));
  let mut x542: u64 = 0;
  let mut x543: u64 = 0;
  fiat_p434_mulx_u64(&mut x542, &mut x543, x6, (arg1[1]));
  let mut x544: u64 = 0;
  let mut x545: u64 = 0;
  fiat_p434_mulx_u64(&mut x544, &mut x545, x6, (arg1[0]));
  let mut x546: u64 = 0;
  let mut x547: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x546, &mut x547, 0x0, x545, x542);
  let mut x548: u64 = 0;
  let mut x549: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x548, &mut x549, x547, x543, x540);
  let mut x550: u64 = 0;
  let mut x551: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x550, &mut x551, x549, x541, x538);
  let mut x552: u64 = 0;
  let mut x553: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x552, &mut x553, x551, x539, x536);
  let mut x554: u64 = 0;
  let mut x555: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x554, &mut x555, x553, x537, x534);
  let mut x556: u64 = 0;
  let mut x557: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x556, &mut x557, x555, x535, x532);
  let mut x558: u64 = 0;
  let mut x559: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x558, &mut x559, x557, x533, (0x0 as u64));
  let mut x560: u64 = 0;
  let mut x561: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x560, &mut x561, 0x0, x516, x544);
  let mut x562: u64 = 0;
  let mut x563: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x562, &mut x563, x561, x518, x546);
  let mut x564: u64 = 0;
  let mut x565: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x564, &mut x565, x563, x520, x548);
  let mut x566: u64 = 0;
  let mut x567: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x566, &mut x567, x565, x522, x550);
  let mut x568: u64 = 0;
  let mut x569: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x568, &mut x569, x567, x524, x552);
  let mut x570: u64 = 0;
  let mut x571: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x570, &mut x571, x569, x526, x554);
  let mut x572: u64 = 0;
  let mut x573: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x572, &mut x573, x571, x528, x556);
  let mut x574: u64 = 0;
  let mut x575: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x574, &mut x575, x573, x530, x558);
  let mut x576: u64 = 0;
  let mut x577: u64 = 0;
  fiat_p434_mulx_u64(&mut x576, &mut x577, x560, 0x2341f27177344);
  let mut x578: u64 = 0;
  let mut x579: u64 = 0;
  fiat_p434_mulx_u64(&mut x578, &mut x579, x560, 0x6cfc5fd681c52056);
  let mut x580: u64 = 0;
  let mut x581: u64 = 0;
  fiat_p434_mulx_u64(&mut x580, &mut x581, x560, 0x7bc65c783158aea3);
  let mut x582: u64 = 0;
  let mut x583: u64 = 0;
  fiat_p434_mulx_u64(&mut x582, &mut x583, x560, 0xfdc1767ae2ffffff);
  let mut x584: u64 = 0;
  let mut x585: u64 = 0;
  fiat_p434_mulx_u64(&mut x584, &mut x585, x560, 0xffffffffffffffff);
  let mut x586: u64 = 0;
  let mut x587: u64 = 0;
  fiat_p434_mulx_u64(&mut x586, &mut x587, x560, 0xffffffffffffffff);
  let mut x588: u64 = 0;
  let mut x589: u64 = 0;
  fiat_p434_mulx_u64(&mut x588, &mut x589, x560, 0xffffffffffffffff);
  let mut x590: u64 = 0;
  let mut x591: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x590, &mut x591, 0x0, x589, x586);
  let mut x592: u64 = 0;
  let mut x593: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x592, &mut x593, x591, x587, x584);
  let mut x594: u64 = 0;
  let mut x595: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x594, &mut x595, x593, x585, x582);
  let mut x596: u64 = 0;
  let mut x597: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x596, &mut x597, x595, x583, x580);
  let mut x598: u64 = 0;
  let mut x599: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x598, &mut x599, x597, x581, x578);
  let mut x600: u64 = 0;
  let mut x601: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x600, &mut x601, x599, x579, x576);
  let mut x602: u64 = 0;
  let mut x603: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x602, &mut x603, x601, x577, (0x0 as u64));
  let mut x604: u64 = 0;
  let mut x605: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x604, &mut x605, 0x0, x560, x588);
  let mut x606: u64 = 0;
  let mut x607: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x606, &mut x607, x605, x562, x590);
  let mut x608: u64 = 0;
  let mut x609: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x608, &mut x609, x607, x564, x592);
  let mut x610: u64 = 0;
  let mut x611: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x610, &mut x611, x609, x566, x594);
  let mut x612: u64 = 0;
  let mut x613: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x612, &mut x613, x611, x568, x596);
  let mut x614: u64 = 0;
  let mut x615: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x614, &mut x615, x613, x570, x598);
  let mut x616: u64 = 0;
  let mut x617: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x616, &mut x617, x615, x572, x600);
  let mut x618: u64 = 0;
  let mut x619: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x618, &mut x619, x617, x574, x602);
  let mut x620: u64 = 0;
  let mut x621: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x620, &mut x621, x619, (x575 as u64), (0x0 as u64));
  let mut x622: u64 = 0;
  let mut x623: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x622, &mut x623, 0x0, x606, 0xffffffffffffffff);
  let mut x624: u64 = 0;
  let mut x625: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x624, &mut x625, x623, x608, 0xffffffffffffffff);
  let mut x626: u64 = 0;
  let mut x627: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x626, &mut x627, x625, x610, 0xffffffffffffffff);
  let mut x628: u64 = 0;
  let mut x629: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x628, &mut x629, x627, x612, 0xfdc1767ae2ffffff);
  let mut x630: u64 = 0;
  let mut x631: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x630, &mut x631, x629, x614, 0x7bc65c783158aea3);
  let mut x632: u64 = 0;
  let mut x633: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x632, &mut x633, x631, x616, 0x6cfc5fd681c52056);
  let mut x634: u64 = 0;
  let mut x635: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x634, &mut x635, x633, x618, 0x2341f27177344);
  let mut x636: u64 = 0;
  let mut x637: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x636, &mut x637, x635, x620, (0x0 as u64));
  let mut x638: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x638, x637, x622, x606);
  let mut x639: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x639, x637, x624, x608);
  let mut x640: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x640, x637, x626, x610);
  let mut x641: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x641, x637, x628, x612);
  let mut x642: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x642, x637, x630, x614);
  let mut x643: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x643, x637, x632, x616);
  let mut x644: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x644, x637, x634, x618);
  out1[0] = x638;
  out1[1] = x639;
  out1[2] = x640;
  out1[3] = x641;
  out1[4] = x642;
  out1[5] = x643;
  out1[6] = x644;
}

/*
 * The function fiat_p434_add adds two field elements in the Montgomery domain.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 *   0 ≤ eval arg2 < m
 * Postconditions:
 *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
 *   0 ≤ eval out1 < m
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 */
pub fn fiat_p434_add(out1: &mut [u64; 7], arg1: &[u64; 7], arg2: &[u64; 7]) -> () {
  let mut x1: u64 = 0;
  let mut x2: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x1, &mut x2, 0x0, (arg1[0]), (arg2[0]));
  let mut x3: u64 = 0;
  let mut x4: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x3, &mut x4, x2, (arg1[1]), (arg2[1]));
  let mut x5: u64 = 0;
  let mut x6: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x5, &mut x6, x4, (arg1[2]), (arg2[2]));
  let mut x7: u64 = 0;
  let mut x8: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x7, &mut x8, x6, (arg1[3]), (arg2[3]));
  let mut x9: u64 = 0;
  let mut x10: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x9, &mut x10, x8, (arg1[4]), (arg2[4]));
  let mut x11: u64 = 0;
  let mut x12: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x11, &mut x12, x10, (arg1[5]), (arg2[5]));
  let mut x13: u64 = 0;
  let mut x14: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x13, &mut x14, x12, (arg1[6]), (arg2[6]));
  let mut x15: u64 = 0;
  let mut x16: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x15, &mut x16, 0x0, x1, 0xffffffffffffffff);
  let mut x17: u64 = 0;
  let mut x18: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x17, &mut x18, x16, x3, 0xffffffffffffffff);
  let mut x19: u64 = 0;
  let mut x20: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x19, &mut x20, x18, x5, 0xffffffffffffffff);
  let mut x21: u64 = 0;
  let mut x22: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x21, &mut x22, x20, x7, 0xfdc1767ae2ffffff);
  let mut x23: u64 = 0;
  let mut x24: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x23, &mut x24, x22, x9, 0x7bc65c783158aea3);
  let mut x25: u64 = 0;
  let mut x26: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x25, &mut x26, x24, x11, 0x6cfc5fd681c52056);
  let mut x27: u64 = 0;
  let mut x28: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x27, &mut x28, x26, x13, 0x2341f27177344);
  let mut x29: u64 = 0;
  let mut x30: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x29, &mut x30, x28, (x14 as u64), (0x0 as u64));
  let mut x31: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x31, x30, x15, x1);
  let mut x32: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x32, x30, x17, x3);
  let mut x33: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x33, x30, x19, x5);
  let mut x34: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x34, x30, x21, x7);
  let mut x35: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x35, x30, x23, x9);
  let mut x36: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x36, x30, x25, x11);
  let mut x37: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x37, x30, x27, x13);
  out1[0] = x31;
  out1[1] = x32;
  out1[2] = x33;
  out1[3] = x34;
  out1[4] = x35;
  out1[5] = x36;
  out1[6] = x37;
}

/*
 * The function fiat_p434_sub subtracts two field elements in the Montgomery domain.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 *   0 ≤ eval arg2 < m
 * Postconditions:
 *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
 *   0 ≤ eval out1 < m
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 */
pub fn fiat_p434_sub(out1: &mut [u64; 7], arg1: &[u64; 7], arg2: &[u64; 7]) -> () {
  let mut x1: u64 = 0;
  let mut x2: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x1, &mut x2, 0x0, (arg1[0]), (arg2[0]));
  let mut x3: u64 = 0;
  let mut x4: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x3, &mut x4, x2, (arg1[1]), (arg2[1]));
  let mut x5: u64 = 0;
  let mut x6: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x5, &mut x6, x4, (arg1[2]), (arg2[2]));
  let mut x7: u64 = 0;
  let mut x8: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x7, &mut x8, x6, (arg1[3]), (arg2[3]));
  let mut x9: u64 = 0;
  let mut x10: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x9, &mut x10, x8, (arg1[4]), (arg2[4]));
  let mut x11: u64 = 0;
  let mut x12: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x11, &mut x12, x10, (arg1[5]), (arg2[5]));
  let mut x13: u64 = 0;
  let mut x14: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x13, &mut x14, x12, (arg1[6]), (arg2[6]));
  let mut x15: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x15, x14, (0x0 as u64), 0xffffffffffffffff);
  let mut x16: u64 = 0;
  let mut x17: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x16, &mut x17, 0x0, x1, (x15 & 0xffffffffffffffff));
  let mut x18: u64 = 0;
  let mut x19: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x18, &mut x19, x17, x3, (x15 & 0xffffffffffffffff));
  let mut x20: u64 = 0;
  let mut x21: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x20, &mut x21, x19, x5, (x15 & 0xffffffffffffffff));
  let mut x22: u64 = 0;
  let mut x23: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x22, &mut x23, x21, x7, (x15 & 0xfdc1767ae2ffffff));
  let mut x24: u64 = 0;
  let mut x25: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x24, &mut x25, x23, x9, (x15 & 0x7bc65c783158aea3));
  let mut x26: u64 = 0;
  let mut x27: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x26, &mut x27, x25, x11, (x15 & 0x6cfc5fd681c52056));
  let mut x28: u64 = 0;
  let mut x29: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x28, &mut x29, x27, x13, (x15 & 0x2341f27177344));
  out1[0] = x16;
  out1[1] = x18;
  out1[2] = x20;
  out1[3] = x22;
  out1[4] = x24;
  out1[5] = x26;
  out1[6] = x28;
}

/*
 * The function fiat_p434_opp negates a field element in the Montgomery domain.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 * Postconditions:
 *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m
 *   0 ≤ eval out1 < m
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 */
pub fn fiat_p434_opp(out1: &mut [u64; 7], arg1: &[u64; 7]) -> () {
  let mut x1: u64 = 0;
  let mut x2: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x1, &mut x2, 0x0, (0x0 as u64), (arg1[0]));
  let mut x3: u64 = 0;
  let mut x4: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x3, &mut x4, x2, (0x0 as u64), (arg1[1]));
  let mut x5: u64 = 0;
  let mut x6: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x5, &mut x6, x4, (0x0 as u64), (arg1[2]));
  let mut x7: u64 = 0;
  let mut x8: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x7, &mut x8, x6, (0x0 as u64), (arg1[3]));
  let mut x9: u64 = 0;
  let mut x10: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x9, &mut x10, x8, (0x0 as u64), (arg1[4]));
  let mut x11: u64 = 0;
  let mut x12: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x11, &mut x12, x10, (0x0 as u64), (arg1[5]));
  let mut x13: u64 = 0;
  let mut x14: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x13, &mut x14, x12, (0x0 as u64), (arg1[6]));
  let mut x15: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x15, x14, (0x0 as u64), 0xffffffffffffffff);
  let mut x16: u64 = 0;
  let mut x17: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x16, &mut x17, 0x0, x1, (x15 & 0xffffffffffffffff));
  let mut x18: u64 = 0;
  let mut x19: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x18, &mut x19, x17, x3, (x15 & 0xffffffffffffffff));
  let mut x20: u64 = 0;
  let mut x21: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x20, &mut x21, x19, x5, (x15 & 0xffffffffffffffff));
  let mut x22: u64 = 0;
  let mut x23: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x22, &mut x23, x21, x7, (x15 & 0xfdc1767ae2ffffff));
  let mut x24: u64 = 0;
  let mut x25: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x24, &mut x25, x23, x9, (x15 & 0x7bc65c783158aea3));
  let mut x26: u64 = 0;
  let mut x27: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x26, &mut x27, x25, x11, (x15 & 0x6cfc5fd681c52056));
  let mut x28: u64 = 0;
  let mut x29: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x28, &mut x29, x27, x13, (x15 & 0x2341f27177344));
  out1[0] = x16;
  out1[1] = x18;
  out1[2] = x20;
  out1[3] = x22;
  out1[4] = x24;
  out1[5] = x26;
  out1[6] = x28;
}

/*
 * The function fiat_p434_from_montgomery translates a field element out of the Montgomery domain.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 * Postconditions:
 *   eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^7) mod m
 *   0 ≤ eval out1 < m
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 */
pub fn fiat_p434_from_montgomery(out1: &mut [u64; 7], arg1: &[u64; 7]) -> () {
  let x1: u64 = (arg1[0]);
  let mut x2: u64 = 0;
  let mut x3: u64 = 0;
  fiat_p434_mulx_u64(&mut x2, &mut x3, x1, 0x2341f27177344);
  let mut x4: u64 = 0;
  let mut x5: u64 = 0;
  fiat_p434_mulx_u64(&mut x4, &mut x5, x1, 0x6cfc5fd681c52056);
  let mut x6: u64 = 0;
  let mut x7: u64 = 0;
  fiat_p434_mulx_u64(&mut x6, &mut x7, x1, 0x7bc65c783158aea3);
  let mut x8: u64 = 0;
  let mut x9: u64 = 0;
  fiat_p434_mulx_u64(&mut x8, &mut x9, x1, 0xfdc1767ae2ffffff);
  let mut x10: u64 = 0;
  let mut x11: u64 = 0;
  fiat_p434_mulx_u64(&mut x10, &mut x11, x1, 0xffffffffffffffff);
  let mut x12: u64 = 0;
  let mut x13: u64 = 0;
  fiat_p434_mulx_u64(&mut x12, &mut x13, x1, 0xffffffffffffffff);
  let mut x14: u64 = 0;
  let mut x15: u64 = 0;
  fiat_p434_mulx_u64(&mut x14, &mut x15, x1, 0xffffffffffffffff);
  let mut x16: u64 = 0;
  let mut x17: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x16, &mut x17, 0x0, x15, x12);
  let mut x18: u64 = 0;
  let mut x19: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x18, &mut x19, x17, x13, x10);
  let mut x20: u64 = 0;
  let mut x21: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x20, &mut x21, x19, x11, x8);
  let mut x22: u64 = 0;
  let mut x23: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x22, &mut x23, x21, x9, x6);
  let mut x24: u64 = 0;
  let mut x25: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x24, &mut x25, x23, x7, x4);
  let mut x26: u64 = 0;
  let mut x27: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x26, &mut x27, x25, x5, x2);
  let mut x28: u64 = 0;
  let mut x29: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x28, &mut x29, 0x0, x1, x14);
  let mut x30: u64 = 0;
  let mut x31: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x30, &mut x31, x29, (0x0 as u64), x16);
  let mut x32: u64 = 0;
  let mut x33: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x32, &mut x33, x31, (0x0 as u64), x18);
  let mut x34: u64 = 0;
  let mut x35: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x34, &mut x35, x33, (0x0 as u64), x20);
  let mut x36: u64 = 0;
  let mut x37: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x36, &mut x37, x35, (0x0 as u64), x22);
  let mut x38: u64 = 0;
  let mut x39: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x38, &mut x39, x37, (0x0 as u64), x24);
  let mut x40: u64 = 0;
  let mut x41: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x40, &mut x41, x39, (0x0 as u64), x26);
  let mut x42: u64 = 0;
  let mut x43: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x42, &mut x43, 0x0, x30, (arg1[1]));
  let mut x44: u64 = 0;
  let mut x45: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x44, &mut x45, x43, x32, (0x0 as u64));
  let mut x46: u64 = 0;
  let mut x47: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x46, &mut x47, x45, x34, (0x0 as u64));
  let mut x48: u64 = 0;
  let mut x49: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x48, &mut x49, x47, x36, (0x0 as u64));
  let mut x50: u64 = 0;
  let mut x51: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x50, &mut x51, x49, x38, (0x0 as u64));
  let mut x52: u64 = 0;
  let mut x53: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x52, &mut x53, x51, x40, (0x0 as u64));
  let mut x54: u64 = 0;
  let mut x55: u64 = 0;
  fiat_p434_mulx_u64(&mut x54, &mut x55, x42, 0x2341f27177344);
  let mut x56: u64 = 0;
  let mut x57: u64 = 0;
  fiat_p434_mulx_u64(&mut x56, &mut x57, x42, 0x6cfc5fd681c52056);
  let mut x58: u64 = 0;
  let mut x59: u64 = 0;
  fiat_p434_mulx_u64(&mut x58, &mut x59, x42, 0x7bc65c783158aea3);
  let mut x60: u64 = 0;
  let mut x61: u64 = 0;
  fiat_p434_mulx_u64(&mut x60, &mut x61, x42, 0xfdc1767ae2ffffff);
  let mut x62: u64 = 0;
  let mut x63: u64 = 0;
  fiat_p434_mulx_u64(&mut x62, &mut x63, x42, 0xffffffffffffffff);
  let mut x64: u64 = 0;
  let mut x65: u64 = 0;
  fiat_p434_mulx_u64(&mut x64, &mut x65, x42, 0xffffffffffffffff);
  let mut x66: u64 = 0;
  let mut x67: u64 = 0;
  fiat_p434_mulx_u64(&mut x66, &mut x67, x42, 0xffffffffffffffff);
  let mut x68: u64 = 0;
  let mut x69: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x68, &mut x69, 0x0, x67, x64);
  let mut x70: u64 = 0;
  let mut x71: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x70, &mut x71, x69, x65, x62);
  let mut x72: u64 = 0;
  let mut x73: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x72, &mut x73, x71, x63, x60);
  let mut x74: u64 = 0;
  let mut x75: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x74, &mut x75, x73, x61, x58);
  let mut x76: u64 = 0;
  let mut x77: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x76, &mut x77, x75, x59, x56);
  let mut x78: u64 = 0;
  let mut x79: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x78, &mut x79, x77, x57, x54);
  let mut x80: u64 = 0;
  let mut x81: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x80, &mut x81, 0x0, x42, x66);
  let mut x82: u64 = 0;
  let mut x83: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x82, &mut x83, x81, x44, x68);
  let mut x84: u64 = 0;
  let mut x85: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x84, &mut x85, x83, x46, x70);
  let mut x86: u64 = 0;
  let mut x87: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x86, &mut x87, x85, x48, x72);
  let mut x88: u64 = 0;
  let mut x89: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x88, &mut x89, x87, x50, x74);
  let mut x90: u64 = 0;
  let mut x91: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x90, &mut x91, x89, x52, x76);
  let mut x92: u64 = 0;
  let mut x93: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x92, &mut x93, x27, x3, (0x0 as u64));
  let mut x94: u64 = 0;
  let mut x95: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x94, &mut x95, x41, (0x0 as u64), x92);
  let mut x96: u64 = 0;
  let mut x97: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x96, &mut x97, x53, x94, (0x0 as u64));
  let mut x98: u64 = 0;
  let mut x99: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x98, &mut x99, x91, x96, x78);
  let mut x100: u64 = 0;
  let mut x101: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x100, &mut x101, 0x0, x82, (arg1[2]));
  let mut x102: u64 = 0;
  let mut x103: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x102, &mut x103, x101, x84, (0x0 as u64));
  let mut x104: u64 = 0;
  let mut x105: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x104, &mut x105, x103, x86, (0x0 as u64));
  let mut x106: u64 = 0;
  let mut x107: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x106, &mut x107, x105, x88, (0x0 as u64));
  let mut x108: u64 = 0;
  let mut x109: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x108, &mut x109, x107, x90, (0x0 as u64));
  let mut x110: u64 = 0;
  let mut x111: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x110, &mut x111, x109, x98, (0x0 as u64));
  let mut x112: u64 = 0;
  let mut x113: u64 = 0;
  fiat_p434_mulx_u64(&mut x112, &mut x113, x100, 0x2341f27177344);
  let mut x114: u64 = 0;
  let mut x115: u64 = 0;
  fiat_p434_mulx_u64(&mut x114, &mut x115, x100, 0x6cfc5fd681c52056);
  let mut x116: u64 = 0;
  let mut x117: u64 = 0;
  fiat_p434_mulx_u64(&mut x116, &mut x117, x100, 0x7bc65c783158aea3);
  let mut x118: u64 = 0;
  let mut x119: u64 = 0;
  fiat_p434_mulx_u64(&mut x118, &mut x119, x100, 0xfdc1767ae2ffffff);
  let mut x120: u64 = 0;
  let mut x121: u64 = 0;
  fiat_p434_mulx_u64(&mut x120, &mut x121, x100, 0xffffffffffffffff);
  let mut x122: u64 = 0;
  let mut x123: u64 = 0;
  fiat_p434_mulx_u64(&mut x122, &mut x123, x100, 0xffffffffffffffff);
  let mut x124: u64 = 0;
  let mut x125: u64 = 0;
  fiat_p434_mulx_u64(&mut x124, &mut x125, x100, 0xffffffffffffffff);
  let mut x126: u64 = 0;
  let mut x127: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x126, &mut x127, 0x0, x125, x122);
  let mut x128: u64 = 0;
  let mut x129: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x128, &mut x129, x127, x123, x120);
  let mut x130: u64 = 0;
  let mut x131: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x130, &mut x131, x129, x121, x118);
  let mut x132: u64 = 0;
  let mut x133: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x132, &mut x133, x131, x119, x116);
  let mut x134: u64 = 0;
  let mut x135: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x134, &mut x135, x133, x117, x114);
  let mut x136: u64 = 0;
  let mut x137: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x136, &mut x137, x135, x115, x112);
  let mut x138: u64 = 0;
  let mut x139: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x138, &mut x139, 0x0, x100, x124);
  let mut x140: u64 = 0;
  let mut x141: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x140, &mut x141, x139, x102, x126);
  let mut x142: u64 = 0;
  let mut x143: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x142, &mut x143, x141, x104, x128);
  let mut x144: u64 = 0;
  let mut x145: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x144, &mut x145, x143, x106, x130);
  let mut x146: u64 = 0;
  let mut x147: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x146, &mut x147, x145, x108, x132);
  let mut x148: u64 = 0;
  let mut x149: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x148, &mut x149, x147, x110, x134);
  let mut x150: u64 = 0;
  let mut x151: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x150, &mut x151, x79, x55, (0x0 as u64));
  let mut x152: u64 = 0;
  let mut x153: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x152, &mut x153, x99, (0x0 as u64), x150);
  let mut x154: u64 = 0;
  let mut x155: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x154, &mut x155, x111, x152, (0x0 as u64));
  let mut x156: u64 = 0;
  let mut x157: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x156, &mut x157, x149, x154, x136);
  let mut x158: u64 = 0;
  let mut x159: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x158, &mut x159, 0x0, x140, (arg1[3]));
  let mut x160: u64 = 0;
  let mut x161: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x160, &mut x161, x159, x142, (0x0 as u64));
  let mut x162: u64 = 0;
  let mut x163: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x162, &mut x163, x161, x144, (0x0 as u64));
  let mut x164: u64 = 0;
  let mut x165: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x164, &mut x165, x163, x146, (0x0 as u64));
  let mut x166: u64 = 0;
  let mut x167: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x166, &mut x167, x165, x148, (0x0 as u64));
  let mut x168: u64 = 0;
  let mut x169: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x168, &mut x169, x167, x156, (0x0 as u64));
  let mut x170: u64 = 0;
  let mut x171: u64 = 0;
  fiat_p434_mulx_u64(&mut x170, &mut x171, x158, 0x2341f27177344);
  let mut x172: u64 = 0;
  let mut x173: u64 = 0;
  fiat_p434_mulx_u64(&mut x172, &mut x173, x158, 0x6cfc5fd681c52056);
  let mut x174: u64 = 0;
  let mut x175: u64 = 0;
  fiat_p434_mulx_u64(&mut x174, &mut x175, x158, 0x7bc65c783158aea3);
  let mut x176: u64 = 0;
  let mut x177: u64 = 0;
  fiat_p434_mulx_u64(&mut x176, &mut x177, x158, 0xfdc1767ae2ffffff);
  let mut x178: u64 = 0;
  let mut x179: u64 = 0;
  fiat_p434_mulx_u64(&mut x178, &mut x179, x158, 0xffffffffffffffff);
  let mut x180: u64 = 0;
  let mut x181: u64 = 0;
  fiat_p434_mulx_u64(&mut x180, &mut x181, x158, 0xffffffffffffffff);
  let mut x182: u64 = 0;
  let mut x183: u64 = 0;
  fiat_p434_mulx_u64(&mut x182, &mut x183, x158, 0xffffffffffffffff);
  let mut x184: u64 = 0;
  let mut x185: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x184, &mut x185, 0x0, x183, x180);
  let mut x186: u64 = 0;
  let mut x187: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x186, &mut x187, x185, x181, x178);
  let mut x188: u64 = 0;
  let mut x189: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x188, &mut x189, x187, x179, x176);
  let mut x190: u64 = 0;
  let mut x191: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x190, &mut x191, x189, x177, x174);
  let mut x192: u64 = 0;
  let mut x193: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x192, &mut x193, x191, x175, x172);
  let mut x194: u64 = 0;
  let mut x195: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x194, &mut x195, x193, x173, x170);
  let mut x196: u64 = 0;
  let mut x197: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x196, &mut x197, 0x0, x158, x182);
  let mut x198: u64 = 0;
  let mut x199: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x198, &mut x199, x197, x160, x184);
  let mut x200: u64 = 0;
  let mut x201: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x200, &mut x201, x199, x162, x186);
  let mut x202: u64 = 0;
  let mut x203: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x202, &mut x203, x201, x164, x188);
  let mut x204: u64 = 0;
  let mut x205: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x204, &mut x205, x203, x166, x190);
  let mut x206: u64 = 0;
  let mut x207: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x206, &mut x207, x205, x168, x192);
  let mut x208: u64 = 0;
  let mut x209: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x208, &mut x209, x137, x113, (0x0 as u64));
  let mut x210: u64 = 0;
  let mut x211: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x210, &mut x211, x157, (0x0 as u64), x208);
  let mut x212: u64 = 0;
  let mut x213: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x212, &mut x213, x169, x210, (0x0 as u64));
  let mut x214: u64 = 0;
  let mut x215: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x214, &mut x215, x207, x212, x194);
  let mut x216: u64 = 0;
  let mut x217: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x216, &mut x217, 0x0, x198, (arg1[4]));
  let mut x218: u64 = 0;
  let mut x219: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x218, &mut x219, x217, x200, (0x0 as u64));
  let mut x220: u64 = 0;
  let mut x221: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x220, &mut x221, x219, x202, (0x0 as u64));
  let mut x222: u64 = 0;
  let mut x223: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x222, &mut x223, x221, x204, (0x0 as u64));
  let mut x224: u64 = 0;
  let mut x225: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x224, &mut x225, x223, x206, (0x0 as u64));
  let mut x226: u64 = 0;
  let mut x227: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x226, &mut x227, x225, x214, (0x0 as u64));
  let mut x228: u64 = 0;
  let mut x229: u64 = 0;
  fiat_p434_mulx_u64(&mut x228, &mut x229, x216, 0x2341f27177344);
  let mut x230: u64 = 0;
  let mut x231: u64 = 0;
  fiat_p434_mulx_u64(&mut x230, &mut x231, x216, 0x6cfc5fd681c52056);
  let mut x232: u64 = 0;
  let mut x233: u64 = 0;
  fiat_p434_mulx_u64(&mut x232, &mut x233, x216, 0x7bc65c783158aea3);
  let mut x234: u64 = 0;
  let mut x235: u64 = 0;
  fiat_p434_mulx_u64(&mut x234, &mut x235, x216, 0xfdc1767ae2ffffff);
  let mut x236: u64 = 0;
  let mut x237: u64 = 0;
  fiat_p434_mulx_u64(&mut x236, &mut x237, x216, 0xffffffffffffffff);
  let mut x238: u64 = 0;
  let mut x239: u64 = 0;
  fiat_p434_mulx_u64(&mut x238, &mut x239, x216, 0xffffffffffffffff);
  let mut x240: u64 = 0;
  let mut x241: u64 = 0;
  fiat_p434_mulx_u64(&mut x240, &mut x241, x216, 0xffffffffffffffff);
  let mut x242: u64 = 0;
  let mut x243: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x242, &mut x243, 0x0, x241, x238);
  let mut x244: u64 = 0;
  let mut x245: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x244, &mut x245, x243, x239, x236);
  let mut x246: u64 = 0;
  let mut x247: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x246, &mut x247, x245, x237, x234);
  let mut x248: u64 = 0;
  let mut x249: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x248, &mut x249, x247, x235, x232);
  let mut x250: u64 = 0;
  let mut x251: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x250, &mut x251, x249, x233, x230);
  let mut x252: u64 = 0;
  let mut x253: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x252, &mut x253, x251, x231, x228);
  let mut x254: u64 = 0;
  let mut x255: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x254, &mut x255, 0x0, x216, x240);
  let mut x256: u64 = 0;
  let mut x257: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x256, &mut x257, x255, x218, x242);
  let mut x258: u64 = 0;
  let mut x259: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x258, &mut x259, x257, x220, x244);
  let mut x260: u64 = 0;
  let mut x261: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x260, &mut x261, x259, x222, x246);
  let mut x262: u64 = 0;
  let mut x263: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x262, &mut x263, x261, x224, x248);
  let mut x264: u64 = 0;
  let mut x265: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x264, &mut x265, x263, x226, x250);
  let mut x266: u64 = 0;
  let mut x267: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x266, &mut x267, x195, x171, (0x0 as u64));
  let mut x268: u64 = 0;
  let mut x269: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x268, &mut x269, x215, (0x0 as u64), x266);
  let mut x270: u64 = 0;
  let mut x271: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x270, &mut x271, x227, x268, (0x0 as u64));
  let mut x272: u64 = 0;
  let mut x273: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x272, &mut x273, x265, x270, x252);
  let mut x274: u64 = 0;
  let mut x275: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x274, &mut x275, 0x0, x256, (arg1[5]));
  let mut x276: u64 = 0;
  let mut x277: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x276, &mut x277, x275, x258, (0x0 as u64));
  let mut x278: u64 = 0;
  let mut x279: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x278, &mut x279, x277, x260, (0x0 as u64));
  let mut x280: u64 = 0;
  let mut x281: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x280, &mut x281, x279, x262, (0x0 as u64));
  let mut x282: u64 = 0;
  let mut x283: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x282, &mut x283, x281, x264, (0x0 as u64));
  let mut x284: u64 = 0;
  let mut x285: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x284, &mut x285, x283, x272, (0x0 as u64));
  let mut x286: u64 = 0;
  let mut x287: u64 = 0;
  fiat_p434_mulx_u64(&mut x286, &mut x287, x274, 0x2341f27177344);
  let mut x288: u64 = 0;
  let mut x289: u64 = 0;
  fiat_p434_mulx_u64(&mut x288, &mut x289, x274, 0x6cfc5fd681c52056);
  let mut x290: u64 = 0;
  let mut x291: u64 = 0;
  fiat_p434_mulx_u64(&mut x290, &mut x291, x274, 0x7bc65c783158aea3);
  let mut x292: u64 = 0;
  let mut x293: u64 = 0;
  fiat_p434_mulx_u64(&mut x292, &mut x293, x274, 0xfdc1767ae2ffffff);
  let mut x294: u64 = 0;
  let mut x295: u64 = 0;
  fiat_p434_mulx_u64(&mut x294, &mut x295, x274, 0xffffffffffffffff);
  let mut x296: u64 = 0;
  let mut x297: u64 = 0;
  fiat_p434_mulx_u64(&mut x296, &mut x297, x274, 0xffffffffffffffff);
  let mut x298: u64 = 0;
  let mut x299: u64 = 0;
  fiat_p434_mulx_u64(&mut x298, &mut x299, x274, 0xffffffffffffffff);
  let mut x300: u64 = 0;
  let mut x301: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x300, &mut x301, 0x0, x299, x296);
  let mut x302: u64 = 0;
  let mut x303: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x302, &mut x303, x301, x297, x294);
  let mut x304: u64 = 0;
  let mut x305: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x304, &mut x305, x303, x295, x292);
  let mut x306: u64 = 0;
  let mut x307: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x306, &mut x307, x305, x293, x290);
  let mut x308: u64 = 0;
  let mut x309: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x308, &mut x309, x307, x291, x288);
  let mut x310: u64 = 0;
  let mut x311: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x310, &mut x311, x309, x289, x286);
  let mut x312: u64 = 0;
  let mut x313: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x312, &mut x313, 0x0, x274, x298);
  let mut x314: u64 = 0;
  let mut x315: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x314, &mut x315, x313, x276, x300);
  let mut x316: u64 = 0;
  let mut x317: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x316, &mut x317, x315, x278, x302);
  let mut x318: u64 = 0;
  let mut x319: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x318, &mut x319, x317, x280, x304);
  let mut x320: u64 = 0;
  let mut x321: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x320, &mut x321, x319, x282, x306);
  let mut x322: u64 = 0;
  let mut x323: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x322, &mut x323, x321, x284, x308);
  let mut x324: u64 = 0;
  let mut x325: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x324, &mut x325, x253, x229, (0x0 as u64));
  let mut x326: u64 = 0;
  let mut x327: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x326, &mut x327, x273, (0x0 as u64), x324);
  let mut x328: u64 = 0;
  let mut x329: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x328, &mut x329, x285, x326, (0x0 as u64));
  let mut x330: u64 = 0;
  let mut x331: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x330, &mut x331, x323, x328, x310);
  let mut x332: u64 = 0;
  let mut x333: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x332, &mut x333, 0x0, x314, (arg1[6]));
  let mut x334: u64 = 0;
  let mut x335: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x334, &mut x335, x333, x316, (0x0 as u64));
  let mut x336: u64 = 0;
  let mut x337: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x336, &mut x337, x335, x318, (0x0 as u64));
  let mut x338: u64 = 0;
  let mut x339: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x338, &mut x339, x337, x320, (0x0 as u64));
  let mut x340: u64 = 0;
  let mut x341: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x340, &mut x341, x339, x322, (0x0 as u64));
  let mut x342: u64 = 0;
  let mut x343: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x342, &mut x343, x341, x330, (0x0 as u64));
  let mut x344: u64 = 0;
  let mut x345: u64 = 0;
  fiat_p434_mulx_u64(&mut x344, &mut x345, x332, 0x2341f27177344);
  let mut x346: u64 = 0;
  let mut x347: u64 = 0;
  fiat_p434_mulx_u64(&mut x346, &mut x347, x332, 0x6cfc5fd681c52056);
  let mut x348: u64 = 0;
  let mut x349: u64 = 0;
  fiat_p434_mulx_u64(&mut x348, &mut x349, x332, 0x7bc65c783158aea3);
  let mut x350: u64 = 0;
  let mut x351: u64 = 0;
  fiat_p434_mulx_u64(&mut x350, &mut x351, x332, 0xfdc1767ae2ffffff);
  let mut x352: u64 = 0;
  let mut x353: u64 = 0;
  fiat_p434_mulx_u64(&mut x352, &mut x353, x332, 0xffffffffffffffff);
  let mut x354: u64 = 0;
  let mut x355: u64 = 0;
  fiat_p434_mulx_u64(&mut x354, &mut x355, x332, 0xffffffffffffffff);
  let mut x356: u64 = 0;
  let mut x357: u64 = 0;
  fiat_p434_mulx_u64(&mut x356, &mut x357, x332, 0xffffffffffffffff);
  let mut x358: u64 = 0;
  let mut x359: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x358, &mut x359, 0x0, x357, x354);
  let mut x360: u64 = 0;
  let mut x361: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x360, &mut x361, x359, x355, x352);
  let mut x362: u64 = 0;
  let mut x363: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x362, &mut x363, x361, x353, x350);
  let mut x364: u64 = 0;
  let mut x365: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x364, &mut x365, x363, x351, x348);
  let mut x366: u64 = 0;
  let mut x367: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x366, &mut x367, x365, x349, x346);
  let mut x368: u64 = 0;
  let mut x369: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x368, &mut x369, x367, x347, x344);
  let mut x370: u64 = 0;
  let mut x371: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x370, &mut x371, 0x0, x332, x356);
  let mut x372: u64 = 0;
  let mut x373: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x372, &mut x373, x371, x334, x358);
  let mut x374: u64 = 0;
  let mut x375: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x374, &mut x375, x373, x336, x360);
  let mut x376: u64 = 0;
  let mut x377: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x376, &mut x377, x375, x338, x362);
  let mut x378: u64 = 0;
  let mut x379: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x378, &mut x379, x377, x340, x364);
  let mut x380: u64 = 0;
  let mut x381: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x380, &mut x381, x379, x342, x366);
  let mut x382: u64 = 0;
  let mut x383: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x382, &mut x383, x311, x287, (0x0 as u64));
  let mut x384: u64 = 0;
  let mut x385: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x384, &mut x385, x331, (0x0 as u64), x382);
  let mut x386: u64 = 0;
  let mut x387: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x386, &mut x387, x343, x384, (0x0 as u64));
  let mut x388: u64 = 0;
  let mut x389: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x388, &mut x389, x381, x386, x368);
  let mut x390: u64 = 0;
  let mut x391: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x390, &mut x391, x369, x345, (0x0 as u64));
  let mut x392: u64 = 0;
  let mut x393: fiat_p434_u1 = 0;
  fiat_p434_addcarryx_u64(&mut x392, &mut x393, x389, (0x0 as u64), x390);
  let mut x394: u64 = 0;
  let mut x395: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x394, &mut x395, 0x0, x372, 0xffffffffffffffff);
  let mut x396: u64 = 0;
  let mut x397: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x396, &mut x397, x395, x374, 0xffffffffffffffff);
  let mut x398: u64 = 0;
  let mut x399: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x398, &mut x399, x397, x376, 0xffffffffffffffff);
  let mut x400: u64 = 0;
  let mut x401: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x400, &mut x401, x399, x378, 0xfdc1767ae2ffffff);
  let mut x402: u64 = 0;
  let mut x403: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x402, &mut x403, x401, x380, 0x7bc65c783158aea3);
  let mut x404: u64 = 0;
  let mut x405: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x404, &mut x405, x403, x388, 0x6cfc5fd681c52056);
  let mut x406: u64 = 0;
  let mut x407: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x406, &mut x407, x405, x392, 0x2341f27177344);
  let mut x408: u64 = 0;
  let mut x409: fiat_p434_u1 = 0;
  fiat_p434_subborrowx_u64(&mut x408, &mut x409, x407, (0x0 as u64), (0x0 as u64));
  let mut x410: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x410, x409, x394, x372);
  let mut x411: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x411, x409, x396, x374);
  let mut x412: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x412, x409, x398, x376);
  let mut x413: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x413, x409, x400, x378);
  let mut x414: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x414, x409, x402, x380);
  let mut x415: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x415, x409, x404, x388);
  let mut x416: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x416, x409, x406, x392);
  out1[0] = x410;
  out1[1] = x411;
  out1[2] = x412;
  out1[3] = x413;
  out1[4] = x414;
  out1[5] = x415;
  out1[6] = x416;
}

/*
 * The function fiat_p434_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 * Postconditions:
 *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [0x0 ~> 0xffffffffffffffff]
 */
pub fn fiat_p434_nonzero(out1: &mut u64, arg1: &[u64; 7]) -> () {
  let x1: u64 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | ((arg1[6]) | (0x0 as u64))))))));
  *out1 = x1;
}

/*
 * The function fiat_p434_selectznz is a multi-limb conditional select.
 * Postconditions:
 *   eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
 *
 * Input Bounds:
 *   arg1: [0x0 ~> 0x1]
 *   arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 *   arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
 */
pub fn fiat_p434_selectznz(out1: &mut [u64; 7], arg1: fiat_p434_u1, arg2: &[u64; 7], arg3: &[u64; 7]) -> () {
  let mut x1: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x1, arg1, (arg2[0]), (arg3[0]));
  let mut x2: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x2, arg1, (arg2[1]), (arg3[1]));
  let mut x3: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x3, arg1, (arg2[2]), (arg3[2]));
  let mut x4: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x4, arg1, (arg2[3]), (arg3[3]));
  let mut x5: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x5, arg1, (arg2[4]), (arg3[4]));
  let mut x6: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x6, arg1, (arg2[5]), (arg3[5]));
  let mut x7: u64 = 0;
  fiat_p434_cmovznz_u64(&mut x7, arg1, (arg2[6]), (arg3[6]));
  out1[0] = x1;
  out1[1] = x2;
  out1[2] = x3;
  out1[3] = x4;
  out1[4] = x5;
  out1[5] = x6;
  out1[6] = x7;
}

/*
 * The function fiat_p434_to_bytes serializes a field element in the Montgomery domain to bytes in little-endian order.
 * Preconditions:
 *   0 ≤ eval arg1 < m
 * Postconditions:
 *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..55]
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x3ffffffffffff]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x3], [0x0 ~> 0x0]]
 */
pub fn fiat_p434_to_bytes(out1: &mut [u8; 56], arg1: &[u64; 7]) -> () {
  let x1: u64 = (arg1[6]);
  let x2: u64 = (arg1[5]);
  let x3: u64 = (arg1[4]);
  let x4: u64 = (arg1[3]);
  let x5: u64 = (arg1[2]);
  let x6: u64 = (arg1[1]);
  let x7: u64 = (arg1[0]);
  let x8: u64 = (x7 >> 8);
  let x9: u8 = ((x7 & (0xff as u64)) as u8);
  let x10: u64 = (x8 >> 8);
  let x11: u8 = ((x8 & (0xff as u64)) as u8);
  let x12: u64 = (x10 >> 8);
  let x13: u8 = ((x10 & (0xff as u64)) as u8);
  let x14: u64 = (x12 >> 8);
  let x15: u8 = ((x12 & (0xff as u64)) as u8);
  let x16: u64 = (x14 >> 8);
  let x17: u8 = ((x14 & (0xff as u64)) as u8);
  let x18: u64 = (x16 >> 8);
  let x19: u8 = ((x16 & (0xff as u64)) as u8);
  let x20: u8 = ((x18 >> 8) as u8);
  let x21: u8 = ((x18 & (0xff as u64)) as u8);
  let x22: u8 = (x20 & 0xff);
  let x23: u64 = (x6 >> 8);
  let x24: u8 = ((x6 & (0xff as u64)) as u8);
  let x25: u64 = (x23 >> 8);
  let x26: u8 = ((x23 & (0xff as u64)) as u8);
  let x27: u64 = (x25 >> 8);
  let x28: u8 = ((x25 & (0xff as u64)) as u8);
  let x29: u64 = (x27 >> 8);
  let x30: u8 = ((x27 & (0xff as u64)) as u8);
  let x31: u64 = (x29 >> 8);
  let x32: u8 = ((x29 & (0xff as u64)) as u8);
  let x33: u64 = (x31 >> 8);
  let x34: u8 = ((x31 & (0xff as u64)) as u8);
  let x35: u8 = ((x33 >> 8) as u8);
  let x36: u8 = ((x33 & (0xff as u64)) as u8);
  let x37: u8 = (x35 & 0xff);
  let x38: u64 = (x5 >> 8);
  let x39: u8 = ((x5 & (0xff as u64)) as u8);
  let x40: u64 = (x38 >> 8);
  let x41: u8 = ((x38 & (0xff as u64)) as u8);
  let x42: u64 = (x40 >> 8);
  let x43: u8 = ((x40 & (0xff as u64)) as u8);
  let x44: u64 = (x42 >> 8);
  let x45: u8 = ((x42 & (0xff as u64)) as u8);
  let x46: u64 = (x44 >> 8);
  let x47: u8 = ((x44 & (0xff as u64)) as u8);
  let x48: u64 = (x46 >> 8);
  let x49: u8 = ((x46 & (0xff as u64)) as u8);
  let x50: u8 = ((x48 >> 8) as u8);
  let x51: u8 = ((x48 & (0xff as u64)) as u8);
  let x52: u8 = (x50 & 0xff);
  let x53: u64 = (x4 >> 8);
  let x54: u8 = ((x4 & (0xff as u64)) as u8);
  let x55: u64 = (x53 >> 8);
  let x56: u8 = ((x53 & (0xff as u64)) as u8);
  let x57: u64 = (x55 >> 8);
  let x58: u8 = ((x55 & (0xff as u64)) as u8);
  let x59: u64 = (x57 >> 8);
  let x60: u8 = ((x57 & (0xff as u64)) as u8);
  let x61: u64 = (x59 >> 8);
  let x62: u8 = ((x59 & (0xff as u64)) as u8);
  let x63: u64 = (x61 >> 8);
  let x64: u8 = ((x61 & (0xff as u64)) as u8);
  let x65: u8 = ((x63 >> 8) as u8);
  let x66: u8 = ((x63 & (0xff as u64)) as u8);
  let x67: u8 = (x65 & 0xff);
  let x68: u64 = (x3 >> 8);
  let x69: u8 = ((x3 & (0xff as u64)) as u8);
  let x70: u64 = (x68 >> 8);
  let x71: u8 = ((x68 & (0xff as u64)) as u8);
  let x72: u64 = (x70 >> 8);
  let x73: u8 = ((x70 & (0xff as u64)) as u8);
  let x74: u64 = (x72 >> 8);
  let x75: u8 = ((x72 & (0xff as u64)) as u8);
  let x76: u64 = (x74 >> 8);
  let x77: u8 = ((x74 & (0xff as u64)) as u8);
  let x78: u64 = (x76 >> 8);
  let x79: u8 = ((x76 & (0xff as u64)) as u8);
  let x80: u8 = ((x78 >> 8) as u8);
  let x81: u8 = ((x78 & (0xff as u64)) as u8);
  let x82: u8 = (x80 & 0xff);
  let x83: u64 = (x2 >> 8);
  let x84: u8 = ((x2 & (0xff as u64)) as u8);
  let x85: u64 = (x83 >> 8);
  let x86: u8 = ((x83 & (0xff as u64)) as u8);
  let x87: u64 = (x85 >> 8);
  let x88: u8 = ((x85 & (0xff as u64)) as u8);
  let x89: u64 = (x87 >> 8);
  let x90: u8 = ((x87 & (0xff as u64)) as u8);
  let x91: u64 = (x89 >> 8);
  let x92: u8 = ((x89 & (0xff as u64)) as u8);
  let x93: u64 = (x91 >> 8);
  let x94: u8 = ((x91 & (0xff as u64)) as u8);
  let x95: u8 = ((x93 >> 8) as u8);
  let x96: u8 = ((x93 & (0xff as u64)) as u8);
  let x97: u8 = (x95 & 0xff);
  let x98: u64 = (x1 >> 8);
  let x99: u8 = ((x1 & (0xff as u64)) as u8);
  let x100: u64 = (x98 >> 8);
  let x101: u8 = ((x98 & (0xff as u64)) as u8);
  let x102: u64 = (x100 >> 8);
  let x103: u8 = ((x100 & (0xff as u64)) as u8);
  let x104: u64 = (x102 >> 8);
  let x105: u8 = ((x102 & (0xff as u64)) as u8);
  let x106: u64 = (x104 >> 8);
  let x107: u8 = ((x104 & (0xff as u64)) as u8);
  let x108: u8 = ((x106 >> 8) as u8);
  let x109: u8 = ((x106 & (0xff as u64)) as u8);
  let x110: u8 = (x108 & 0xff);
  out1[0] = x9;
  out1[1] = x11;
  out1[2] = x13;
  out1[3] = x15;
  out1[4] = x17;
  out1[5] = x19;
  out1[6] = x21;
  out1[7] = x22;
  out1[8] = x24;
  out1[9] = x26;
  out1[10] = x28;
  out1[11] = x30;
  out1[12] = x32;
  out1[13] = x34;
  out1[14] = x36;
  out1[15] = x37;
  out1[16] = x39;
  out1[17] = x41;
  out1[18] = x43;
  out1[19] = x45;
  out1[20] = x47;
  out1[21] = x49;
  out1[22] = x51;
  out1[23] = x52;
  out1[24] = x54;
  out1[25] = x56;
  out1[26] = x58;
  out1[27] = x60;
  out1[28] = x62;
  out1[29] = x64;
  out1[30] = x66;
  out1[31] = x67;
  out1[32] = x69;
  out1[33] = x71;
  out1[34] = x73;
  out1[35] = x75;
  out1[36] = x77;
  out1[37] = x79;
  out1[38] = x81;
  out1[39] = x82;
  out1[40] = x84;
  out1[41] = x86;
  out1[42] = x88;
  out1[43] = x90;
  out1[44] = x92;
  out1[45] = x94;
  out1[46] = x96;
  out1[47] = x97;
  out1[48] = x99;
  out1[49] = x101;
  out1[50] = x103;
  out1[51] = x105;
  out1[52] = x107;
  out1[53] = x109;
  out1[54] = x110;
  out1[55] = (0x0 as u8);
}

/*
 * The function fiat_p434_from_bytes deserializes a field element in the Montgomery domain from bytes in little-endian order.
 * Preconditions:
 *   0 ≤ bytes_eval arg1 < m
 * Postconditions:
 *   eval out1 mod m = bytes_eval arg1 mod m
 *   0 ≤ eval out1 < m
 *
 * Input Bounds:
 *   arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x3], [0x0 ~> 0x0]]
 * Output Bounds:
 *   out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x3ffffffffffff]]
 */
pub fn fiat_p434_from_bytes(out1: &mut [u64; 7], arg1: &[u8; 56]) -> () {
  let x1: u64 = (((arg1[54]) as u64) << 48);
  let x2: u64 = (((arg1[53]) as u64) << 40);
  let x3: u64 = (((arg1[52]) as u64) << 32);
  let x4: u64 = (((arg1[51]) as u64) << 24);
  let x5: u64 = (((arg1[50]) as u64) << 16);
  let x6: u64 = (((arg1[49]) as u64) << 8);
  let x7: u8 = (arg1[48]);
  let x8: u64 = (((arg1[47]) as u64) << 56);
  let x9: u64 = (((arg1[46]) as u64) << 48);
  let x10: u64 = (((arg1[45]) as u64) << 40);
  let x11: u64 = (((arg1[44]) as u64) << 32);
  let x12: u64 = (((arg1[43]) as u64) << 24);
  let x13: u64 = (((arg1[42]) as u64) << 16);
  let x14: u64 = (((arg1[41]) as u64) << 8);
  let x15: u8 = (arg1[40]);
  let x16: u64 = (((arg1[39]) as u64) << 56);
  let x17: u64 = (((arg1[38]) as u64) << 48);
  let x18: u64 = (((arg1[37]) as u64) << 40);
  let x19: u64 = (((arg1[36]) as u64) << 32);
  let x20: u64 = (((arg1[35]) as u64) << 24);
  let x21: u64 = (((arg1[34]) as u64) << 16);
  let x22: u64 = (((arg1[33]) as u64) << 8);
  let x23: u8 = (arg1[32]);
  let x24: u64 = (((arg1[31]) as u64) << 56);
  let x25: u64 = (((arg1[30]) as u64) << 48);
  let x26: u64 = (((arg1[29]) as u64) << 40);
  let x27: u64 = (((arg1[28]) as u64) << 32);
  let x28: u64 = (((arg1[27]) as u64) << 24);
  let x29: u64 = (((arg1[26]) as u64) << 16);
  let x30: u64 = (((arg1[25]) as u64) << 8);
  let x31: u8 = (arg1[24]);
  let x32: u64 = (((arg1[23]) as u64) << 56);
  let x33: u64 = (((arg1[22]) as u64) << 48);
  let x34: u64 = (((arg1[21]) as u64) << 40);
  let x35: u64 = (((arg1[20]) as u64) << 32);
  let x36: u64 = (((arg1[19]) as u64) << 24);
  let x37: u64 = (((arg1[18]) as u64) << 16);
  let x38: u64 = (((arg1[17]) as u64) << 8);
  let x39: u8 = (arg1[16]);
  let x40: u64 = (((arg1[15]) as u64) << 56);
  let x41: u64 = (((arg1[14]) as u64) << 48);
  let x42: u64 = (((arg1[13]) as u64) << 40);
  let x43: u64 = (((arg1[12]) as u64) << 32);
  let x44: u64 = (((arg1[11]) as u64) << 24);
  let x45: u64 = (((arg1[10]) as u64) << 16);
  let x46: u64 = (((arg1[9]) as u64) << 8);
  let x47: u8 = (arg1[8]);
  let x48: u64 = (((arg1[7]) as u64) << 56);
  let x49: u64 = (((arg1[6]) as u64) << 48);
  let x50: u64 = (((arg1[5]) as u64) << 40);
  let x51: u64 = (((arg1[4]) as u64) << 32);
  let x52: u64 = (((arg1[3]) as u64) << 24);
  let x53: u64 = (((arg1[2]) as u64) << 16);
  let x54: u64 = (((arg1[1]) as u64) << 8);
  let x55: u8 = (arg1[0]);
  let x56: u64 = ((x55 as u64) + (x54 + (x53 + (x52 + (x51 + (x50 + (x49 + x48)))))));
  let x57: u64 = (x56 & 0xffffffffffffffff);
  let x58: u64 = ((x7 as u64) + (x6 + (x5 + (x4 + (x3 + (x2 + x1))))));
  let x59: u64 = ((x15 as u64) + (x14 + (x13 + (x12 + (x11 + (x10 + (x9 + x8)))))));
  let x60: u64 = ((x23 as u64) + (x22 + (x21 + (x20 + (x19 + (x18 + (x17 + x16)))))));
  let x61: u64 = ((x31 as u64) + (x30 + (x29 + (x28 + (x27 + (x26 + (x25 + x24)))))));
  let x62: u64 = ((x39 as u64) + (x38 + (x37 + (x36 + (x35 + (x34 + (x33 + x32)))))));
  let x63: u64 = ((x47 as u64) + (x46 + (x45 + (x44 + (x43 + (x42 + (x41 + x40)))))));
  let x64: u64 = (x63 & 0xffffffffffffffff);
  let x65: u64 = (x62 & 0xffffffffffffffff);
  let x66: u64 = (x61 & 0xffffffffffffffff);
  let x67: u64 = (x60 & 0xffffffffffffffff);
  let x68: u64 = (x59 & 0xffffffffffffffff);
  out1[0] = x57;
  out1[1] = x64;
  out1[2] = x65;
  out1[3] = x66;
  out1[4] = x67;
  out1[5] = x68;
  out1[6] = x58;
}

