/* Autogenerated: 'src/ExtractionOCaml/word_by_word_montgomery' --lang Java --cmovznz-by-mul --widen-carry --widen-bytes --internal-static --package-name fiat_crypto --class-case UpperCamelCase --no-field-element-typedefs P224 32 '2^224 - 2^96 + 1' mul square add sub opp from_montgomery to_montgomery nonzero selectznz to_bytes from_bytes one msat divstep divstep_precomp */
/* curve description: P224 */
/* machine_wordsize = 32 (from "32") */
/* requested operations: mul, square, add, sub, opp, from_montgomery, to_montgomery, nonzero, selectznz, to_bytes, from_bytes, one, msat, divstep, divstep_precomp */
/* m = 0xffffffffffffffffffffffffffffffff000000000000000000000001 (from "2^224 - 2^96 + 1") */
/*                                                                    */
/* 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.                                                   */
/*  */
/* Computed values: */
/*   eval z = z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) */
/*   bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) */
/*   twos_complement_eval z = let x1 := z[0] + (z[1] << 32) + (z[2] << 64) + (z[3] << 96) + (z[4] << 128) + (z[5] << 160) + (z[6] << 192) in */
/*                            if x1 & (2^224-1) < 2^223 then x1 & (2^224-1) else (x1 & (2^224-1)) - 2^224 */

package fiat_crypto;

public final class FiatP224 {

static class Box<T> {
  private T value;
  public Box(T value) { this.value = value; }
  public void set(T value) { this.value = value; }
  public T get() { return this.value; }
}



/**
 * The function fiat_P224_addcarryx_u32 is an addition with carry. <p>
 * <p>
 * Postconditions: <p>
 *   out1 = (arg1 + arg2 + arg3) mod 2^32 <p>
 *   out2 = ⌊(arg1 + arg2 + arg3) / 2^32⌋ <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [0x0 ~&gt; 0x1] <p>
 *   arg2: [0x0 ~&gt; 0xffffffff] <p>
 *   arg3: [0x0 ~&gt; 0xffffffff] <p>
 * Output Bounds: <p>
 *   out1: [0x0 ~&gt; 0xffffffff] <p>
 *   out2: [0x0 ~&gt; 0x1] <p>
 */
static void fiat_P224_addcarryx_u32(Box<Integer> out1, Box<Integer> out2, int arg1, int arg2, int arg3) {
  long x1 = (((long) Integer.toUnsignedLong(((Number) (arg1)).intValue()) + (long) Integer.toUnsignedLong(((Number) (arg2)).intValue())) + (long) Integer.toUnsignedLong(((Number) (arg3)).intValue()));
  int x2 = ((int) Integer.toUnsignedLong(((Number) (x1)).intValue()) & 0xffffffff);
  int x3 = (int) Integer.toUnsignedLong(((Number) ((x1 >>> 32))).intValue());
  out1.set(x2);
  out2.set(x3);
}

/**
 * The function fiat_P224_subborrowx_u32 is a subtraction with borrow. <p>
 * <p>
 * Postconditions: <p>
 *   out1 = (-arg1 + arg2 + -arg3) mod 2^32 <p>
 *   out2 = -⌊(-arg1 + arg2 + -arg3) / 2^32⌋ <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [0x0 ~&gt; 0x1] <p>
 *   arg2: [0x0 ~&gt; 0xffffffff] <p>
 *   arg3: [0x0 ~&gt; 0xffffffff] <p>
 * Output Bounds: <p>
 *   out1: [0x0 ~&gt; 0xffffffff] <p>
 *   out2: [0x0 ~&gt; 0x1] <p>
 */
static void fiat_P224_subborrowx_u32(Box<Integer> out1, Box<Integer> out2, int arg1, int arg2, int arg3) {
  long x1 = (((long) Integer.toUnsignedLong(((Number) (arg2)).intValue()) - (long) Integer.toUnsignedLong(((Number) (arg1)).intValue())) - (long) Integer.toUnsignedLong(((Number) (arg3)).intValue()));
  int x2 = (int) Integer.toUnsignedLong(((Number) ((x1 >>> 32))).intValue());
  int x3 = ((int) Integer.toUnsignedLong(((Number) (x1)).intValue()) & 0xffffffff);
  out1.set(x3);
  out2.set(((int) Integer.toUnsignedLong(((Number) (0x0)).intValue()) - (int) Integer.toUnsignedLong(((Number) (x2)).intValue())));
}

/**
 * The function fiat_P224_mulx_u32 is a multiplication, returning the full double-width result. <p>
 * <p>
 * Postconditions: <p>
 *   out1 = (arg1 * arg2) mod 2^32 <p>
 *   out2 = ⌊arg1 * arg2 / 2^32⌋ <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [0x0 ~&gt; 0xffffffff] <p>
 *   arg2: [0x0 ~&gt; 0xffffffff] <p>
 * Output Bounds: <p>
 *   out1: [0x0 ~&gt; 0xffffffff] <p>
 *   out2: [0x0 ~&gt; 0xffffffff] <p>
 */
static void fiat_P224_mulx_u32(Box<Integer> out1, Box<Integer> out2, int arg1, int arg2) {
  long x1 = ((long) Integer.toUnsignedLong(((Number) (arg1)).intValue()) * (long) Integer.toUnsignedLong(((Number) (arg2)).intValue()));
  int x2 = ((int) Integer.toUnsignedLong(((Number) (x1)).intValue()) & 0xffffffff);
  int x3 = (int) Integer.toUnsignedLong(((Number) ((x1 >>> 32))).intValue());
  out1.set(x2);
  out2.set(x3);
}

/**
 * The function fiat_P224_cmovznz_u32 is a single-word conditional move. <p>
 * <p>
 * Postconditions: <p>
 *   out1 = (if arg1 = 0 then arg2 else arg3) <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [0x0 ~&gt; 0x1] <p>
 *   arg2: [0x0 ~&gt; 0xffffffff] <p>
 *   arg3: [0x0 ~&gt; 0xffffffff] <p>
 * Output Bounds: <p>
 *   out1: [0x0 ~&gt; 0xffffffff] <p>
 */
static void fiat_P224_cmovznz_u32(Box<Integer> out1, int arg1, int arg2, int arg3) {
  int x1 = (arg1 * 0xffffffff);
  int x2 = ((x1 & arg3) | ((~x1) & arg2));
  out1.set(x2);
}

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

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

/**
 * The function fiat_P224_add adds two field elements in the Montgomery domain. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ eval arg1 &lt; m <p>
 *   0 ≤ eval arg2 &lt; m <p>
 * Postconditions: <p>
 *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   arg2: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_add(int[] out1, final int[] arg1, final int[] arg2) {
  Box<Integer> x1 = new Box<Integer>((int)0);
  Box<Integer> x2 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x1, x2, 0x0, (arg1[0]), (arg2[0]));
  Box<Integer> x3 = new Box<Integer>((int)0);
  Box<Integer> x4 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x3, x4, (x2).get(), (arg1[1]), (arg2[1]));
  Box<Integer> x5 = new Box<Integer>((int)0);
  Box<Integer> x6 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x5, x6, (x4).get(), (arg1[2]), (arg2[2]));
  Box<Integer> x7 = new Box<Integer>((int)0);
  Box<Integer> x8 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x7, x8, (x6).get(), (arg1[3]), (arg2[3]));
  Box<Integer> x9 = new Box<Integer>((int)0);
  Box<Integer> x10 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x9, x10, (x8).get(), (arg1[4]), (arg2[4]));
  Box<Integer> x11 = new Box<Integer>((int)0);
  Box<Integer> x12 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x11, x12, (x10).get(), (arg1[5]), (arg2[5]));
  Box<Integer> x13 = new Box<Integer>((int)0);
  Box<Integer> x14 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x13, x14, (x12).get(), (arg1[6]), (arg2[6]));
  Box<Integer> x15 = new Box<Integer>((int)0);
  Box<Integer> x16 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x15, x16, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x1).get(), 0x1);
  Box<Integer> x17 = new Box<Integer>((int)0);
  Box<Integer> x18 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x17, x18, (x16).get(), (x3).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x19 = new Box<Integer>((int)0);
  Box<Integer> x20 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x19, x20, (x18).get(), (x5).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x21 = new Box<Integer>((int)0);
  Box<Integer> x22 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x21, x22, (x20).get(), (x7).get(), 0xffffffff);
  Box<Integer> x23 = new Box<Integer>((int)0);
  Box<Integer> x24 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x23, x24, (x22).get(), (x9).get(), 0xffffffff);
  Box<Integer> x25 = new Box<Integer>((int)0);
  Box<Integer> x26 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x25, x26, (x24).get(), (x11).get(), 0xffffffff);
  Box<Integer> x27 = new Box<Integer>((int)0);
  Box<Integer> x28 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x27, x28, (x26).get(), (x13).get(), 0xffffffff);
  Box<Integer> x29 = new Box<Integer>((int)0);
  Box<Integer> x30 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x29, x30, (x28).get(), (x14).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x31 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x31, (x30).get(), (x15).get(), (x1).get());
  Box<Integer> x32 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x32, (x30).get(), (x17).get(), (x3).get());
  Box<Integer> x33 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x33, (x30).get(), (x19).get(), (x5).get());
  Box<Integer> x34 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x34, (x30).get(), (x21).get(), (x7).get());
  Box<Integer> x35 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x35, (x30).get(), (x23).get(), (x9).get());
  Box<Integer> x36 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x36, (x30).get(), (x25).get(), (x11).get());
  Box<Integer> x37 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x37, (x30).get(), (x27).get(), (x13).get());
  out1[0] = (x31).get();
  out1[1] = (x32).get();
  out1[2] = (x33).get();
  out1[3] = (x34).get();
  out1[4] = (x35).get();
  out1[5] = (x36).get();
  out1[6] = (x37).get();
}

/**
 * The function fiat_P224_sub subtracts two field elements in the Montgomery domain. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ eval arg1 &lt; m <p>
 *   0 ≤ eval arg2 &lt; m <p>
 * Postconditions: <p>
 *   eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   arg2: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_sub(int[] out1, final int[] arg1, final int[] arg2) {
  Box<Integer> x1 = new Box<Integer>((int)0);
  Box<Integer> x2 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x1, x2, 0x0, (arg1[0]), (arg2[0]));
  Box<Integer> x3 = new Box<Integer>((int)0);
  Box<Integer> x4 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x3, x4, (x2).get(), (arg1[1]), (arg2[1]));
  Box<Integer> x5 = new Box<Integer>((int)0);
  Box<Integer> x6 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x5, x6, (x4).get(), (arg1[2]), (arg2[2]));
  Box<Integer> x7 = new Box<Integer>((int)0);
  Box<Integer> x8 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x7, x8, (x6).get(), (arg1[3]), (arg2[3]));
  Box<Integer> x9 = new Box<Integer>((int)0);
  Box<Integer> x10 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x9, x10, (x8).get(), (arg1[4]), (arg2[4]));
  Box<Integer> x11 = new Box<Integer>((int)0);
  Box<Integer> x12 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x11, x12, (x10).get(), (arg1[5]), (arg2[5]));
  Box<Integer> x13 = new Box<Integer>((int)0);
  Box<Integer> x14 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x13, x14, (x12).get(), (arg1[6]), (arg2[6]));
  Box<Integer> x15 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x15, (x14).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), 0xffffffff);
  Box<Integer> x16 = new Box<Integer>((int)0);
  Box<Integer> x17 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x16, x17, 0x0, (x1).get(), ((x15).get() & 0x1));
  Box<Integer> x18 = new Box<Integer>((int)0);
  Box<Integer> x19 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x18, x19, (x17).get(), (x3).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x20 = new Box<Integer>((int)0);
  Box<Integer> x21 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x20, x21, (x19).get(), (x5).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x22 = new Box<Integer>((int)0);
  Box<Integer> x23 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x22, x23, (x21).get(), (x7).get(), (x15).get());
  Box<Integer> x24 = new Box<Integer>((int)0);
  Box<Integer> x25 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x24, x25, (x23).get(), (x9).get(), (x15).get());
  Box<Integer> x26 = new Box<Integer>((int)0);
  Box<Integer> x27 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x26, x27, (x25).get(), (x11).get(), (x15).get());
  Box<Integer> x28 = new Box<Integer>((int)0);
  Box<Integer> x29 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x28, x29, (x27).get(), (x13).get(), (x15).get());
  out1[0] = (x16).get();
  out1[1] = (x18).get();
  out1[2] = (x20).get();
  out1[3] = (x22).get();
  out1[4] = (x24).get();
  out1[5] = (x26).get();
  out1[6] = (x28).get();
}

/**
 * The function fiat_P224_opp negates a field element in the Montgomery domain. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ eval arg1 &lt; m <p>
 * Postconditions: <p>
 *   eval (from_montgomery out1) mod m = -eval (from_montgomery arg1) mod m <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_opp(int[] out1, final int[] arg1) {
  Box<Integer> x1 = new Box<Integer>((int)0);
  Box<Integer> x2 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x1, x2, 0x0, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (arg1[0]));
  Box<Integer> x3 = new Box<Integer>((int)0);
  Box<Integer> x4 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x3, x4, (x2).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (arg1[1]));
  Box<Integer> x5 = new Box<Integer>((int)0);
  Box<Integer> x6 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x5, x6, (x4).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (arg1[2]));
  Box<Integer> x7 = new Box<Integer>((int)0);
  Box<Integer> x8 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x7, x8, (x6).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (arg1[3]));
  Box<Integer> x9 = new Box<Integer>((int)0);
  Box<Integer> x10 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x9, x10, (x8).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (arg1[4]));
  Box<Integer> x11 = new Box<Integer>((int)0);
  Box<Integer> x12 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x11, x12, (x10).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (arg1[5]));
  Box<Integer> x13 = new Box<Integer>((int)0);
  Box<Integer> x14 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x13, x14, (x12).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (arg1[6]));
  Box<Integer> x15 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x15, (x14).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), 0xffffffff);
  Box<Integer> x16 = new Box<Integer>((int)0);
  Box<Integer> x17 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x16, x17, 0x0, (x1).get(), ((x15).get() & 0x1));
  Box<Integer> x18 = new Box<Integer>((int)0);
  Box<Integer> x19 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x18, x19, (x17).get(), (x3).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x20 = new Box<Integer>((int)0);
  Box<Integer> x21 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x20, x21, (x19).get(), (x5).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x22 = new Box<Integer>((int)0);
  Box<Integer> x23 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x22, x23, (x21).get(), (x7).get(), (x15).get());
  Box<Integer> x24 = new Box<Integer>((int)0);
  Box<Integer> x25 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x24, x25, (x23).get(), (x9).get(), (x15).get());
  Box<Integer> x26 = new Box<Integer>((int)0);
  Box<Integer> x27 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x26, x27, (x25).get(), (x11).get(), (x15).get());
  Box<Integer> x28 = new Box<Integer>((int)0);
  Box<Integer> x29 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x28, x29, (x27).get(), (x13).get(), (x15).get());
  out1[0] = (x16).get();
  out1[1] = (x18).get();
  out1[2] = (x20).get();
  out1[3] = (x22).get();
  out1[4] = (x24).get();
  out1[5] = (x26).get();
  out1[6] = (x28).get();
}

/**
 * The function fiat_P224_from_montgomery translates a field element out of the Montgomery domain. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ eval arg1 &lt; m <p>
 * Postconditions: <p>
 *   eval out1 mod m = (eval arg1 * ((2^32)⁻¹ mod m)^7) mod m <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_from_montgomery(int[] out1, final int[] arg1) {
  int x1 = (arg1[0]);
  Box<Integer> x2 = new Box<Integer>((int)0);
  Box<Integer> x3 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x2, x3, x1, 0xffffffff);
  Box<Integer> x4 = new Box<Integer>((int)0);
  Box<Integer> x5 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x4, x5, (x2).get(), 0xffffffff);
  Box<Integer> x6 = new Box<Integer>((int)0);
  Box<Integer> x7 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x6, x7, (x2).get(), 0xffffffff);
  Box<Integer> x8 = new Box<Integer>((int)0);
  Box<Integer> x9 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x8, x9, (x2).get(), 0xffffffff);
  Box<Integer> x10 = new Box<Integer>((int)0);
  Box<Integer> x11 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x10, x11, (x2).get(), 0xffffffff);
  Box<Integer> x12 = new Box<Integer>((int)0);
  Box<Integer> x13 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x12, x13, 0x0, (x11).get(), (x8).get());
  Box<Integer> x14 = new Box<Integer>((int)0);
  Box<Integer> x15 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x14, x15, (x13).get(), (x9).get(), (x6).get());
  Box<Integer> x16 = new Box<Integer>((int)0);
  Box<Integer> x17 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x16, x17, (x15).get(), (x7).get(), (x4).get());
  Box<Integer> x18 = new Box<Integer>((int)0);
  Box<Integer> x19 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x18, x19, 0x0, x1, (x2).get());
  Box<Integer> x20 = new Box<Integer>((int)0);
  Box<Integer> x21 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x20, x21, 0x0, (x19).get(), (arg1[1]));
  Box<Integer> x22 = new Box<Integer>((int)0);
  Box<Integer> x23 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x22, x23, (x20).get(), 0xffffffff);
  Box<Integer> x24 = new Box<Integer>((int)0);
  Box<Integer> x25 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x24, x25, (x22).get(), 0xffffffff);
  Box<Integer> x26 = new Box<Integer>((int)0);
  Box<Integer> x27 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x26, x27, (x22).get(), 0xffffffff);
  Box<Integer> x28 = new Box<Integer>((int)0);
  Box<Integer> x29 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x28, x29, (x22).get(), 0xffffffff);
  Box<Integer> x30 = new Box<Integer>((int)0);
  Box<Integer> x31 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x30, x31, (x22).get(), 0xffffffff);
  Box<Integer> x32 = new Box<Integer>((int)0);
  Box<Integer> x33 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x32, x33, 0x0, (x31).get(), (x28).get());
  Box<Integer> x34 = new Box<Integer>((int)0);
  Box<Integer> x35 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x34, x35, (x33).get(), (x29).get(), (x26).get());
  Box<Integer> x36 = new Box<Integer>((int)0);
  Box<Integer> x37 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x36, x37, (x35).get(), (x27).get(), (x24).get());
  Box<Integer> x38 = new Box<Integer>((int)0);
  Box<Integer> x39 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x38, x39, 0x0, (x12).get(), (x30).get());
  Box<Integer> x40 = new Box<Integer>((int)0);
  Box<Integer> x41 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x40, x41, (x39).get(), (x14).get(), (x32).get());
  Box<Integer> x42 = new Box<Integer>((int)0);
  Box<Integer> x43 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x42, x43, (x41).get(), (x16).get(), (x34).get());
  Box<Integer> x44 = new Box<Integer>((int)0);
  Box<Integer> x45 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x44, x45, (x43).get(), ((x17).get() + (x5).get()), (x36).get());
  Box<Integer> x46 = new Box<Integer>((int)0);
  Box<Integer> x47 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x46, x47, (x45).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), ((x37).get() + (x25).get()));
  Box<Integer> x48 = new Box<Integer>((int)0);
  Box<Integer> x49 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x48, x49, 0x0, (x20).get(), (x22).get());
  Box<Integer> x50 = new Box<Integer>((int)0);
  Box<Integer> x51 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x50, x51, 0x0, ((x49).get() + (x21).get()), (arg1[2]));
  Box<Integer> x52 = new Box<Integer>((int)0);
  Box<Integer> x53 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x52, x53, (x51).get(), (x10).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x54 = new Box<Integer>((int)0);
  Box<Integer> x55 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x54, x55, (x53).get(), (x38).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x56 = new Box<Integer>((int)0);
  Box<Integer> x57 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x56, x57, (x55).get(), (x40).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x58 = new Box<Integer>((int)0);
  Box<Integer> x59 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x58, x59, (x57).get(), (x42).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x60 = new Box<Integer>((int)0);
  Box<Integer> x61 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x60, x61, (x59).get(), (x44).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x62 = new Box<Integer>((int)0);
  Box<Integer> x63 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x62, x63, (x61).get(), (x46).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x64 = new Box<Integer>((int)0);
  Box<Integer> x65 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x64, x65, (x50).get(), 0xffffffff);
  Box<Integer> x66 = new Box<Integer>((int)0);
  Box<Integer> x67 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x66, x67, (x64).get(), 0xffffffff);
  Box<Integer> x68 = new Box<Integer>((int)0);
  Box<Integer> x69 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x68, x69, (x64).get(), 0xffffffff);
  Box<Integer> x70 = new Box<Integer>((int)0);
  Box<Integer> x71 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x70, x71, (x64).get(), 0xffffffff);
  Box<Integer> x72 = new Box<Integer>((int)0);
  Box<Integer> x73 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x72, x73, (x64).get(), 0xffffffff);
  Box<Integer> x74 = new Box<Integer>((int)0);
  Box<Integer> x75 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x74, x75, 0x0, (x73).get(), (x70).get());
  Box<Integer> x76 = new Box<Integer>((int)0);
  Box<Integer> x77 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x76, x77, (x75).get(), (x71).get(), (x68).get());
  Box<Integer> x78 = new Box<Integer>((int)0);
  Box<Integer> x79 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x78, x79, (x77).get(), (x69).get(), (x66).get());
  Box<Integer> x80 = new Box<Integer>((int)0);
  Box<Integer> x81 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x80, x81, 0x0, (x50).get(), (x64).get());
  Box<Integer> x82 = new Box<Integer>((int)0);
  Box<Integer> x83 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x82, x83, (x81).get(), (x52).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x84 = new Box<Integer>((int)0);
  Box<Integer> x85 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x84, x85, (x83).get(), (x54).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x86 = new Box<Integer>((int)0);
  Box<Integer> x87 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x86, x87, (x85).get(), (x56).get(), (x72).get());
  Box<Integer> x88 = new Box<Integer>((int)0);
  Box<Integer> x89 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x88, x89, (x87).get(), (x58).get(), (x74).get());
  Box<Integer> x90 = new Box<Integer>((int)0);
  Box<Integer> x91 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x90, x91, (x89).get(), (x60).get(), (x76).get());
  Box<Integer> x92 = new Box<Integer>((int)0);
  Box<Integer> x93 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x92, x93, (x91).get(), (x62).get(), (x78).get());
  Box<Integer> x94 = new Box<Integer>((int)0);
  Box<Integer> x95 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x94, x95, (x93).get(), ((x63).get() + (x47).get()), ((x79).get() + (x67).get()));
  Box<Integer> x96 = new Box<Integer>((int)0);
  Box<Integer> x97 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x96, x97, 0x0, (x82).get(), (arg1[3]));
  Box<Integer> x98 = new Box<Integer>((int)0);
  Box<Integer> x99 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x98, x99, (x97).get(), (x84).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x100 = new Box<Integer>((int)0);
  Box<Integer> x101 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x100, x101, (x99).get(), (x86).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x102 = new Box<Integer>((int)0);
  Box<Integer> x103 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x102, x103, (x101).get(), (x88).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x104 = new Box<Integer>((int)0);
  Box<Integer> x105 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x104, x105, (x103).get(), (x90).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x106 = new Box<Integer>((int)0);
  Box<Integer> x107 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x106, x107, (x105).get(), (x92).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x108 = new Box<Integer>((int)0);
  Box<Integer> x109 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x108, x109, (x107).get(), (x94).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x110 = new Box<Integer>((int)0);
  Box<Integer> x111 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x110, x111, (x96).get(), 0xffffffff);
  Box<Integer> x112 = new Box<Integer>((int)0);
  Box<Integer> x113 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x112, x113, (x110).get(), 0xffffffff);
  Box<Integer> x114 = new Box<Integer>((int)0);
  Box<Integer> x115 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x114, x115, (x110).get(), 0xffffffff);
  Box<Integer> x116 = new Box<Integer>((int)0);
  Box<Integer> x117 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x116, x117, (x110).get(), 0xffffffff);
  Box<Integer> x118 = new Box<Integer>((int)0);
  Box<Integer> x119 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x118, x119, (x110).get(), 0xffffffff);
  Box<Integer> x120 = new Box<Integer>((int)0);
  Box<Integer> x121 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x120, x121, 0x0, (x119).get(), (x116).get());
  Box<Integer> x122 = new Box<Integer>((int)0);
  Box<Integer> x123 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x122, x123, (x121).get(), (x117).get(), (x114).get());
  Box<Integer> x124 = new Box<Integer>((int)0);
  Box<Integer> x125 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x124, x125, (x123).get(), (x115).get(), (x112).get());
  Box<Integer> x126 = new Box<Integer>((int)0);
  Box<Integer> x127 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x126, x127, 0x0, (x96).get(), (x110).get());
  Box<Integer> x128 = new Box<Integer>((int)0);
  Box<Integer> x129 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x128, x129, (x127).get(), (x98).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x130 = new Box<Integer>((int)0);
  Box<Integer> x131 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x130, x131, (x129).get(), (x100).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x132 = new Box<Integer>((int)0);
  Box<Integer> x133 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x132, x133, (x131).get(), (x102).get(), (x118).get());
  Box<Integer> x134 = new Box<Integer>((int)0);
  Box<Integer> x135 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x134, x135, (x133).get(), (x104).get(), (x120).get());
  Box<Integer> x136 = new Box<Integer>((int)0);
  Box<Integer> x137 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x136, x137, (x135).get(), (x106).get(), (x122).get());
  Box<Integer> x138 = new Box<Integer>((int)0);
  Box<Integer> x139 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x138, x139, (x137).get(), (x108).get(), (x124).get());
  Box<Integer> x140 = new Box<Integer>((int)0);
  Box<Integer> x141 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x140, x141, (x139).get(), ((x109).get() + (x95).get()), ((x125).get() + (x113).get()));
  Box<Integer> x142 = new Box<Integer>((int)0);
  Box<Integer> x143 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x142, x143, 0x0, (x128).get(), (arg1[4]));
  Box<Integer> x144 = new Box<Integer>((int)0);
  Box<Integer> x145 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x144, x145, (x143).get(), (x130).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x146 = new Box<Integer>((int)0);
  Box<Integer> x147 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x146, x147, (x145).get(), (x132).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x148 = new Box<Integer>((int)0);
  Box<Integer> x149 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x148, x149, (x147).get(), (x134).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x150 = new Box<Integer>((int)0);
  Box<Integer> x151 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x150, x151, (x149).get(), (x136).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x152 = new Box<Integer>((int)0);
  Box<Integer> x153 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x152, x153, (x151).get(), (x138).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x154 = new Box<Integer>((int)0);
  Box<Integer> x155 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x154, x155, (x153).get(), (x140).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x156 = new Box<Integer>((int)0);
  Box<Integer> x157 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x156, x157, (x142).get(), 0xffffffff);
  Box<Integer> x158 = new Box<Integer>((int)0);
  Box<Integer> x159 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x158, x159, (x156).get(), 0xffffffff);
  Box<Integer> x160 = new Box<Integer>((int)0);
  Box<Integer> x161 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x160, x161, (x156).get(), 0xffffffff);
  Box<Integer> x162 = new Box<Integer>((int)0);
  Box<Integer> x163 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x162, x163, (x156).get(), 0xffffffff);
  Box<Integer> x164 = new Box<Integer>((int)0);
  Box<Integer> x165 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x164, x165, (x156).get(), 0xffffffff);
  Box<Integer> x166 = new Box<Integer>((int)0);
  Box<Integer> x167 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x166, x167, 0x0, (x165).get(), (x162).get());
  Box<Integer> x168 = new Box<Integer>((int)0);
  Box<Integer> x169 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x168, x169, (x167).get(), (x163).get(), (x160).get());
  Box<Integer> x170 = new Box<Integer>((int)0);
  Box<Integer> x171 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x170, x171, (x169).get(), (x161).get(), (x158).get());
  Box<Integer> x172 = new Box<Integer>((int)0);
  Box<Integer> x173 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x172, x173, 0x0, (x142).get(), (x156).get());
  Box<Integer> x174 = new Box<Integer>((int)0);
  Box<Integer> x175 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x174, x175, (x173).get(), (x144).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x176 = new Box<Integer>((int)0);
  Box<Integer> x177 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x176, x177, (x175).get(), (x146).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x178 = new Box<Integer>((int)0);
  Box<Integer> x179 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x178, x179, (x177).get(), (x148).get(), (x164).get());
  Box<Integer> x180 = new Box<Integer>((int)0);
  Box<Integer> x181 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x180, x181, (x179).get(), (x150).get(), (x166).get());
  Box<Integer> x182 = new Box<Integer>((int)0);
  Box<Integer> x183 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x182, x183, (x181).get(), (x152).get(), (x168).get());
  Box<Integer> x184 = new Box<Integer>((int)0);
  Box<Integer> x185 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x184, x185, (x183).get(), (x154).get(), (x170).get());
  Box<Integer> x186 = new Box<Integer>((int)0);
  Box<Integer> x187 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x186, x187, (x185).get(), ((x155).get() + (x141).get()), ((x171).get() + (x159).get()));
  Box<Integer> x188 = new Box<Integer>((int)0);
  Box<Integer> x189 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x188, x189, 0x0, (x174).get(), (arg1[5]));
  Box<Integer> x190 = new Box<Integer>((int)0);
  Box<Integer> x191 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x190, x191, (x189).get(), (x176).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x192 = new Box<Integer>((int)0);
  Box<Integer> x193 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x192, x193, (x191).get(), (x178).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x194 = new Box<Integer>((int)0);
  Box<Integer> x195 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x194, x195, (x193).get(), (x180).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x196 = new Box<Integer>((int)0);
  Box<Integer> x197 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x196, x197, (x195).get(), (x182).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x198 = new Box<Integer>((int)0);
  Box<Integer> x199 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x198, x199, (x197).get(), (x184).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x200 = new Box<Integer>((int)0);
  Box<Integer> x201 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x200, x201, (x199).get(), (x186).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x202 = new Box<Integer>((int)0);
  Box<Integer> x203 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x202, x203, (x188).get(), 0xffffffff);
  Box<Integer> x204 = new Box<Integer>((int)0);
  Box<Integer> x205 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x204, x205, (x202).get(), 0xffffffff);
  Box<Integer> x206 = new Box<Integer>((int)0);
  Box<Integer> x207 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x206, x207, (x202).get(), 0xffffffff);
  Box<Integer> x208 = new Box<Integer>((int)0);
  Box<Integer> x209 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x208, x209, (x202).get(), 0xffffffff);
  Box<Integer> x210 = new Box<Integer>((int)0);
  Box<Integer> x211 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x210, x211, (x202).get(), 0xffffffff);
  Box<Integer> x212 = new Box<Integer>((int)0);
  Box<Integer> x213 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x212, x213, 0x0, (x211).get(), (x208).get());
  Box<Integer> x214 = new Box<Integer>((int)0);
  Box<Integer> x215 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x214, x215, (x213).get(), (x209).get(), (x206).get());
  Box<Integer> x216 = new Box<Integer>((int)0);
  Box<Integer> x217 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x216, x217, (x215).get(), (x207).get(), (x204).get());
  Box<Integer> x218 = new Box<Integer>((int)0);
  Box<Integer> x219 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x218, x219, 0x0, (x188).get(), (x202).get());
  Box<Integer> x220 = new Box<Integer>((int)0);
  Box<Integer> x221 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x220, x221, (x219).get(), (x190).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x222 = new Box<Integer>((int)0);
  Box<Integer> x223 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x222, x223, (x221).get(), (x192).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x224 = new Box<Integer>((int)0);
  Box<Integer> x225 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x224, x225, (x223).get(), (x194).get(), (x210).get());
  Box<Integer> x226 = new Box<Integer>((int)0);
  Box<Integer> x227 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x226, x227, (x225).get(), (x196).get(), (x212).get());
  Box<Integer> x228 = new Box<Integer>((int)0);
  Box<Integer> x229 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x228, x229, (x227).get(), (x198).get(), (x214).get());
  Box<Integer> x230 = new Box<Integer>((int)0);
  Box<Integer> x231 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x230, x231, (x229).get(), (x200).get(), (x216).get());
  Box<Integer> x232 = new Box<Integer>((int)0);
  Box<Integer> x233 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x232, x233, (x231).get(), ((x201).get() + (x187).get()), ((x217).get() + (x205).get()));
  Box<Integer> x234 = new Box<Integer>((int)0);
  Box<Integer> x235 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x234, x235, 0x0, (x220).get(), (arg1[6]));
  Box<Integer> x236 = new Box<Integer>((int)0);
  Box<Integer> x237 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x236, x237, (x235).get(), (x222).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x238 = new Box<Integer>((int)0);
  Box<Integer> x239 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x238, x239, (x237).get(), (x224).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x240 = new Box<Integer>((int)0);
  Box<Integer> x241 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x240, x241, (x239).get(), (x226).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x242 = new Box<Integer>((int)0);
  Box<Integer> x243 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x242, x243, (x241).get(), (x228).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x244 = new Box<Integer>((int)0);
  Box<Integer> x245 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x244, x245, (x243).get(), (x230).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x246 = new Box<Integer>((int)0);
  Box<Integer> x247 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x246, x247, (x245).get(), (x232).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x248 = new Box<Integer>((int)0);
  Box<Integer> x249 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x248, x249, (x234).get(), 0xffffffff);
  Box<Integer> x250 = new Box<Integer>((int)0);
  Box<Integer> x251 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x250, x251, (x248).get(), 0xffffffff);
  Box<Integer> x252 = new Box<Integer>((int)0);
  Box<Integer> x253 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x252, x253, (x248).get(), 0xffffffff);
  Box<Integer> x254 = new Box<Integer>((int)0);
  Box<Integer> x255 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x254, x255, (x248).get(), 0xffffffff);
  Box<Integer> x256 = new Box<Integer>((int)0);
  Box<Integer> x257 = new Box<Integer>((int)0);
  fiat_P224_mulx_u32(x256, x257, (x248).get(), 0xffffffff);
  Box<Integer> x258 = new Box<Integer>((int)0);
  Box<Integer> x259 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x258, x259, 0x0, (x257).get(), (x254).get());
  Box<Integer> x260 = new Box<Integer>((int)0);
  Box<Integer> x261 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x260, x261, (x259).get(), (x255).get(), (x252).get());
  Box<Integer> x262 = new Box<Integer>((int)0);
  Box<Integer> x263 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x262, x263, (x261).get(), (x253).get(), (x250).get());
  Box<Integer> x264 = new Box<Integer>((int)0);
  Box<Integer> x265 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x264, x265, 0x0, (x234).get(), (x248).get());
  Box<Integer> x266 = new Box<Integer>((int)0);
  Box<Integer> x267 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x266, x267, (x265).get(), (x236).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x268 = new Box<Integer>((int)0);
  Box<Integer> x269 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x268, x269, (x267).get(), (x238).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x270 = new Box<Integer>((int)0);
  Box<Integer> x271 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x270, x271, (x269).get(), (x240).get(), (x256).get());
  Box<Integer> x272 = new Box<Integer>((int)0);
  Box<Integer> x273 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x272, x273, (x271).get(), (x242).get(), (x258).get());
  Box<Integer> x274 = new Box<Integer>((int)0);
  Box<Integer> x275 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x274, x275, (x273).get(), (x244).get(), (x260).get());
  Box<Integer> x276 = new Box<Integer>((int)0);
  Box<Integer> x277 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x276, x277, (x275).get(), (x246).get(), (x262).get());
  Box<Integer> x278 = new Box<Integer>((int)0);
  Box<Integer> x279 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x278, x279, (x277).get(), ((x247).get() + (x233).get()), ((x263).get() + (x251).get()));
  Box<Integer> x280 = new Box<Integer>((int)0);
  Box<Integer> x281 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x280, x281, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x266).get(), 0x1);
  Box<Integer> x282 = new Box<Integer>((int)0);
  Box<Integer> x283 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x282, x283, (x281).get(), (x268).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x284 = new Box<Integer>((int)0);
  Box<Integer> x285 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x284, x285, (x283).get(), (x270).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x286 = new Box<Integer>((int)0);
  Box<Integer> x287 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x286, x287, (x285).get(), (x272).get(), 0xffffffff);
  Box<Integer> x288 = new Box<Integer>((int)0);
  Box<Integer> x289 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x288, x289, (x287).get(), (x274).get(), 0xffffffff);
  Box<Integer> x290 = new Box<Integer>((int)0);
  Box<Integer> x291 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x290, x291, (x289).get(), (x276).get(), 0xffffffff);
  Box<Integer> x292 = new Box<Integer>((int)0);
  Box<Integer> x293 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x292, x293, (x291).get(), (x278).get(), 0xffffffff);
  Box<Integer> x294 = new Box<Integer>((int)0);
  Box<Integer> x295 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x294, x295, (x293).get(), (x279).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x296 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x296, (x295).get(), (x280).get(), (x266).get());
  Box<Integer> x297 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x297, (x295).get(), (x282).get(), (x268).get());
  Box<Integer> x298 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x298, (x295).get(), (x284).get(), (x270).get());
  Box<Integer> x299 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x299, (x295).get(), (x286).get(), (x272).get());
  Box<Integer> x300 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x300, (x295).get(), (x288).get(), (x274).get());
  Box<Integer> x301 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x301, (x295).get(), (x290).get(), (x276).get());
  Box<Integer> x302 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x302, (x295).get(), (x292).get(), (x278).get());
  out1[0] = (x296).get();
  out1[1] = (x297).get();
  out1[2] = (x298).get();
  out1[3] = (x299).get();
  out1[4] = (x300).get();
  out1[5] = (x301).get();
  out1[6] = (x302).get();
}

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

/**
 * The function fiat_P224_nonzero outputs a single non-zero word if the input is non-zero and zero otherwise. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ eval arg1 &lt; m <p>
 * Postconditions: <p>
 *   out1 = 0 ↔ eval (from_montgomery arg1) mod m = 0 <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [0x0 ~&gt; 0xffffffff] <p>
 */
public static void fiat_P224_nonzero(Box<Integer> out1, final int[] arg1) {
  int x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | ((arg1[3]) | ((arg1[4]) | ((arg1[5]) | (arg1[6])))))));
  out1.set(x1);
}

/**
 * The function fiat_P224_selectznz is a multi-limb conditional select. <p>
 * <p>
 * Postconditions: <p>
 *   out1 = (if arg1 = 0 then arg2 else arg3) <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [0x0 ~&gt; 0x1] <p>
 *   arg2: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   arg3: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_selectznz(int[] out1, int arg1, final int[] arg2, final int[] arg3) {
  Box<Integer> x1 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x1, arg1, (arg2[0]), (arg3[0]));
  Box<Integer> x2 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x2, arg1, (arg2[1]), (arg3[1]));
  Box<Integer> x3 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x3, arg1, (arg2[2]), (arg3[2]));
  Box<Integer> x4 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x4, arg1, (arg2[3]), (arg3[3]));
  Box<Integer> x5 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x5, arg1, (arg2[4]), (arg3[4]));
  Box<Integer> x6 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x6, arg1, (arg2[5]), (arg3[5]));
  Box<Integer> x7 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x7, arg1, (arg2[6]), (arg3[6]));
  out1[0] = (x1).get();
  out1[1] = (x2).get();
  out1[2] = (x3).get();
  out1[3] = (x4).get();
  out1[4] = (x5).get();
  out1[5] = (x6).get();
  out1[6] = (x7).get();
}

/**
 * The function fiat_P224_to_bytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ eval arg1 &lt; m <p>
 * Postconditions: <p>
 *   out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..27] <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff]] <p>
 */
public static void fiat_P224_to_bytes(int[] out1, final int[] arg1) {
  int x1 = (arg1[6]);
  int x2 = (arg1[5]);
  int x3 = (arg1[4]);
  int x4 = (arg1[3]);
  int x5 = (arg1[2]);
  int x6 = (arg1[1]);
  int x7 = (arg1[0]);
  int x8 = (x7 & 0xff);
  int x9 = (x7 >>> 8);
  int x10 = (x9 & 0xff);
  int x11 = (x9 >>> 8);
  int x12 = (x11 & 0xff);
  int x13 = (x11 >>> 8);
  int x14 = (x6 & 0xff);
  int x15 = (x6 >>> 8);
  int x16 = (x15 & 0xff);
  int x17 = (x15 >>> 8);
  int x18 = (x17 & 0xff);
  int x19 = (x17 >>> 8);
  int x20 = (x5 & 0xff);
  int x21 = (x5 >>> 8);
  int x22 = (x21 & 0xff);
  int x23 = (x21 >>> 8);
  int x24 = (x23 & 0xff);
  int x25 = (x23 >>> 8);
  int x26 = (x4 & 0xff);
  int x27 = (x4 >>> 8);
  int x28 = (x27 & 0xff);
  int x29 = (x27 >>> 8);
  int x30 = (x29 & 0xff);
  int x31 = (x29 >>> 8);
  int x32 = (x3 & 0xff);
  int x33 = (x3 >>> 8);
  int x34 = (x33 & 0xff);
  int x35 = (x33 >>> 8);
  int x36 = (x35 & 0xff);
  int x37 = (x35 >>> 8);
  int x38 = (x2 & 0xff);
  int x39 = (x2 >>> 8);
  int x40 = (x39 & 0xff);
  int x41 = (x39 >>> 8);
  int x42 = (x41 & 0xff);
  int x43 = (x41 >>> 8);
  int x44 = (x1 & 0xff);
  int x45 = (x1 >>> 8);
  int x46 = (x45 & 0xff);
  int x47 = (x45 >>> 8);
  int x48 = (x47 & 0xff);
  int x49 = (x47 >>> 8);
  out1[0] = x8;
  out1[1] = x10;
  out1[2] = x12;
  out1[3] = x13;
  out1[4] = x14;
  out1[5] = x16;
  out1[6] = x18;
  out1[7] = x19;
  out1[8] = x20;
  out1[9] = x22;
  out1[10] = x24;
  out1[11] = x25;
  out1[12] = x26;
  out1[13] = x28;
  out1[14] = x30;
  out1[15] = x31;
  out1[16] = x32;
  out1[17] = x34;
  out1[18] = x36;
  out1[19] = x37;
  out1[20] = x38;
  out1[21] = x40;
  out1[22] = x42;
  out1[23] = x43;
  out1[24] = x44;
  out1[25] = x46;
  out1[26] = x48;
  out1[27] = x49;
}

/**
 * The function fiat_P224_from_bytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ bytes_eval arg1 &lt; m <p>
 * Postconditions: <p>
 *   eval out1 mod m = bytes_eval arg1 mod m <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [[0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff], [0x0 ~&gt; 0xff]] <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_from_bytes(int[] out1, final int[] arg1) {
  int x1 = ((arg1[27]) << 24);
  int x2 = ((arg1[26]) << 16);
  int x3 = ((arg1[25]) << 8);
  int x4 = (arg1[24]);
  int x5 = ((arg1[23]) << 24);
  int x6 = ((arg1[22]) << 16);
  int x7 = ((arg1[21]) << 8);
  int x8 = (arg1[20]);
  int x9 = ((arg1[19]) << 24);
  int x10 = ((arg1[18]) << 16);
  int x11 = ((arg1[17]) << 8);
  int x12 = (arg1[16]);
  int x13 = ((arg1[15]) << 24);
  int x14 = ((arg1[14]) << 16);
  int x15 = ((arg1[13]) << 8);
  int x16 = (arg1[12]);
  int x17 = ((arg1[11]) << 24);
  int x18 = ((arg1[10]) << 16);
  int x19 = ((arg1[9]) << 8);
  int x20 = (arg1[8]);
  int x21 = ((arg1[7]) << 24);
  int x22 = ((arg1[6]) << 16);
  int x23 = ((arg1[5]) << 8);
  int x24 = (arg1[4]);
  int x25 = ((arg1[3]) << 24);
  int x26 = ((arg1[2]) << 16);
  int x27 = ((arg1[1]) << 8);
  int x28 = (arg1[0]);
  int x29 = (x27 + x28);
  int x30 = (x26 + x29);
  int x31 = (x25 + x30);
  int x32 = (x23 + x24);
  int x33 = (x22 + x32);
  int x34 = (x21 + x33);
  int x35 = (x19 + x20);
  int x36 = (x18 + x35);
  int x37 = (x17 + x36);
  int x38 = (x15 + x16);
  int x39 = (x14 + x38);
  int x40 = (x13 + x39);
  int x41 = (x11 + x12);
  int x42 = (x10 + x41);
  int x43 = (x9 + x42);
  int x44 = (x7 + x8);
  int x45 = (x6 + x44);
  int x46 = (x5 + x45);
  int x47 = (x3 + x4);
  int x48 = (x2 + x47);
  int x49 = (x1 + x48);
  out1[0] = x31;
  out1[1] = x34;
  out1[2] = x37;
  out1[3] = x40;
  out1[4] = x43;
  out1[5] = x46;
  out1[6] = x49;
}

/**
 * The function fiat_P224_set_one returns the field element one in the Montgomery domain. <p>
 * <p>
 * Postconditions: <p>
 *   eval (from_montgomery out1) mod m = 1 mod m <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_set_one(int[] out1) {
  out1[0] = 0xffffffff;
  out1[1] = 0xffffffff;
  out1[2] = 0xffffffff;
  out1[3] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
  out1[4] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
  out1[5] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
  out1[6] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
}

/**
 * The function fiat_P224_msat returns the saturated representation of the prime modulus. <p>
 * <p>
 * Postconditions: <p>
 *   twos_complement_eval out1 = m <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_msat(int[] out1) {
  out1[0] = 0x1;
  out1[1] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
  out1[2] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
  out1[3] = 0xffffffff;
  out1[4] = 0xffffffff;
  out1[5] = 0xffffffff;
  out1[6] = 0xffffffff;
  out1[7] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
}

/**
 * The function fiat_P224_divstep computes a divstep. <p>
 * <p>
 * Preconditions: <p>
 *   0 ≤ eval arg4 &lt; m <p>
 *   0 ≤ eval arg5 &lt; m <p>
 * Postconditions: <p>
 *   out1 = (if 0 &lt; arg1 ∧ (twos_complement_eval arg3) is odd then 1 - arg1 else 1 + arg1) <p>
 *   twos_complement_eval out2 = (if 0 &lt; arg1 ∧ (twos_complement_eval arg3) is odd then twos_complement_eval arg3 else twos_complement_eval arg2) <p>
 *   twos_complement_eval out3 = (if 0 &lt; arg1 ∧ (twos_complement_eval arg3) is odd then ⌊(twos_complement_eval arg3 - twos_complement_eval arg2) / 2⌋ else ⌊(twos_complement_eval arg3 + (twos_complement_eval arg3 mod 2) * twos_complement_eval arg2) / 2⌋) <p>
 *   eval (from_montgomery out4) mod m = (if 0 &lt; arg1 ∧ (twos_complement_eval arg3) is odd then (2 * eval (from_montgomery arg5)) mod m else (2 * eval (from_montgomery arg4)) mod m) <p>
 *   eval (from_montgomery out5) mod m = (if 0 &lt; arg1 ∧ (twos_complement_eval arg3) is odd then (eval (from_montgomery arg4) - eval (from_montgomery arg4)) mod m else (eval (from_montgomery arg5) + (twos_complement_eval arg3 mod 2) * eval (from_montgomery arg4)) mod m) <p>
 *   0 ≤ eval out5 &lt; m <p>
 *   0 ≤ eval out5 &lt; m <p>
 *   0 ≤ eval out2 &lt; m <p>
 *   0 ≤ eval out3 &lt; m <p>
 * <p>
 * Input Bounds: <p>
 *   arg1: [0x0 ~&gt; 0xffffffff] <p>
 *   arg2: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   arg3: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   arg4: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   arg5: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 * Output Bounds: <p>
 *   out1: [0x0 ~&gt; 0xffffffff] <p>
 *   out2: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   out3: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   out4: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 *   out5: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_divstep(Box<Integer> out1, int[] out2, int[] out3, int[] out4, int[] out5, int arg1, final int[] arg2, final int[] arg3, final int[] arg4, final int[] arg5) {
  Box<Integer> x1 = new Box<Integer>((int)0);
  Box<Integer> x2 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x1, x2, 0x0, (~arg1), 0x1);
  int x3 = (((x1).get() >>> 31) & ((arg3[0]) & 0x1));
  Box<Integer> x4 = new Box<Integer>((int)0);
  Box<Integer> x5 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x4, x5, 0x0, (~arg1), 0x1);
  Box<Integer> x6 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x6, x3, arg1, (x4).get());
  Box<Integer> x7 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x7, x3, (arg2[0]), (arg3[0]));
  Box<Integer> x8 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x8, x3, (arg2[1]), (arg3[1]));
  Box<Integer> x9 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x9, x3, (arg2[2]), (arg3[2]));
  Box<Integer> x10 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x10, x3, (arg2[3]), (arg3[3]));
  Box<Integer> x11 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x11, x3, (arg2[4]), (arg3[4]));
  Box<Integer> x12 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x12, x3, (arg2[5]), (arg3[5]));
  Box<Integer> x13 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x13, x3, (arg2[6]), (arg3[6]));
  Box<Integer> x14 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x14, x3, (arg2[7]), (arg3[7]));
  Box<Integer> x15 = new Box<Integer>((int)0);
  Box<Integer> x16 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x15, x16, 0x0, 0x1, (~(arg2[0])));
  Box<Integer> x17 = new Box<Integer>((int)0);
  Box<Integer> x18 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x17, x18, (x16).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (~(arg2[1])));
  Box<Integer> x19 = new Box<Integer>((int)0);
  Box<Integer> x20 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x19, x20, (x18).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (~(arg2[2])));
  Box<Integer> x21 = new Box<Integer>((int)0);
  Box<Integer> x22 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x21, x22, (x20).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (~(arg2[3])));
  Box<Integer> x23 = new Box<Integer>((int)0);
  Box<Integer> x24 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x23, x24, (x22).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (~(arg2[4])));
  Box<Integer> x25 = new Box<Integer>((int)0);
  Box<Integer> x26 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x25, x26, (x24).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (~(arg2[5])));
  Box<Integer> x27 = new Box<Integer>((int)0);
  Box<Integer> x28 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x27, x28, (x26).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (~(arg2[6])));
  Box<Integer> x29 = new Box<Integer>((int)0);
  Box<Integer> x30 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x29, x30, (x28).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (~(arg2[7])));
  Box<Integer> x31 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x31, x3, (arg3[0]), (x15).get());
  Box<Integer> x32 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x32, x3, (arg3[1]), (x17).get());
  Box<Integer> x33 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x33, x3, (arg3[2]), (x19).get());
  Box<Integer> x34 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x34, x3, (arg3[3]), (x21).get());
  Box<Integer> x35 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x35, x3, (arg3[4]), (x23).get());
  Box<Integer> x36 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x36, x3, (arg3[5]), (x25).get());
  Box<Integer> x37 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x37, x3, (arg3[6]), (x27).get());
  Box<Integer> x38 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x38, x3, (arg3[7]), (x29).get());
  Box<Integer> x39 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x39, x3, (arg4[0]), (arg5[0]));
  Box<Integer> x40 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x40, x3, (arg4[1]), (arg5[1]));
  Box<Integer> x41 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x41, x3, (arg4[2]), (arg5[2]));
  Box<Integer> x42 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x42, x3, (arg4[3]), (arg5[3]));
  Box<Integer> x43 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x43, x3, (arg4[4]), (arg5[4]));
  Box<Integer> x44 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x44, x3, (arg4[5]), (arg5[5]));
  Box<Integer> x45 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x45, x3, (arg4[6]), (arg5[6]));
  Box<Integer> x46 = new Box<Integer>((int)0);
  Box<Integer> x47 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x46, x47, 0x0, (x39).get(), (x39).get());
  Box<Integer> x48 = new Box<Integer>((int)0);
  Box<Integer> x49 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x48, x49, (x47).get(), (x40).get(), (x40).get());
  Box<Integer> x50 = new Box<Integer>((int)0);
  Box<Integer> x51 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x50, x51, (x49).get(), (x41).get(), (x41).get());
  Box<Integer> x52 = new Box<Integer>((int)0);
  Box<Integer> x53 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x52, x53, (x51).get(), (x42).get(), (x42).get());
  Box<Integer> x54 = new Box<Integer>((int)0);
  Box<Integer> x55 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x54, x55, (x53).get(), (x43).get(), (x43).get());
  Box<Integer> x56 = new Box<Integer>((int)0);
  Box<Integer> x57 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x56, x57, (x55).get(), (x44).get(), (x44).get());
  Box<Integer> x58 = new Box<Integer>((int)0);
  Box<Integer> x59 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x58, x59, (x57).get(), (x45).get(), (x45).get());
  Box<Integer> x60 = new Box<Integer>((int)0);
  Box<Integer> x61 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x60, x61, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x46).get(), 0x1);
  Box<Integer> x62 = new Box<Integer>((int)0);
  Box<Integer> x63 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x62, x63, (x61).get(), (x48).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x64 = new Box<Integer>((int)0);
  Box<Integer> x65 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x64, x65, (x63).get(), (x50).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x66 = new Box<Integer>((int)0);
  Box<Integer> x67 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x66, x67, (x65).get(), (x52).get(), 0xffffffff);
  Box<Integer> x68 = new Box<Integer>((int)0);
  Box<Integer> x69 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x68, x69, (x67).get(), (x54).get(), 0xffffffff);
  Box<Integer> x70 = new Box<Integer>((int)0);
  Box<Integer> x71 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x70, x71, (x69).get(), (x56).get(), 0xffffffff);
  Box<Integer> x72 = new Box<Integer>((int)0);
  Box<Integer> x73 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x72, x73, (x71).get(), (x58).get(), 0xffffffff);
  Box<Integer> x74 = new Box<Integer>((int)0);
  Box<Integer> x75 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x74, x75, (x73).get(), (x59).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  int x76 = (arg4[6]);
  int x77 = (arg4[5]);
  int x78 = (arg4[4]);
  int x79 = (arg4[3]);
  int x80 = (arg4[2]);
  int x81 = (arg4[1]);
  int x82 = (arg4[0]);
  Box<Integer> x83 = new Box<Integer>((int)0);
  Box<Integer> x84 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x83, x84, 0x0, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), x82);
  Box<Integer> x85 = new Box<Integer>((int)0);
  Box<Integer> x86 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x85, x86, (x84).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), x81);
  Box<Integer> x87 = new Box<Integer>((int)0);
  Box<Integer> x88 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x87, x88, (x86).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), x80);
  Box<Integer> x89 = new Box<Integer>((int)0);
  Box<Integer> x90 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x89, x90, (x88).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), x79);
  Box<Integer> x91 = new Box<Integer>((int)0);
  Box<Integer> x92 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x91, x92, (x90).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), x78);
  Box<Integer> x93 = new Box<Integer>((int)0);
  Box<Integer> x94 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x93, x94, (x92).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), x77);
  Box<Integer> x95 = new Box<Integer>((int)0);
  Box<Integer> x96 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x95, x96, (x94).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), x76);
  Box<Integer> x97 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x97, (x96).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), 0xffffffff);
  Box<Integer> x98 = new Box<Integer>((int)0);
  Box<Integer> x99 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x98, x99, 0x0, (x83).get(), ((x97).get() & 0x1));
  Box<Integer> x100 = new Box<Integer>((int)0);
  Box<Integer> x101 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x100, x101, (x99).get(), (x85).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x102 = new Box<Integer>((int)0);
  Box<Integer> x103 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x102, x103, (x101).get(), (x87).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x104 = new Box<Integer>((int)0);
  Box<Integer> x105 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x104, x105, (x103).get(), (x89).get(), (x97).get());
  Box<Integer> x106 = new Box<Integer>((int)0);
  Box<Integer> x107 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x106, x107, (x105).get(), (x91).get(), (x97).get());
  Box<Integer> x108 = new Box<Integer>((int)0);
  Box<Integer> x109 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x108, x109, (x107).get(), (x93).get(), (x97).get());
  Box<Integer> x110 = new Box<Integer>((int)0);
  Box<Integer> x111 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x110, x111, (x109).get(), (x95).get(), (x97).get());
  Box<Integer> x112 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x112, x3, (arg5[0]), (x98).get());
  Box<Integer> x113 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x113, x3, (arg5[1]), (x100).get());
  Box<Integer> x114 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x114, x3, (arg5[2]), (x102).get());
  Box<Integer> x115 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x115, x3, (arg5[3]), (x104).get());
  Box<Integer> x116 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x116, x3, (arg5[4]), (x106).get());
  Box<Integer> x117 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x117, x3, (arg5[5]), (x108).get());
  Box<Integer> x118 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x118, x3, (arg5[6]), (x110).get());
  int x119 = ((x31).get() & 0x1);
  Box<Integer> x120 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x120, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x7).get());
  Box<Integer> x121 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x121, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x8).get());
  Box<Integer> x122 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x122, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x9).get());
  Box<Integer> x123 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x123, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x10).get());
  Box<Integer> x124 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x124, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x11).get());
  Box<Integer> x125 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x125, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x12).get());
  Box<Integer> x126 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x126, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x13).get());
  Box<Integer> x127 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x127, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x14).get());
  Box<Integer> x128 = new Box<Integer>((int)0);
  Box<Integer> x129 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x128, x129, 0x0, (x31).get(), (x120).get());
  Box<Integer> x130 = new Box<Integer>((int)0);
  Box<Integer> x131 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x130, x131, (x129).get(), (x32).get(), (x121).get());
  Box<Integer> x132 = new Box<Integer>((int)0);
  Box<Integer> x133 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x132, x133, (x131).get(), (x33).get(), (x122).get());
  Box<Integer> x134 = new Box<Integer>((int)0);
  Box<Integer> x135 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x134, x135, (x133).get(), (x34).get(), (x123).get());
  Box<Integer> x136 = new Box<Integer>((int)0);
  Box<Integer> x137 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x136, x137, (x135).get(), (x35).get(), (x124).get());
  Box<Integer> x138 = new Box<Integer>((int)0);
  Box<Integer> x139 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x138, x139, (x137).get(), (x36).get(), (x125).get());
  Box<Integer> x140 = new Box<Integer>((int)0);
  Box<Integer> x141 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x140, x141, (x139).get(), (x37).get(), (x126).get());
  Box<Integer> x142 = new Box<Integer>((int)0);
  Box<Integer> x143 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x142, x143, (x141).get(), (x38).get(), (x127).get());
  Box<Integer> x144 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x144, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x39).get());
  Box<Integer> x145 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x145, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x40).get());
  Box<Integer> x146 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x146, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x41).get());
  Box<Integer> x147 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x147, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x42).get());
  Box<Integer> x148 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x148, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x43).get());
  Box<Integer> x149 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x149, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x44).get());
  Box<Integer> x150 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x150, x119, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x45).get());
  Box<Integer> x151 = new Box<Integer>((int)0);
  Box<Integer> x152 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x151, x152, 0x0, (x112).get(), (x144).get());
  Box<Integer> x153 = new Box<Integer>((int)0);
  Box<Integer> x154 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x153, x154, (x152).get(), (x113).get(), (x145).get());
  Box<Integer> x155 = new Box<Integer>((int)0);
  Box<Integer> x156 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x155, x156, (x154).get(), (x114).get(), (x146).get());
  Box<Integer> x157 = new Box<Integer>((int)0);
  Box<Integer> x158 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x157, x158, (x156).get(), (x115).get(), (x147).get());
  Box<Integer> x159 = new Box<Integer>((int)0);
  Box<Integer> x160 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x159, x160, (x158).get(), (x116).get(), (x148).get());
  Box<Integer> x161 = new Box<Integer>((int)0);
  Box<Integer> x162 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x161, x162, (x160).get(), (x117).get(), (x149).get());
  Box<Integer> x163 = new Box<Integer>((int)0);
  Box<Integer> x164 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x163, x164, (x162).get(), (x118).get(), (x150).get());
  Box<Integer> x165 = new Box<Integer>((int)0);
  Box<Integer> x166 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x165, x166, (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()), (x151).get(), 0x1);
  Box<Integer> x167 = new Box<Integer>((int)0);
  Box<Integer> x168 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x167, x168, (x166).get(), (x153).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x169 = new Box<Integer>((int)0);
  Box<Integer> x170 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x169, x170, (x168).get(), (x155).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x171 = new Box<Integer>((int)0);
  Box<Integer> x172 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x171, x172, (x170).get(), (x157).get(), 0xffffffff);
  Box<Integer> x173 = new Box<Integer>((int)0);
  Box<Integer> x174 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x173, x174, (x172).get(), (x159).get(), 0xffffffff);
  Box<Integer> x175 = new Box<Integer>((int)0);
  Box<Integer> x176 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x175, x176, (x174).get(), (x161).get(), 0xffffffff);
  Box<Integer> x177 = new Box<Integer>((int)0);
  Box<Integer> x178 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x177, x178, (x176).get(), (x163).get(), 0xffffffff);
  Box<Integer> x179 = new Box<Integer>((int)0);
  Box<Integer> x180 = new Box<Integer>((int)0);
  fiat_P224_subborrowx_u32(x179, x180, (x178).get(), (x164).get(), (int) Integer.toUnsignedLong(((Number) (0x0)).intValue()));
  Box<Integer> x181 = new Box<Integer>((int)0);
  Box<Integer> x182 = new Box<Integer>((int)0);
  fiat_P224_addcarryx_u32(x181, x182, 0x0, (x6).get(), 0x1);
  int x183 = (((x128).get() >>> 1) | (((x130).get() << 31) & 0xffffffff));
  int x184 = (((x130).get() >>> 1) | (((x132).get() << 31) & 0xffffffff));
  int x185 = (((x132).get() >>> 1) | (((x134).get() << 31) & 0xffffffff));
  int x186 = (((x134).get() >>> 1) | (((x136).get() << 31) & 0xffffffff));
  int x187 = (((x136).get() >>> 1) | (((x138).get() << 31) & 0xffffffff));
  int x188 = (((x138).get() >>> 1) | (((x140).get() << 31) & 0xffffffff));
  int x189 = (((x140).get() >>> 1) | (((x142).get() << 31) & 0xffffffff));
  int x190 = (((x142).get() & 0x80000000) | ((x142).get() >>> 1));
  Box<Integer> x191 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x191, (x75).get(), (x60).get(), (x46).get());
  Box<Integer> x192 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x192, (x75).get(), (x62).get(), (x48).get());
  Box<Integer> x193 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x193, (x75).get(), (x64).get(), (x50).get());
  Box<Integer> x194 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x194, (x75).get(), (x66).get(), (x52).get());
  Box<Integer> x195 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x195, (x75).get(), (x68).get(), (x54).get());
  Box<Integer> x196 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x196, (x75).get(), (x70).get(), (x56).get());
  Box<Integer> x197 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x197, (x75).get(), (x72).get(), (x58).get());
  Box<Integer> x198 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x198, (x180).get(), (x165).get(), (x151).get());
  Box<Integer> x199 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x199, (x180).get(), (x167).get(), (x153).get());
  Box<Integer> x200 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x200, (x180).get(), (x169).get(), (x155).get());
  Box<Integer> x201 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x201, (x180).get(), (x171).get(), (x157).get());
  Box<Integer> x202 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x202, (x180).get(), (x173).get(), (x159).get());
  Box<Integer> x203 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x203, (x180).get(), (x175).get(), (x161).get());
  Box<Integer> x204 = new Box<Integer>((int)0);
  fiat_P224_cmovznz_u32(x204, (x180).get(), (x177).get(), (x163).get());
  out1.set((x181).get());
  out2[0] = (x7).get();
  out2[1] = (x8).get();
  out2[2] = (x9).get();
  out2[3] = (x10).get();
  out2[4] = (x11).get();
  out2[5] = (x12).get();
  out2[6] = (x13).get();
  out2[7] = (x14).get();
  out3[0] = x183;
  out3[1] = x184;
  out3[2] = x185;
  out3[3] = x186;
  out3[4] = x187;
  out3[5] = x188;
  out3[6] = x189;
  out3[7] = x190;
  out4[0] = (x191).get();
  out4[1] = (x192).get();
  out4[2] = (x193).get();
  out4[3] = (x194).get();
  out4[4] = (x195).get();
  out4[5] = (x196).get();
  out4[6] = (x197).get();
  out5[0] = (x198).get();
  out5[1] = (x199).get();
  out5[2] = (x200).get();
  out5[3] = (x201).get();
  out5[4] = (x202).get();
  out5[5] = (x203).get();
  out5[6] = (x204).get();
}

/**
 * The function fiat_P224_divstep_precomp returns the precomputed value for Bernstein-Yang-inversion (in montgomery form). <p>
 * <p>
 * Postconditions: <p>
 *   eval (from_montgomery out1) = ⌊(m - 1) / 2⌋^(if ⌊log2 m⌋ + 1 &lt; 46 then ⌊(49 * (⌊log2 m⌋ + 1) + 80) / 17⌋ else ⌊(49 * (⌊log2 m⌋ + 1) + 57) / 17⌋) <p>
 *   0 ≤ eval out1 &lt; m <p>
 * <p>
 * Output Bounds: <p>
 *   out1: [[0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff], [0x0 ~&gt; 0xffffffff]] <p>
 */
public static void fiat_P224_divstep_precomp(int[] out1) {
  out1[0] = 0x800000;
  out1[1] = 0x800000;
  out1[2] = 0xfe000000;
  out1[3] = 0xffffff;
  out1[4] = (int) Integer.toUnsignedLong(((Number) (0x0)).intValue());
  out1[5] = 0xff800000;
  out1[6] = 0x17fffff;
}

}
