Source file src/crypto/internal/fips140/nistec/fiat/p521_fiat64.go

     1  // Code generated by Fiat Cryptography. DO NOT EDIT.
     2  //
     3  // Autogenerated: word_by_word_montgomery --lang Go --no-wide-int --cmovznz-by-mul --relax-primitive-carry-to-bitwidth 32,64 --internal-static --public-function-case camelCase --public-type-case camelCase --private-function-case camelCase --private-type-case camelCase --doc-text-before-function-name '' --doc-newline-before-package-declaration --doc-prepend-header 'Code generated by Fiat Cryptography. DO NOT EDIT.' --package-name fiat --no-prefix-fiat p521 64 '2^521 - 1' mul square add sub one from_montgomery to_montgomery selectznz to_bytes from_bytes
     4  //
     5  // curve description: p521
     6  //
     7  // machine_wordsize = 64 (from "64")
     8  //
     9  // requested operations: mul, square, add, sub, one, from_montgomery, to_montgomery, selectznz, to_bytes, from_bytes
    10  //
    11  // m = 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff (from "2^521 - 1")
    12  //
    13  //
    14  //
    15  // NOTE: In addition to the bounds specified above each function, all
    16  //
    17  //   functions synthesized for this Montgomery arithmetic require the
    18  //
    19  //   input to be strictly less than the prime modulus (m), and also
    20  //
    21  //   require the input to be in the unique saturated representation.
    22  //
    23  //   All functions also ensure that these two properties are true of
    24  //
    25  //   return values.
    26  //
    27  //
    28  //
    29  // Computed values:
    30  //
    31  //   eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) + (z[4] << 256) + (z[5] << 0x140) + (z[6] << 0x180) + (z[7] << 0x1c0) + (z[8] << 2^9)
    32  //
    33  //   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) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248) + (z[32] << 256) + (z[33] << 0x108) + (z[34] << 0x110) + (z[35] << 0x118) + (z[36] << 0x120) + (z[37] << 0x128) + (z[38] << 0x130) + (z[39] << 0x138) + (z[40] << 0x140) + (z[41] << 0x148) + (z[42] << 0x150) + (z[43] << 0x158) + (z[44] << 0x160) + (z[45] << 0x168) + (z[46] << 0x170) + (z[47] << 0x178) + (z[48] << 0x180) + (z[49] << 0x188) + (z[50] << 0x190) + (z[51] << 0x198) + (z[52] << 0x1a0) + (z[53] << 0x1a8) + (z[54] << 0x1b0) + (z[55] << 0x1b8) + (z[56] << 0x1c0) + (z[57] << 0x1c8) + (z[58] << 0x1d0) + (z[59] << 0x1d8) + (z[60] << 0x1e0) + (z[61] << 0x1e8) + (z[62] << 0x1f0) + (z[63] << 0x1f8) + (z[64] << 2^9) + (z[65] << 0x208)
    34  //
    35  //   twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) + (z[4] << 256) + (z[5] << 0x140) + (z[6] << 0x180) + (z[7] << 0x1c0) + (z[8] << 2^9) in
    36  //
    37  //                            if x1 & (2^576-1) < 2^575 then x1 & (2^576-1) else (x1 & (2^576-1)) - 2^576
    38  
    39  package fiat
    40  
    41  import "math/bits"
    42  
    43  type p521Uint1 uint64 // We use uint64 instead of a more narrow type for performance reasons; see https://github.com/mit-plv/fiat-crypto/pull/1006#issuecomment-892625927
    44  type p521Int1 int64   // We use uint64 instead of a more narrow type for performance reasons; see https://github.com/mit-plv/fiat-crypto/pull/1006#issuecomment-892625927
    45  
    46  // The type p521MontgomeryDomainFieldElement is a field element in the Montgomery domain.
    47  //
    48  // Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
    49  type p521MontgomeryDomainFieldElement [9]uint64
    50  
    51  // The type p521NonMontgomeryDomainFieldElement is a field element NOT in the Montgomery domain.
    52  //
    53  // Bounds: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
    54  type p521NonMontgomeryDomainFieldElement [9]uint64
    55  
    56  // p521CmovznzU64 is a single-word conditional move.
    57  //
    58  // Postconditions:
    59  //
    60  //	out1 = (if arg1 = 0 then arg2 else arg3)
    61  //
    62  // Input Bounds:
    63  //
    64  //	arg1: [0x0 ~> 0x1]
    65  //	arg2: [0x0 ~> 0xffffffffffffffff]
    66  //	arg3: [0x0 ~> 0xffffffffffffffff]
    67  //
    68  // Output Bounds:
    69  //
    70  //	out1: [0x0 ~> 0xffffffffffffffff]
    71  func p521CmovznzU64(out1 *uint64, arg1 p521Uint1, arg2 uint64, arg3 uint64) {
    72  	x1 := (uint64(arg1) * 0xffffffffffffffff)
    73  	x2 := ((x1 & arg3) | ((^x1) & arg2))
    74  	*out1 = x2
    75  }
    76  
    77  // p521Mul multiplies two field elements in the Montgomery domain.
    78  //
    79  // Preconditions:
    80  //
    81  //	0 ≤ eval arg1 < m
    82  //	0 ≤ eval arg2 < m
    83  //
    84  // Postconditions:
    85  //
    86  //	eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg2)) mod m
    87  //	0 ≤ eval out1 < m
    88  func p521Mul(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement, arg2 *p521MontgomeryDomainFieldElement) {
    89  	x1 := arg1[1]
    90  	x2 := arg1[2]
    91  	x3 := arg1[3]
    92  	x4 := arg1[4]
    93  	x5 := arg1[5]
    94  	x6 := arg1[6]
    95  	x7 := arg1[7]
    96  	x8 := arg1[8]
    97  	x9 := arg1[0]
    98  	var x10 uint64
    99  	var x11 uint64
   100  	x11, x10 = bits.Mul64(x9, arg2[8])
   101  	var x12 uint64
   102  	var x13 uint64
   103  	x13, x12 = bits.Mul64(x9, arg2[7])
   104  	var x14 uint64
   105  	var x15 uint64
   106  	x15, x14 = bits.Mul64(x9, arg2[6])
   107  	var x16 uint64
   108  	var x17 uint64
   109  	x17, x16 = bits.Mul64(x9, arg2[5])
   110  	var x18 uint64
   111  	var x19 uint64
   112  	x19, x18 = bits.Mul64(x9, arg2[4])
   113  	var x20 uint64
   114  	var x21 uint64
   115  	x21, x20 = bits.Mul64(x9, arg2[3])
   116  	var x22 uint64
   117  	var x23 uint64
   118  	x23, x22 = bits.Mul64(x9, arg2[2])
   119  	var x24 uint64
   120  	var x25 uint64
   121  	x25, x24 = bits.Mul64(x9, arg2[1])
   122  	var x26 uint64
   123  	var x27 uint64
   124  	x27, x26 = bits.Mul64(x9, arg2[0])
   125  	var x28 uint64
   126  	var x29 uint64
   127  	x28, x29 = bits.Add64(x27, x24, uint64(0x0))
   128  	var x30 uint64
   129  	var x31 uint64
   130  	x30, x31 = bits.Add64(x25, x22, uint64(p521Uint1(x29)))
   131  	var x32 uint64
   132  	var x33 uint64
   133  	x32, x33 = bits.Add64(x23, x20, uint64(p521Uint1(x31)))
   134  	var x34 uint64
   135  	var x35 uint64
   136  	x34, x35 = bits.Add64(x21, x18, uint64(p521Uint1(x33)))
   137  	var x36 uint64
   138  	var x37 uint64
   139  	x36, x37 = bits.Add64(x19, x16, uint64(p521Uint1(x35)))
   140  	var x38 uint64
   141  	var x39 uint64
   142  	x38, x39 = bits.Add64(x17, x14, uint64(p521Uint1(x37)))
   143  	var x40 uint64
   144  	var x41 uint64
   145  	x40, x41 = bits.Add64(x15, x12, uint64(p521Uint1(x39)))
   146  	var x42 uint64
   147  	var x43 uint64
   148  	x42, x43 = bits.Add64(x13, x10, uint64(p521Uint1(x41)))
   149  	x44 := (uint64(p521Uint1(x43)) + x11)
   150  	var x45 uint64
   151  	var x46 uint64
   152  	x46, x45 = bits.Mul64(x26, 0x1ff)
   153  	var x47 uint64
   154  	var x48 uint64
   155  	x48, x47 = bits.Mul64(x26, 0xffffffffffffffff)
   156  	var x49 uint64
   157  	var x50 uint64
   158  	x50, x49 = bits.Mul64(x26, 0xffffffffffffffff)
   159  	var x51 uint64
   160  	var x52 uint64
   161  	x52, x51 = bits.Mul64(x26, 0xffffffffffffffff)
   162  	var x53 uint64
   163  	var x54 uint64
   164  	x54, x53 = bits.Mul64(x26, 0xffffffffffffffff)
   165  	var x55 uint64
   166  	var x56 uint64
   167  	x56, x55 = bits.Mul64(x26, 0xffffffffffffffff)
   168  	var x57 uint64
   169  	var x58 uint64
   170  	x58, x57 = bits.Mul64(x26, 0xffffffffffffffff)
   171  	var x59 uint64
   172  	var x60 uint64
   173  	x60, x59 = bits.Mul64(x26, 0xffffffffffffffff)
   174  	var x61 uint64
   175  	var x62 uint64
   176  	x62, x61 = bits.Mul64(x26, 0xffffffffffffffff)
   177  	var x63 uint64
   178  	var x64 uint64
   179  	x63, x64 = bits.Add64(x62, x59, uint64(0x0))
   180  	var x65 uint64
   181  	var x66 uint64
   182  	x65, x66 = bits.Add64(x60, x57, uint64(p521Uint1(x64)))
   183  	var x67 uint64
   184  	var x68 uint64
   185  	x67, x68 = bits.Add64(x58, x55, uint64(p521Uint1(x66)))
   186  	var x69 uint64
   187  	var x70 uint64
   188  	x69, x70 = bits.Add64(x56, x53, uint64(p521Uint1(x68)))
   189  	var x71 uint64
   190  	var x72 uint64
   191  	x71, x72 = bits.Add64(x54, x51, uint64(p521Uint1(x70)))
   192  	var x73 uint64
   193  	var x74 uint64
   194  	x73, x74 = bits.Add64(x52, x49, uint64(p521Uint1(x72)))
   195  	var x75 uint64
   196  	var x76 uint64
   197  	x75, x76 = bits.Add64(x50, x47, uint64(p521Uint1(x74)))
   198  	var x77 uint64
   199  	var x78 uint64
   200  	x77, x78 = bits.Add64(x48, x45, uint64(p521Uint1(x76)))
   201  	x79 := (uint64(p521Uint1(x78)) + x46)
   202  	var x81 uint64
   203  	_, x81 = bits.Add64(x26, x61, uint64(0x0))
   204  	var x82 uint64
   205  	var x83 uint64
   206  	x82, x83 = bits.Add64(x28, x63, uint64(p521Uint1(x81)))
   207  	var x84 uint64
   208  	var x85 uint64
   209  	x84, x85 = bits.Add64(x30, x65, uint64(p521Uint1(x83)))
   210  	var x86 uint64
   211  	var x87 uint64
   212  	x86, x87 = bits.Add64(x32, x67, uint64(p521Uint1(x85)))
   213  	var x88 uint64
   214  	var x89 uint64
   215  	x88, x89 = bits.Add64(x34, x69, uint64(p521Uint1(x87)))
   216  	var x90 uint64
   217  	var x91 uint64
   218  	x90, x91 = bits.Add64(x36, x71, uint64(p521Uint1(x89)))
   219  	var x92 uint64
   220  	var x93 uint64
   221  	x92, x93 = bits.Add64(x38, x73, uint64(p521Uint1(x91)))
   222  	var x94 uint64
   223  	var x95 uint64
   224  	x94, x95 = bits.Add64(x40, x75, uint64(p521Uint1(x93)))
   225  	var x96 uint64
   226  	var x97 uint64
   227  	x96, x97 = bits.Add64(x42, x77, uint64(p521Uint1(x95)))
   228  	var x98 uint64
   229  	var x99 uint64
   230  	x98, x99 = bits.Add64(x44, x79, uint64(p521Uint1(x97)))
   231  	var x100 uint64
   232  	var x101 uint64
   233  	x101, x100 = bits.Mul64(x1, arg2[8])
   234  	var x102 uint64
   235  	var x103 uint64
   236  	x103, x102 = bits.Mul64(x1, arg2[7])
   237  	var x104 uint64
   238  	var x105 uint64
   239  	x105, x104 = bits.Mul64(x1, arg2[6])
   240  	var x106 uint64
   241  	var x107 uint64
   242  	x107, x106 = bits.Mul64(x1, arg2[5])
   243  	var x108 uint64
   244  	var x109 uint64
   245  	x109, x108 = bits.Mul64(x1, arg2[4])
   246  	var x110 uint64
   247  	var x111 uint64
   248  	x111, x110 = bits.Mul64(x1, arg2[3])
   249  	var x112 uint64
   250  	var x113 uint64
   251  	x113, x112 = bits.Mul64(x1, arg2[2])
   252  	var x114 uint64
   253  	var x115 uint64
   254  	x115, x114 = bits.Mul64(x1, arg2[1])
   255  	var x116 uint64
   256  	var x117 uint64
   257  	x117, x116 = bits.Mul64(x1, arg2[0])
   258  	var x118 uint64
   259  	var x119 uint64
   260  	x118, x119 = bits.Add64(x117, x114, uint64(0x0))
   261  	var x120 uint64
   262  	var x121 uint64
   263  	x120, x121 = bits.Add64(x115, x112, uint64(p521Uint1(x119)))
   264  	var x122 uint64
   265  	var x123 uint64
   266  	x122, x123 = bits.Add64(x113, x110, uint64(p521Uint1(x121)))
   267  	var x124 uint64
   268  	var x125 uint64
   269  	x124, x125 = bits.Add64(x111, x108, uint64(p521Uint1(x123)))
   270  	var x126 uint64
   271  	var x127 uint64
   272  	x126, x127 = bits.Add64(x109, x106, uint64(p521Uint1(x125)))
   273  	var x128 uint64
   274  	var x129 uint64
   275  	x128, x129 = bits.Add64(x107, x104, uint64(p521Uint1(x127)))
   276  	var x130 uint64
   277  	var x131 uint64
   278  	x130, x131 = bits.Add64(x105, x102, uint64(p521Uint1(x129)))
   279  	var x132 uint64
   280  	var x133 uint64
   281  	x132, x133 = bits.Add64(x103, x100, uint64(p521Uint1(x131)))
   282  	x134 := (uint64(p521Uint1(x133)) + x101)
   283  	var x135 uint64
   284  	var x136 uint64
   285  	x135, x136 = bits.Add64(x82, x116, uint64(0x0))
   286  	var x137 uint64
   287  	var x138 uint64
   288  	x137, x138 = bits.Add64(x84, x118, uint64(p521Uint1(x136)))
   289  	var x139 uint64
   290  	var x140 uint64
   291  	x139, x140 = bits.Add64(x86, x120, uint64(p521Uint1(x138)))
   292  	var x141 uint64
   293  	var x142 uint64
   294  	x141, x142 = bits.Add64(x88, x122, uint64(p521Uint1(x140)))
   295  	var x143 uint64
   296  	var x144 uint64
   297  	x143, x144 = bits.Add64(x90, x124, uint64(p521Uint1(x142)))
   298  	var x145 uint64
   299  	var x146 uint64
   300  	x145, x146 = bits.Add64(x92, x126, uint64(p521Uint1(x144)))
   301  	var x147 uint64
   302  	var x148 uint64
   303  	x147, x148 = bits.Add64(x94, x128, uint64(p521Uint1(x146)))
   304  	var x149 uint64
   305  	var x150 uint64
   306  	x149, x150 = bits.Add64(x96, x130, uint64(p521Uint1(x148)))
   307  	var x151 uint64
   308  	var x152 uint64
   309  	x151, x152 = bits.Add64(x98, x132, uint64(p521Uint1(x150)))
   310  	var x153 uint64
   311  	var x154 uint64
   312  	x153, x154 = bits.Add64(uint64(p521Uint1(x99)), x134, uint64(p521Uint1(x152)))
   313  	var x155 uint64
   314  	var x156 uint64
   315  	x156, x155 = bits.Mul64(x135, 0x1ff)
   316  	var x157 uint64
   317  	var x158 uint64
   318  	x158, x157 = bits.Mul64(x135, 0xffffffffffffffff)
   319  	var x159 uint64
   320  	var x160 uint64
   321  	x160, x159 = bits.Mul64(x135, 0xffffffffffffffff)
   322  	var x161 uint64
   323  	var x162 uint64
   324  	x162, x161 = bits.Mul64(x135, 0xffffffffffffffff)
   325  	var x163 uint64
   326  	var x164 uint64
   327  	x164, x163 = bits.Mul64(x135, 0xffffffffffffffff)
   328  	var x165 uint64
   329  	var x166 uint64
   330  	x166, x165 = bits.Mul64(x135, 0xffffffffffffffff)
   331  	var x167 uint64
   332  	var x168 uint64
   333  	x168, x167 = bits.Mul64(x135, 0xffffffffffffffff)
   334  	var x169 uint64
   335  	var x170 uint64
   336  	x170, x169 = bits.Mul64(x135, 0xffffffffffffffff)
   337  	var x171 uint64
   338  	var x172 uint64
   339  	x172, x171 = bits.Mul64(x135, 0xffffffffffffffff)
   340  	var x173 uint64
   341  	var x174 uint64
   342  	x173, x174 = bits.Add64(x172, x169, uint64(0x0))
   343  	var x175 uint64
   344  	var x176 uint64
   345  	x175, x176 = bits.Add64(x170, x167, uint64(p521Uint1(x174)))
   346  	var x177 uint64
   347  	var x178 uint64
   348  	x177, x178 = bits.Add64(x168, x165, uint64(p521Uint1(x176)))
   349  	var x179 uint64
   350  	var x180 uint64
   351  	x179, x180 = bits.Add64(x166, x163, uint64(p521Uint1(x178)))
   352  	var x181 uint64
   353  	var x182 uint64
   354  	x181, x182 = bits.Add64(x164, x161, uint64(p521Uint1(x180)))
   355  	var x183 uint64
   356  	var x184 uint64
   357  	x183, x184 = bits.Add64(x162, x159, uint64(p521Uint1(x182)))
   358  	var x185 uint64
   359  	var x186 uint64
   360  	x185, x186 = bits.Add64(x160, x157, uint64(p521Uint1(x184)))
   361  	var x187 uint64
   362  	var x188 uint64
   363  	x187, x188 = bits.Add64(x158, x155, uint64(p521Uint1(x186)))
   364  	x189 := (uint64(p521Uint1(x188)) + x156)
   365  	var x191 uint64
   366  	_, x191 = bits.Add64(x135, x171, uint64(0x0))
   367  	var x192 uint64
   368  	var x193 uint64
   369  	x192, x193 = bits.Add64(x137, x173, uint64(p521Uint1(x191)))
   370  	var x194 uint64
   371  	var x195 uint64
   372  	x194, x195 = bits.Add64(x139, x175, uint64(p521Uint1(x193)))
   373  	var x196 uint64
   374  	var x197 uint64
   375  	x196, x197 = bits.Add64(x141, x177, uint64(p521Uint1(x195)))
   376  	var x198 uint64
   377  	var x199 uint64
   378  	x198, x199 = bits.Add64(x143, x179, uint64(p521Uint1(x197)))
   379  	var x200 uint64
   380  	var x201 uint64
   381  	x200, x201 = bits.Add64(x145, x181, uint64(p521Uint1(x199)))
   382  	var x202 uint64
   383  	var x203 uint64
   384  	x202, x203 = bits.Add64(x147, x183, uint64(p521Uint1(x201)))
   385  	var x204 uint64
   386  	var x205 uint64
   387  	x204, x205 = bits.Add64(x149, x185, uint64(p521Uint1(x203)))
   388  	var x206 uint64
   389  	var x207 uint64
   390  	x206, x207 = bits.Add64(x151, x187, uint64(p521Uint1(x205)))
   391  	var x208 uint64
   392  	var x209 uint64
   393  	x208, x209 = bits.Add64(x153, x189, uint64(p521Uint1(x207)))
   394  	x210 := (uint64(p521Uint1(x209)) + uint64(p521Uint1(x154)))
   395  	var x211 uint64
   396  	var x212 uint64
   397  	x212, x211 = bits.Mul64(x2, arg2[8])
   398  	var x213 uint64
   399  	var x214 uint64
   400  	x214, x213 = bits.Mul64(x2, arg2[7])
   401  	var x215 uint64
   402  	var x216 uint64
   403  	x216, x215 = bits.Mul64(x2, arg2[6])
   404  	var x217 uint64
   405  	var x218 uint64
   406  	x218, x217 = bits.Mul64(x2, arg2[5])
   407  	var x219 uint64
   408  	var x220 uint64
   409  	x220, x219 = bits.Mul64(x2, arg2[4])
   410  	var x221 uint64
   411  	var x222 uint64
   412  	x222, x221 = bits.Mul64(x2, arg2[3])
   413  	var x223 uint64
   414  	var x224 uint64
   415  	x224, x223 = bits.Mul64(x2, arg2[2])
   416  	var x225 uint64
   417  	var x226 uint64
   418  	x226, x225 = bits.Mul64(x2, arg2[1])
   419  	var x227 uint64
   420  	var x228 uint64
   421  	x228, x227 = bits.Mul64(x2, arg2[0])
   422  	var x229 uint64
   423  	var x230 uint64
   424  	x229, x230 = bits.Add64(x228, x225, uint64(0x0))
   425  	var x231 uint64
   426  	var x232 uint64
   427  	x231, x232 = bits.Add64(x226, x223, uint64(p521Uint1(x230)))
   428  	var x233 uint64
   429  	var x234 uint64
   430  	x233, x234 = bits.Add64(x224, x221, uint64(p521Uint1(x232)))
   431  	var x235 uint64
   432  	var x236 uint64
   433  	x235, x236 = bits.Add64(x222, x219, uint64(p521Uint1(x234)))
   434  	var x237 uint64
   435  	var x238 uint64
   436  	x237, x238 = bits.Add64(x220, x217, uint64(p521Uint1(x236)))
   437  	var x239 uint64
   438  	var x240 uint64
   439  	x239, x240 = bits.Add64(x218, x215, uint64(p521Uint1(x238)))
   440  	var x241 uint64
   441  	var x242 uint64
   442  	x241, x242 = bits.Add64(x216, x213, uint64(p521Uint1(x240)))
   443  	var x243 uint64
   444  	var x244 uint64
   445  	x243, x244 = bits.Add64(x214, x211, uint64(p521Uint1(x242)))
   446  	x245 := (uint64(p521Uint1(x244)) + x212)
   447  	var x246 uint64
   448  	var x247 uint64
   449  	x246, x247 = bits.Add64(x192, x227, uint64(0x0))
   450  	var x248 uint64
   451  	var x249 uint64
   452  	x248, x249 = bits.Add64(x194, x229, uint64(p521Uint1(x247)))
   453  	var x250 uint64
   454  	var x251 uint64
   455  	x250, x251 = bits.Add64(x196, x231, uint64(p521Uint1(x249)))
   456  	var x252 uint64
   457  	var x253 uint64
   458  	x252, x253 = bits.Add64(x198, x233, uint64(p521Uint1(x251)))
   459  	var x254 uint64
   460  	var x255 uint64
   461  	x254, x255 = bits.Add64(x200, x235, uint64(p521Uint1(x253)))
   462  	var x256 uint64
   463  	var x257 uint64
   464  	x256, x257 = bits.Add64(x202, x237, uint64(p521Uint1(x255)))
   465  	var x258 uint64
   466  	var x259 uint64
   467  	x258, x259 = bits.Add64(x204, x239, uint64(p521Uint1(x257)))
   468  	var x260 uint64
   469  	var x261 uint64
   470  	x260, x261 = bits.Add64(x206, x241, uint64(p521Uint1(x259)))
   471  	var x262 uint64
   472  	var x263 uint64
   473  	x262, x263 = bits.Add64(x208, x243, uint64(p521Uint1(x261)))
   474  	var x264 uint64
   475  	var x265 uint64
   476  	x264, x265 = bits.Add64(x210, x245, uint64(p521Uint1(x263)))
   477  	var x266 uint64
   478  	var x267 uint64
   479  	x267, x266 = bits.Mul64(x246, 0x1ff)
   480  	var x268 uint64
   481  	var x269 uint64
   482  	x269, x268 = bits.Mul64(x246, 0xffffffffffffffff)
   483  	var x270 uint64
   484  	var x271 uint64
   485  	x271, x270 = bits.Mul64(x246, 0xffffffffffffffff)
   486  	var x272 uint64
   487  	var x273 uint64
   488  	x273, x272 = bits.Mul64(x246, 0xffffffffffffffff)
   489  	var x274 uint64
   490  	var x275 uint64
   491  	x275, x274 = bits.Mul64(x246, 0xffffffffffffffff)
   492  	var x276 uint64
   493  	var x277 uint64
   494  	x277, x276 = bits.Mul64(x246, 0xffffffffffffffff)
   495  	var x278 uint64
   496  	var x279 uint64
   497  	x279, x278 = bits.Mul64(x246, 0xffffffffffffffff)
   498  	var x280 uint64
   499  	var x281 uint64
   500  	x281, x280 = bits.Mul64(x246, 0xffffffffffffffff)
   501  	var x282 uint64
   502  	var x283 uint64
   503  	x283, x282 = bits.Mul64(x246, 0xffffffffffffffff)
   504  	var x284 uint64
   505  	var x285 uint64
   506  	x284, x285 = bits.Add64(x283, x280, uint64(0x0))
   507  	var x286 uint64
   508  	var x287 uint64
   509  	x286, x287 = bits.Add64(x281, x278, uint64(p521Uint1(x285)))
   510  	var x288 uint64
   511  	var x289 uint64
   512  	x288, x289 = bits.Add64(x279, x276, uint64(p521Uint1(x287)))
   513  	var x290 uint64
   514  	var x291 uint64
   515  	x290, x291 = bits.Add64(x277, x274, uint64(p521Uint1(x289)))
   516  	var x292 uint64
   517  	var x293 uint64
   518  	x292, x293 = bits.Add64(x275, x272, uint64(p521Uint1(x291)))
   519  	var x294 uint64
   520  	var x295 uint64
   521  	x294, x295 = bits.Add64(x273, x270, uint64(p521Uint1(x293)))
   522  	var x296 uint64
   523  	var x297 uint64
   524  	x296, x297 = bits.Add64(x271, x268, uint64(p521Uint1(x295)))
   525  	var x298 uint64
   526  	var x299 uint64
   527  	x298, x299 = bits.Add64(x269, x266, uint64(p521Uint1(x297)))
   528  	x300 := (uint64(p521Uint1(x299)) + x267)
   529  	var x302 uint64
   530  	_, x302 = bits.Add64(x246, x282, uint64(0x0))
   531  	var x303 uint64
   532  	var x304 uint64
   533  	x303, x304 = bits.Add64(x248, x284, uint64(p521Uint1(x302)))
   534  	var x305 uint64
   535  	var x306 uint64
   536  	x305, x306 = bits.Add64(x250, x286, uint64(p521Uint1(x304)))
   537  	var x307 uint64
   538  	var x308 uint64
   539  	x307, x308 = bits.Add64(x252, x288, uint64(p521Uint1(x306)))
   540  	var x309 uint64
   541  	var x310 uint64
   542  	x309, x310 = bits.Add64(x254, x290, uint64(p521Uint1(x308)))
   543  	var x311 uint64
   544  	var x312 uint64
   545  	x311, x312 = bits.Add64(x256, x292, uint64(p521Uint1(x310)))
   546  	var x313 uint64
   547  	var x314 uint64
   548  	x313, x314 = bits.Add64(x258, x294, uint64(p521Uint1(x312)))
   549  	var x315 uint64
   550  	var x316 uint64
   551  	x315, x316 = bits.Add64(x260, x296, uint64(p521Uint1(x314)))
   552  	var x317 uint64
   553  	var x318 uint64
   554  	x317, x318 = bits.Add64(x262, x298, uint64(p521Uint1(x316)))
   555  	var x319 uint64
   556  	var x320 uint64
   557  	x319, x320 = bits.Add64(x264, x300, uint64(p521Uint1(x318)))
   558  	x321 := (uint64(p521Uint1(x320)) + uint64(p521Uint1(x265)))
   559  	var x322 uint64
   560  	var x323 uint64
   561  	x323, x322 = bits.Mul64(x3, arg2[8])
   562  	var x324 uint64
   563  	var x325 uint64
   564  	x325, x324 = bits.Mul64(x3, arg2[7])
   565  	var x326 uint64
   566  	var x327 uint64
   567  	x327, x326 = bits.Mul64(x3, arg2[6])
   568  	var x328 uint64
   569  	var x329 uint64
   570  	x329, x328 = bits.Mul64(x3, arg2[5])
   571  	var x330 uint64
   572  	var x331 uint64
   573  	x331, x330 = bits.Mul64(x3, arg2[4])
   574  	var x332 uint64
   575  	var x333 uint64
   576  	x333, x332 = bits.Mul64(x3, arg2[3])
   577  	var x334 uint64
   578  	var x335 uint64
   579  	x335, x334 = bits.Mul64(x3, arg2[2])
   580  	var x336 uint64
   581  	var x337 uint64
   582  	x337, x336 = bits.Mul64(x3, arg2[1])
   583  	var x338 uint64
   584  	var x339 uint64
   585  	x339, x338 = bits.Mul64(x3, arg2[0])
   586  	var x340 uint64
   587  	var x341 uint64
   588  	x340, x341 = bits.Add64(x339, x336, uint64(0x0))
   589  	var x342 uint64
   590  	var x343 uint64
   591  	x342, x343 = bits.Add64(x337, x334, uint64(p521Uint1(x341)))
   592  	var x344 uint64
   593  	var x345 uint64
   594  	x344, x345 = bits.Add64(x335, x332, uint64(p521Uint1(x343)))
   595  	var x346 uint64
   596  	var x347 uint64
   597  	x346, x347 = bits.Add64(x333, x330, uint64(p521Uint1(x345)))
   598  	var x348 uint64
   599  	var x349 uint64
   600  	x348, x349 = bits.Add64(x331, x328, uint64(p521Uint1(x347)))
   601  	var x350 uint64
   602  	var x351 uint64
   603  	x350, x351 = bits.Add64(x329, x326, uint64(p521Uint1(x349)))
   604  	var x352 uint64
   605  	var x353 uint64
   606  	x352, x353 = bits.Add64(x327, x324, uint64(p521Uint1(x351)))
   607  	var x354 uint64
   608  	var x355 uint64
   609  	x354, x355 = bits.Add64(x325, x322, uint64(p521Uint1(x353)))
   610  	x356 := (uint64(p521Uint1(x355)) + x323)
   611  	var x357 uint64
   612  	var x358 uint64
   613  	x357, x358 = bits.Add64(x303, x338, uint64(0x0))
   614  	var x359 uint64
   615  	var x360 uint64
   616  	x359, x360 = bits.Add64(x305, x340, uint64(p521Uint1(x358)))
   617  	var x361 uint64
   618  	var x362 uint64
   619  	x361, x362 = bits.Add64(x307, x342, uint64(p521Uint1(x360)))
   620  	var x363 uint64
   621  	var x364 uint64
   622  	x363, x364 = bits.Add64(x309, x344, uint64(p521Uint1(x362)))
   623  	var x365 uint64
   624  	var x366 uint64
   625  	x365, x366 = bits.Add64(x311, x346, uint64(p521Uint1(x364)))
   626  	var x367 uint64
   627  	var x368 uint64
   628  	x367, x368 = bits.Add64(x313, x348, uint64(p521Uint1(x366)))
   629  	var x369 uint64
   630  	var x370 uint64
   631  	x369, x370 = bits.Add64(x315, x350, uint64(p521Uint1(x368)))
   632  	var x371 uint64
   633  	var x372 uint64
   634  	x371, x372 = bits.Add64(x317, x352, uint64(p521Uint1(x370)))
   635  	var x373 uint64
   636  	var x374 uint64
   637  	x373, x374 = bits.Add64(x319, x354, uint64(p521Uint1(x372)))
   638  	var x375 uint64
   639  	var x376 uint64
   640  	x375, x376 = bits.Add64(x321, x356, uint64(p521Uint1(x374)))
   641  	var x377 uint64
   642  	var x378 uint64
   643  	x378, x377 = bits.Mul64(x357, 0x1ff)
   644  	var x379 uint64
   645  	var x380 uint64
   646  	x380, x379 = bits.Mul64(x357, 0xffffffffffffffff)
   647  	var x381 uint64
   648  	var x382 uint64
   649  	x382, x381 = bits.Mul64(x357, 0xffffffffffffffff)
   650  	var x383 uint64
   651  	var x384 uint64
   652  	x384, x383 = bits.Mul64(x357, 0xffffffffffffffff)
   653  	var x385 uint64
   654  	var x386 uint64
   655  	x386, x385 = bits.Mul64(x357, 0xffffffffffffffff)
   656  	var x387 uint64
   657  	var x388 uint64
   658  	x388, x387 = bits.Mul64(x357, 0xffffffffffffffff)
   659  	var x389 uint64
   660  	var x390 uint64
   661  	x390, x389 = bits.Mul64(x357, 0xffffffffffffffff)
   662  	var x391 uint64
   663  	var x392 uint64
   664  	x392, x391 = bits.Mul64(x357, 0xffffffffffffffff)
   665  	var x393 uint64
   666  	var x394 uint64
   667  	x394, x393 = bits.Mul64(x357, 0xffffffffffffffff)
   668  	var x395 uint64
   669  	var x396 uint64
   670  	x395, x396 = bits.Add64(x394, x391, uint64(0x0))
   671  	var x397 uint64
   672  	var x398 uint64
   673  	x397, x398 = bits.Add64(x392, x389, uint64(p521Uint1(x396)))
   674  	var x399 uint64
   675  	var x400 uint64
   676  	x399, x400 = bits.Add64(x390, x387, uint64(p521Uint1(x398)))
   677  	var x401 uint64
   678  	var x402 uint64
   679  	x401, x402 = bits.Add64(x388, x385, uint64(p521Uint1(x400)))
   680  	var x403 uint64
   681  	var x404 uint64
   682  	x403, x404 = bits.Add64(x386, x383, uint64(p521Uint1(x402)))
   683  	var x405 uint64
   684  	var x406 uint64
   685  	x405, x406 = bits.Add64(x384, x381, uint64(p521Uint1(x404)))
   686  	var x407 uint64
   687  	var x408 uint64
   688  	x407, x408 = bits.Add64(x382, x379, uint64(p521Uint1(x406)))
   689  	var x409 uint64
   690  	var x410 uint64
   691  	x409, x410 = bits.Add64(x380, x377, uint64(p521Uint1(x408)))
   692  	x411 := (uint64(p521Uint1(x410)) + x378)
   693  	var x413 uint64
   694  	_, x413 = bits.Add64(x357, x393, uint64(0x0))
   695  	var x414 uint64
   696  	var x415 uint64
   697  	x414, x415 = bits.Add64(x359, x395, uint64(p521Uint1(x413)))
   698  	var x416 uint64
   699  	var x417 uint64
   700  	x416, x417 = bits.Add64(x361, x397, uint64(p521Uint1(x415)))
   701  	var x418 uint64
   702  	var x419 uint64
   703  	x418, x419 = bits.Add64(x363, x399, uint64(p521Uint1(x417)))
   704  	var x420 uint64
   705  	var x421 uint64
   706  	x420, x421 = bits.Add64(x365, x401, uint64(p521Uint1(x419)))
   707  	var x422 uint64
   708  	var x423 uint64
   709  	x422, x423 = bits.Add64(x367, x403, uint64(p521Uint1(x421)))
   710  	var x424 uint64
   711  	var x425 uint64
   712  	x424, x425 = bits.Add64(x369, x405, uint64(p521Uint1(x423)))
   713  	var x426 uint64
   714  	var x427 uint64
   715  	x426, x427 = bits.Add64(x371, x407, uint64(p521Uint1(x425)))
   716  	var x428 uint64
   717  	var x429 uint64
   718  	x428, x429 = bits.Add64(x373, x409, uint64(p521Uint1(x427)))
   719  	var x430 uint64
   720  	var x431 uint64
   721  	x430, x431 = bits.Add64(x375, x411, uint64(p521Uint1(x429)))
   722  	x432 := (uint64(p521Uint1(x431)) + uint64(p521Uint1(x376)))
   723  	var x433 uint64
   724  	var x434 uint64
   725  	x434, x433 = bits.Mul64(x4, arg2[8])
   726  	var x435 uint64
   727  	var x436 uint64
   728  	x436, x435 = bits.Mul64(x4, arg2[7])
   729  	var x437 uint64
   730  	var x438 uint64
   731  	x438, x437 = bits.Mul64(x4, arg2[6])
   732  	var x439 uint64
   733  	var x440 uint64
   734  	x440, x439 = bits.Mul64(x4, arg2[5])
   735  	var x441 uint64
   736  	var x442 uint64
   737  	x442, x441 = bits.Mul64(x4, arg2[4])
   738  	var x443 uint64
   739  	var x444 uint64
   740  	x444, x443 = bits.Mul64(x4, arg2[3])
   741  	var x445 uint64
   742  	var x446 uint64
   743  	x446, x445 = bits.Mul64(x4, arg2[2])
   744  	var x447 uint64
   745  	var x448 uint64
   746  	x448, x447 = bits.Mul64(x4, arg2[1])
   747  	var x449 uint64
   748  	var x450 uint64
   749  	x450, x449 = bits.Mul64(x4, arg2[0])
   750  	var x451 uint64
   751  	var x452 uint64
   752  	x451, x452 = bits.Add64(x450, x447, uint64(0x0))
   753  	var x453 uint64
   754  	var x454 uint64
   755  	x453, x454 = bits.Add64(x448, x445, uint64(p521Uint1(x452)))
   756  	var x455 uint64
   757  	var x456 uint64
   758  	x455, x456 = bits.Add64(x446, x443, uint64(p521Uint1(x454)))
   759  	var x457 uint64
   760  	var x458 uint64
   761  	x457, x458 = bits.Add64(x444, x441, uint64(p521Uint1(x456)))
   762  	var x459 uint64
   763  	var x460 uint64
   764  	x459, x460 = bits.Add64(x442, x439, uint64(p521Uint1(x458)))
   765  	var x461 uint64
   766  	var x462 uint64
   767  	x461, x462 = bits.Add64(x440, x437, uint64(p521Uint1(x460)))
   768  	var x463 uint64
   769  	var x464 uint64
   770  	x463, x464 = bits.Add64(x438, x435, uint64(p521Uint1(x462)))
   771  	var x465 uint64
   772  	var x466 uint64
   773  	x465, x466 = bits.Add64(x436, x433, uint64(p521Uint1(x464)))
   774  	x467 := (uint64(p521Uint1(x466)) + x434)
   775  	var x468 uint64
   776  	var x469 uint64
   777  	x468, x469 = bits.Add64(x414, x449, uint64(0x0))
   778  	var x470 uint64
   779  	var x471 uint64
   780  	x470, x471 = bits.Add64(x416, x451, uint64(p521Uint1(x469)))
   781  	var x472 uint64
   782  	var x473 uint64
   783  	x472, x473 = bits.Add64(x418, x453, uint64(p521Uint1(x471)))
   784  	var x474 uint64
   785  	var x475 uint64
   786  	x474, x475 = bits.Add64(x420, x455, uint64(p521Uint1(x473)))
   787  	var x476 uint64
   788  	var x477 uint64
   789  	x476, x477 = bits.Add64(x422, x457, uint64(p521Uint1(x475)))
   790  	var x478 uint64
   791  	var x479 uint64
   792  	x478, x479 = bits.Add64(x424, x459, uint64(p521Uint1(x477)))
   793  	var x480 uint64
   794  	var x481 uint64
   795  	x480, x481 = bits.Add64(x426, x461, uint64(p521Uint1(x479)))
   796  	var x482 uint64
   797  	var x483 uint64
   798  	x482, x483 = bits.Add64(x428, x463, uint64(p521Uint1(x481)))
   799  	var x484 uint64
   800  	var x485 uint64
   801  	x484, x485 = bits.Add64(x430, x465, uint64(p521Uint1(x483)))
   802  	var x486 uint64
   803  	var x487 uint64
   804  	x486, x487 = bits.Add64(x432, x467, uint64(p521Uint1(x485)))
   805  	var x488 uint64
   806  	var x489 uint64
   807  	x489, x488 = bits.Mul64(x468, 0x1ff)
   808  	var x490 uint64
   809  	var x491 uint64
   810  	x491, x490 = bits.Mul64(x468, 0xffffffffffffffff)
   811  	var x492 uint64
   812  	var x493 uint64
   813  	x493, x492 = bits.Mul64(x468, 0xffffffffffffffff)
   814  	var x494 uint64
   815  	var x495 uint64
   816  	x495, x494 = bits.Mul64(x468, 0xffffffffffffffff)
   817  	var x496 uint64
   818  	var x497 uint64
   819  	x497, x496 = bits.Mul64(x468, 0xffffffffffffffff)
   820  	var x498 uint64
   821  	var x499 uint64
   822  	x499, x498 = bits.Mul64(x468, 0xffffffffffffffff)
   823  	var x500 uint64
   824  	var x501 uint64
   825  	x501, x500 = bits.Mul64(x468, 0xffffffffffffffff)
   826  	var x502 uint64
   827  	var x503 uint64
   828  	x503, x502 = bits.Mul64(x468, 0xffffffffffffffff)
   829  	var x504 uint64
   830  	var x505 uint64
   831  	x505, x504 = bits.Mul64(x468, 0xffffffffffffffff)
   832  	var x506 uint64
   833  	var x507 uint64
   834  	x506, x507 = bits.Add64(x505, x502, uint64(0x0))
   835  	var x508 uint64
   836  	var x509 uint64
   837  	x508, x509 = bits.Add64(x503, x500, uint64(p521Uint1(x507)))
   838  	var x510 uint64
   839  	var x511 uint64
   840  	x510, x511 = bits.Add64(x501, x498, uint64(p521Uint1(x509)))
   841  	var x512 uint64
   842  	var x513 uint64
   843  	x512, x513 = bits.Add64(x499, x496, uint64(p521Uint1(x511)))
   844  	var x514 uint64
   845  	var x515 uint64
   846  	x514, x515 = bits.Add64(x497, x494, uint64(p521Uint1(x513)))
   847  	var x516 uint64
   848  	var x517 uint64
   849  	x516, x517 = bits.Add64(x495, x492, uint64(p521Uint1(x515)))
   850  	var x518 uint64
   851  	var x519 uint64
   852  	x518, x519 = bits.Add64(x493, x490, uint64(p521Uint1(x517)))
   853  	var x520 uint64
   854  	var x521 uint64
   855  	x520, x521 = bits.Add64(x491, x488, uint64(p521Uint1(x519)))
   856  	x522 := (uint64(p521Uint1(x521)) + x489)
   857  	var x524 uint64
   858  	_, x524 = bits.Add64(x468, x504, uint64(0x0))
   859  	var x525 uint64
   860  	var x526 uint64
   861  	x525, x526 = bits.Add64(x470, x506, uint64(p521Uint1(x524)))
   862  	var x527 uint64
   863  	var x528 uint64
   864  	x527, x528 = bits.Add64(x472, x508, uint64(p521Uint1(x526)))
   865  	var x529 uint64
   866  	var x530 uint64
   867  	x529, x530 = bits.Add64(x474, x510, uint64(p521Uint1(x528)))
   868  	var x531 uint64
   869  	var x532 uint64
   870  	x531, x532 = bits.Add64(x476, x512, uint64(p521Uint1(x530)))
   871  	var x533 uint64
   872  	var x534 uint64
   873  	x533, x534 = bits.Add64(x478, x514, uint64(p521Uint1(x532)))
   874  	var x535 uint64
   875  	var x536 uint64
   876  	x535, x536 = bits.Add64(x480, x516, uint64(p521Uint1(x534)))
   877  	var x537 uint64
   878  	var x538 uint64
   879  	x537, x538 = bits.Add64(x482, x518, uint64(p521Uint1(x536)))
   880  	var x539 uint64
   881  	var x540 uint64
   882  	x539, x540 = bits.Add64(x484, x520, uint64(p521Uint1(x538)))
   883  	var x541 uint64
   884  	var x542 uint64
   885  	x541, x542 = bits.Add64(x486, x522, uint64(p521Uint1(x540)))
   886  	x543 := (uint64(p521Uint1(x542)) + uint64(p521Uint1(x487)))
   887  	var x544 uint64
   888  	var x545 uint64
   889  	x545, x544 = bits.Mul64(x5, arg2[8])
   890  	var x546 uint64
   891  	var x547 uint64
   892  	x547, x546 = bits.Mul64(x5, arg2[7])
   893  	var x548 uint64
   894  	var x549 uint64
   895  	x549, x548 = bits.Mul64(x5, arg2[6])
   896  	var x550 uint64
   897  	var x551 uint64
   898  	x551, x550 = bits.Mul64(x5, arg2[5])
   899  	var x552 uint64
   900  	var x553 uint64
   901  	x553, x552 = bits.Mul64(x5, arg2[4])
   902  	var x554 uint64
   903  	var x555 uint64
   904  	x555, x554 = bits.Mul64(x5, arg2[3])
   905  	var x556 uint64
   906  	var x557 uint64
   907  	x557, x556 = bits.Mul64(x5, arg2[2])
   908  	var x558 uint64
   909  	var x559 uint64
   910  	x559, x558 = bits.Mul64(x5, arg2[1])
   911  	var x560 uint64
   912  	var x561 uint64
   913  	x561, x560 = bits.Mul64(x5, arg2[0])
   914  	var x562 uint64
   915  	var x563 uint64
   916  	x562, x563 = bits.Add64(x561, x558, uint64(0x0))
   917  	var x564 uint64
   918  	var x565 uint64
   919  	x564, x565 = bits.Add64(x559, x556, uint64(p521Uint1(x563)))
   920  	var x566 uint64
   921  	var x567 uint64
   922  	x566, x567 = bits.Add64(x557, x554, uint64(p521Uint1(x565)))
   923  	var x568 uint64
   924  	var x569 uint64
   925  	x568, x569 = bits.Add64(x555, x552, uint64(p521Uint1(x567)))
   926  	var x570 uint64
   927  	var x571 uint64
   928  	x570, x571 = bits.Add64(x553, x550, uint64(p521Uint1(x569)))
   929  	var x572 uint64
   930  	var x573 uint64
   931  	x572, x573 = bits.Add64(x551, x548, uint64(p521Uint1(x571)))
   932  	var x574 uint64
   933  	var x575 uint64
   934  	x574, x575 = bits.Add64(x549, x546, uint64(p521Uint1(x573)))
   935  	var x576 uint64
   936  	var x577 uint64
   937  	x576, x577 = bits.Add64(x547, x544, uint64(p521Uint1(x575)))
   938  	x578 := (uint64(p521Uint1(x577)) + x545)
   939  	var x579 uint64
   940  	var x580 uint64
   941  	x579, x580 = bits.Add64(x525, x560, uint64(0x0))
   942  	var x581 uint64
   943  	var x582 uint64
   944  	x581, x582 = bits.Add64(x527, x562, uint64(p521Uint1(x580)))
   945  	var x583 uint64
   946  	var x584 uint64
   947  	x583, x584 = bits.Add64(x529, x564, uint64(p521Uint1(x582)))
   948  	var x585 uint64
   949  	var x586 uint64
   950  	x585, x586 = bits.Add64(x531, x566, uint64(p521Uint1(x584)))
   951  	var x587 uint64
   952  	var x588 uint64
   953  	x587, x588 = bits.Add64(x533, x568, uint64(p521Uint1(x586)))
   954  	var x589 uint64
   955  	var x590 uint64
   956  	x589, x590 = bits.Add64(x535, x570, uint64(p521Uint1(x588)))
   957  	var x591 uint64
   958  	var x592 uint64
   959  	x591, x592 = bits.Add64(x537, x572, uint64(p521Uint1(x590)))
   960  	var x593 uint64
   961  	var x594 uint64
   962  	x593, x594 = bits.Add64(x539, x574, uint64(p521Uint1(x592)))
   963  	var x595 uint64
   964  	var x596 uint64
   965  	x595, x596 = bits.Add64(x541, x576, uint64(p521Uint1(x594)))
   966  	var x597 uint64
   967  	var x598 uint64
   968  	x597, x598 = bits.Add64(x543, x578, uint64(p521Uint1(x596)))
   969  	var x599 uint64
   970  	var x600 uint64
   971  	x600, x599 = bits.Mul64(x579, 0x1ff)
   972  	var x601 uint64
   973  	var x602 uint64
   974  	x602, x601 = bits.Mul64(x579, 0xffffffffffffffff)
   975  	var x603 uint64
   976  	var x604 uint64
   977  	x604, x603 = bits.Mul64(x579, 0xffffffffffffffff)
   978  	var x605 uint64
   979  	var x606 uint64
   980  	x606, x605 = bits.Mul64(x579, 0xffffffffffffffff)
   981  	var x607 uint64
   982  	var x608 uint64
   983  	x608, x607 = bits.Mul64(x579, 0xffffffffffffffff)
   984  	var x609 uint64
   985  	var x610 uint64
   986  	x610, x609 = bits.Mul64(x579, 0xffffffffffffffff)
   987  	var x611 uint64
   988  	var x612 uint64
   989  	x612, x611 = bits.Mul64(x579, 0xffffffffffffffff)
   990  	var x613 uint64
   991  	var x614 uint64
   992  	x614, x613 = bits.Mul64(x579, 0xffffffffffffffff)
   993  	var x615 uint64
   994  	var x616 uint64
   995  	x616, x615 = bits.Mul64(x579, 0xffffffffffffffff)
   996  	var x617 uint64
   997  	var x618 uint64
   998  	x617, x618 = bits.Add64(x616, x613, uint64(0x0))
   999  	var x619 uint64
  1000  	var x620 uint64
  1001  	x619, x620 = bits.Add64(x614, x611, uint64(p521Uint1(x618)))
  1002  	var x621 uint64
  1003  	var x622 uint64
  1004  	x621, x622 = bits.Add64(x612, x609, uint64(p521Uint1(x620)))
  1005  	var x623 uint64
  1006  	var x624 uint64
  1007  	x623, x624 = bits.Add64(x610, x607, uint64(p521Uint1(x622)))
  1008  	var x625 uint64
  1009  	var x626 uint64
  1010  	x625, x626 = bits.Add64(x608, x605, uint64(p521Uint1(x624)))
  1011  	var x627 uint64
  1012  	var x628 uint64
  1013  	x627, x628 = bits.Add64(x606, x603, uint64(p521Uint1(x626)))
  1014  	var x629 uint64
  1015  	var x630 uint64
  1016  	x629, x630 = bits.Add64(x604, x601, uint64(p521Uint1(x628)))
  1017  	var x631 uint64
  1018  	var x632 uint64
  1019  	x631, x632 = bits.Add64(x602, x599, uint64(p521Uint1(x630)))
  1020  	x633 := (uint64(p521Uint1(x632)) + x600)
  1021  	var x635 uint64
  1022  	_, x635 = bits.Add64(x579, x615, uint64(0x0))
  1023  	var x636 uint64
  1024  	var x637 uint64
  1025  	x636, x637 = bits.Add64(x581, x617, uint64(p521Uint1(x635)))
  1026  	var x638 uint64
  1027  	var x639 uint64
  1028  	x638, x639 = bits.Add64(x583, x619, uint64(p521Uint1(x637)))
  1029  	var x640 uint64
  1030  	var x641 uint64
  1031  	x640, x641 = bits.Add64(x585, x621, uint64(p521Uint1(x639)))
  1032  	var x642 uint64
  1033  	var x643 uint64
  1034  	x642, x643 = bits.Add64(x587, x623, uint64(p521Uint1(x641)))
  1035  	var x644 uint64
  1036  	var x645 uint64
  1037  	x644, x645 = bits.Add64(x589, x625, uint64(p521Uint1(x643)))
  1038  	var x646 uint64
  1039  	var x647 uint64
  1040  	x646, x647 = bits.Add64(x591, x627, uint64(p521Uint1(x645)))
  1041  	var x648 uint64
  1042  	var x649 uint64
  1043  	x648, x649 = bits.Add64(x593, x629, uint64(p521Uint1(x647)))
  1044  	var x650 uint64
  1045  	var x651 uint64
  1046  	x650, x651 = bits.Add64(x595, x631, uint64(p521Uint1(x649)))
  1047  	var x652 uint64
  1048  	var x653 uint64
  1049  	x652, x653 = bits.Add64(x597, x633, uint64(p521Uint1(x651)))
  1050  	x654 := (uint64(p521Uint1(x653)) + uint64(p521Uint1(x598)))
  1051  	var x655 uint64
  1052  	var x656 uint64
  1053  	x656, x655 = bits.Mul64(x6, arg2[8])
  1054  	var x657 uint64
  1055  	var x658 uint64
  1056  	x658, x657 = bits.Mul64(x6, arg2[7])
  1057  	var x659 uint64
  1058  	var x660 uint64
  1059  	x660, x659 = bits.Mul64(x6, arg2[6])
  1060  	var x661 uint64
  1061  	var x662 uint64
  1062  	x662, x661 = bits.Mul64(x6, arg2[5])
  1063  	var x663 uint64
  1064  	var x664 uint64
  1065  	x664, x663 = bits.Mul64(x6, arg2[4])
  1066  	var x665 uint64
  1067  	var x666 uint64
  1068  	x666, x665 = bits.Mul64(x6, arg2[3])
  1069  	var x667 uint64
  1070  	var x668 uint64
  1071  	x668, x667 = bits.Mul64(x6, arg2[2])
  1072  	var x669 uint64
  1073  	var x670 uint64
  1074  	x670, x669 = bits.Mul64(x6, arg2[1])
  1075  	var x671 uint64
  1076  	var x672 uint64
  1077  	x672, x671 = bits.Mul64(x6, arg2[0])
  1078  	var x673 uint64
  1079  	var x674 uint64
  1080  	x673, x674 = bits.Add64(x672, x669, uint64(0x0))
  1081  	var x675 uint64
  1082  	var x676 uint64
  1083  	x675, x676 = bits.Add64(x670, x667, uint64(p521Uint1(x674)))
  1084  	var x677 uint64
  1085  	var x678 uint64
  1086  	x677, x678 = bits.Add64(x668, x665, uint64(p521Uint1(x676)))
  1087  	var x679 uint64
  1088  	var x680 uint64
  1089  	x679, x680 = bits.Add64(x666, x663, uint64(p521Uint1(x678)))
  1090  	var x681 uint64
  1091  	var x682 uint64
  1092  	x681, x682 = bits.Add64(x664, x661, uint64(p521Uint1(x680)))
  1093  	var x683 uint64
  1094  	var x684 uint64
  1095  	x683, x684 = bits.Add64(x662, x659, uint64(p521Uint1(x682)))
  1096  	var x685 uint64
  1097  	var x686 uint64
  1098  	x685, x686 = bits.Add64(x660, x657, uint64(p521Uint1(x684)))
  1099  	var x687 uint64
  1100  	var x688 uint64
  1101  	x687, x688 = bits.Add64(x658, x655, uint64(p521Uint1(x686)))
  1102  	x689 := (uint64(p521Uint1(x688)) + x656)
  1103  	var x690 uint64
  1104  	var x691 uint64
  1105  	x690, x691 = bits.Add64(x636, x671, uint64(0x0))
  1106  	var x692 uint64
  1107  	var x693 uint64
  1108  	x692, x693 = bits.Add64(x638, x673, uint64(p521Uint1(x691)))
  1109  	var x694 uint64
  1110  	var x695 uint64
  1111  	x694, x695 = bits.Add64(x640, x675, uint64(p521Uint1(x693)))
  1112  	var x696 uint64
  1113  	var x697 uint64
  1114  	x696, x697 = bits.Add64(x642, x677, uint64(p521Uint1(x695)))
  1115  	var x698 uint64
  1116  	var x699 uint64
  1117  	x698, x699 = bits.Add64(x644, x679, uint64(p521Uint1(x697)))
  1118  	var x700 uint64
  1119  	var x701 uint64
  1120  	x700, x701 = bits.Add64(x646, x681, uint64(p521Uint1(x699)))
  1121  	var x702 uint64
  1122  	var x703 uint64
  1123  	x702, x703 = bits.Add64(x648, x683, uint64(p521Uint1(x701)))
  1124  	var x704 uint64
  1125  	var x705 uint64
  1126  	x704, x705 = bits.Add64(x650, x685, uint64(p521Uint1(x703)))
  1127  	var x706 uint64
  1128  	var x707 uint64
  1129  	x706, x707 = bits.Add64(x652, x687, uint64(p521Uint1(x705)))
  1130  	var x708 uint64
  1131  	var x709 uint64
  1132  	x708, x709 = bits.Add64(x654, x689, uint64(p521Uint1(x707)))
  1133  	var x710 uint64
  1134  	var x711 uint64
  1135  	x711, x710 = bits.Mul64(x690, 0x1ff)
  1136  	var x712 uint64
  1137  	var x713 uint64
  1138  	x713, x712 = bits.Mul64(x690, 0xffffffffffffffff)
  1139  	var x714 uint64
  1140  	var x715 uint64
  1141  	x715, x714 = bits.Mul64(x690, 0xffffffffffffffff)
  1142  	var x716 uint64
  1143  	var x717 uint64
  1144  	x717, x716 = bits.Mul64(x690, 0xffffffffffffffff)
  1145  	var x718 uint64
  1146  	var x719 uint64
  1147  	x719, x718 = bits.Mul64(x690, 0xffffffffffffffff)
  1148  	var x720 uint64
  1149  	var x721 uint64
  1150  	x721, x720 = bits.Mul64(x690, 0xffffffffffffffff)
  1151  	var x722 uint64
  1152  	var x723 uint64
  1153  	x723, x722 = bits.Mul64(x690, 0xffffffffffffffff)
  1154  	var x724 uint64
  1155  	var x725 uint64
  1156  	x725, x724 = bits.Mul64(x690, 0xffffffffffffffff)
  1157  	var x726 uint64
  1158  	var x727 uint64
  1159  	x727, x726 = bits.Mul64(x690, 0xffffffffffffffff)
  1160  	var x728 uint64
  1161  	var x729 uint64
  1162  	x728, x729 = bits.Add64(x727, x724, uint64(0x0))
  1163  	var x730 uint64
  1164  	var x731 uint64
  1165  	x730, x731 = bits.Add64(x725, x722, uint64(p521Uint1(x729)))
  1166  	var x732 uint64
  1167  	var x733 uint64
  1168  	x732, x733 = bits.Add64(x723, x720, uint64(p521Uint1(x731)))
  1169  	var x734 uint64
  1170  	var x735 uint64
  1171  	x734, x735 = bits.Add64(x721, x718, uint64(p521Uint1(x733)))
  1172  	var x736 uint64
  1173  	var x737 uint64
  1174  	x736, x737 = bits.Add64(x719, x716, uint64(p521Uint1(x735)))
  1175  	var x738 uint64
  1176  	var x739 uint64
  1177  	x738, x739 = bits.Add64(x717, x714, uint64(p521Uint1(x737)))
  1178  	var x740 uint64
  1179  	var x741 uint64
  1180  	x740, x741 = bits.Add64(x715, x712, uint64(p521Uint1(x739)))
  1181  	var x742 uint64
  1182  	var x743 uint64
  1183  	x742, x743 = bits.Add64(x713, x710, uint64(p521Uint1(x741)))
  1184  	x744 := (uint64(p521Uint1(x743)) + x711)
  1185  	var x746 uint64
  1186  	_, x746 = bits.Add64(x690, x726, uint64(0x0))
  1187  	var x747 uint64
  1188  	var x748 uint64
  1189  	x747, x748 = bits.Add64(x692, x728, uint64(p521Uint1(x746)))
  1190  	var x749 uint64
  1191  	var x750 uint64
  1192  	x749, x750 = bits.Add64(x694, x730, uint64(p521Uint1(x748)))
  1193  	var x751 uint64
  1194  	var x752 uint64
  1195  	x751, x752 = bits.Add64(x696, x732, uint64(p521Uint1(x750)))
  1196  	var x753 uint64
  1197  	var x754 uint64
  1198  	x753, x754 = bits.Add64(x698, x734, uint64(p521Uint1(x752)))
  1199  	var x755 uint64
  1200  	var x756 uint64
  1201  	x755, x756 = bits.Add64(x700, x736, uint64(p521Uint1(x754)))
  1202  	var x757 uint64
  1203  	var x758 uint64
  1204  	x757, x758 = bits.Add64(x702, x738, uint64(p521Uint1(x756)))
  1205  	var x759 uint64
  1206  	var x760 uint64
  1207  	x759, x760 = bits.Add64(x704, x740, uint64(p521Uint1(x758)))
  1208  	var x761 uint64
  1209  	var x762 uint64
  1210  	x761, x762 = bits.Add64(x706, x742, uint64(p521Uint1(x760)))
  1211  	var x763 uint64
  1212  	var x764 uint64
  1213  	x763, x764 = bits.Add64(x708, x744, uint64(p521Uint1(x762)))
  1214  	x765 := (uint64(p521Uint1(x764)) + uint64(p521Uint1(x709)))
  1215  	var x766 uint64
  1216  	var x767 uint64
  1217  	x767, x766 = bits.Mul64(x7, arg2[8])
  1218  	var x768 uint64
  1219  	var x769 uint64
  1220  	x769, x768 = bits.Mul64(x7, arg2[7])
  1221  	var x770 uint64
  1222  	var x771 uint64
  1223  	x771, x770 = bits.Mul64(x7, arg2[6])
  1224  	var x772 uint64
  1225  	var x773 uint64
  1226  	x773, x772 = bits.Mul64(x7, arg2[5])
  1227  	var x774 uint64
  1228  	var x775 uint64
  1229  	x775, x774 = bits.Mul64(x7, arg2[4])
  1230  	var x776 uint64
  1231  	var x777 uint64
  1232  	x777, x776 = bits.Mul64(x7, arg2[3])
  1233  	var x778 uint64
  1234  	var x779 uint64
  1235  	x779, x778 = bits.Mul64(x7, arg2[2])
  1236  	var x780 uint64
  1237  	var x781 uint64
  1238  	x781, x780 = bits.Mul64(x7, arg2[1])
  1239  	var x782 uint64
  1240  	var x783 uint64
  1241  	x783, x782 = bits.Mul64(x7, arg2[0])
  1242  	var x784 uint64
  1243  	var x785 uint64
  1244  	x784, x785 = bits.Add64(x783, x780, uint64(0x0))
  1245  	var x786 uint64
  1246  	var x787 uint64
  1247  	x786, x787 = bits.Add64(x781, x778, uint64(p521Uint1(x785)))
  1248  	var x788 uint64
  1249  	var x789 uint64
  1250  	x788, x789 = bits.Add64(x779, x776, uint64(p521Uint1(x787)))
  1251  	var x790 uint64
  1252  	var x791 uint64
  1253  	x790, x791 = bits.Add64(x777, x774, uint64(p521Uint1(x789)))
  1254  	var x792 uint64
  1255  	var x793 uint64
  1256  	x792, x793 = bits.Add64(x775, x772, uint64(p521Uint1(x791)))
  1257  	var x794 uint64
  1258  	var x795 uint64
  1259  	x794, x795 = bits.Add64(x773, x770, uint64(p521Uint1(x793)))
  1260  	var x796 uint64
  1261  	var x797 uint64
  1262  	x796, x797 = bits.Add64(x771, x768, uint64(p521Uint1(x795)))
  1263  	var x798 uint64
  1264  	var x799 uint64
  1265  	x798, x799 = bits.Add64(x769, x766, uint64(p521Uint1(x797)))
  1266  	x800 := (uint64(p521Uint1(x799)) + x767)
  1267  	var x801 uint64
  1268  	var x802 uint64
  1269  	x801, x802 = bits.Add64(x747, x782, uint64(0x0))
  1270  	var x803 uint64
  1271  	var x804 uint64
  1272  	x803, x804 = bits.Add64(x749, x784, uint64(p521Uint1(x802)))
  1273  	var x805 uint64
  1274  	var x806 uint64
  1275  	x805, x806 = bits.Add64(x751, x786, uint64(p521Uint1(x804)))
  1276  	var x807 uint64
  1277  	var x808 uint64
  1278  	x807, x808 = bits.Add64(x753, x788, uint64(p521Uint1(x806)))
  1279  	var x809 uint64
  1280  	var x810 uint64
  1281  	x809, x810 = bits.Add64(x755, x790, uint64(p521Uint1(x808)))
  1282  	var x811 uint64
  1283  	var x812 uint64
  1284  	x811, x812 = bits.Add64(x757, x792, uint64(p521Uint1(x810)))
  1285  	var x813 uint64
  1286  	var x814 uint64
  1287  	x813, x814 = bits.Add64(x759, x794, uint64(p521Uint1(x812)))
  1288  	var x815 uint64
  1289  	var x816 uint64
  1290  	x815, x816 = bits.Add64(x761, x796, uint64(p521Uint1(x814)))
  1291  	var x817 uint64
  1292  	var x818 uint64
  1293  	x817, x818 = bits.Add64(x763, x798, uint64(p521Uint1(x816)))
  1294  	var x819 uint64
  1295  	var x820 uint64
  1296  	x819, x820 = bits.Add64(x765, x800, uint64(p521Uint1(x818)))
  1297  	var x821 uint64
  1298  	var x822 uint64
  1299  	x822, x821 = bits.Mul64(x801, 0x1ff)
  1300  	var x823 uint64
  1301  	var x824 uint64
  1302  	x824, x823 = bits.Mul64(x801, 0xffffffffffffffff)
  1303  	var x825 uint64
  1304  	var x826 uint64
  1305  	x826, x825 = bits.Mul64(x801, 0xffffffffffffffff)
  1306  	var x827 uint64
  1307  	var x828 uint64
  1308  	x828, x827 = bits.Mul64(x801, 0xffffffffffffffff)
  1309  	var x829 uint64
  1310  	var x830 uint64
  1311  	x830, x829 = bits.Mul64(x801, 0xffffffffffffffff)
  1312  	var x831 uint64
  1313  	var x832 uint64
  1314  	x832, x831 = bits.Mul64(x801, 0xffffffffffffffff)
  1315  	var x833 uint64
  1316  	var x834 uint64
  1317  	x834, x833 = bits.Mul64(x801, 0xffffffffffffffff)
  1318  	var x835 uint64
  1319  	var x836 uint64
  1320  	x836, x835 = bits.Mul64(x801, 0xffffffffffffffff)
  1321  	var x837 uint64
  1322  	var x838 uint64
  1323  	x838, x837 = bits.Mul64(x801, 0xffffffffffffffff)
  1324  	var x839 uint64
  1325  	var x840 uint64
  1326  	x839, x840 = bits.Add64(x838, x835, uint64(0x0))
  1327  	var x841 uint64
  1328  	var x842 uint64
  1329  	x841, x842 = bits.Add64(x836, x833, uint64(p521Uint1(x840)))
  1330  	var x843 uint64
  1331  	var x844 uint64
  1332  	x843, x844 = bits.Add64(x834, x831, uint64(p521Uint1(x842)))
  1333  	var x845 uint64
  1334  	var x846 uint64
  1335  	x845, x846 = bits.Add64(x832, x829, uint64(p521Uint1(x844)))
  1336  	var x847 uint64
  1337  	var x848 uint64
  1338  	x847, x848 = bits.Add64(x830, x827, uint64(p521Uint1(x846)))
  1339  	var x849 uint64
  1340  	var x850 uint64
  1341  	x849, x850 = bits.Add64(x828, x825, uint64(p521Uint1(x848)))
  1342  	var x851 uint64
  1343  	var x852 uint64
  1344  	x851, x852 = bits.Add64(x826, x823, uint64(p521Uint1(x850)))
  1345  	var x853 uint64
  1346  	var x854 uint64
  1347  	x853, x854 = bits.Add64(x824, x821, uint64(p521Uint1(x852)))
  1348  	x855 := (uint64(p521Uint1(x854)) + x822)
  1349  	var x857 uint64
  1350  	_, x857 = bits.Add64(x801, x837, uint64(0x0))
  1351  	var x858 uint64
  1352  	var x859 uint64
  1353  	x858, x859 = bits.Add64(x803, x839, uint64(p521Uint1(x857)))
  1354  	var x860 uint64
  1355  	var x861 uint64
  1356  	x860, x861 = bits.Add64(x805, x841, uint64(p521Uint1(x859)))
  1357  	var x862 uint64
  1358  	var x863 uint64
  1359  	x862, x863 = bits.Add64(x807, x843, uint64(p521Uint1(x861)))
  1360  	var x864 uint64
  1361  	var x865 uint64
  1362  	x864, x865 = bits.Add64(x809, x845, uint64(p521Uint1(x863)))
  1363  	var x866 uint64
  1364  	var x867 uint64
  1365  	x866, x867 = bits.Add64(x811, x847, uint64(p521Uint1(x865)))
  1366  	var x868 uint64
  1367  	var x869 uint64
  1368  	x868, x869 = bits.Add64(x813, x849, uint64(p521Uint1(x867)))
  1369  	var x870 uint64
  1370  	var x871 uint64
  1371  	x870, x871 = bits.Add64(x815, x851, uint64(p521Uint1(x869)))
  1372  	var x872 uint64
  1373  	var x873 uint64
  1374  	x872, x873 = bits.Add64(x817, x853, uint64(p521Uint1(x871)))
  1375  	var x874 uint64
  1376  	var x875 uint64
  1377  	x874, x875 = bits.Add64(x819, x855, uint64(p521Uint1(x873)))
  1378  	x876 := (uint64(p521Uint1(x875)) + uint64(p521Uint1(x820)))
  1379  	var x877 uint64
  1380  	var x878 uint64
  1381  	x878, x877 = bits.Mul64(x8, arg2[8])
  1382  	var x879 uint64
  1383  	var x880 uint64
  1384  	x880, x879 = bits.Mul64(x8, arg2[7])
  1385  	var x881 uint64
  1386  	var x882 uint64
  1387  	x882, x881 = bits.Mul64(x8, arg2[6])
  1388  	var x883 uint64
  1389  	var x884 uint64
  1390  	x884, x883 = bits.Mul64(x8, arg2[5])
  1391  	var x885 uint64
  1392  	var x886 uint64
  1393  	x886, x885 = bits.Mul64(x8, arg2[4])
  1394  	var x887 uint64
  1395  	var x888 uint64
  1396  	x888, x887 = bits.Mul64(x8, arg2[3])
  1397  	var x889 uint64
  1398  	var x890 uint64
  1399  	x890, x889 = bits.Mul64(x8, arg2[2])
  1400  	var x891 uint64
  1401  	var x892 uint64
  1402  	x892, x891 = bits.Mul64(x8, arg2[1])
  1403  	var x893 uint64
  1404  	var x894 uint64
  1405  	x894, x893 = bits.Mul64(x8, arg2[0])
  1406  	var x895 uint64
  1407  	var x896 uint64
  1408  	x895, x896 = bits.Add64(x894, x891, uint64(0x0))
  1409  	var x897 uint64
  1410  	var x898 uint64
  1411  	x897, x898 = bits.Add64(x892, x889, uint64(p521Uint1(x896)))
  1412  	var x899 uint64
  1413  	var x900 uint64
  1414  	x899, x900 = bits.Add64(x890, x887, uint64(p521Uint1(x898)))
  1415  	var x901 uint64
  1416  	var x902 uint64
  1417  	x901, x902 = bits.Add64(x888, x885, uint64(p521Uint1(x900)))
  1418  	var x903 uint64
  1419  	var x904 uint64
  1420  	x903, x904 = bits.Add64(x886, x883, uint64(p521Uint1(x902)))
  1421  	var x905 uint64
  1422  	var x906 uint64
  1423  	x905, x906 = bits.Add64(x884, x881, uint64(p521Uint1(x904)))
  1424  	var x907 uint64
  1425  	var x908 uint64
  1426  	x907, x908 = bits.Add64(x882, x879, uint64(p521Uint1(x906)))
  1427  	var x909 uint64
  1428  	var x910 uint64
  1429  	x909, x910 = bits.Add64(x880, x877, uint64(p521Uint1(x908)))
  1430  	x911 := (uint64(p521Uint1(x910)) + x878)
  1431  	var x912 uint64
  1432  	var x913 uint64
  1433  	x912, x913 = bits.Add64(x858, x893, uint64(0x0))
  1434  	var x914 uint64
  1435  	var x915 uint64
  1436  	x914, x915 = bits.Add64(x860, x895, uint64(p521Uint1(x913)))
  1437  	var x916 uint64
  1438  	var x917 uint64
  1439  	x916, x917 = bits.Add64(x862, x897, uint64(p521Uint1(x915)))
  1440  	var x918 uint64
  1441  	var x919 uint64
  1442  	x918, x919 = bits.Add64(x864, x899, uint64(p521Uint1(x917)))
  1443  	var x920 uint64
  1444  	var x921 uint64
  1445  	x920, x921 = bits.Add64(x866, x901, uint64(p521Uint1(x919)))
  1446  	var x922 uint64
  1447  	var x923 uint64
  1448  	x922, x923 = bits.Add64(x868, x903, uint64(p521Uint1(x921)))
  1449  	var x924 uint64
  1450  	var x925 uint64
  1451  	x924, x925 = bits.Add64(x870, x905, uint64(p521Uint1(x923)))
  1452  	var x926 uint64
  1453  	var x927 uint64
  1454  	x926, x927 = bits.Add64(x872, x907, uint64(p521Uint1(x925)))
  1455  	var x928 uint64
  1456  	var x929 uint64
  1457  	x928, x929 = bits.Add64(x874, x909, uint64(p521Uint1(x927)))
  1458  	var x930 uint64
  1459  	var x931 uint64
  1460  	x930, x931 = bits.Add64(x876, x911, uint64(p521Uint1(x929)))
  1461  	var x932 uint64
  1462  	var x933 uint64
  1463  	x933, x932 = bits.Mul64(x912, 0x1ff)
  1464  	var x934 uint64
  1465  	var x935 uint64
  1466  	x935, x934 = bits.Mul64(x912, 0xffffffffffffffff)
  1467  	var x936 uint64
  1468  	var x937 uint64
  1469  	x937, x936 = bits.Mul64(x912, 0xffffffffffffffff)
  1470  	var x938 uint64
  1471  	var x939 uint64
  1472  	x939, x938 = bits.Mul64(x912, 0xffffffffffffffff)
  1473  	var x940 uint64
  1474  	var x941 uint64
  1475  	x941, x940 = bits.Mul64(x912, 0xffffffffffffffff)
  1476  	var x942 uint64
  1477  	var x943 uint64
  1478  	x943, x942 = bits.Mul64(x912, 0xffffffffffffffff)
  1479  	var x944 uint64
  1480  	var x945 uint64
  1481  	x945, x944 = bits.Mul64(x912, 0xffffffffffffffff)
  1482  	var x946 uint64
  1483  	var x947 uint64
  1484  	x947, x946 = bits.Mul64(x912, 0xffffffffffffffff)
  1485  	var x948 uint64
  1486  	var x949 uint64
  1487  	x949, x948 = bits.Mul64(x912, 0xffffffffffffffff)
  1488  	var x950 uint64
  1489  	var x951 uint64
  1490  	x950, x951 = bits.Add64(x949, x946, uint64(0x0))
  1491  	var x952 uint64
  1492  	var x953 uint64
  1493  	x952, x953 = bits.Add64(x947, x944, uint64(p521Uint1(x951)))
  1494  	var x954 uint64
  1495  	var x955 uint64
  1496  	x954, x955 = bits.Add64(x945, x942, uint64(p521Uint1(x953)))
  1497  	var x956 uint64
  1498  	var x957 uint64
  1499  	x956, x957 = bits.Add64(x943, x940, uint64(p521Uint1(x955)))
  1500  	var x958 uint64
  1501  	var x959 uint64
  1502  	x958, x959 = bits.Add64(x941, x938, uint64(p521Uint1(x957)))
  1503  	var x960 uint64
  1504  	var x961 uint64
  1505  	x960, x961 = bits.Add64(x939, x936, uint64(p521Uint1(x959)))
  1506  	var x962 uint64
  1507  	var x963 uint64
  1508  	x962, x963 = bits.Add64(x937, x934, uint64(p521Uint1(x961)))
  1509  	var x964 uint64
  1510  	var x965 uint64
  1511  	x964, x965 = bits.Add64(x935, x932, uint64(p521Uint1(x963)))
  1512  	x966 := (uint64(p521Uint1(x965)) + x933)
  1513  	var x968 uint64
  1514  	_, x968 = bits.Add64(x912, x948, uint64(0x0))
  1515  	var x969 uint64
  1516  	var x970 uint64
  1517  	x969, x970 = bits.Add64(x914, x950, uint64(p521Uint1(x968)))
  1518  	var x971 uint64
  1519  	var x972 uint64
  1520  	x971, x972 = bits.Add64(x916, x952, uint64(p521Uint1(x970)))
  1521  	var x973 uint64
  1522  	var x974 uint64
  1523  	x973, x974 = bits.Add64(x918, x954, uint64(p521Uint1(x972)))
  1524  	var x975 uint64
  1525  	var x976 uint64
  1526  	x975, x976 = bits.Add64(x920, x956, uint64(p521Uint1(x974)))
  1527  	var x977 uint64
  1528  	var x978 uint64
  1529  	x977, x978 = bits.Add64(x922, x958, uint64(p521Uint1(x976)))
  1530  	var x979 uint64
  1531  	var x980 uint64
  1532  	x979, x980 = bits.Add64(x924, x960, uint64(p521Uint1(x978)))
  1533  	var x981 uint64
  1534  	var x982 uint64
  1535  	x981, x982 = bits.Add64(x926, x962, uint64(p521Uint1(x980)))
  1536  	var x983 uint64
  1537  	var x984 uint64
  1538  	x983, x984 = bits.Add64(x928, x964, uint64(p521Uint1(x982)))
  1539  	var x985 uint64
  1540  	var x986 uint64
  1541  	x985, x986 = bits.Add64(x930, x966, uint64(p521Uint1(x984)))
  1542  	x987 := (uint64(p521Uint1(x986)) + uint64(p521Uint1(x931)))
  1543  	var x988 uint64
  1544  	var x989 uint64
  1545  	x988, x989 = bits.Sub64(x969, 0xffffffffffffffff, uint64(0x0))
  1546  	var x990 uint64
  1547  	var x991 uint64
  1548  	x990, x991 = bits.Sub64(x971, 0xffffffffffffffff, uint64(p521Uint1(x989)))
  1549  	var x992 uint64
  1550  	var x993 uint64
  1551  	x992, x993 = bits.Sub64(x973, 0xffffffffffffffff, uint64(p521Uint1(x991)))
  1552  	var x994 uint64
  1553  	var x995 uint64
  1554  	x994, x995 = bits.Sub64(x975, 0xffffffffffffffff, uint64(p521Uint1(x993)))
  1555  	var x996 uint64
  1556  	var x997 uint64
  1557  	x996, x997 = bits.Sub64(x977, 0xffffffffffffffff, uint64(p521Uint1(x995)))
  1558  	var x998 uint64
  1559  	var x999 uint64
  1560  	x998, x999 = bits.Sub64(x979, 0xffffffffffffffff, uint64(p521Uint1(x997)))
  1561  	var x1000 uint64
  1562  	var x1001 uint64
  1563  	x1000, x1001 = bits.Sub64(x981, 0xffffffffffffffff, uint64(p521Uint1(x999)))
  1564  	var x1002 uint64
  1565  	var x1003 uint64
  1566  	x1002, x1003 = bits.Sub64(x983, 0xffffffffffffffff, uint64(p521Uint1(x1001)))
  1567  	var x1004 uint64
  1568  	var x1005 uint64
  1569  	x1004, x1005 = bits.Sub64(x985, 0x1ff, uint64(p521Uint1(x1003)))
  1570  	var x1007 uint64
  1571  	_, x1007 = bits.Sub64(x987, uint64(0x0), uint64(p521Uint1(x1005)))
  1572  	var x1008 uint64
  1573  	p521CmovznzU64(&x1008, p521Uint1(x1007), x988, x969)
  1574  	var x1009 uint64
  1575  	p521CmovznzU64(&x1009, p521Uint1(x1007), x990, x971)
  1576  	var x1010 uint64
  1577  	p521CmovznzU64(&x1010, p521Uint1(x1007), x992, x973)
  1578  	var x1011 uint64
  1579  	p521CmovznzU64(&x1011, p521Uint1(x1007), x994, x975)
  1580  	var x1012 uint64
  1581  	p521CmovznzU64(&x1012, p521Uint1(x1007), x996, x977)
  1582  	var x1013 uint64
  1583  	p521CmovznzU64(&x1013, p521Uint1(x1007), x998, x979)
  1584  	var x1014 uint64
  1585  	p521CmovznzU64(&x1014, p521Uint1(x1007), x1000, x981)
  1586  	var x1015 uint64
  1587  	p521CmovznzU64(&x1015, p521Uint1(x1007), x1002, x983)
  1588  	var x1016 uint64
  1589  	p521CmovznzU64(&x1016, p521Uint1(x1007), x1004, x985)
  1590  	out1[0] = x1008
  1591  	out1[1] = x1009
  1592  	out1[2] = x1010
  1593  	out1[3] = x1011
  1594  	out1[4] = x1012
  1595  	out1[5] = x1013
  1596  	out1[6] = x1014
  1597  	out1[7] = x1015
  1598  	out1[8] = x1016
  1599  }
  1600  
  1601  // p521Square squares a field element in the Montgomery domain.
  1602  //
  1603  // Preconditions:
  1604  //
  1605  //	0 ≤ eval arg1 < m
  1606  //
  1607  // Postconditions:
  1608  //
  1609  //	eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) * eval (from_montgomery arg1)) mod m
  1610  //	0 ≤ eval out1 < m
  1611  func p521Square(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement) {
  1612  	x1 := arg1[1]
  1613  	x2 := arg1[2]
  1614  	x3 := arg1[3]
  1615  	x4 := arg1[4]
  1616  	x5 := arg1[5]
  1617  	x6 := arg1[6]
  1618  	x7 := arg1[7]
  1619  	x8 := arg1[8]
  1620  	x9 := arg1[0]
  1621  	var x10 uint64
  1622  	var x11 uint64
  1623  	x11, x10 = bits.Mul64(x9, arg1[8])
  1624  	var x12 uint64
  1625  	var x13 uint64
  1626  	x13, x12 = bits.Mul64(x9, arg1[7])
  1627  	var x14 uint64
  1628  	var x15 uint64
  1629  	x15, x14 = bits.Mul64(x9, arg1[6])
  1630  	var x16 uint64
  1631  	var x17 uint64
  1632  	x17, x16 = bits.Mul64(x9, arg1[5])
  1633  	var x18 uint64
  1634  	var x19 uint64
  1635  	x19, x18 = bits.Mul64(x9, arg1[4])
  1636  	var x20 uint64
  1637  	var x21 uint64
  1638  	x21, x20 = bits.Mul64(x9, arg1[3])
  1639  	var x22 uint64
  1640  	var x23 uint64
  1641  	x23, x22 = bits.Mul64(x9, arg1[2])
  1642  	var x24 uint64
  1643  	var x25 uint64
  1644  	x25, x24 = bits.Mul64(x9, arg1[1])
  1645  	var x26 uint64
  1646  	var x27 uint64
  1647  	x27, x26 = bits.Mul64(x9, arg1[0])
  1648  	var x28 uint64
  1649  	var x29 uint64
  1650  	x28, x29 = bits.Add64(x27, x24, uint64(0x0))
  1651  	var x30 uint64
  1652  	var x31 uint64
  1653  	x30, x31 = bits.Add64(x25, x22, uint64(p521Uint1(x29)))
  1654  	var x32 uint64
  1655  	var x33 uint64
  1656  	x32, x33 = bits.Add64(x23, x20, uint64(p521Uint1(x31)))
  1657  	var x34 uint64
  1658  	var x35 uint64
  1659  	x34, x35 = bits.Add64(x21, x18, uint64(p521Uint1(x33)))
  1660  	var x36 uint64
  1661  	var x37 uint64
  1662  	x36, x37 = bits.Add64(x19, x16, uint64(p521Uint1(x35)))
  1663  	var x38 uint64
  1664  	var x39 uint64
  1665  	x38, x39 = bits.Add64(x17, x14, uint64(p521Uint1(x37)))
  1666  	var x40 uint64
  1667  	var x41 uint64
  1668  	x40, x41 = bits.Add64(x15, x12, uint64(p521Uint1(x39)))
  1669  	var x42 uint64
  1670  	var x43 uint64
  1671  	x42, x43 = bits.Add64(x13, x10, uint64(p521Uint1(x41)))
  1672  	x44 := (uint64(p521Uint1(x43)) + x11)
  1673  	var x45 uint64
  1674  	var x46 uint64
  1675  	x46, x45 = bits.Mul64(x26, 0x1ff)
  1676  	var x47 uint64
  1677  	var x48 uint64
  1678  	x48, x47 = bits.Mul64(x26, 0xffffffffffffffff)
  1679  	var x49 uint64
  1680  	var x50 uint64
  1681  	x50, x49 = bits.Mul64(x26, 0xffffffffffffffff)
  1682  	var x51 uint64
  1683  	var x52 uint64
  1684  	x52, x51 = bits.Mul64(x26, 0xffffffffffffffff)
  1685  	var x53 uint64
  1686  	var x54 uint64
  1687  	x54, x53 = bits.Mul64(x26, 0xffffffffffffffff)
  1688  	var x55 uint64
  1689  	var x56 uint64
  1690  	x56, x55 = bits.Mul64(x26, 0xffffffffffffffff)
  1691  	var x57 uint64
  1692  	var x58 uint64
  1693  	x58, x57 = bits.Mul64(x26, 0xffffffffffffffff)
  1694  	var x59 uint64
  1695  	var x60 uint64
  1696  	x60, x59 = bits.Mul64(x26, 0xffffffffffffffff)
  1697  	var x61 uint64
  1698  	var x62 uint64
  1699  	x62, x61 = bits.Mul64(x26, 0xffffffffffffffff)
  1700  	var x63 uint64
  1701  	var x64 uint64
  1702  	x63, x64 = bits.Add64(x62, x59, uint64(0x0))
  1703  	var x65 uint64
  1704  	var x66 uint64
  1705  	x65, x66 = bits.Add64(x60, x57, uint64(p521Uint1(x64)))
  1706  	var x67 uint64
  1707  	var x68 uint64
  1708  	x67, x68 = bits.Add64(x58, x55, uint64(p521Uint1(x66)))
  1709  	var x69 uint64
  1710  	var x70 uint64
  1711  	x69, x70 = bits.Add64(x56, x53, uint64(p521Uint1(x68)))
  1712  	var x71 uint64
  1713  	var x72 uint64
  1714  	x71, x72 = bits.Add64(x54, x51, uint64(p521Uint1(x70)))
  1715  	var x73 uint64
  1716  	var x74 uint64
  1717  	x73, x74 = bits.Add64(x52, x49, uint64(p521Uint1(x72)))
  1718  	var x75 uint64
  1719  	var x76 uint64
  1720  	x75, x76 = bits.Add64(x50, x47, uint64(p521Uint1(x74)))
  1721  	var x77 uint64
  1722  	var x78 uint64
  1723  	x77, x78 = bits.Add64(x48, x45, uint64(p521Uint1(x76)))
  1724  	x79 := (uint64(p521Uint1(x78)) + x46)
  1725  	var x81 uint64
  1726  	_, x81 = bits.Add64(x26, x61, uint64(0x0))
  1727  	var x82 uint64
  1728  	var x83 uint64
  1729  	x82, x83 = bits.Add64(x28, x63, uint64(p521Uint1(x81)))
  1730  	var x84 uint64
  1731  	var x85 uint64
  1732  	x84, x85 = bits.Add64(x30, x65, uint64(p521Uint1(x83)))
  1733  	var x86 uint64
  1734  	var x87 uint64
  1735  	x86, x87 = bits.Add64(x32, x67, uint64(p521Uint1(x85)))
  1736  	var x88 uint64
  1737  	var x89 uint64
  1738  	x88, x89 = bits.Add64(x34, x69, uint64(p521Uint1(x87)))
  1739  	var x90 uint64
  1740  	var x91 uint64
  1741  	x90, x91 = bits.Add64(x36, x71, uint64(p521Uint1(x89)))
  1742  	var x92 uint64
  1743  	var x93 uint64
  1744  	x92, x93 = bits.Add64(x38, x73, uint64(p521Uint1(x91)))
  1745  	var x94 uint64
  1746  	var x95 uint64
  1747  	x94, x95 = bits.Add64(x40, x75, uint64(p521Uint1(x93)))
  1748  	var x96 uint64
  1749  	var x97 uint64
  1750  	x96, x97 = bits.Add64(x42, x77, uint64(p521Uint1(x95)))
  1751  	var x98 uint64
  1752  	var x99 uint64
  1753  	x98, x99 = bits.Add64(x44, x79, uint64(p521Uint1(x97)))
  1754  	var x100 uint64
  1755  	var x101 uint64
  1756  	x101, x100 = bits.Mul64(x1, arg1[8])
  1757  	var x102 uint64
  1758  	var x103 uint64
  1759  	x103, x102 = bits.Mul64(x1, arg1[7])
  1760  	var x104 uint64
  1761  	var x105 uint64
  1762  	x105, x104 = bits.Mul64(x1, arg1[6])
  1763  	var x106 uint64
  1764  	var x107 uint64
  1765  	x107, x106 = bits.Mul64(x1, arg1[5])
  1766  	var x108 uint64
  1767  	var x109 uint64
  1768  	x109, x108 = bits.Mul64(x1, arg1[4])
  1769  	var x110 uint64
  1770  	var x111 uint64
  1771  	x111, x110 = bits.Mul64(x1, arg1[3])
  1772  	var x112 uint64
  1773  	var x113 uint64
  1774  	x113, x112 = bits.Mul64(x1, arg1[2])
  1775  	var x114 uint64
  1776  	var x115 uint64
  1777  	x115, x114 = bits.Mul64(x1, arg1[1])
  1778  	var x116 uint64
  1779  	var x117 uint64
  1780  	x117, x116 = bits.Mul64(x1, arg1[0])
  1781  	var x118 uint64
  1782  	var x119 uint64
  1783  	x118, x119 = bits.Add64(x117, x114, uint64(0x0))
  1784  	var x120 uint64
  1785  	var x121 uint64
  1786  	x120, x121 = bits.Add64(x115, x112, uint64(p521Uint1(x119)))
  1787  	var x122 uint64
  1788  	var x123 uint64
  1789  	x122, x123 = bits.Add64(x113, x110, uint64(p521Uint1(x121)))
  1790  	var x124 uint64
  1791  	var x125 uint64
  1792  	x124, x125 = bits.Add64(x111, x108, uint64(p521Uint1(x123)))
  1793  	var x126 uint64
  1794  	var x127 uint64
  1795  	x126, x127 = bits.Add64(x109, x106, uint64(p521Uint1(x125)))
  1796  	var x128 uint64
  1797  	var x129 uint64
  1798  	x128, x129 = bits.Add64(x107, x104, uint64(p521Uint1(x127)))
  1799  	var x130 uint64
  1800  	var x131 uint64
  1801  	x130, x131 = bits.Add64(x105, x102, uint64(p521Uint1(x129)))
  1802  	var x132 uint64
  1803  	var x133 uint64
  1804  	x132, x133 = bits.Add64(x103, x100, uint64(p521Uint1(x131)))
  1805  	x134 := (uint64(p521Uint1(x133)) + x101)
  1806  	var x135 uint64
  1807  	var x136 uint64
  1808  	x135, x136 = bits.Add64(x82, x116, uint64(0x0))
  1809  	var x137 uint64
  1810  	var x138 uint64
  1811  	x137, x138 = bits.Add64(x84, x118, uint64(p521Uint1(x136)))
  1812  	var x139 uint64
  1813  	var x140 uint64
  1814  	x139, x140 = bits.Add64(x86, x120, uint64(p521Uint1(x138)))
  1815  	var x141 uint64
  1816  	var x142 uint64
  1817  	x141, x142 = bits.Add64(x88, x122, uint64(p521Uint1(x140)))
  1818  	var x143 uint64
  1819  	var x144 uint64
  1820  	x143, x144 = bits.Add64(x90, x124, uint64(p521Uint1(x142)))
  1821  	var x145 uint64
  1822  	var x146 uint64
  1823  	x145, x146 = bits.Add64(x92, x126, uint64(p521Uint1(x144)))
  1824  	var x147 uint64
  1825  	var x148 uint64
  1826  	x147, x148 = bits.Add64(x94, x128, uint64(p521Uint1(x146)))
  1827  	var x149 uint64
  1828  	var x150 uint64
  1829  	x149, x150 = bits.Add64(x96, x130, uint64(p521Uint1(x148)))
  1830  	var x151 uint64
  1831  	var x152 uint64
  1832  	x151, x152 = bits.Add64(x98, x132, uint64(p521Uint1(x150)))
  1833  	var x153 uint64
  1834  	var x154 uint64
  1835  	x153, x154 = bits.Add64(uint64(p521Uint1(x99)), x134, uint64(p521Uint1(x152)))
  1836  	var x155 uint64
  1837  	var x156 uint64
  1838  	x156, x155 = bits.Mul64(x135, 0x1ff)
  1839  	var x157 uint64
  1840  	var x158 uint64
  1841  	x158, x157 = bits.Mul64(x135, 0xffffffffffffffff)
  1842  	var x159 uint64
  1843  	var x160 uint64
  1844  	x160, x159 = bits.Mul64(x135, 0xffffffffffffffff)
  1845  	var x161 uint64
  1846  	var x162 uint64
  1847  	x162, x161 = bits.Mul64(x135, 0xffffffffffffffff)
  1848  	var x163 uint64
  1849  	var x164 uint64
  1850  	x164, x163 = bits.Mul64(x135, 0xffffffffffffffff)
  1851  	var x165 uint64
  1852  	var x166 uint64
  1853  	x166, x165 = bits.Mul64(x135, 0xffffffffffffffff)
  1854  	var x167 uint64
  1855  	var x168 uint64
  1856  	x168, x167 = bits.Mul64(x135, 0xffffffffffffffff)
  1857  	var x169 uint64
  1858  	var x170 uint64
  1859  	x170, x169 = bits.Mul64(x135, 0xffffffffffffffff)
  1860  	var x171 uint64
  1861  	var x172 uint64
  1862  	x172, x171 = bits.Mul64(x135, 0xffffffffffffffff)
  1863  	var x173 uint64
  1864  	var x174 uint64
  1865  	x173, x174 = bits.Add64(x172, x169, uint64(0x0))
  1866  	var x175 uint64
  1867  	var x176 uint64
  1868  	x175, x176 = bits.Add64(x170, x167, uint64(p521Uint1(x174)))
  1869  	var x177 uint64
  1870  	var x178 uint64
  1871  	x177, x178 = bits.Add64(x168, x165, uint64(p521Uint1(x176)))
  1872  	var x179 uint64
  1873  	var x180 uint64
  1874  	x179, x180 = bits.Add64(x166, x163, uint64(p521Uint1(x178)))
  1875  	var x181 uint64
  1876  	var x182 uint64
  1877  	x181, x182 = bits.Add64(x164, x161, uint64(p521Uint1(x180)))
  1878  	var x183 uint64
  1879  	var x184 uint64
  1880  	x183, x184 = bits.Add64(x162, x159, uint64(p521Uint1(x182)))
  1881  	var x185 uint64
  1882  	var x186 uint64
  1883  	x185, x186 = bits.Add64(x160, x157, uint64(p521Uint1(x184)))
  1884  	var x187 uint64
  1885  	var x188 uint64
  1886  	x187, x188 = bits.Add64(x158, x155, uint64(p521Uint1(x186)))
  1887  	x189 := (uint64(p521Uint1(x188)) + x156)
  1888  	var x191 uint64
  1889  	_, x191 = bits.Add64(x135, x171, uint64(0x0))
  1890  	var x192 uint64
  1891  	var x193 uint64
  1892  	x192, x193 = bits.Add64(x137, x173, uint64(p521Uint1(x191)))
  1893  	var x194 uint64
  1894  	var x195 uint64
  1895  	x194, x195 = bits.Add64(x139, x175, uint64(p521Uint1(x193)))
  1896  	var x196 uint64
  1897  	var x197 uint64
  1898  	x196, x197 = bits.Add64(x141, x177, uint64(p521Uint1(x195)))
  1899  	var x198 uint64
  1900  	var x199 uint64
  1901  	x198, x199 = bits.Add64(x143, x179, uint64(p521Uint1(x197)))
  1902  	var x200 uint64
  1903  	var x201 uint64
  1904  	x200, x201 = bits.Add64(x145, x181, uint64(p521Uint1(x199)))
  1905  	var x202 uint64
  1906  	var x203 uint64
  1907  	x202, x203 = bits.Add64(x147, x183, uint64(p521Uint1(x201)))
  1908  	var x204 uint64
  1909  	var x205 uint64
  1910  	x204, x205 = bits.Add64(x149, x185, uint64(p521Uint1(x203)))
  1911  	var x206 uint64
  1912  	var x207 uint64
  1913  	x206, x207 = bits.Add64(x151, x187, uint64(p521Uint1(x205)))
  1914  	var x208 uint64
  1915  	var x209 uint64
  1916  	x208, x209 = bits.Add64(x153, x189, uint64(p521Uint1(x207)))
  1917  	x210 := (uint64(p521Uint1(x209)) + uint64(p521Uint1(x154)))
  1918  	var x211 uint64
  1919  	var x212 uint64
  1920  	x212, x211 = bits.Mul64(x2, arg1[8])
  1921  	var x213 uint64
  1922  	var x214 uint64
  1923  	x214, x213 = bits.Mul64(x2, arg1[7])
  1924  	var x215 uint64
  1925  	var x216 uint64
  1926  	x216, x215 = bits.Mul64(x2, arg1[6])
  1927  	var x217 uint64
  1928  	var x218 uint64
  1929  	x218, x217 = bits.Mul64(x2, arg1[5])
  1930  	var x219 uint64
  1931  	var x220 uint64
  1932  	x220, x219 = bits.Mul64(x2, arg1[4])
  1933  	var x221 uint64
  1934  	var x222 uint64
  1935  	x222, x221 = bits.Mul64(x2, arg1[3])
  1936  	var x223 uint64
  1937  	var x224 uint64
  1938  	x224, x223 = bits.Mul64(x2, arg1[2])
  1939  	var x225 uint64
  1940  	var x226 uint64
  1941  	x226, x225 = bits.Mul64(x2, arg1[1])
  1942  	var x227 uint64
  1943  	var x228 uint64
  1944  	x228, x227 = bits.Mul64(x2, arg1[0])
  1945  	var x229 uint64
  1946  	var x230 uint64
  1947  	x229, x230 = bits.Add64(x228, x225, uint64(0x0))
  1948  	var x231 uint64
  1949  	var x232 uint64
  1950  	x231, x232 = bits.Add64(x226, x223, uint64(p521Uint1(x230)))
  1951  	var x233 uint64
  1952  	var x234 uint64
  1953  	x233, x234 = bits.Add64(x224, x221, uint64(p521Uint1(x232)))
  1954  	var x235 uint64
  1955  	var x236 uint64
  1956  	x235, x236 = bits.Add64(x222, x219, uint64(p521Uint1(x234)))
  1957  	var x237 uint64
  1958  	var x238 uint64
  1959  	x237, x238 = bits.Add64(x220, x217, uint64(p521Uint1(x236)))
  1960  	var x239 uint64
  1961  	var x240 uint64
  1962  	x239, x240 = bits.Add64(x218, x215, uint64(p521Uint1(x238)))
  1963  	var x241 uint64
  1964  	var x242 uint64
  1965  	x241, x242 = bits.Add64(x216, x213, uint64(p521Uint1(x240)))
  1966  	var x243 uint64
  1967  	var x244 uint64
  1968  	x243, x244 = bits.Add64(x214, x211, uint64(p521Uint1(x242)))
  1969  	x245 := (uint64(p521Uint1(x244)) + x212)
  1970  	var x246 uint64
  1971  	var x247 uint64
  1972  	x246, x247 = bits.Add64(x192, x227, uint64(0x0))
  1973  	var x248 uint64
  1974  	var x249 uint64
  1975  	x248, x249 = bits.Add64(x194, x229, uint64(p521Uint1(x247)))
  1976  	var x250 uint64
  1977  	var x251 uint64
  1978  	x250, x251 = bits.Add64(x196, x231, uint64(p521Uint1(x249)))
  1979  	var x252 uint64
  1980  	var x253 uint64
  1981  	x252, x253 = bits.Add64(x198, x233, uint64(p521Uint1(x251)))
  1982  	var x254 uint64
  1983  	var x255 uint64
  1984  	x254, x255 = bits.Add64(x200, x235, uint64(p521Uint1(x253)))
  1985  	var x256 uint64
  1986  	var x257 uint64
  1987  	x256, x257 = bits.Add64(x202, x237, uint64(p521Uint1(x255)))
  1988  	var x258 uint64
  1989  	var x259 uint64
  1990  	x258, x259 = bits.Add64(x204, x239, uint64(p521Uint1(x257)))
  1991  	var x260 uint64
  1992  	var x261 uint64
  1993  	x260, x261 = bits.Add64(x206, x241, uint64(p521Uint1(x259)))
  1994  	var x262 uint64
  1995  	var x263 uint64
  1996  	x262, x263 = bits.Add64(x208, x243, uint64(p521Uint1(x261)))
  1997  	var x264 uint64
  1998  	var x265 uint64
  1999  	x264, x265 = bits.Add64(x210, x245, uint64(p521Uint1(x263)))
  2000  	var x266 uint64
  2001  	var x267 uint64
  2002  	x267, x266 = bits.Mul64(x246, 0x1ff)
  2003  	var x268 uint64
  2004  	var x269 uint64
  2005  	x269, x268 = bits.Mul64(x246, 0xffffffffffffffff)
  2006  	var x270 uint64
  2007  	var x271 uint64
  2008  	x271, x270 = bits.Mul64(x246, 0xffffffffffffffff)
  2009  	var x272 uint64
  2010  	var x273 uint64
  2011  	x273, x272 = bits.Mul64(x246, 0xffffffffffffffff)
  2012  	var x274 uint64
  2013  	var x275 uint64
  2014  	x275, x274 = bits.Mul64(x246, 0xffffffffffffffff)
  2015  	var x276 uint64
  2016  	var x277 uint64
  2017  	x277, x276 = bits.Mul64(x246, 0xffffffffffffffff)
  2018  	var x278 uint64
  2019  	var x279 uint64
  2020  	x279, x278 = bits.Mul64(x246, 0xffffffffffffffff)
  2021  	var x280 uint64
  2022  	var x281 uint64
  2023  	x281, x280 = bits.Mul64(x246, 0xffffffffffffffff)
  2024  	var x282 uint64
  2025  	var x283 uint64
  2026  	x283, x282 = bits.Mul64(x246, 0xffffffffffffffff)
  2027  	var x284 uint64
  2028  	var x285 uint64
  2029  	x284, x285 = bits.Add64(x283, x280, uint64(0x0))
  2030  	var x286 uint64
  2031  	var x287 uint64
  2032  	x286, x287 = bits.Add64(x281, x278, uint64(p521Uint1(x285)))
  2033  	var x288 uint64
  2034  	var x289 uint64
  2035  	x288, x289 = bits.Add64(x279, x276, uint64(p521Uint1(x287)))
  2036  	var x290 uint64
  2037  	var x291 uint64
  2038  	x290, x291 = bits.Add64(x277, x274, uint64(p521Uint1(x289)))
  2039  	var x292 uint64
  2040  	var x293 uint64
  2041  	x292, x293 = bits.Add64(x275, x272, uint64(p521Uint1(x291)))
  2042  	var x294 uint64
  2043  	var x295 uint64
  2044  	x294, x295 = bits.Add64(x273, x270, uint64(p521Uint1(x293)))
  2045  	var x296 uint64
  2046  	var x297 uint64
  2047  	x296, x297 = bits.Add64(x271, x268, uint64(p521Uint1(x295)))
  2048  	var x298 uint64
  2049  	var x299 uint64
  2050  	x298, x299 = bits.Add64(x269, x266, uint64(p521Uint1(x297)))
  2051  	x300 := (uint64(p521Uint1(x299)) + x267)
  2052  	var x302 uint64
  2053  	_, x302 = bits.Add64(x246, x282, uint64(0x0))
  2054  	var x303 uint64
  2055  	var x304 uint64
  2056  	x303, x304 = bits.Add64(x248, x284, uint64(p521Uint1(x302)))
  2057  	var x305 uint64
  2058  	var x306 uint64
  2059  	x305, x306 = bits.Add64(x250, x286, uint64(p521Uint1(x304)))
  2060  	var x307 uint64
  2061  	var x308 uint64
  2062  	x307, x308 = bits.Add64(x252, x288, uint64(p521Uint1(x306)))
  2063  	var x309 uint64
  2064  	var x310 uint64
  2065  	x309, x310 = bits.Add64(x254, x290, uint64(p521Uint1(x308)))
  2066  	var x311 uint64
  2067  	var x312 uint64
  2068  	x311, x312 = bits.Add64(x256, x292, uint64(p521Uint1(x310)))
  2069  	var x313 uint64
  2070  	var x314 uint64
  2071  	x313, x314 = bits.Add64(x258, x294, uint64(p521Uint1(x312)))
  2072  	var x315 uint64
  2073  	var x316 uint64
  2074  	x315, x316 = bits.Add64(x260, x296, uint64(p521Uint1(x314)))
  2075  	var x317 uint64
  2076  	var x318 uint64
  2077  	x317, x318 = bits.Add64(x262, x298, uint64(p521Uint1(x316)))
  2078  	var x319 uint64
  2079  	var x320 uint64
  2080  	x319, x320 = bits.Add64(x264, x300, uint64(p521Uint1(x318)))
  2081  	x321 := (uint64(p521Uint1(x320)) + uint64(p521Uint1(x265)))
  2082  	var x322 uint64
  2083  	var x323 uint64
  2084  	x323, x322 = bits.Mul64(x3, arg1[8])
  2085  	var x324 uint64
  2086  	var x325 uint64
  2087  	x325, x324 = bits.Mul64(x3, arg1[7])
  2088  	var x326 uint64
  2089  	var x327 uint64
  2090  	x327, x326 = bits.Mul64(x3, arg1[6])
  2091  	var x328 uint64
  2092  	var x329 uint64
  2093  	x329, x328 = bits.Mul64(x3, arg1[5])
  2094  	var x330 uint64
  2095  	var x331 uint64
  2096  	x331, x330 = bits.Mul64(x3, arg1[4])
  2097  	var x332 uint64
  2098  	var x333 uint64
  2099  	x333, x332 = bits.Mul64(x3, arg1[3])
  2100  	var x334 uint64
  2101  	var x335 uint64
  2102  	x335, x334 = bits.Mul64(x3, arg1[2])
  2103  	var x336 uint64
  2104  	var x337 uint64
  2105  	x337, x336 = bits.Mul64(x3, arg1[1])
  2106  	var x338 uint64
  2107  	var x339 uint64
  2108  	x339, x338 = bits.Mul64(x3, arg1[0])
  2109  	var x340 uint64
  2110  	var x341 uint64
  2111  	x340, x341 = bits.Add64(x339, x336, uint64(0x0))
  2112  	var x342 uint64
  2113  	var x343 uint64
  2114  	x342, x343 = bits.Add64(x337, x334, uint64(p521Uint1(x341)))
  2115  	var x344 uint64
  2116  	var x345 uint64
  2117  	x344, x345 = bits.Add64(x335, x332, uint64(p521Uint1(x343)))
  2118  	var x346 uint64
  2119  	var x347 uint64
  2120  	x346, x347 = bits.Add64(x333, x330, uint64(p521Uint1(x345)))
  2121  	var x348 uint64
  2122  	var x349 uint64
  2123  	x348, x349 = bits.Add64(x331, x328, uint64(p521Uint1(x347)))
  2124  	var x350 uint64
  2125  	var x351 uint64
  2126  	x350, x351 = bits.Add64(x329, x326, uint64(p521Uint1(x349)))
  2127  	var x352 uint64
  2128  	var x353 uint64
  2129  	x352, x353 = bits.Add64(x327, x324, uint64(p521Uint1(x351)))
  2130  	var x354 uint64
  2131  	var x355 uint64
  2132  	x354, x355 = bits.Add64(x325, x322, uint64(p521Uint1(x353)))
  2133  	x356 := (uint64(p521Uint1(x355)) + x323)
  2134  	var x357 uint64
  2135  	var x358 uint64
  2136  	x357, x358 = bits.Add64(x303, x338, uint64(0x0))
  2137  	var x359 uint64
  2138  	var x360 uint64
  2139  	x359, x360 = bits.Add64(x305, x340, uint64(p521Uint1(x358)))
  2140  	var x361 uint64
  2141  	var x362 uint64
  2142  	x361, x362 = bits.Add64(x307, x342, uint64(p521Uint1(x360)))
  2143  	var x363 uint64
  2144  	var x364 uint64
  2145  	x363, x364 = bits.Add64(x309, x344, uint64(p521Uint1(x362)))
  2146  	var x365 uint64
  2147  	var x366 uint64
  2148  	x365, x366 = bits.Add64(x311, x346, uint64(p521Uint1(x364)))
  2149  	var x367 uint64
  2150  	var x368 uint64
  2151  	x367, x368 = bits.Add64(x313, x348, uint64(p521Uint1(x366)))
  2152  	var x369 uint64
  2153  	var x370 uint64
  2154  	x369, x370 = bits.Add64(x315, x350, uint64(p521Uint1(x368)))
  2155  	var x371 uint64
  2156  	var x372 uint64
  2157  	x371, x372 = bits.Add64(x317, x352, uint64(p521Uint1(x370)))
  2158  	var x373 uint64
  2159  	var x374 uint64
  2160  	x373, x374 = bits.Add64(x319, x354, uint64(p521Uint1(x372)))
  2161  	var x375 uint64
  2162  	var x376 uint64
  2163  	x375, x376 = bits.Add64(x321, x356, uint64(p521Uint1(x374)))
  2164  	var x377 uint64
  2165  	var x378 uint64
  2166  	x378, x377 = bits.Mul64(x357, 0x1ff)
  2167  	var x379 uint64
  2168  	var x380 uint64
  2169  	x380, x379 = bits.Mul64(x357, 0xffffffffffffffff)
  2170  	var x381 uint64
  2171  	var x382 uint64
  2172  	x382, x381 = bits.Mul64(x357, 0xffffffffffffffff)
  2173  	var x383 uint64
  2174  	var x384 uint64
  2175  	x384, x383 = bits.Mul64(x357, 0xffffffffffffffff)
  2176  	var x385 uint64
  2177  	var x386 uint64
  2178  	x386, x385 = bits.Mul64(x357, 0xffffffffffffffff)
  2179  	var x387 uint64
  2180  	var x388 uint64
  2181  	x388, x387 = bits.Mul64(x357, 0xffffffffffffffff)
  2182  	var x389 uint64
  2183  	var x390 uint64
  2184  	x390, x389 = bits.Mul64(x357, 0xffffffffffffffff)
  2185  	var x391 uint64
  2186  	var x392 uint64
  2187  	x392, x391 = bits.Mul64(x357, 0xffffffffffffffff)
  2188  	var x393 uint64
  2189  	var x394 uint64
  2190  	x394, x393 = bits.Mul64(x357, 0xffffffffffffffff)
  2191  	var x395 uint64
  2192  	var x396 uint64
  2193  	x395, x396 = bits.Add64(x394, x391, uint64(0x0))
  2194  	var x397 uint64
  2195  	var x398 uint64
  2196  	x397, x398 = bits.Add64(x392, x389, uint64(p521Uint1(x396)))
  2197  	var x399 uint64
  2198  	var x400 uint64
  2199  	x399, x400 = bits.Add64(x390, x387, uint64(p521Uint1(x398)))
  2200  	var x401 uint64
  2201  	var x402 uint64
  2202  	x401, x402 = bits.Add64(x388, x385, uint64(p521Uint1(x400)))
  2203  	var x403 uint64
  2204  	var x404 uint64
  2205  	x403, x404 = bits.Add64(x386, x383, uint64(p521Uint1(x402)))
  2206  	var x405 uint64
  2207  	var x406 uint64
  2208  	x405, x406 = bits.Add64(x384, x381, uint64(p521Uint1(x404)))
  2209  	var x407 uint64
  2210  	var x408 uint64
  2211  	x407, x408 = bits.Add64(x382, x379, uint64(p521Uint1(x406)))
  2212  	var x409 uint64
  2213  	var x410 uint64
  2214  	x409, x410 = bits.Add64(x380, x377, uint64(p521Uint1(x408)))
  2215  	x411 := (uint64(p521Uint1(x410)) + x378)
  2216  	var x413 uint64
  2217  	_, x413 = bits.Add64(x357, x393, uint64(0x0))
  2218  	var x414 uint64
  2219  	var x415 uint64
  2220  	x414, x415 = bits.Add64(x359, x395, uint64(p521Uint1(x413)))
  2221  	var x416 uint64
  2222  	var x417 uint64
  2223  	x416, x417 = bits.Add64(x361, x397, uint64(p521Uint1(x415)))
  2224  	var x418 uint64
  2225  	var x419 uint64
  2226  	x418, x419 = bits.Add64(x363, x399, uint64(p521Uint1(x417)))
  2227  	var x420 uint64
  2228  	var x421 uint64
  2229  	x420, x421 = bits.Add64(x365, x401, uint64(p521Uint1(x419)))
  2230  	var x422 uint64
  2231  	var x423 uint64
  2232  	x422, x423 = bits.Add64(x367, x403, uint64(p521Uint1(x421)))
  2233  	var x424 uint64
  2234  	var x425 uint64
  2235  	x424, x425 = bits.Add64(x369, x405, uint64(p521Uint1(x423)))
  2236  	var x426 uint64
  2237  	var x427 uint64
  2238  	x426, x427 = bits.Add64(x371, x407, uint64(p521Uint1(x425)))
  2239  	var x428 uint64
  2240  	var x429 uint64
  2241  	x428, x429 = bits.Add64(x373, x409, uint64(p521Uint1(x427)))
  2242  	var x430 uint64
  2243  	var x431 uint64
  2244  	x430, x431 = bits.Add64(x375, x411, uint64(p521Uint1(x429)))
  2245  	x432 := (uint64(p521Uint1(x431)) + uint64(p521Uint1(x376)))
  2246  	var x433 uint64
  2247  	var x434 uint64
  2248  	x434, x433 = bits.Mul64(x4, arg1[8])
  2249  	var x435 uint64
  2250  	var x436 uint64
  2251  	x436, x435 = bits.Mul64(x4, arg1[7])
  2252  	var x437 uint64
  2253  	var x438 uint64
  2254  	x438, x437 = bits.Mul64(x4, arg1[6])
  2255  	var x439 uint64
  2256  	var x440 uint64
  2257  	x440, x439 = bits.Mul64(x4, arg1[5])
  2258  	var x441 uint64
  2259  	var x442 uint64
  2260  	x442, x441 = bits.Mul64(x4, arg1[4])
  2261  	var x443 uint64
  2262  	var x444 uint64
  2263  	x444, x443 = bits.Mul64(x4, arg1[3])
  2264  	var x445 uint64
  2265  	var x446 uint64
  2266  	x446, x445 = bits.Mul64(x4, arg1[2])
  2267  	var x447 uint64
  2268  	var x448 uint64
  2269  	x448, x447 = bits.Mul64(x4, arg1[1])
  2270  	var x449 uint64
  2271  	var x450 uint64
  2272  	x450, x449 = bits.Mul64(x4, arg1[0])
  2273  	var x451 uint64
  2274  	var x452 uint64
  2275  	x451, x452 = bits.Add64(x450, x447, uint64(0x0))
  2276  	var x453 uint64
  2277  	var x454 uint64
  2278  	x453, x454 = bits.Add64(x448, x445, uint64(p521Uint1(x452)))
  2279  	var x455 uint64
  2280  	var x456 uint64
  2281  	x455, x456 = bits.Add64(x446, x443, uint64(p521Uint1(x454)))
  2282  	var x457 uint64
  2283  	var x458 uint64
  2284  	x457, x458 = bits.Add64(x444, x441, uint64(p521Uint1(x456)))
  2285  	var x459 uint64
  2286  	var x460 uint64
  2287  	x459, x460 = bits.Add64(x442, x439, uint64(p521Uint1(x458)))
  2288  	var x461 uint64
  2289  	var x462 uint64
  2290  	x461, x462 = bits.Add64(x440, x437, uint64(p521Uint1(x460)))
  2291  	var x463 uint64
  2292  	var x464 uint64
  2293  	x463, x464 = bits.Add64(x438, x435, uint64(p521Uint1(x462)))
  2294  	var x465 uint64
  2295  	var x466 uint64
  2296  	x465, x466 = bits.Add64(x436, x433, uint64(p521Uint1(x464)))
  2297  	x467 := (uint64(p521Uint1(x466)) + x434)
  2298  	var x468 uint64
  2299  	var x469 uint64
  2300  	x468, x469 = bits.Add64(x414, x449, uint64(0x0))
  2301  	var x470 uint64
  2302  	var x471 uint64
  2303  	x470, x471 = bits.Add64(x416, x451, uint64(p521Uint1(x469)))
  2304  	var x472 uint64
  2305  	var x473 uint64
  2306  	x472, x473 = bits.Add64(x418, x453, uint64(p521Uint1(x471)))
  2307  	var x474 uint64
  2308  	var x475 uint64
  2309  	x474, x475 = bits.Add64(x420, x455, uint64(p521Uint1(x473)))
  2310  	var x476 uint64
  2311  	var x477 uint64
  2312  	x476, x477 = bits.Add64(x422, x457, uint64(p521Uint1(x475)))
  2313  	var x478 uint64
  2314  	var x479 uint64
  2315  	x478, x479 = bits.Add64(x424, x459, uint64(p521Uint1(x477)))
  2316  	var x480 uint64
  2317  	var x481 uint64
  2318  	x480, x481 = bits.Add64(x426, x461, uint64(p521Uint1(x479)))
  2319  	var x482 uint64
  2320  	var x483 uint64
  2321  	x482, x483 = bits.Add64(x428, x463, uint64(p521Uint1(x481)))
  2322  	var x484 uint64
  2323  	var x485 uint64
  2324  	x484, x485 = bits.Add64(x430, x465, uint64(p521Uint1(x483)))
  2325  	var x486 uint64
  2326  	var x487 uint64
  2327  	x486, x487 = bits.Add64(x432, x467, uint64(p521Uint1(x485)))
  2328  	var x488 uint64
  2329  	var x489 uint64
  2330  	x489, x488 = bits.Mul64(x468, 0x1ff)
  2331  	var x490 uint64
  2332  	var x491 uint64
  2333  	x491, x490 = bits.Mul64(x468, 0xffffffffffffffff)
  2334  	var x492 uint64
  2335  	var x493 uint64
  2336  	x493, x492 = bits.Mul64(x468, 0xffffffffffffffff)
  2337  	var x494 uint64
  2338  	var x495 uint64
  2339  	x495, x494 = bits.Mul64(x468, 0xffffffffffffffff)
  2340  	var x496 uint64
  2341  	var x497 uint64
  2342  	x497, x496 = bits.Mul64(x468, 0xffffffffffffffff)
  2343  	var x498 uint64
  2344  	var x499 uint64
  2345  	x499, x498 = bits.Mul64(x468, 0xffffffffffffffff)
  2346  	var x500 uint64
  2347  	var x501 uint64
  2348  	x501, x500 = bits.Mul64(x468, 0xffffffffffffffff)
  2349  	var x502 uint64
  2350  	var x503 uint64
  2351  	x503, x502 = bits.Mul64(x468, 0xffffffffffffffff)
  2352  	var x504 uint64
  2353  	var x505 uint64
  2354  	x505, x504 = bits.Mul64(x468, 0xffffffffffffffff)
  2355  	var x506 uint64
  2356  	var x507 uint64
  2357  	x506, x507 = bits.Add64(x505, x502, uint64(0x0))
  2358  	var x508 uint64
  2359  	var x509 uint64
  2360  	x508, x509 = bits.Add64(x503, x500, uint64(p521Uint1(x507)))
  2361  	var x510 uint64
  2362  	var x511 uint64
  2363  	x510, x511 = bits.Add64(x501, x498, uint64(p521Uint1(x509)))
  2364  	var x512 uint64
  2365  	var x513 uint64
  2366  	x512, x513 = bits.Add64(x499, x496, uint64(p521Uint1(x511)))
  2367  	var x514 uint64
  2368  	var x515 uint64
  2369  	x514, x515 = bits.Add64(x497, x494, uint64(p521Uint1(x513)))
  2370  	var x516 uint64
  2371  	var x517 uint64
  2372  	x516, x517 = bits.Add64(x495, x492, uint64(p521Uint1(x515)))
  2373  	var x518 uint64
  2374  	var x519 uint64
  2375  	x518, x519 = bits.Add64(x493, x490, uint64(p521Uint1(x517)))
  2376  	var x520 uint64
  2377  	var x521 uint64
  2378  	x520, x521 = bits.Add64(x491, x488, uint64(p521Uint1(x519)))
  2379  	x522 := (uint64(p521Uint1(x521)) + x489)
  2380  	var x524 uint64
  2381  	_, x524 = bits.Add64(x468, x504, uint64(0x0))
  2382  	var x525 uint64
  2383  	var x526 uint64
  2384  	x525, x526 = bits.Add64(x470, x506, uint64(p521Uint1(x524)))
  2385  	var x527 uint64
  2386  	var x528 uint64
  2387  	x527, x528 = bits.Add64(x472, x508, uint64(p521Uint1(x526)))
  2388  	var x529 uint64
  2389  	var x530 uint64
  2390  	x529, x530 = bits.Add64(x474, x510, uint64(p521Uint1(x528)))
  2391  	var x531 uint64
  2392  	var x532 uint64
  2393  	x531, x532 = bits.Add64(x476, x512, uint64(p521Uint1(x530)))
  2394  	var x533 uint64
  2395  	var x534 uint64
  2396  	x533, x534 = bits.Add64(x478, x514, uint64(p521Uint1(x532)))
  2397  	var x535 uint64
  2398  	var x536 uint64
  2399  	x535, x536 = bits.Add64(x480, x516, uint64(p521Uint1(x534)))
  2400  	var x537 uint64
  2401  	var x538 uint64
  2402  	x537, x538 = bits.Add64(x482, x518, uint64(p521Uint1(x536)))
  2403  	var x539 uint64
  2404  	var x540 uint64
  2405  	x539, x540 = bits.Add64(x484, x520, uint64(p521Uint1(x538)))
  2406  	var x541 uint64
  2407  	var x542 uint64
  2408  	x541, x542 = bits.Add64(x486, x522, uint64(p521Uint1(x540)))
  2409  	x543 := (uint64(p521Uint1(x542)) + uint64(p521Uint1(x487)))
  2410  	var x544 uint64
  2411  	var x545 uint64
  2412  	x545, x544 = bits.Mul64(x5, arg1[8])
  2413  	var x546 uint64
  2414  	var x547 uint64
  2415  	x547, x546 = bits.Mul64(x5, arg1[7])
  2416  	var x548 uint64
  2417  	var x549 uint64
  2418  	x549, x548 = bits.Mul64(x5, arg1[6])
  2419  	var x550 uint64
  2420  	var x551 uint64
  2421  	x551, x550 = bits.Mul64(x5, arg1[5])
  2422  	var x552 uint64
  2423  	var x553 uint64
  2424  	x553, x552 = bits.Mul64(x5, arg1[4])
  2425  	var x554 uint64
  2426  	var x555 uint64
  2427  	x555, x554 = bits.Mul64(x5, arg1[3])
  2428  	var x556 uint64
  2429  	var x557 uint64
  2430  	x557, x556 = bits.Mul64(x5, arg1[2])
  2431  	var x558 uint64
  2432  	var x559 uint64
  2433  	x559, x558 = bits.Mul64(x5, arg1[1])
  2434  	var x560 uint64
  2435  	var x561 uint64
  2436  	x561, x560 = bits.Mul64(x5, arg1[0])
  2437  	var x562 uint64
  2438  	var x563 uint64
  2439  	x562, x563 = bits.Add64(x561, x558, uint64(0x0))
  2440  	var x564 uint64
  2441  	var x565 uint64
  2442  	x564, x565 = bits.Add64(x559, x556, uint64(p521Uint1(x563)))
  2443  	var x566 uint64
  2444  	var x567 uint64
  2445  	x566, x567 = bits.Add64(x557, x554, uint64(p521Uint1(x565)))
  2446  	var x568 uint64
  2447  	var x569 uint64
  2448  	x568, x569 = bits.Add64(x555, x552, uint64(p521Uint1(x567)))
  2449  	var x570 uint64
  2450  	var x571 uint64
  2451  	x570, x571 = bits.Add64(x553, x550, uint64(p521Uint1(x569)))
  2452  	var x572 uint64
  2453  	var x573 uint64
  2454  	x572, x573 = bits.Add64(x551, x548, uint64(p521Uint1(x571)))
  2455  	var x574 uint64
  2456  	var x575 uint64
  2457  	x574, x575 = bits.Add64(x549, x546, uint64(p521Uint1(x573)))
  2458  	var x576 uint64
  2459  	var x577 uint64
  2460  	x576, x577 = bits.Add64(x547, x544, uint64(p521Uint1(x575)))
  2461  	x578 := (uint64(p521Uint1(x577)) + x545)
  2462  	var x579 uint64
  2463  	var x580 uint64
  2464  	x579, x580 = bits.Add64(x525, x560, uint64(0x0))
  2465  	var x581 uint64
  2466  	var x582 uint64
  2467  	x581, x582 = bits.Add64(x527, x562, uint64(p521Uint1(x580)))
  2468  	var x583 uint64
  2469  	var x584 uint64
  2470  	x583, x584 = bits.Add64(x529, x564, uint64(p521Uint1(x582)))
  2471  	var x585 uint64
  2472  	var x586 uint64
  2473  	x585, x586 = bits.Add64(x531, x566, uint64(p521Uint1(x584)))
  2474  	var x587 uint64
  2475  	var x588 uint64
  2476  	x587, x588 = bits.Add64(x533, x568, uint64(p521Uint1(x586)))
  2477  	var x589 uint64
  2478  	var x590 uint64
  2479  	x589, x590 = bits.Add64(x535, x570, uint64(p521Uint1(x588)))
  2480  	var x591 uint64
  2481  	var x592 uint64
  2482  	x591, x592 = bits.Add64(x537, x572, uint64(p521Uint1(x590)))
  2483  	var x593 uint64
  2484  	var x594 uint64
  2485  	x593, x594 = bits.Add64(x539, x574, uint64(p521Uint1(x592)))
  2486  	var x595 uint64
  2487  	var x596 uint64
  2488  	x595, x596 = bits.Add64(x541, x576, uint64(p521Uint1(x594)))
  2489  	var x597 uint64
  2490  	var x598 uint64
  2491  	x597, x598 = bits.Add64(x543, x578, uint64(p521Uint1(x596)))
  2492  	var x599 uint64
  2493  	var x600 uint64
  2494  	x600, x599 = bits.Mul64(x579, 0x1ff)
  2495  	var x601 uint64
  2496  	var x602 uint64
  2497  	x602, x601 = bits.Mul64(x579, 0xffffffffffffffff)
  2498  	var x603 uint64
  2499  	var x604 uint64
  2500  	x604, x603 = bits.Mul64(x579, 0xffffffffffffffff)
  2501  	var x605 uint64
  2502  	var x606 uint64
  2503  	x606, x605 = bits.Mul64(x579, 0xffffffffffffffff)
  2504  	var x607 uint64
  2505  	var x608 uint64
  2506  	x608, x607 = bits.Mul64(x579, 0xffffffffffffffff)
  2507  	var x609 uint64
  2508  	var x610 uint64
  2509  	x610, x609 = bits.Mul64(x579, 0xffffffffffffffff)
  2510  	var x611 uint64
  2511  	var x612 uint64
  2512  	x612, x611 = bits.Mul64(x579, 0xffffffffffffffff)
  2513  	var x613 uint64
  2514  	var x614 uint64
  2515  	x614, x613 = bits.Mul64(x579, 0xffffffffffffffff)
  2516  	var x615 uint64
  2517  	var x616 uint64
  2518  	x616, x615 = bits.Mul64(x579, 0xffffffffffffffff)
  2519  	var x617 uint64
  2520  	var x618 uint64
  2521  	x617, x618 = bits.Add64(x616, x613, uint64(0x0))
  2522  	var x619 uint64
  2523  	var x620 uint64
  2524  	x619, x620 = bits.Add64(x614, x611, uint64(p521Uint1(x618)))
  2525  	var x621 uint64
  2526  	var x622 uint64
  2527  	x621, x622 = bits.Add64(x612, x609, uint64(p521Uint1(x620)))
  2528  	var x623 uint64
  2529  	var x624 uint64
  2530  	x623, x624 = bits.Add64(x610, x607, uint64(p521Uint1(x622)))
  2531  	var x625 uint64
  2532  	var x626 uint64
  2533  	x625, x626 = bits.Add64(x608, x605, uint64(p521Uint1(x624)))
  2534  	var x627 uint64
  2535  	var x628 uint64
  2536  	x627, x628 = bits.Add64(x606, x603, uint64(p521Uint1(x626)))
  2537  	var x629 uint64
  2538  	var x630 uint64
  2539  	x629, x630 = bits.Add64(x604, x601, uint64(p521Uint1(x628)))
  2540  	var x631 uint64
  2541  	var x632 uint64
  2542  	x631, x632 = bits.Add64(x602, x599, uint64(p521Uint1(x630)))
  2543  	x633 := (uint64(p521Uint1(x632)) + x600)
  2544  	var x635 uint64
  2545  	_, x635 = bits.Add64(x579, x615, uint64(0x0))
  2546  	var x636 uint64
  2547  	var x637 uint64
  2548  	x636, x637 = bits.Add64(x581, x617, uint64(p521Uint1(x635)))
  2549  	var x638 uint64
  2550  	var x639 uint64
  2551  	x638, x639 = bits.Add64(x583, x619, uint64(p521Uint1(x637)))
  2552  	var x640 uint64
  2553  	var x641 uint64
  2554  	x640, x641 = bits.Add64(x585, x621, uint64(p521Uint1(x639)))
  2555  	var x642 uint64
  2556  	var x643 uint64
  2557  	x642, x643 = bits.Add64(x587, x623, uint64(p521Uint1(x641)))
  2558  	var x644 uint64
  2559  	var x645 uint64
  2560  	x644, x645 = bits.Add64(x589, x625, uint64(p521Uint1(x643)))
  2561  	var x646 uint64
  2562  	var x647 uint64
  2563  	x646, x647 = bits.Add64(x591, x627, uint64(p521Uint1(x645)))
  2564  	var x648 uint64
  2565  	var x649 uint64
  2566  	x648, x649 = bits.Add64(x593, x629, uint64(p521Uint1(x647)))
  2567  	var x650 uint64
  2568  	var x651 uint64
  2569  	x650, x651 = bits.Add64(x595, x631, uint64(p521Uint1(x649)))
  2570  	var x652 uint64
  2571  	var x653 uint64
  2572  	x652, x653 = bits.Add64(x597, x633, uint64(p521Uint1(x651)))
  2573  	x654 := (uint64(p521Uint1(x653)) + uint64(p521Uint1(x598)))
  2574  	var x655 uint64
  2575  	var x656 uint64
  2576  	x656, x655 = bits.Mul64(x6, arg1[8])
  2577  	var x657 uint64
  2578  	var x658 uint64
  2579  	x658, x657 = bits.Mul64(x6, arg1[7])
  2580  	var x659 uint64
  2581  	var x660 uint64
  2582  	x660, x659 = bits.Mul64(x6, arg1[6])
  2583  	var x661 uint64
  2584  	var x662 uint64
  2585  	x662, x661 = bits.Mul64(x6, arg1[5])
  2586  	var x663 uint64
  2587  	var x664 uint64
  2588  	x664, x663 = bits.Mul64(x6, arg1[4])
  2589  	var x665 uint64
  2590  	var x666 uint64
  2591  	x666, x665 = bits.Mul64(x6, arg1[3])
  2592  	var x667 uint64
  2593  	var x668 uint64
  2594  	x668, x667 = bits.Mul64(x6, arg1[2])
  2595  	var x669 uint64
  2596  	var x670 uint64
  2597  	x670, x669 = bits.Mul64(x6, arg1[1])
  2598  	var x671 uint64
  2599  	var x672 uint64
  2600  	x672, x671 = bits.Mul64(x6, arg1[0])
  2601  	var x673 uint64
  2602  	var x674 uint64
  2603  	x673, x674 = bits.Add64(x672, x669, uint64(0x0))
  2604  	var x675 uint64
  2605  	var x676 uint64
  2606  	x675, x676 = bits.Add64(x670, x667, uint64(p521Uint1(x674)))
  2607  	var x677 uint64
  2608  	var x678 uint64
  2609  	x677, x678 = bits.Add64(x668, x665, uint64(p521Uint1(x676)))
  2610  	var x679 uint64
  2611  	var x680 uint64
  2612  	x679, x680 = bits.Add64(x666, x663, uint64(p521Uint1(x678)))
  2613  	var x681 uint64
  2614  	var x682 uint64
  2615  	x681, x682 = bits.Add64(x664, x661, uint64(p521Uint1(x680)))
  2616  	var x683 uint64
  2617  	var x684 uint64
  2618  	x683, x684 = bits.Add64(x662, x659, uint64(p521Uint1(x682)))
  2619  	var x685 uint64
  2620  	var x686 uint64
  2621  	x685, x686 = bits.Add64(x660, x657, uint64(p521Uint1(x684)))
  2622  	var x687 uint64
  2623  	var x688 uint64
  2624  	x687, x688 = bits.Add64(x658, x655, uint64(p521Uint1(x686)))
  2625  	x689 := (uint64(p521Uint1(x688)) + x656)
  2626  	var x690 uint64
  2627  	var x691 uint64
  2628  	x690, x691 = bits.Add64(x636, x671, uint64(0x0))
  2629  	var x692 uint64
  2630  	var x693 uint64
  2631  	x692, x693 = bits.Add64(x638, x673, uint64(p521Uint1(x691)))
  2632  	var x694 uint64
  2633  	var x695 uint64
  2634  	x694, x695 = bits.Add64(x640, x675, uint64(p521Uint1(x693)))
  2635  	var x696 uint64
  2636  	var x697 uint64
  2637  	x696, x697 = bits.Add64(x642, x677, uint64(p521Uint1(x695)))
  2638  	var x698 uint64
  2639  	var x699 uint64
  2640  	x698, x699 = bits.Add64(x644, x679, uint64(p521Uint1(x697)))
  2641  	var x700 uint64
  2642  	var x701 uint64
  2643  	x700, x701 = bits.Add64(x646, x681, uint64(p521Uint1(x699)))
  2644  	var x702 uint64
  2645  	var x703 uint64
  2646  	x702, x703 = bits.Add64(x648, x683, uint64(p521Uint1(x701)))
  2647  	var x704 uint64
  2648  	var x705 uint64
  2649  	x704, x705 = bits.Add64(x650, x685, uint64(p521Uint1(x703)))
  2650  	var x706 uint64
  2651  	var x707 uint64
  2652  	x706, x707 = bits.Add64(x652, x687, uint64(p521Uint1(x705)))
  2653  	var x708 uint64
  2654  	var x709 uint64
  2655  	x708, x709 = bits.Add64(x654, x689, uint64(p521Uint1(x707)))
  2656  	var x710 uint64
  2657  	var x711 uint64
  2658  	x711, x710 = bits.Mul64(x690, 0x1ff)
  2659  	var x712 uint64
  2660  	var x713 uint64
  2661  	x713, x712 = bits.Mul64(x690, 0xffffffffffffffff)
  2662  	var x714 uint64
  2663  	var x715 uint64
  2664  	x715, x714 = bits.Mul64(x690, 0xffffffffffffffff)
  2665  	var x716 uint64
  2666  	var x717 uint64
  2667  	x717, x716 = bits.Mul64(x690, 0xffffffffffffffff)
  2668  	var x718 uint64
  2669  	var x719 uint64
  2670  	x719, x718 = bits.Mul64(x690, 0xffffffffffffffff)
  2671  	var x720 uint64
  2672  	var x721 uint64
  2673  	x721, x720 = bits.Mul64(x690, 0xffffffffffffffff)
  2674  	var x722 uint64
  2675  	var x723 uint64
  2676  	x723, x722 = bits.Mul64(x690, 0xffffffffffffffff)
  2677  	var x724 uint64
  2678  	var x725 uint64
  2679  	x725, x724 = bits.Mul64(x690, 0xffffffffffffffff)
  2680  	var x726 uint64
  2681  	var x727 uint64
  2682  	x727, x726 = bits.Mul64(x690, 0xffffffffffffffff)
  2683  	var x728 uint64
  2684  	var x729 uint64
  2685  	x728, x729 = bits.Add64(x727, x724, uint64(0x0))
  2686  	var x730 uint64
  2687  	var x731 uint64
  2688  	x730, x731 = bits.Add64(x725, x722, uint64(p521Uint1(x729)))
  2689  	var x732 uint64
  2690  	var x733 uint64
  2691  	x732, x733 = bits.Add64(x723, x720, uint64(p521Uint1(x731)))
  2692  	var x734 uint64
  2693  	var x735 uint64
  2694  	x734, x735 = bits.Add64(x721, x718, uint64(p521Uint1(x733)))
  2695  	var x736 uint64
  2696  	var x737 uint64
  2697  	x736, x737 = bits.Add64(x719, x716, uint64(p521Uint1(x735)))
  2698  	var x738 uint64
  2699  	var x739 uint64
  2700  	x738, x739 = bits.Add64(x717, x714, uint64(p521Uint1(x737)))
  2701  	var x740 uint64
  2702  	var x741 uint64
  2703  	x740, x741 = bits.Add64(x715, x712, uint64(p521Uint1(x739)))
  2704  	var x742 uint64
  2705  	var x743 uint64
  2706  	x742, x743 = bits.Add64(x713, x710, uint64(p521Uint1(x741)))
  2707  	x744 := (uint64(p521Uint1(x743)) + x711)
  2708  	var x746 uint64
  2709  	_, x746 = bits.Add64(x690, x726, uint64(0x0))
  2710  	var x747 uint64
  2711  	var x748 uint64
  2712  	x747, x748 = bits.Add64(x692, x728, uint64(p521Uint1(x746)))
  2713  	var x749 uint64
  2714  	var x750 uint64
  2715  	x749, x750 = bits.Add64(x694, x730, uint64(p521Uint1(x748)))
  2716  	var x751 uint64
  2717  	var x752 uint64
  2718  	x751, x752 = bits.Add64(x696, x732, uint64(p521Uint1(x750)))
  2719  	var x753 uint64
  2720  	var x754 uint64
  2721  	x753, x754 = bits.Add64(x698, x734, uint64(p521Uint1(x752)))
  2722  	var x755 uint64
  2723  	var x756 uint64
  2724  	x755, x756 = bits.Add64(x700, x736, uint64(p521Uint1(x754)))
  2725  	var x757 uint64
  2726  	var x758 uint64
  2727  	x757, x758 = bits.Add64(x702, x738, uint64(p521Uint1(x756)))
  2728  	var x759 uint64
  2729  	var x760 uint64
  2730  	x759, x760 = bits.Add64(x704, x740, uint64(p521Uint1(x758)))
  2731  	var x761 uint64
  2732  	var x762 uint64
  2733  	x761, x762 = bits.Add64(x706, x742, uint64(p521Uint1(x760)))
  2734  	var x763 uint64
  2735  	var x764 uint64
  2736  	x763, x764 = bits.Add64(x708, x744, uint64(p521Uint1(x762)))
  2737  	x765 := (uint64(p521Uint1(x764)) + uint64(p521Uint1(x709)))
  2738  	var x766 uint64
  2739  	var x767 uint64
  2740  	x767, x766 = bits.Mul64(x7, arg1[8])
  2741  	var x768 uint64
  2742  	var x769 uint64
  2743  	x769, x768 = bits.Mul64(x7, arg1[7])
  2744  	var x770 uint64
  2745  	var x771 uint64
  2746  	x771, x770 = bits.Mul64(x7, arg1[6])
  2747  	var x772 uint64
  2748  	var x773 uint64
  2749  	x773, x772 = bits.Mul64(x7, arg1[5])
  2750  	var x774 uint64
  2751  	var x775 uint64
  2752  	x775, x774 = bits.Mul64(x7, arg1[4])
  2753  	var x776 uint64
  2754  	var x777 uint64
  2755  	x777, x776 = bits.Mul64(x7, arg1[3])
  2756  	var x778 uint64
  2757  	var x779 uint64
  2758  	x779, x778 = bits.Mul64(x7, arg1[2])
  2759  	var x780 uint64
  2760  	var x781 uint64
  2761  	x781, x780 = bits.Mul64(x7, arg1[1])
  2762  	var x782 uint64
  2763  	var x783 uint64
  2764  	x783, x782 = bits.Mul64(x7, arg1[0])
  2765  	var x784 uint64
  2766  	var x785 uint64
  2767  	x784, x785 = bits.Add64(x783, x780, uint64(0x0))
  2768  	var x786 uint64
  2769  	var x787 uint64
  2770  	x786, x787 = bits.Add64(x781, x778, uint64(p521Uint1(x785)))
  2771  	var x788 uint64
  2772  	var x789 uint64
  2773  	x788, x789 = bits.Add64(x779, x776, uint64(p521Uint1(x787)))
  2774  	var x790 uint64
  2775  	var x791 uint64
  2776  	x790, x791 = bits.Add64(x777, x774, uint64(p521Uint1(x789)))
  2777  	var x792 uint64
  2778  	var x793 uint64
  2779  	x792, x793 = bits.Add64(x775, x772, uint64(p521Uint1(x791)))
  2780  	var x794 uint64
  2781  	var x795 uint64
  2782  	x794, x795 = bits.Add64(x773, x770, uint64(p521Uint1(x793)))
  2783  	var x796 uint64
  2784  	var x797 uint64
  2785  	x796, x797 = bits.Add64(x771, x768, uint64(p521Uint1(x795)))
  2786  	var x798 uint64
  2787  	var x799 uint64
  2788  	x798, x799 = bits.Add64(x769, x766, uint64(p521Uint1(x797)))
  2789  	x800 := (uint64(p521Uint1(x799)) + x767)
  2790  	var x801 uint64
  2791  	var x802 uint64
  2792  	x801, x802 = bits.Add64(x747, x782, uint64(0x0))
  2793  	var x803 uint64
  2794  	var x804 uint64
  2795  	x803, x804 = bits.Add64(x749, x784, uint64(p521Uint1(x802)))
  2796  	var x805 uint64
  2797  	var x806 uint64
  2798  	x805, x806 = bits.Add64(x751, x786, uint64(p521Uint1(x804)))
  2799  	var x807 uint64
  2800  	var x808 uint64
  2801  	x807, x808 = bits.Add64(x753, x788, uint64(p521Uint1(x806)))
  2802  	var x809 uint64
  2803  	var x810 uint64
  2804  	x809, x810 = bits.Add64(x755, x790, uint64(p521Uint1(x808)))
  2805  	var x811 uint64
  2806  	var x812 uint64
  2807  	x811, x812 = bits.Add64(x757, x792, uint64(p521Uint1(x810)))
  2808  	var x813 uint64
  2809  	var x814 uint64
  2810  	x813, x814 = bits.Add64(x759, x794, uint64(p521Uint1(x812)))
  2811  	var x815 uint64
  2812  	var x816 uint64
  2813  	x815, x816 = bits.Add64(x761, x796, uint64(p521Uint1(x814)))
  2814  	var x817 uint64
  2815  	var x818 uint64
  2816  	x817, x818 = bits.Add64(x763, x798, uint64(p521Uint1(x816)))
  2817  	var x819 uint64
  2818  	var x820 uint64
  2819  	x819, x820 = bits.Add64(x765, x800, uint64(p521Uint1(x818)))
  2820  	var x821 uint64
  2821  	var x822 uint64
  2822  	x822, x821 = bits.Mul64(x801, 0x1ff)
  2823  	var x823 uint64
  2824  	var x824 uint64
  2825  	x824, x823 = bits.Mul64(x801, 0xffffffffffffffff)
  2826  	var x825 uint64
  2827  	var x826 uint64
  2828  	x826, x825 = bits.Mul64(x801, 0xffffffffffffffff)
  2829  	var x827 uint64
  2830  	var x828 uint64
  2831  	x828, x827 = bits.Mul64(x801, 0xffffffffffffffff)
  2832  	var x829 uint64
  2833  	var x830 uint64
  2834  	x830, x829 = bits.Mul64(x801, 0xffffffffffffffff)
  2835  	var x831 uint64
  2836  	var x832 uint64
  2837  	x832, x831 = bits.Mul64(x801, 0xffffffffffffffff)
  2838  	var x833 uint64
  2839  	var x834 uint64
  2840  	x834, x833 = bits.Mul64(x801, 0xffffffffffffffff)
  2841  	var x835 uint64
  2842  	var x836 uint64
  2843  	x836, x835 = bits.Mul64(x801, 0xffffffffffffffff)
  2844  	var x837 uint64
  2845  	var x838 uint64
  2846  	x838, x837 = bits.Mul64(x801, 0xffffffffffffffff)
  2847  	var x839 uint64
  2848  	var x840 uint64
  2849  	x839, x840 = bits.Add64(x838, x835, uint64(0x0))
  2850  	var x841 uint64
  2851  	var x842 uint64
  2852  	x841, x842 = bits.Add64(x836, x833, uint64(p521Uint1(x840)))
  2853  	var x843 uint64
  2854  	var x844 uint64
  2855  	x843, x844 = bits.Add64(x834, x831, uint64(p521Uint1(x842)))
  2856  	var x845 uint64
  2857  	var x846 uint64
  2858  	x845, x846 = bits.Add64(x832, x829, uint64(p521Uint1(x844)))
  2859  	var x847 uint64
  2860  	var x848 uint64
  2861  	x847, x848 = bits.Add64(x830, x827, uint64(p521Uint1(x846)))
  2862  	var x849 uint64
  2863  	var x850 uint64
  2864  	x849, x850 = bits.Add64(x828, x825, uint64(p521Uint1(x848)))
  2865  	var x851 uint64
  2866  	var x852 uint64
  2867  	x851, x852 = bits.Add64(x826, x823, uint64(p521Uint1(x850)))
  2868  	var x853 uint64
  2869  	var x854 uint64
  2870  	x853, x854 = bits.Add64(x824, x821, uint64(p521Uint1(x852)))
  2871  	x855 := (uint64(p521Uint1(x854)) + x822)
  2872  	var x857 uint64
  2873  	_, x857 = bits.Add64(x801, x837, uint64(0x0))
  2874  	var x858 uint64
  2875  	var x859 uint64
  2876  	x858, x859 = bits.Add64(x803, x839, uint64(p521Uint1(x857)))
  2877  	var x860 uint64
  2878  	var x861 uint64
  2879  	x860, x861 = bits.Add64(x805, x841, uint64(p521Uint1(x859)))
  2880  	var x862 uint64
  2881  	var x863 uint64
  2882  	x862, x863 = bits.Add64(x807, x843, uint64(p521Uint1(x861)))
  2883  	var x864 uint64
  2884  	var x865 uint64
  2885  	x864, x865 = bits.Add64(x809, x845, uint64(p521Uint1(x863)))
  2886  	var x866 uint64
  2887  	var x867 uint64
  2888  	x866, x867 = bits.Add64(x811, x847, uint64(p521Uint1(x865)))
  2889  	var x868 uint64
  2890  	var x869 uint64
  2891  	x868, x869 = bits.Add64(x813, x849, uint64(p521Uint1(x867)))
  2892  	var x870 uint64
  2893  	var x871 uint64
  2894  	x870, x871 = bits.Add64(x815, x851, uint64(p521Uint1(x869)))
  2895  	var x872 uint64
  2896  	var x873 uint64
  2897  	x872, x873 = bits.Add64(x817, x853, uint64(p521Uint1(x871)))
  2898  	var x874 uint64
  2899  	var x875 uint64
  2900  	x874, x875 = bits.Add64(x819, x855, uint64(p521Uint1(x873)))
  2901  	x876 := (uint64(p521Uint1(x875)) + uint64(p521Uint1(x820)))
  2902  	var x877 uint64
  2903  	var x878 uint64
  2904  	x878, x877 = bits.Mul64(x8, arg1[8])
  2905  	var x879 uint64
  2906  	var x880 uint64
  2907  	x880, x879 = bits.Mul64(x8, arg1[7])
  2908  	var x881 uint64
  2909  	var x882 uint64
  2910  	x882, x881 = bits.Mul64(x8, arg1[6])
  2911  	var x883 uint64
  2912  	var x884 uint64
  2913  	x884, x883 = bits.Mul64(x8, arg1[5])
  2914  	var x885 uint64
  2915  	var x886 uint64
  2916  	x886, x885 = bits.Mul64(x8, arg1[4])
  2917  	var x887 uint64
  2918  	var x888 uint64
  2919  	x888, x887 = bits.Mul64(x8, arg1[3])
  2920  	var x889 uint64
  2921  	var x890 uint64
  2922  	x890, x889 = bits.Mul64(x8, arg1[2])
  2923  	var x891 uint64
  2924  	var x892 uint64
  2925  	x892, x891 = bits.Mul64(x8, arg1[1])
  2926  	var x893 uint64
  2927  	var x894 uint64
  2928  	x894, x893 = bits.Mul64(x8, arg1[0])
  2929  	var x895 uint64
  2930  	var x896 uint64
  2931  	x895, x896 = bits.Add64(x894, x891, uint64(0x0))
  2932  	var x897 uint64
  2933  	var x898 uint64
  2934  	x897, x898 = bits.Add64(x892, x889, uint64(p521Uint1(x896)))
  2935  	var x899 uint64
  2936  	var x900 uint64
  2937  	x899, x900 = bits.Add64(x890, x887, uint64(p521Uint1(x898)))
  2938  	var x901 uint64
  2939  	var x902 uint64
  2940  	x901, x902 = bits.Add64(x888, x885, uint64(p521Uint1(x900)))
  2941  	var x903 uint64
  2942  	var x904 uint64
  2943  	x903, x904 = bits.Add64(x886, x883, uint64(p521Uint1(x902)))
  2944  	var x905 uint64
  2945  	var x906 uint64
  2946  	x905, x906 = bits.Add64(x884, x881, uint64(p521Uint1(x904)))
  2947  	var x907 uint64
  2948  	var x908 uint64
  2949  	x907, x908 = bits.Add64(x882, x879, uint64(p521Uint1(x906)))
  2950  	var x909 uint64
  2951  	var x910 uint64
  2952  	x909, x910 = bits.Add64(x880, x877, uint64(p521Uint1(x908)))
  2953  	x911 := (uint64(p521Uint1(x910)) + x878)
  2954  	var x912 uint64
  2955  	var x913 uint64
  2956  	x912, x913 = bits.Add64(x858, x893, uint64(0x0))
  2957  	var x914 uint64
  2958  	var x915 uint64
  2959  	x914, x915 = bits.Add64(x860, x895, uint64(p521Uint1(x913)))
  2960  	var x916 uint64
  2961  	var x917 uint64
  2962  	x916, x917 = bits.Add64(x862, x897, uint64(p521Uint1(x915)))
  2963  	var x918 uint64
  2964  	var x919 uint64
  2965  	x918, x919 = bits.Add64(x864, x899, uint64(p521Uint1(x917)))
  2966  	var x920 uint64
  2967  	var x921 uint64
  2968  	x920, x921 = bits.Add64(x866, x901, uint64(p521Uint1(x919)))
  2969  	var x922 uint64
  2970  	var x923 uint64
  2971  	x922, x923 = bits.Add64(x868, x903, uint64(p521Uint1(x921)))
  2972  	var x924 uint64
  2973  	var x925 uint64
  2974  	x924, x925 = bits.Add64(x870, x905, uint64(p521Uint1(x923)))
  2975  	var x926 uint64
  2976  	var x927 uint64
  2977  	x926, x927 = bits.Add64(x872, x907, uint64(p521Uint1(x925)))
  2978  	var x928 uint64
  2979  	var x929 uint64
  2980  	x928, x929 = bits.Add64(x874, x909, uint64(p521Uint1(x927)))
  2981  	var x930 uint64
  2982  	var x931 uint64
  2983  	x930, x931 = bits.Add64(x876, x911, uint64(p521Uint1(x929)))
  2984  	var x932 uint64
  2985  	var x933 uint64
  2986  	x933, x932 = bits.Mul64(x912, 0x1ff)
  2987  	var x934 uint64
  2988  	var x935 uint64
  2989  	x935, x934 = bits.Mul64(x912, 0xffffffffffffffff)
  2990  	var x936 uint64
  2991  	var x937 uint64
  2992  	x937, x936 = bits.Mul64(x912, 0xffffffffffffffff)
  2993  	var x938 uint64
  2994  	var x939 uint64
  2995  	x939, x938 = bits.Mul64(x912, 0xffffffffffffffff)
  2996  	var x940 uint64
  2997  	var x941 uint64
  2998  	x941, x940 = bits.Mul64(x912, 0xffffffffffffffff)
  2999  	var x942 uint64
  3000  	var x943 uint64
  3001  	x943, x942 = bits.Mul64(x912, 0xffffffffffffffff)
  3002  	var x944 uint64
  3003  	var x945 uint64
  3004  	x945, x944 = bits.Mul64(x912, 0xffffffffffffffff)
  3005  	var x946 uint64
  3006  	var x947 uint64
  3007  	x947, x946 = bits.Mul64(x912, 0xffffffffffffffff)
  3008  	var x948 uint64
  3009  	var x949 uint64
  3010  	x949, x948 = bits.Mul64(x912, 0xffffffffffffffff)
  3011  	var x950 uint64
  3012  	var x951 uint64
  3013  	x950, x951 = bits.Add64(x949, x946, uint64(0x0))
  3014  	var x952 uint64
  3015  	var x953 uint64
  3016  	x952, x953 = bits.Add64(x947, x944, uint64(p521Uint1(x951)))
  3017  	var x954 uint64
  3018  	var x955 uint64
  3019  	x954, x955 = bits.Add64(x945, x942, uint64(p521Uint1(x953)))
  3020  	var x956 uint64
  3021  	var x957 uint64
  3022  	x956, x957 = bits.Add64(x943, x940, uint64(p521Uint1(x955)))
  3023  	var x958 uint64
  3024  	var x959 uint64
  3025  	x958, x959 = bits.Add64(x941, x938, uint64(p521Uint1(x957)))
  3026  	var x960 uint64
  3027  	var x961 uint64
  3028  	x960, x961 = bits.Add64(x939, x936, uint64(p521Uint1(x959)))
  3029  	var x962 uint64
  3030  	var x963 uint64
  3031  	x962, x963 = bits.Add64(x937, x934, uint64(p521Uint1(x961)))
  3032  	var x964 uint64
  3033  	var x965 uint64
  3034  	x964, x965 = bits.Add64(x935, x932, uint64(p521Uint1(x963)))
  3035  	x966 := (uint64(p521Uint1(x965)) + x933)
  3036  	var x968 uint64
  3037  	_, x968 = bits.Add64(x912, x948, uint64(0x0))
  3038  	var x969 uint64
  3039  	var x970 uint64
  3040  	x969, x970 = bits.Add64(x914, x950, uint64(p521Uint1(x968)))
  3041  	var x971 uint64
  3042  	var x972 uint64
  3043  	x971, x972 = bits.Add64(x916, x952, uint64(p521Uint1(x970)))
  3044  	var x973 uint64
  3045  	var x974 uint64
  3046  	x973, x974 = bits.Add64(x918, x954, uint64(p521Uint1(x972)))
  3047  	var x975 uint64
  3048  	var x976 uint64
  3049  	x975, x976 = bits.Add64(x920, x956, uint64(p521Uint1(x974)))
  3050  	var x977 uint64
  3051  	var x978 uint64
  3052  	x977, x978 = bits.Add64(x922, x958, uint64(p521Uint1(x976)))
  3053  	var x979 uint64
  3054  	var x980 uint64
  3055  	x979, x980 = bits.Add64(x924, x960, uint64(p521Uint1(x978)))
  3056  	var x981 uint64
  3057  	var x982 uint64
  3058  	x981, x982 = bits.Add64(x926, x962, uint64(p521Uint1(x980)))
  3059  	var x983 uint64
  3060  	var x984 uint64
  3061  	x983, x984 = bits.Add64(x928, x964, uint64(p521Uint1(x982)))
  3062  	var x985 uint64
  3063  	var x986 uint64
  3064  	x985, x986 = bits.Add64(x930, x966, uint64(p521Uint1(x984)))
  3065  	x987 := (uint64(p521Uint1(x986)) + uint64(p521Uint1(x931)))
  3066  	var x988 uint64
  3067  	var x989 uint64
  3068  	x988, x989 = bits.Sub64(x969, 0xffffffffffffffff, uint64(0x0))
  3069  	var x990 uint64
  3070  	var x991 uint64
  3071  	x990, x991 = bits.Sub64(x971, 0xffffffffffffffff, uint64(p521Uint1(x989)))
  3072  	var x992 uint64
  3073  	var x993 uint64
  3074  	x992, x993 = bits.Sub64(x973, 0xffffffffffffffff, uint64(p521Uint1(x991)))
  3075  	var x994 uint64
  3076  	var x995 uint64
  3077  	x994, x995 = bits.Sub64(x975, 0xffffffffffffffff, uint64(p521Uint1(x993)))
  3078  	var x996 uint64
  3079  	var x997 uint64
  3080  	x996, x997 = bits.Sub64(x977, 0xffffffffffffffff, uint64(p521Uint1(x995)))
  3081  	var x998 uint64
  3082  	var x999 uint64
  3083  	x998, x999 = bits.Sub64(x979, 0xffffffffffffffff, uint64(p521Uint1(x997)))
  3084  	var x1000 uint64
  3085  	var x1001 uint64
  3086  	x1000, x1001 = bits.Sub64(x981, 0xffffffffffffffff, uint64(p521Uint1(x999)))
  3087  	var x1002 uint64
  3088  	var x1003 uint64
  3089  	x1002, x1003 = bits.Sub64(x983, 0xffffffffffffffff, uint64(p521Uint1(x1001)))
  3090  	var x1004 uint64
  3091  	var x1005 uint64
  3092  	x1004, x1005 = bits.Sub64(x985, 0x1ff, uint64(p521Uint1(x1003)))
  3093  	var x1007 uint64
  3094  	_, x1007 = bits.Sub64(x987, uint64(0x0), uint64(p521Uint1(x1005)))
  3095  	var x1008 uint64
  3096  	p521CmovznzU64(&x1008, p521Uint1(x1007), x988, x969)
  3097  	var x1009 uint64
  3098  	p521CmovznzU64(&x1009, p521Uint1(x1007), x990, x971)
  3099  	var x1010 uint64
  3100  	p521CmovznzU64(&x1010, p521Uint1(x1007), x992, x973)
  3101  	var x1011 uint64
  3102  	p521CmovznzU64(&x1011, p521Uint1(x1007), x994, x975)
  3103  	var x1012 uint64
  3104  	p521CmovznzU64(&x1012, p521Uint1(x1007), x996, x977)
  3105  	var x1013 uint64
  3106  	p521CmovznzU64(&x1013, p521Uint1(x1007), x998, x979)
  3107  	var x1014 uint64
  3108  	p521CmovznzU64(&x1014, p521Uint1(x1007), x1000, x981)
  3109  	var x1015 uint64
  3110  	p521CmovznzU64(&x1015, p521Uint1(x1007), x1002, x983)
  3111  	var x1016 uint64
  3112  	p521CmovznzU64(&x1016, p521Uint1(x1007), x1004, x985)
  3113  	out1[0] = x1008
  3114  	out1[1] = x1009
  3115  	out1[2] = x1010
  3116  	out1[3] = x1011
  3117  	out1[4] = x1012
  3118  	out1[5] = x1013
  3119  	out1[6] = x1014
  3120  	out1[7] = x1015
  3121  	out1[8] = x1016
  3122  }
  3123  
  3124  // p521Add adds two field elements in the Montgomery domain.
  3125  //
  3126  // Preconditions:
  3127  //
  3128  //	0 ≤ eval arg1 < m
  3129  //	0 ≤ eval arg2 < m
  3130  //
  3131  // Postconditions:
  3132  //
  3133  //	eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) + eval (from_montgomery arg2)) mod m
  3134  //	0 ≤ eval out1 < m
  3135  func p521Add(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement, arg2 *p521MontgomeryDomainFieldElement) {
  3136  	var x1 uint64
  3137  	var x2 uint64
  3138  	x1, x2 = bits.Add64(arg1[0], arg2[0], uint64(0x0))
  3139  	var x3 uint64
  3140  	var x4 uint64
  3141  	x3, x4 = bits.Add64(arg1[1], arg2[1], uint64(p521Uint1(x2)))
  3142  	var x5 uint64
  3143  	var x6 uint64
  3144  	x5, x6 = bits.Add64(arg1[2], arg2[2], uint64(p521Uint1(x4)))
  3145  	var x7 uint64
  3146  	var x8 uint64
  3147  	x7, x8 = bits.Add64(arg1[3], arg2[3], uint64(p521Uint1(x6)))
  3148  	var x9 uint64
  3149  	var x10 uint64
  3150  	x9, x10 = bits.Add64(arg1[4], arg2[4], uint64(p521Uint1(x8)))
  3151  	var x11 uint64
  3152  	var x12 uint64
  3153  	x11, x12 = bits.Add64(arg1[5], arg2[5], uint64(p521Uint1(x10)))
  3154  	var x13 uint64
  3155  	var x14 uint64
  3156  	x13, x14 = bits.Add64(arg1[6], arg2[6], uint64(p521Uint1(x12)))
  3157  	var x15 uint64
  3158  	var x16 uint64
  3159  	x15, x16 = bits.Add64(arg1[7], arg2[7], uint64(p521Uint1(x14)))
  3160  	var x17 uint64
  3161  	var x18 uint64
  3162  	x17, x18 = bits.Add64(arg1[8], arg2[8], uint64(p521Uint1(x16)))
  3163  	var x19 uint64
  3164  	var x20 uint64
  3165  	x19, x20 = bits.Sub64(x1, 0xffffffffffffffff, uint64(0x0))
  3166  	var x21 uint64
  3167  	var x22 uint64
  3168  	x21, x22 = bits.Sub64(x3, 0xffffffffffffffff, uint64(p521Uint1(x20)))
  3169  	var x23 uint64
  3170  	var x24 uint64
  3171  	x23, x24 = bits.Sub64(x5, 0xffffffffffffffff, uint64(p521Uint1(x22)))
  3172  	var x25 uint64
  3173  	var x26 uint64
  3174  	x25, x26 = bits.Sub64(x7, 0xffffffffffffffff, uint64(p521Uint1(x24)))
  3175  	var x27 uint64
  3176  	var x28 uint64
  3177  	x27, x28 = bits.Sub64(x9, 0xffffffffffffffff, uint64(p521Uint1(x26)))
  3178  	var x29 uint64
  3179  	var x30 uint64
  3180  	x29, x30 = bits.Sub64(x11, 0xffffffffffffffff, uint64(p521Uint1(x28)))
  3181  	var x31 uint64
  3182  	var x32 uint64
  3183  	x31, x32 = bits.Sub64(x13, 0xffffffffffffffff, uint64(p521Uint1(x30)))
  3184  	var x33 uint64
  3185  	var x34 uint64
  3186  	x33, x34 = bits.Sub64(x15, 0xffffffffffffffff, uint64(p521Uint1(x32)))
  3187  	var x35 uint64
  3188  	var x36 uint64
  3189  	x35, x36 = bits.Sub64(x17, 0x1ff, uint64(p521Uint1(x34)))
  3190  	var x38 uint64
  3191  	_, x38 = bits.Sub64(uint64(p521Uint1(x18)), uint64(0x0), uint64(p521Uint1(x36)))
  3192  	var x39 uint64
  3193  	p521CmovznzU64(&x39, p521Uint1(x38), x19, x1)
  3194  	var x40 uint64
  3195  	p521CmovznzU64(&x40, p521Uint1(x38), x21, x3)
  3196  	var x41 uint64
  3197  	p521CmovznzU64(&x41, p521Uint1(x38), x23, x5)
  3198  	var x42 uint64
  3199  	p521CmovznzU64(&x42, p521Uint1(x38), x25, x7)
  3200  	var x43 uint64
  3201  	p521CmovznzU64(&x43, p521Uint1(x38), x27, x9)
  3202  	var x44 uint64
  3203  	p521CmovznzU64(&x44, p521Uint1(x38), x29, x11)
  3204  	var x45 uint64
  3205  	p521CmovznzU64(&x45, p521Uint1(x38), x31, x13)
  3206  	var x46 uint64
  3207  	p521CmovznzU64(&x46, p521Uint1(x38), x33, x15)
  3208  	var x47 uint64
  3209  	p521CmovznzU64(&x47, p521Uint1(x38), x35, x17)
  3210  	out1[0] = x39
  3211  	out1[1] = x40
  3212  	out1[2] = x41
  3213  	out1[3] = x42
  3214  	out1[4] = x43
  3215  	out1[5] = x44
  3216  	out1[6] = x45
  3217  	out1[7] = x46
  3218  	out1[8] = x47
  3219  }
  3220  
  3221  // p521Sub subtracts two field elements in the Montgomery domain.
  3222  //
  3223  // Preconditions:
  3224  //
  3225  //	0 ≤ eval arg1 < m
  3226  //	0 ≤ eval arg2 < m
  3227  //
  3228  // Postconditions:
  3229  //
  3230  //	eval (from_montgomery out1) mod m = (eval (from_montgomery arg1) - eval (from_montgomery arg2)) mod m
  3231  //	0 ≤ eval out1 < m
  3232  func p521Sub(out1 *p521MontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement, arg2 *p521MontgomeryDomainFieldElement) {
  3233  	var x1 uint64
  3234  	var x2 uint64
  3235  	x1, x2 = bits.Sub64(arg1[0], arg2[0], uint64(0x0))
  3236  	var x3 uint64
  3237  	var x4 uint64
  3238  	x3, x4 = bits.Sub64(arg1[1], arg2[1], uint64(p521Uint1(x2)))
  3239  	var x5 uint64
  3240  	var x6 uint64
  3241  	x5, x6 = bits.Sub64(arg1[2], arg2[2], uint64(p521Uint1(x4)))
  3242  	var x7 uint64
  3243  	var x8 uint64
  3244  	x7, x8 = bits.Sub64(arg1[3], arg2[3], uint64(p521Uint1(x6)))
  3245  	var x9 uint64
  3246  	var x10 uint64
  3247  	x9, x10 = bits.Sub64(arg1[4], arg2[4], uint64(p521Uint1(x8)))
  3248  	var x11 uint64
  3249  	var x12 uint64
  3250  	x11, x12 = bits.Sub64(arg1[5], arg2[5], uint64(p521Uint1(x10)))
  3251  	var x13 uint64
  3252  	var x14 uint64
  3253  	x13, x14 = bits.Sub64(arg1[6], arg2[6], uint64(p521Uint1(x12)))
  3254  	var x15 uint64
  3255  	var x16 uint64
  3256  	x15, x16 = bits.Sub64(arg1[7], arg2[7], uint64(p521Uint1(x14)))
  3257  	var x17 uint64
  3258  	var x18 uint64
  3259  	x17, x18 = bits.Sub64(arg1[8], arg2[8], uint64(p521Uint1(x16)))
  3260  	var x19 uint64
  3261  	p521CmovznzU64(&x19, p521Uint1(x18), uint64(0x0), 0xffffffffffffffff)
  3262  	var x20 uint64
  3263  	var x21 uint64
  3264  	x20, x21 = bits.Add64(x1, x19, uint64(0x0))
  3265  	var x22 uint64
  3266  	var x23 uint64
  3267  	x22, x23 = bits.Add64(x3, x19, uint64(p521Uint1(x21)))
  3268  	var x24 uint64
  3269  	var x25 uint64
  3270  	x24, x25 = bits.Add64(x5, x19, uint64(p521Uint1(x23)))
  3271  	var x26 uint64
  3272  	var x27 uint64
  3273  	x26, x27 = bits.Add64(x7, x19, uint64(p521Uint1(x25)))
  3274  	var x28 uint64
  3275  	var x29 uint64
  3276  	x28, x29 = bits.Add64(x9, x19, uint64(p521Uint1(x27)))
  3277  	var x30 uint64
  3278  	var x31 uint64
  3279  	x30, x31 = bits.Add64(x11, x19, uint64(p521Uint1(x29)))
  3280  	var x32 uint64
  3281  	var x33 uint64
  3282  	x32, x33 = bits.Add64(x13, x19, uint64(p521Uint1(x31)))
  3283  	var x34 uint64
  3284  	var x35 uint64
  3285  	x34, x35 = bits.Add64(x15, x19, uint64(p521Uint1(x33)))
  3286  	var x36 uint64
  3287  	x36, _ = bits.Add64(x17, (x19 & 0x1ff), uint64(p521Uint1(x35)))
  3288  	out1[0] = x20
  3289  	out1[1] = x22
  3290  	out1[2] = x24
  3291  	out1[3] = x26
  3292  	out1[4] = x28
  3293  	out1[5] = x30
  3294  	out1[6] = x32
  3295  	out1[7] = x34
  3296  	out1[8] = x36
  3297  }
  3298  
  3299  // p521SetOne returns the field element one in the Montgomery domain.
  3300  //
  3301  // Postconditions:
  3302  //
  3303  //	eval (from_montgomery out1) mod m = 1 mod m
  3304  //	0 ≤ eval out1 < m
  3305  func p521SetOne(out1 *p521MontgomeryDomainFieldElement) {
  3306  	out1[0] = 0x80000000000000
  3307  	out1[1] = uint64(0x0)
  3308  	out1[2] = uint64(0x0)
  3309  	out1[3] = uint64(0x0)
  3310  	out1[4] = uint64(0x0)
  3311  	out1[5] = uint64(0x0)
  3312  	out1[6] = uint64(0x0)
  3313  	out1[7] = uint64(0x0)
  3314  	out1[8] = uint64(0x0)
  3315  }
  3316  
  3317  // p521FromMontgomery translates a field element out of the Montgomery domain.
  3318  //
  3319  // Preconditions:
  3320  //
  3321  //	0 ≤ eval arg1 < m
  3322  //
  3323  // Postconditions:
  3324  //
  3325  //	eval out1 mod m = (eval arg1 * ((2^64)⁻¹ mod m)^9) mod m
  3326  //	0 ≤ eval out1 < m
  3327  func p521FromMontgomery(out1 *p521NonMontgomeryDomainFieldElement, arg1 *p521MontgomeryDomainFieldElement) {
  3328  	x1 := arg1[0]
  3329  	var x2 uint64
  3330  	var x3 uint64
  3331  	x3, x2 = bits.Mul64(x1, 0x1ff)
  3332  	var x4 uint64
  3333  	var x5 uint64
  3334  	x5, x4 = bits.Mul64(x1, 0xffffffffffffffff)
  3335  	var x6 uint64
  3336  	var x7 uint64
  3337  	x7, x6 = bits.Mul64(x1, 0xffffffffffffffff)
  3338  	var x8 uint64
  3339  	var x9 uint64
  3340  	x9, x8 = bits.Mul64(x1, 0xffffffffffffffff)
  3341  	var x10 uint64
  3342  	var x11 uint64
  3343  	x11, x10 = bits.Mul64(x1, 0xffffffffffffffff)
  3344  	var x12 uint64
  3345  	var x13 uint64
  3346  	x13, x12 = bits.Mul64(x1, 0xffffffffffffffff)
  3347  	var x14 uint64
  3348  	var x15 uint64
  3349  	x15, x14 = bits.Mul64(x1, 0xffffffffffffffff)
  3350  	var x16 uint64
  3351  	var x17 uint64
  3352  	x17, x16 = bits.Mul64(x1, 0xffffffffffffffff)
  3353  	var x18 uint64
  3354  	var x19 uint64
  3355  	x19, x18 = bits.Mul64(x1, 0xffffffffffffffff)
  3356  	var x20 uint64
  3357  	var x21 uint64
  3358  	x20, x21 = bits.Add64(x19, x16, uint64(0x0))
  3359  	var x22 uint64
  3360  	var x23 uint64
  3361  	x22, x23 = bits.Add64(x17, x14, uint64(p521Uint1(x21)))
  3362  	var x24 uint64
  3363  	var x25 uint64
  3364  	x24, x25 = bits.Add64(x15, x12, uint64(p521Uint1(x23)))
  3365  	var x26 uint64
  3366  	var x27 uint64
  3367  	x26, x27 = bits.Add64(x13, x10, uint64(p521Uint1(x25)))
  3368  	var x28 uint64
  3369  	var x29 uint64
  3370  	x28, x29 = bits.Add64(x11, x8, uint64(p521Uint1(x27)))
  3371  	var x30 uint64
  3372  	var x31 uint64
  3373  	x30, x31 = bits.Add64(x9, x6, uint64(p521Uint1(x29)))
  3374  	var x32 uint64
  3375  	var x33 uint64
  3376  	x32, x33 = bits.Add64(x7, x4, uint64(p521Uint1(x31)))
  3377  	var x34 uint64
  3378  	var x35 uint64
  3379  	x34, x35 = bits.Add64(x5, x2, uint64(p521Uint1(x33)))
  3380  	var x37 uint64
  3381  	_, x37 = bits.Add64(x1, x18, uint64(0x0))
  3382  	var x38 uint64
  3383  	var x39 uint64
  3384  	x38, x39 = bits.Add64(uint64(0x0), x20, uint64(p521Uint1(x37)))
  3385  	var x40 uint64
  3386  	var x41 uint64
  3387  	x40, x41 = bits.Add64(uint64(0x0), x22, uint64(p521Uint1(x39)))
  3388  	var x42 uint64
  3389  	var x43 uint64
  3390  	x42, x43 = bits.Add64(uint64(0x0), x24, uint64(p521Uint1(x41)))
  3391  	var x44 uint64
  3392  	var x45 uint64
  3393  	x44, x45 = bits.Add64(uint64(0x0), x26, uint64(p521Uint1(x43)))
  3394  	var x46 uint64
  3395  	var x47 uint64
  3396  	x46, x47 = bits.Add64(uint64(0x0), x28, uint64(p521Uint1(x45)))
  3397  	var x48 uint64
  3398  	var x49 uint64
  3399  	x48, x49 = bits.Add64(uint64(0x0), x30, uint64(p521Uint1(x47)))
  3400  	var x50 uint64
  3401  	var x51 uint64
  3402  	x50, x51 = bits.Add64(uint64(0x0), x32, uint64(p521Uint1(x49)))
  3403  	var x52 uint64
  3404  	var x53 uint64
  3405  	x52, x53 = bits.Add64(uint64(0x0), x34, uint64(p521Uint1(x51)))
  3406  	var x54 uint64
  3407  	var x55 uint64
  3408  	x54, x55 = bits.Add64(x38, arg1[1], uint64(0x0))
  3409  	var x56 uint64
  3410  	var x57 uint64
  3411  	x56, x57 = bits.Add64(x40, uint64(0x0), uint64(p521Uint1(x55)))
  3412  	var x58 uint64
  3413  	var x59 uint64
  3414  	x58, x59 = bits.Add64(x42, uint64(0x0), uint64(p521Uint1(x57)))
  3415  	var x60 uint64
  3416  	var x61 uint64
  3417  	x60, x61 = bits.Add64(x44, uint64(0x0), uint64(p521Uint1(x59)))
  3418  	var x62 uint64
  3419  	var x63 uint64
  3420  	x62, x63 = bits.Add64(x46, uint64(0x0), uint64(p521Uint1(x61)))
  3421  	var x64 uint64
  3422  	var x65 uint64
  3423  	x64, x65 = bits.Add64(x48, uint64(0x0), uint64(p521Uint1(x63)))
  3424  	var x66 uint64
  3425  	var x67 uint64
  3426  	x66, x67 = bits.Add64(x50, uint64(0x0), uint64(p521Uint1(x65)))
  3427  	var x68 uint64
  3428  	var x69 uint64
  3429  	x68, x69 = bits.Add64(x52, uint64(0x0), uint64(p521Uint1(x67)))
  3430  	var x70 uint64
  3431  	var x71 uint64
  3432  	x71, x70 = bits.Mul64(x54, 0x1ff)
  3433  	var x72 uint64
  3434  	var x73 uint64
  3435  	x73, x72 = bits.Mul64(x54, 0xffffffffffffffff)
  3436  	var x74 uint64
  3437  	var x75 uint64
  3438  	x75, x74 = bits.Mul64(x54, 0xffffffffffffffff)
  3439  	var x76 uint64
  3440  	var x77 uint64
  3441  	x77, x76 = bits.Mul64(x54, 0xffffffffffffffff)
  3442  	var x78 uint64
  3443  	var x79 uint64
  3444  	x79, x78 = bits.Mul64(x54, 0xffffffffffffffff)
  3445  	var x80 uint64
  3446  	var x81 uint64
  3447  	x81, x80 = bits.Mul64(x54, 0xffffffffffffffff)
  3448  	var x82 uint64
  3449  	var x83 uint64
  3450  	x83, x82 = bits.Mul64(x54, 0xffffffffffffffff)
  3451  	var x84 uint64
  3452  	var x85 uint64
  3453  	x85, x84 = bits.Mul64(x54, 0xffffffffffffffff)
  3454  	var x86 uint64
  3455  	var x87 uint64
  3456  	x87, x86 = bits.Mul64(x54, 0xffffffffffffffff)
  3457  	var x88 uint64
  3458  	var x89 uint64
  3459  	x88, x89 = bits.Add64(x87, x84, uint64(0x0))
  3460  	var x90 uint64
  3461  	var x91 uint64
  3462  	x90, x91 = bits.Add64(x85, x82, uint64(p521Uint1(x89)))
  3463  	var x92 uint64
  3464  	var x93 uint64
  3465  	x92, x93 = bits.Add64(x83, x80, uint64(p521Uint1(x91)))
  3466  	var x94 uint64
  3467  	var x95 uint64
  3468  	x94, x95 = bits.Add64(x81, x78, uint64(p521Uint1(x93)))
  3469  	var x96 uint64
  3470  	var x97 uint64
  3471  	x96, x97 = bits.Add64(x79, x76, uint64(p521Uint1(x95)))
  3472  	var x98 uint64
  3473  	var x99 uint64
  3474  	x98, x99 = bits.Add64(x77, x74, uint64(p521Uint1(x97)))
  3475  	var x100 uint64
  3476  	var x101 uint64
  3477  	x100, x101 = bits.Add64(x75, x72, uint64(p521Uint1(x99)))
  3478  	var x102 uint64
  3479  	var x103 uint64
  3480  	x102, x103 = bits.Add64(x73, x70, uint64(p521Uint1(x101)))
  3481  	var x105 uint64
  3482  	_, x105 = bits.Add64(x54, x86, uint64(0x0))
  3483  	var x106 uint64
  3484  	var x107 uint64
  3485  	x106, x107 = bits.Add64(x56, x88, uint64(p521Uint1(x105)))
  3486  	var x108 uint64
  3487  	var x109 uint64
  3488  	x108, x109 = bits.Add64(x58, x90, uint64(p521Uint1(x107)))
  3489  	var x110 uint64
  3490  	var x111 uint64
  3491  	x110, x111 = bits.Add64(x60, x92, uint64(p521Uint1(x109)))
  3492  	var x112 uint64
  3493  	var x113 uint64
  3494  	x112, x113 = bits.Add64(x62, x94, uint64(p521Uint1(x111)))
  3495  	var x114 uint64
  3496  	var x115 uint64
  3497  	x114, x115 = bits.Add64(x64, x96, uint64(p521Uint1(x113)))
  3498  	var x116 uint64
  3499  	var x117 uint64
  3500  	x116, x117 = bits.Add64(x66, x98, uint64(p521Uint1(x115)))
  3501  	var x118 uint64
  3502  	var x119 uint64
  3503  	x118, x119 = bits.Add64(x68, x100, uint64(p521Uint1(x117)))
  3504  	var x120 uint64
  3505  	var x121 uint64
  3506  	x120, x121 = bits.Add64((uint64(p521Uint1(x69)) + (uint64(p521Uint1(x53)) + (uint64(p521Uint1(x35)) + x3))), x102, uint64(p521Uint1(x119)))
  3507  	var x122 uint64
  3508  	var x123 uint64
  3509  	x122, x123 = bits.Add64(x106, arg1[2], uint64(0x0))
  3510  	var x124 uint64
  3511  	var x125 uint64
  3512  	x124, x125 = bits.Add64(x108, uint64(0x0), uint64(p521Uint1(x123)))
  3513  	var x126 uint64
  3514  	var x127 uint64
  3515  	x126, x127 = bits.Add64(x110, uint64(0x0), uint64(p521Uint1(x125)))
  3516  	var x128 uint64
  3517  	var x129 uint64
  3518  	x128, x129 = bits.Add64(x112, uint64(0x0), uint64(p521Uint1(x127)))
  3519  	var x130 uint64
  3520  	var x131 uint64
  3521  	x130, x131 = bits.Add64(x114, uint64(0x0), uint64(p521Uint1(x129)))
  3522  	var x132 uint64
  3523  	var x133 uint64
  3524  	x132, x133 = bits.Add64(x116, uint64(0x0), uint64(p521Uint1(x131)))
  3525  	var x134 uint64
  3526  	var x135 uint64
  3527  	x134, x135 = bits.Add64(x118, uint64(0x0), uint64(p521Uint1(x133)))
  3528  	var x136 uint64
  3529  	var x137 uint64
  3530  	x136, x137 = bits.Add64(x120, uint64(0x0), uint64(p521Uint1(x135)))
  3531  	var x138 uint64
  3532  	var x139 uint64
  3533  	x139, x138 = bits.Mul64(x122, 0x1ff)
  3534  	var x140 uint64
  3535  	var x141 uint64
  3536  	x141, x140 = bits.Mul64(x122, 0xffffffffffffffff)
  3537  	var x142 uint64
  3538  	var x143 uint64
  3539  	x143, x142 = bits.Mul64(x122, 0xffffffffffffffff)
  3540  	var x144 uint64
  3541  	var x145 uint64
  3542  	x145, x144 = bits.Mul64(x122, 0xffffffffffffffff)
  3543  	var x146 uint64
  3544  	var x147 uint64
  3545  	x147, x146 = bits.Mul64(x122, 0xffffffffffffffff)
  3546  	var x148 uint64
  3547  	var x149 uint64
  3548  	x149, x148 = bits.Mul64(x122, 0xffffffffffffffff)
  3549  	var x150 uint64
  3550  	var x151 uint64
  3551  	x151, x150 = bits.Mul64(x122, 0xffffffffffffffff)
  3552  	var x152 uint64
  3553  	var x153 uint64
  3554  	x153, x152 = bits.Mul64(x122, 0xffffffffffffffff)
  3555  	var x154 uint64
  3556  	var x155 uint64
  3557  	x155, x154 = bits.Mul64(x122, 0xffffffffffffffff)
  3558  	var x156 uint64
  3559  	var x157 uint64
  3560  	x156, x157 = bits.Add64(x155, x152, uint64(0x0))
  3561  	var x158 uint64
  3562  	var x159 uint64
  3563  	x158, x159 = bits.Add64(x153, x150, uint64(p521Uint1(x157)))
  3564  	var x160 uint64
  3565  	var x161 uint64
  3566  	x160, x161 = bits.Add64(x151, x148, uint64(p521Uint1(x159)))
  3567  	var x162 uint64
  3568  	var x163 uint64
  3569  	x162, x163 = bits.Add64(x149, x146, uint64(p521Uint1(x161)))
  3570  	var x164 uint64
  3571  	var x165 uint64
  3572  	x164, x165 = bits.Add64(x147, x144, uint64(p521Uint1(x163)))
  3573  	var x166 uint64
  3574  	var x167 uint64
  3575  	x166, x167 = bits.Add64(x145, x142, uint64(p521Uint1(x165)))
  3576  	var x168 uint64
  3577  	var x169 uint64
  3578  	x168, x169 = bits.Add64(x143, x140, uint64(p521Uint1(x167)))
  3579  	var x170 uint64
  3580  	var x171 uint64
  3581  	x170, x171 = bits.Add64(x141, x138, uint64(p521Uint1(x169)))
  3582  	var x173 uint64
  3583  	_, x173 = bits.Add64(x122, x154, uint64(0x0))
  3584  	var x174 uint64
  3585  	var x175 uint64
  3586  	x174, x175 = bits.Add64(x124, x156, uint64(p521Uint1(x173)))
  3587  	var x176 uint64
  3588  	var x177 uint64
  3589  	x176, x177 = bits.Add64(x126, x158, uint64(p521Uint1(x175)))
  3590  	var x178 uint64
  3591  	var x179 uint64
  3592  	x178, x179 = bits.Add64(x128, x160, uint64(p521Uint1(x177)))
  3593  	var x180 uint64
  3594  	var x181 uint64
  3595  	x180, x181 = bits.Add64(x130, x162, uint64(p521Uint1(x179)))
  3596  	var x182 uint64
  3597  	var x183 uint64
  3598  	x182, x183 = bits.Add64(x132, x164, uint64(p521Uint1(x181)))
  3599  	var x184 uint64
  3600  	var x185 uint64
  3601  	x184, x185 = bits.Add64(x134, x166, uint64(p521Uint1(x183)))
  3602  	var x186 uint64
  3603  	var x187 uint64
  3604  	x186, x187 = bits.Add64(x136, x168, uint64(p521Uint1(x185)))
  3605  	var x188 uint64
  3606  	var x189 uint64
  3607  	x188, x189 = bits.Add64((uint64(p521Uint1(x137)) + (uint64(p521Uint1(x121)) + (uint64(p521Uint1(x103)) + x71))), x170, uint64(p521Uint1(x187)))
  3608  	var x190 uint64
  3609  	var x191 uint64
  3610  	x190, x191 = bits.Add64(x174, arg1[3], uint64(0x0))
  3611  	var x192 uint64
  3612  	var x193 uint64
  3613  	x192, x193 = bits.Add64(x176, uint64(0x0), uint64(p521Uint1(x191)))
  3614  	var x194 uint64
  3615  	var x195 uint64
  3616  	x194, x195 = bits.Add64(x178, uint64(0x0), uint64(p521Uint1(x193)))
  3617  	var x196 uint64
  3618  	var x197 uint64
  3619  	x196, x197 = bits.Add64(x180, uint64(0x0), uint64(p521Uint1(x195)))
  3620  	var x198 uint64
  3621  	var x199 uint64
  3622  	x198, x199 = bits.Add64(x182, uint64(0x0), uint64(p521Uint1(x197)))
  3623  	var x200 uint64
  3624  	var x201 uint64
  3625  	x200, x201 = bits.Add64(x184, uint64(0x0), uint64(p521Uint1(x199)))
  3626  	var x202 uint64
  3627  	var x203 uint64
  3628  	x202, x203 = bits.Add64(x186, uint64(0x0), uint64(p521Uint1(x201)))
  3629  	var x204 uint64
  3630  	var x205 uint64
  3631  	x204, x205 = bits.Add64(x188, uint64(0x0), uint64(p521Uint1(x203)))
  3632  	var x206 uint64
  3633  	var x207 uint64
  3634  	x207, x206 = bits.Mul64(x190, 0x1ff)
  3635  	var x208 uint64
  3636  	var x209 uint64
  3637  	x209, x208 = bits.Mul64(x190, 0xffffffffffffffff)
  3638  	var x210 uint64
  3639  	var x211 uint64
  3640  	x211, x210 = bits.Mul64(x190, 0xffffffffffffffff)
  3641  	var x212 uint64
  3642  	var x213 uint64
  3643  	x213, x212 = bits.Mul64(x190, 0xffffffffffffffff)
  3644  	var x214 uint64
  3645  	var x215 uint64
  3646  	x215, x214 = bits.Mul64(x190, 0xffffffffffffffff)
  3647  	var x216 uint64
  3648  	var x217 uint64
  3649  	x217, x216 = bits.Mul64(x190, 0xffffffffffffffff)
  3650  	var x218 uint64
  3651  	var x219 uint64
  3652  	x219, x218 = bits.Mul64(x190, 0xffffffffffffffff)
  3653  	var x220 uint64
  3654  	var x221 uint64
  3655  	x221, x220 = bits.Mul64(x190, 0xffffffffffffffff)
  3656  	var x222 uint64
  3657  	var x223 uint64
  3658  	x223, x222 = bits.Mul64(x190, 0xffffffffffffffff)
  3659  	var x224 uint64
  3660  	var x225 uint64
  3661  	x224, x225 = bits.Add64(x223, x220, uint64(0x0))
  3662  	var x226 uint64
  3663  	var x227 uint64
  3664  	x226, x227 = bits.Add64(x221, x218, uint64(p521Uint1(x225)))
  3665  	var x228 uint64
  3666  	var x229 uint64
  3667  	x228, x229 = bits.Add64(x219, x216, uint64(p521Uint1(x227)))
  3668  	var x230 uint64
  3669  	var x231 uint64
  3670  	x230, x231 = bits.Add64(x217, x214, uint64(p521Uint1(x229)))
  3671  	var x232 uint64
  3672  	var x233 uint64
  3673  	x232, x233 = bits.Add64(x215, x212, uint64(p521Uint1(x231)))
  3674  	var x234 uint64
  3675  	var x235 uint64
  3676  	x234, x235 = bits.Add64(x213, x210, uint64(p521Uint1(x233)))
  3677  	var x236 uint64
  3678  	var x237 uint64
  3679  	x236, x237 = bits.Add64(x211, x208, uint64(p521Uint1(x235)))
  3680  	var x238 uint64
  3681  	var x239 uint64
  3682  	x238, x239 = bits.Add64(x209, x206, uint64(p521Uint1(x237)))
  3683  	var x241 uint64
  3684  	_, x241 = bits.Add64(x190, x222, uint64(0x0))
  3685  	var x242 uint64
  3686  	var x243 uint64
  3687  	x242, x243 = bits.Add64(x192, x224, uint64(p521Uint1(x241)))
  3688  	var x244 uint64
  3689  	var x245 uint64
  3690  	x244, x245 = bits.Add64(x194, x226, uint64(p521Uint1(x243)))
  3691  	var x246 uint64
  3692  	var x247 uint64
  3693  	x246, x247 = bits.Add64(x196, x228, uint64(p521Uint1(x245)))
  3694  	var x248 uint64
  3695  	var x249 uint64
  3696  	x248, x249 = bits.Add64(x198, x230, uint64(p521Uint1(x247)))
  3697  	var x250 uint64
  3698  	var x251 uint64
  3699  	x250, x251 = bits.Add64(x200, x232, uint64(p521Uint1(x249)))
  3700  	var x252 uint64
  3701  	var x253 uint64
  3702  	x252, x253 = bits.Add64(x202, x234, uint64(p521Uint1(x251)))
  3703  	var x254 uint64
  3704  	var x255 uint64
  3705  	x254, x255 = bits.Add64(x204, x236, uint64(p521Uint1(x253)))
  3706  	var x256 uint64
  3707  	var x257 uint64
  3708  	x256, x257 = bits.Add64((uint64(p521Uint1(x205)) + (uint64(p521Uint1(x189)) + (uint64(p521Uint1(x171)) + x139))), x238, uint64(p521Uint1(x255)))
  3709  	var x258 uint64
  3710  	var x259 uint64
  3711  	x258, x259 = bits.Add64(x242, arg1[4], uint64(0x0))
  3712  	var x260 uint64
  3713  	var x261 uint64
  3714  	x260, x261 = bits.Add64(x244, uint64(0x0), uint64(p521Uint1(x259)))
  3715  	var x262 uint64
  3716  	var x263 uint64
  3717  	x262, x263 = bits.Add64(x246, uint64(0x0), uint64(p521Uint1(x261)))
  3718  	var x264 uint64
  3719  	var x265 uint64
  3720  	x264, x265 = bits.Add64(x248, uint64(0x0), uint64(p521Uint1(x263)))
  3721  	var x266 uint64
  3722  	var x267 uint64
  3723  	x266, x267 = bits.Add64(x250, uint64(0x0), uint64(p521Uint1(x265)))
  3724  	var x268 uint64
  3725  	var x269 uint64
  3726  	x268, x269 = bits.Add64(x252, uint64(0x0), uint64(p521Uint1(x267)))
  3727  	var x270 uint64
  3728  	var x271 uint64
  3729  	x270, x271 = bits.Add64(x254, uint64(0x0), uint64(p521Uint1(x269)))
  3730  	var x272 uint64
  3731  	var x273 uint64
  3732  	x272, x273 = bits.Add64(x256, uint64(0x0), uint64(p521Uint1(x271)))
  3733  	var x274 uint64
  3734  	var x275 uint64
  3735  	x275, x274 = bits.Mul64(x258, 0x1ff)
  3736  	var x276 uint64
  3737  	var x277 uint64
  3738  	x277, x276 = bits.Mul64(x258, 0xffffffffffffffff)
  3739  	var x278 uint64
  3740  	var x279 uint64
  3741  	x279, x278 = bits.Mul64(x258, 0xffffffffffffffff)
  3742  	var x280 uint64
  3743  	var x281 uint64
  3744  	x281, x280 = bits.Mul64(x258, 0xffffffffffffffff)
  3745  	var x282 uint64
  3746  	var x283 uint64
  3747  	x283, x282 = bits.Mul64(x258, 0xffffffffffffffff)
  3748  	var x284 uint64
  3749  	var x285 uint64
  3750  	x285, x284 = bits.Mul64(x258, 0xffffffffffffffff)
  3751  	var x286 uint64
  3752  	var x287 uint64
  3753  	x287, x286 = bits.Mul64(x258, 0xffffffffffffffff)
  3754  	var x288 uint64
  3755  	var x289 uint64
  3756  	x289, x288 = bits.Mul64(x258, 0xffffffffffffffff)
  3757  	var x290 uint64
  3758  	var x291 uint64
  3759  	x291, x290 = bits.Mul64(x258, 0xffffffffffffffff)
  3760  	var x292 uint64
  3761  	var x293 uint64
  3762  	x292, x293 = bits.Add64(x291, x288, uint64(0x0))
  3763  	var x294 uint64
  3764  	var x295 uint64
  3765  	x294, x295 = bits.Add64(x289, x286, uint64(p521Uint1(x293)))
  3766  	var x296 uint64
  3767  	var x297 uint64
  3768  	x296, x297 = bits.Add64(x287, x284, uint64(p521Uint1(x295)))
  3769  	var x298 uint64
  3770  	var x299 uint64
  3771  	x298, x299 = bits.Add64(x285, x282, uint64(p521Uint1(x297)))
  3772  	var x300 uint64
  3773  	var x301 uint64
  3774  	x300, x301 = bits.Add64(x283, x280, uint64(p521Uint1(x299)))
  3775  	var x302 uint64
  3776  	var x303 uint64
  3777  	x302, x303 = bits.Add64(x281, x278, uint64(p521Uint1(x301)))
  3778  	var x304 uint64
  3779  	var x305 uint64
  3780  	x304, x305 = bits.Add64(x279, x276, uint64(p521Uint1(x303)))
  3781  	var x306 uint64
  3782  	var x307 uint64
  3783  	x306, x307 = bits.Add64(x277, x274, uint64(p521Uint1(x305)))
  3784  	var x309 uint64
  3785  	_, x309 = bits.Add64(x258, x290, uint64(0x0))
  3786  	var x310 uint64
  3787  	var x311 uint64
  3788  	x310, x311 = bits.Add64(x260, x292, uint64(p521Uint1(x309)))
  3789  	var x312 uint64
  3790  	var x313 uint64
  3791  	x312, x313 = bits.Add64(x262, x294, uint64(p521Uint1(x311)))
  3792  	var x314 uint64
  3793  	var x315 uint64
  3794  	x314, x315 = bits.Add64(x264, x296, uint64(p521Uint1(x313)))
  3795  	var x316 uint64
  3796  	var x317 uint64
  3797  	x316, x317 = bits.Add64(x266, x298, uint64(p521Uint1(x315)))
  3798  	var x318 uint64
  3799  	var x319 uint64
  3800  	x318, x319 = bits.Add64(x268, x300, uint64(p521Uint1(x317)))
  3801  	var x320 uint64
  3802  	var x321 uint64
  3803  	x320, x321 = bits.Add64(x270, x302, uint64(p521Uint1(x319)))
  3804  	var x322 uint64
  3805  	var x323 uint64
  3806  	x322, x323 = bits.Add64(x272, x304, uint64(p521Uint1(x321)))
  3807  	var x324 uint64
  3808  	var x325 uint64
  3809  	x324, x325 = bits.Add64((uint64(p521Uint1(x273)) + (uint64(p521Uint1(x257)) + (uint64(p521Uint1(x239)) + x207))), x306, uint64(p521Uint1(x323)))
  3810  	var x326 uint64
  3811  	var x327 uint64
  3812  	x326, x327 = bits.Add64(x310, arg1[5], uint64(0x0))
  3813  	var x328 uint64
  3814  	var x329 uint64
  3815  	x328, x329 = bits.Add64(x312, uint64(0x0), uint64(p521Uint1(x327)))
  3816  	var x330 uint64
  3817  	var x331 uint64
  3818  	x330, x331 = bits.Add64(x314, uint64(0x0), uint64(p521Uint1(x329)))
  3819  	var x332 uint64
  3820  	var x333 uint64
  3821  	x332, x333 = bits.Add64(x316, uint64(0x0), uint64(p521Uint1(x331)))
  3822  	var x334 uint64
  3823  	var x335 uint64
  3824  	x334, x335 = bits.Add64(x318, uint64(0x0), uint64(p521Uint1(x333)))
  3825  	var x336 uint64
  3826  	var x337 uint64
  3827  	x336, x337 = bits.Add64(x320, uint64(0x0), uint64(p521Uint1(x335)))
  3828  	var x338 uint64
  3829  	var x339 uint64
  3830  	x338, x339 = bits.Add64(x322, uint64(0x0), uint64(p521Uint1(x337)))
  3831  	var x340 uint64
  3832  	var x341 uint64
  3833  	x340, x341 = bits.Add64(x324, uint64(0x0), uint64(p521Uint1(x339)))
  3834  	var x342 uint64
  3835  	var x343 uint64
  3836  	x343, x342 = bits.Mul64(x326, 0x1ff)
  3837  	var x344 uint64
  3838  	var x345 uint64
  3839  	x345, x344 = bits.Mul64(x326, 0xffffffffffffffff)
  3840  	var x346 uint64
  3841  	var x347 uint64
  3842  	x347, x346 = bits.Mul64(x326, 0xffffffffffffffff)
  3843  	var x348 uint64
  3844  	var x349 uint64
  3845  	x349, x348 = bits.Mul64(x326, 0xffffffffffffffff)
  3846  	var x350 uint64
  3847  	var x351 uint64
  3848  	x351, x350 = bits.Mul64(x326, 0xffffffffffffffff)
  3849  	var x352 uint64
  3850  	var x353 uint64
  3851  	x353, x352 = bits.Mul64(x326, 0xffffffffffffffff)
  3852  	var x354 uint64
  3853  	var x355 uint64
  3854  	x355, x354 = bits.Mul64(x326, 0xffffffffffffffff)
  3855  	var x356 uint64
  3856  	var x357 uint64
  3857  	x357, x356 = bits.Mul64(x326, 0xffffffffffffffff)
  3858  	var x358 uint64
  3859  	var x359 uint64
  3860  	x359, x358 = bits.Mul64(x326, 0xffffffffffffffff)
  3861  	var x360 uint64
  3862  	var x361 uint64
  3863  	x360, x361 = bits.Add64(x359, x356, uint64(0x0))
  3864  	var x362 uint64
  3865  	var x363 uint64
  3866  	x362, x363 = bits.Add64(x357, x354, uint64(p521Uint1(x361)))
  3867  	var x364 uint64
  3868  	var x365 uint64
  3869  	x364, x365 = bits.Add64(x355, x352, uint64(p521Uint1(x363)))
  3870  	var x366 uint64
  3871  	var x367 uint64
  3872  	x366, x367 = bits.Add64(x353, x350, uint64(p521Uint1(x365)))
  3873  	var x368 uint64
  3874  	var x369 uint64
  3875  	x368, x369 = bits.Add64(x351, x348, uint64(p521Uint1(x367)))
  3876  	var x370 uint64
  3877  	var x371 uint64
  3878  	x370, x371 = bits.Add64(x349, x346, uint64(p521Uint1(x369)))
  3879  	var x372 uint64
  3880  	var x373 uint64
  3881  	x372, x373 = bits.Add64(x347, x344, uint64(p521Uint1(x371)))
  3882  	var x374 uint64
  3883  	var x375 uint64
  3884  	x374, x375 = bits.Add64(x345, x342, uint64(p521Uint1(x373)))
  3885  	var x377 uint64
  3886  	_, x377 = bits.Add64(x326, x358, uint64(0x0))
  3887  	var x378 uint64
  3888  	var x379 uint64
  3889  	x378, x379 = bits.Add64(x328, x360, uint64(p521Uint1(x377)))
  3890  	var x380 uint64
  3891  	var x381 uint64
  3892  	x380, x381 = bits.Add64(x330, x362, uint64(p521Uint1(x379)))
  3893  	var x382 uint64
  3894  	var x383 uint64
  3895  	x382, x383 = bits.Add64(x332, x364, uint64(p521Uint1(x381)))
  3896  	var x384 uint64
  3897  	var x385 uint64
  3898  	x384, x385 = bits.Add64(x334, x366, uint64(p521Uint1(x383)))
  3899  	var x386 uint64
  3900  	var x387 uint64
  3901  	x386, x387 = bits.Add64(x336, x368, uint64(p521Uint1(x385)))
  3902  	var x388 uint64
  3903  	var x389 uint64
  3904  	x388, x389 = bits.Add64(x338, x370, uint64(p521Uint1(x387)))
  3905  	var x390 uint64
  3906  	var x391 uint64
  3907  	x390, x391 = bits.Add64(x340, x372, uint64(p521Uint1(x389)))
  3908  	var x392 uint64
  3909  	var x393 uint64
  3910  	x392, x393 = bits.Add64((uint64(p521Uint1(x341)) + (uint64(p521Uint1(x325)) + (uint64(p521Uint1(x307)) + x275))), x374, uint64(p521Uint1(x391)))
  3911  	var x394 uint64
  3912  	var x395 uint64
  3913  	x394, x395 = bits.Add64(x378, arg1[6], uint64(0x0))
  3914  	var x396 uint64
  3915  	var x397 uint64
  3916  	x396, x397 = bits.Add64(x380, uint64(0x0), uint64(p521Uint1(x395)))
  3917  	var x398 uint64
  3918  	var x399 uint64
  3919  	x398, x399 = bits.Add64(x382, uint64(0x0), uint64(p521Uint1(x397)))
  3920  	var x400 uint64
  3921  	var x401 uint64
  3922  	x400, x401 = bits.Add64(x384, uint64(0x0), uint64(p521Uint1(x399)))
  3923  	var x402 uint64
  3924  	var x403 uint64
  3925  	x402, x403 = bits.Add64(x386, uint64(0x0), uint64(p521Uint1(x401)))
  3926  	var x404 uint64
  3927  	var x405 uint64
  3928  	x404, x405 = bits.Add64(x388, uint64(0x0), uint64(p521Uint1(x403)))
  3929  	var x406 uint64
  3930  	var x407 uint64
  3931  	x406, x407 = bits.Add64(x390, uint64(0x0), uint64(p521Uint1(x405)))
  3932  	var x408 uint64
  3933  	var x409 uint64
  3934  	x408, x409 = bits.Add64(x392, uint64(0x0), uint64(p521Uint1(x407)))
  3935  	var x410 uint64
  3936  	var x411 uint64
  3937  	x411, x410 = bits.Mul64(x394, 0x1ff)
  3938  	var x412 uint64
  3939  	var x413 uint64
  3940  	x413, x412 = bits.Mul64(x394, 0xffffffffffffffff)
  3941  	var x414 uint64
  3942  	var x415 uint64
  3943  	x415, x414 = bits.Mul64(x394, 0xffffffffffffffff)
  3944  	var x416 uint64
  3945  	var x417 uint64
  3946  	x417, x416 = bits.Mul64(x394, 0xffffffffffffffff)
  3947  	var x418 uint64
  3948  	var x419 uint64
  3949  	x419, x418 = bits.Mul64(x394, 0xffffffffffffffff)
  3950  	var x420 uint64
  3951  	var x421 uint64
  3952  	x421, x420 = bits.Mul64(x394, 0xffffffffffffffff)
  3953  	var x422 uint64
  3954  	var x423 uint64
  3955  	x423, x422 = bits.Mul64(x394, 0xffffffffffffffff)
  3956  	var x424 uint64
  3957  	var x425 uint64
  3958  	x425, x424 = bits.Mul64(x394, 0xffffffffffffffff)
  3959  	var x426 uint64
  3960  	var x427 uint64
  3961  	x427, x426 = bits.Mul64(x394, 0xffffffffffffffff)
  3962  	var x428 uint64
  3963  	var x429 uint64
  3964  	x428, x429 = bits.Add64(x427, x424, uint64(0x0))
  3965  	var x430 uint64
  3966  	var x431 uint64
  3967  	x430, x431 = bits.Add64(x425, x422, uint64(p521Uint1(x429)))
  3968  	var x432 uint64
  3969  	var x433 uint64
  3970  	x432, x433 = bits.Add64(x423, x420, uint64(p521Uint1(x431)))
  3971  	var x434 uint64
  3972  	var x435 uint64
  3973  	x434, x435 = bits.Add64(x421, x418, uint64(p521Uint1(x433)))
  3974  	var x436 uint64
  3975  	var x437 uint64
  3976  	x436, x437 = bits.Add64(x419, x416, uint64(p521Uint1(x435)))
  3977  	var x438 uint64
  3978  	var x439 uint64
  3979  	x438, x439 = bits.Add64(x417, x414, uint64(p521Uint1(x437)))
  3980  	var x440 uint64
  3981  	var x441 uint64
  3982  	x440, x441 = bits.Add64(x415, x412, uint64(p521Uint1(x439)))
  3983  	var x442 uint64
  3984  	var x443 uint64
  3985  	x442, x443 = bits.Add64(x413, x410, uint64(p521Uint1(x441)))
  3986  	var x445 uint64
  3987  	_, x445 = bits.Add64(x394, x426, uint64(0x0))
  3988  	var x446 uint64
  3989  	var x447 uint64
  3990  	x446, x447 = bits.Add64(x396, x428, uint64(p521Uint1(x445)))
  3991  	var x448 uint64
  3992  	var x449 uint64
  3993  	x448, x449 = bits.Add64(x398, x430, uint64(p521Uint1(x447)))
  3994  	var x450 uint64
  3995  	var x451 uint64
  3996  	x450, x451 = bits.Add64(x400, x432, uint64(p521Uint1(x449)))
  3997  	var x452 uint64
  3998  	var x453 uint64
  3999  	x452, x453 = bits.Add64(x402, x434, uint64(p521Uint1(x451)))
  4000  	var x454 uint64
  4001  	var x455 uint64
  4002  	x454, x455 = bits.Add64(x404, x436, uint64(p521Uint1(x453)))
  4003  	var x456 uint64
  4004  	var x457 uint64
  4005  	x456, x457 = bits.Add64(x406, x438, uint64(p521Uint1(x455)))
  4006  	var x458 uint64
  4007  	var x459 uint64
  4008  	x458, x459 = bits.Add64(x408, x440, uint64(p521Uint1(x457)))
  4009  	var x460 uint64
  4010  	var x461 uint64
  4011  	x460, x461 = bits.Add64((uint64(p521Uint1(x409)) + (uint64(p521Uint1(x393)) + (uint64(p521Uint1(x375)) + x343))), x442, uint64(p521Uint1(x459)))
  4012  	var x462 uint64
  4013  	var x463 uint64
  4014  	x462, x463 = bits.Add64(x446, arg1[7], uint64(0x0))
  4015  	var x464 uint64
  4016  	var x465 uint64
  4017  	x464, x465 = bits.Add64(x448, uint64(0x0), uint64(p521Uint1(x463)))
  4018  	var x466 uint64
  4019  	var x467 uint64
  4020  	x466, x467 = bits.Add64(x450, uint64(0x0), uint64(p521Uint1(x465)))
  4021  	var x468 uint64
  4022  	var x469 uint64
  4023  	x468, x469 = bits.Add64(x452, uint64(0x0), uint64(p521Uint1(x467)))
  4024  	var x470 uint64
  4025  	var x471 uint64
  4026  	x470, x471 = bits.Add64(x454, uint64(0x0), uint64(p521Uint1(x469)))
  4027  	var x472 uint64
  4028  	var x473 uint64
  4029  	x472, x473 = bits.Add64(x456, uint64(0x0), uint64(p521Uint1(x471)))
  4030  	var x474 uint64
  4031  	var x475 uint64
  4032  	x474, x475 = bits.Add64(x458, uint64(0x0), uint64(p521Uint1(x473)))
  4033  	var x476 uint64
  4034  	var x477 uint64
  4035  	x476, x477 = bits.Add64(x460, uint64(0x0), uint64(p521Uint1(x475)))
  4036  	var x478 uint64
  4037  	var x479 uint64
  4038  	x479, x478 = bits.Mul64(x462, 0x1ff)
  4039  	var x480 uint64
  4040  	var x481 uint64
  4041  	x481, x480 = bits.Mul64(x462, 0xffffffffffffffff)
  4042  	var x482 uint64
  4043  	var x483 uint64
  4044  	x483, x482 = bits.Mul64(x462, 0xffffffffffffffff)
  4045  	var x484 uint64
  4046  	var x485 uint64
  4047  	x485, x484 = bits.Mul64(x462, 0xffffffffffffffff)
  4048  	var x486 uint64
  4049  	var x487 uint64
  4050  	x487, x486 = bits.Mul64(x462, 0xffffffffffffffff)
  4051  	var x488 uint64
  4052  	var x489 uint64
  4053  	x489, x488 = bits.Mul64(x462, 0xffffffffffffffff)
  4054  	var x490 uint64
  4055  	var x491 uint64
  4056  	x491, x490 = bits.Mul64(x462, 0xffffffffffffffff)
  4057  	var x492 uint64
  4058  	var x493 uint64
  4059  	x493, x492 = bits.Mul64(x462, 0xffffffffffffffff)
  4060  	var x494 uint64
  4061  	var x495 uint64
  4062  	x495, x494 = bits.Mul64(x462, 0xffffffffffffffff)
  4063  	var x496 uint64
  4064  	var x497 uint64
  4065  	x496, x497 = bits.Add64(x495, x492, uint64(0x0))
  4066  	var x498 uint64
  4067  	var x499 uint64
  4068  	x498, x499 = bits.Add64(x493, x490, uint64(p521Uint1(x497)))
  4069  	var x500 uint64
  4070  	var x501 uint64
  4071  	x500, x501 = bits.Add64(x491, x488, uint64(p521Uint1(x499)))
  4072  	var x502 uint64
  4073  	var x503 uint64
  4074  	x502, x503 = bits.Add64(x489, x486, uint64(p521Uint1(x501)))
  4075  	var x504 uint64
  4076  	var x505 uint64
  4077  	x504, x505 = bits.Add64(x487, x484, uint64(p521Uint1(x503)))
  4078  	var x506 uint64
  4079  	var x507 uint64
  4080  	x506, x507 = bits.Add64(x485, x482, uint64(p521Uint1(x505)))
  4081  	var x508 uint64
  4082  	var x509 uint64
  4083  	x508, x509 = bits.Add64(x483, x480, uint64(p521Uint1(x507)))
  4084  	var x510 uint64
  4085  	var x511 uint64
  4086  	x510, x511 = bits.Add64(x481, x478, uint64(p521Uint1(x509)))
  4087  	var x513 uint64
  4088  	_, x513 = bits.Add64(x462, x494, uint64(0x0))
  4089  	var x514 uint64
  4090  	var x515 uint64
  4091  	x514, x515 = bits.Add64(x464, x496, uint64(p521Uint1(x513)))
  4092  	var x516 uint64
  4093  	var x517 uint64
  4094  	x516, x517 = bits.Add64(x466, x498, uint64(p521Uint1(x515)))
  4095  	var x518 uint64
  4096  	var x519 uint64
  4097  	x518, x519 = bits.Add64(x468, x500, uint64(p521Uint1(x517)))
  4098  	var x520 uint64
  4099  	var x521 uint64
  4100  	x520, x521 = bits.Add64(x470, x502, uint64(p521Uint1(x519)))
  4101  	var x522 uint64
  4102  	var x523 uint64
  4103  	x522, x523 = bits.Add64(x472, x504, uint64(p521Uint1(x521)))
  4104  	var x524 uint64
  4105  	var x525 uint64
  4106  	x524, x525 = bits.Add64(x474, x506, uint64(p521Uint1(x523)))
  4107  	var x526 uint64
  4108  	var x527 uint64
  4109  	x526, x527 = bits.Add64(x476, x508, uint64(p521Uint1(x525)))
  4110  	var x528 uint64
  4111  	var x529 uint64
  4112  	x528, x529 = bits.Add64((uint64(p521Uint1(x477)) + (uint64(p521Uint1(x461)) + (uint64(p521Uint1(x443)) + x411))), x510, uint64(p521Uint1(x527)))
  4113  	var x530 uint64
  4114  	var x531 uint64
  4115  	x530, x531 = bits.Add64(x514, arg1[8], uint64(0x0))
  4116  	var x532 uint64
  4117  	var x533 uint64
  4118  	x532, x533 = bits.Add64(x516, uint64(0x0), uint64(p521Uint1(x531)))
  4119  	var x534 uint64
  4120  	var x535 uint64
  4121  	x534, x535 = bits.Add64(x518, uint64(0x0), uint64(p521Uint1(x533)))
  4122  	var x536 uint64
  4123  	var x537 uint64
  4124  	x536, x537 = bits.Add64(x520, uint64(0x0), uint64(p521Uint1(x535)))
  4125  	var x538 uint64
  4126  	var x539 uint64
  4127  	x538, x539 = bits.Add64(x522, uint64(0x0), uint64(p521Uint1(x537)))
  4128  	var x540 uint64
  4129  	var x541 uint64
  4130  	x540, x541 = bits.Add64(x524, uint64(0x0), uint64(p521Uint1(x539)))
  4131  	var x542 uint64
  4132  	var x543 uint64
  4133  	x542, x543 = bits.Add64(x526, uint64(0x0), uint64(p521Uint1(x541)))
  4134  	var x544 uint64
  4135  	var x545 uint64
  4136  	x544, x545 = bits.Add64(x528, uint64(0x0), uint64(p521Uint1(x543)))
  4137  	var x546 uint64
  4138  	var x547 uint64
  4139  	x547, x546 = bits.Mul64(x530, 0x1ff)
  4140  	var x548 uint64
  4141  	var x549 uint64
  4142  	x549, x548 = bits.Mul64(x530, 0xffffffffffffffff)
  4143  	var x550 uint64
  4144  	var x551 uint64
  4145  	x551, x550 = bits.Mul64(x530, 0xffffffffffffffff)
  4146  	var x552 uint64
  4147  	var x553 uint64
  4148  	x553, x552 = bits.Mul64(x530, 0xffffffffffffffff)
  4149  	var x554 uint64
  4150  	var x555 uint64
  4151  	x555, x554 = bits.Mul64(x530, 0xffffffffffffffff)
  4152  	var x556 uint64
  4153  	var x557 uint64
  4154  	x557, x556 = bits.Mul64(x530, 0xffffffffffffffff)
  4155  	var x558 uint64
  4156  	var x559 uint64
  4157  	x559, x558 = bits.Mul64(x530, 0xffffffffffffffff)
  4158  	var x560 uint64
  4159  	var x561 uint64
  4160  	x561, x560 = bits.Mul64(x530, 0xffffffffffffffff)
  4161  	var x562 uint64
  4162  	var x563 uint64
  4163  	x563, x562 = bits.Mul64(x530, 0xffffffffffffffff)
  4164  	var x564 uint64
  4165  	var x565 uint64
  4166  	x564, x565 = bits.Add64(x563, x560, uint64(0x0))
  4167  	var x566 uint64
  4168  	var x567 uint64
  4169  	x566, x567 = bits.Add64(x561, x558, uint64(p521Uint1(x565)))
  4170  	var x568 uint64
  4171  	var x569 uint64
  4172  	x568, x569 = bits.Add64(x559, x556, uint64(p521Uint1(x567)))
  4173  	var x570 uint64
  4174  	var x571 uint64
  4175  	x570, x571 = bits.Add64(x557, x554, uint64(p521Uint1(x569)))
  4176  	var x572 uint64
  4177  	var x573 uint64
  4178  	x572, x573 = bits.Add64(x555, x552, uint64(p521Uint1(x571)))
  4179  	var x574 uint64
  4180  	var x575 uint64
  4181  	x574, x575 = bits.Add64(x553, x550, uint64(p521Uint1(x573)))
  4182  	var x576 uint64
  4183  	var x577 uint64
  4184  	x576, x577 = bits.Add64(x551, x548, uint64(p521Uint1(x575)))
  4185  	var x578 uint64
  4186  	var x579 uint64
  4187  	x578, x579 = bits.Add64(x549, x546, uint64(p521Uint1(x577)))
  4188  	var x581 uint64
  4189  	_, x581 = bits.Add64(x530, x562, uint64(0x0))
  4190  	var x582 uint64
  4191  	var x583 uint64
  4192  	x582, x583 = bits.Add64(x532, x564, uint64(p521Uint1(x581)))
  4193  	var x584 uint64
  4194  	var x585 uint64
  4195  	x584, x585 = bits.Add64(x534, x566, uint64(p521Uint1(x583)))
  4196  	var x586 uint64
  4197  	var x587 uint64
  4198  	x586, x587 = bits.Add64(x536, x568, uint64(p521Uint1(x585)))
  4199  	var x588 uint64
  4200  	var x589 uint64
  4201  	x588, x589 = bits.Add64(x538, x570, uint64(p521Uint1(x587)))
  4202  	var x590 uint64
  4203  	var x591 uint64
  4204  	x590, x591 = bits.Add64(x540, x572, uint64(p521Uint1(x589)))
  4205  	var x592 uint64
  4206  	var x593 uint64
  4207  	x592, x593 = bits.Add64(x542, x574, uint64(p521Uint1(x591)))
  4208  	var x594 uint64
  4209  	var x595 uint64
  4210  	x594, x595 = bits.Add64(x544, x576, uint64(p521Uint1(x593)))
  4211  	var x596 uint64
  4212  	var x597 uint64
  4213  	x596, x597 = bits.Add64((uint64(p521Uint1(x545)) + (uint64(p521Uint1(x529)) + (uint64(p521Uint1(x511)) + x479))), x578, uint64(p521Uint1(x595)))
  4214  	x598 := (uint64(p521Uint1(x597)) + (uint64(p521Uint1(x579)) + x547))
  4215  	var x599 uint64
  4216  	var x600 uint64
  4217  	x599, x600 = bits.Sub64(x582, 0xffffffffffffffff, uint64(0x0))
  4218  	var x601 uint64
  4219  	var x602 uint64
  4220  	x601, x602 = bits.Sub64(x584, 0xffffffffffffffff, uint64(p521Uint1(x600)))
  4221  	var x603 uint64
  4222  	var x604 uint64
  4223  	x603, x604 = bits.Sub64(x586, 0xffffffffffffffff, uint64(p521Uint1(x602)))
  4224  	var x605 uint64
  4225  	var x606 uint64
  4226  	x605, x606 = bits.Sub64(x588, 0xffffffffffffffff, uint64(p521Uint1(x604)))
  4227  	var x607 uint64
  4228  	var x608 uint64
  4229  	x607, x608 = bits.Sub64(x590, 0xffffffffffffffff, uint64(p521Uint1(x606)))
  4230  	var x609 uint64
  4231  	var x610 uint64
  4232  	x609, x610 = bits.Sub64(x592, 0xffffffffffffffff, uint64(p521Uint1(x608)))
  4233  	var x611 uint64
  4234  	var x612 uint64
  4235  	x611, x612 = bits.Sub64(x594, 0xffffffffffffffff, uint64(p521Uint1(x610)))
  4236  	var x613 uint64
  4237  	var x614 uint64
  4238  	x613, x614 = bits.Sub64(x596, 0xffffffffffffffff, uint64(p521Uint1(x612)))
  4239  	var x615 uint64
  4240  	var x616 uint64
  4241  	x615, x616 = bits.Sub64(x598, 0x1ff, uint64(p521Uint1(x614)))
  4242  	var x618 uint64
  4243  	_, x618 = bits.Sub64(uint64(0x0), uint64(0x0), uint64(p521Uint1(x616)))
  4244  	var x619 uint64
  4245  	p521CmovznzU64(&x619, p521Uint1(x618), x599, x582)
  4246  	var x620 uint64
  4247  	p521CmovznzU64(&x620, p521Uint1(x618), x601, x584)
  4248  	var x621 uint64
  4249  	p521CmovznzU64(&x621, p521Uint1(x618), x603, x586)
  4250  	var x622 uint64
  4251  	p521CmovznzU64(&x622, p521Uint1(x618), x605, x588)
  4252  	var x623 uint64
  4253  	p521CmovznzU64(&x623, p521Uint1(x618), x607, x590)
  4254  	var x624 uint64
  4255  	p521CmovznzU64(&x624, p521Uint1(x618), x609, x592)
  4256  	var x625 uint64
  4257  	p521CmovznzU64(&x625, p521Uint1(x618), x611, x594)
  4258  	var x626 uint64
  4259  	p521CmovznzU64(&x626, p521Uint1(x618), x613, x596)
  4260  	var x627 uint64
  4261  	p521CmovznzU64(&x627, p521Uint1(x618), x615, x598)
  4262  	out1[0] = x619
  4263  	out1[1] = x620
  4264  	out1[2] = x621
  4265  	out1[3] = x622
  4266  	out1[4] = x623
  4267  	out1[5] = x624
  4268  	out1[6] = x625
  4269  	out1[7] = x626
  4270  	out1[8] = x627
  4271  }
  4272  
  4273  // p521ToMontgomery translates a field element into the Montgomery domain.
  4274  //
  4275  // Preconditions:
  4276  //
  4277  //	0 ≤ eval arg1 < m
  4278  //
  4279  // Postconditions:
  4280  //
  4281  //	eval (from_montgomery out1) mod m = eval arg1 mod m
  4282  //	0 ≤ eval out1 < m
  4283  func p521ToMontgomery(out1 *p521MontgomeryDomainFieldElement, arg1 *p521NonMontgomeryDomainFieldElement) {
  4284  	var x1 uint64
  4285  	var x2 uint64
  4286  	x2, x1 = bits.Mul64(arg1[0], 0x400000000000)
  4287  	var x3 uint64
  4288  	var x4 uint64
  4289  	x4, x3 = bits.Mul64(arg1[1], 0x400000000000)
  4290  	var x5 uint64
  4291  	var x6 uint64
  4292  	x5, x6 = bits.Add64(x2, x3, uint64(0x0))
  4293  	var x7 uint64
  4294  	var x8 uint64
  4295  	x8, x7 = bits.Mul64(x1, 0x1ff)
  4296  	var x9 uint64
  4297  	var x10 uint64
  4298  	x10, x9 = bits.Mul64(x1, 0xffffffffffffffff)
  4299  	var x11 uint64
  4300  	var x12 uint64
  4301  	x12, x11 = bits.Mul64(x1, 0xffffffffffffffff)
  4302  	var x13 uint64
  4303  	var x14 uint64
  4304  	x14, x13 = bits.Mul64(x1, 0xffffffffffffffff)
  4305  	var x15 uint64
  4306  	var x16 uint64
  4307  	x16, x15 = bits.Mul64(x1, 0xffffffffffffffff)
  4308  	var x17 uint64
  4309  	var x18 uint64
  4310  	x18, x17 = bits.Mul64(x1, 0xffffffffffffffff)
  4311  	var x19 uint64
  4312  	var x20 uint64
  4313  	x20, x19 = bits.Mul64(x1, 0xffffffffffffffff)
  4314  	var x21 uint64
  4315  	var x22 uint64
  4316  	x22, x21 = bits.Mul64(x1, 0xffffffffffffffff)
  4317  	var x23 uint64
  4318  	var x24 uint64
  4319  	x24, x23 = bits.Mul64(x1, 0xffffffffffffffff)
  4320  	var x25 uint64
  4321  	var x26 uint64
  4322  	x25, x26 = bits.Add64(x24, x21, uint64(0x0))
  4323  	var x27 uint64
  4324  	var x28 uint64
  4325  	x27, x28 = bits.Add64(x22, x19, uint64(p521Uint1(x26)))
  4326  	var x29 uint64
  4327  	var x30 uint64
  4328  	x29, x30 = bits.Add64(x20, x17, uint64(p521Uint1(x28)))
  4329  	var x31 uint64
  4330  	var x32 uint64
  4331  	x31, x32 = bits.Add64(x18, x15, uint64(p521Uint1(x30)))
  4332  	var x33 uint64
  4333  	var x34 uint64
  4334  	x33, x34 = bits.Add64(x16, x13, uint64(p521Uint1(x32)))
  4335  	var x35 uint64
  4336  	var x36 uint64
  4337  	x35, x36 = bits.Add64(x14, x11, uint64(p521Uint1(x34)))
  4338  	var x37 uint64
  4339  	var x38 uint64
  4340  	x37, x38 = bits.Add64(x12, x9, uint64(p521Uint1(x36)))
  4341  	var x39 uint64
  4342  	var x40 uint64
  4343  	x39, x40 = bits.Add64(x10, x7, uint64(p521Uint1(x38)))
  4344  	var x42 uint64
  4345  	_, x42 = bits.Add64(x1, x23, uint64(0x0))
  4346  	var x43 uint64
  4347  	var x44 uint64
  4348  	x43, x44 = bits.Add64(x5, x25, uint64(p521Uint1(x42)))
  4349  	var x45 uint64
  4350  	var x46 uint64
  4351  	x45, x46 = bits.Add64((uint64(p521Uint1(x6)) + x4), x27, uint64(p521Uint1(x44)))
  4352  	var x47 uint64
  4353  	var x48 uint64
  4354  	x47, x48 = bits.Add64(uint64(0x0), x29, uint64(p521Uint1(x46)))
  4355  	var x49 uint64
  4356  	var x50 uint64
  4357  	x49, x50 = bits.Add64(uint64(0x0), x31, uint64(p521Uint1(x48)))
  4358  	var x51 uint64
  4359  	var x52 uint64
  4360  	x51, x52 = bits.Add64(uint64(0x0), x33, uint64(p521Uint1(x50)))
  4361  	var x53 uint64
  4362  	var x54 uint64
  4363  	x53, x54 = bits.Add64(uint64(0x0), x35, uint64(p521Uint1(x52)))
  4364  	var x55 uint64
  4365  	var x56 uint64
  4366  	x55, x56 = bits.Add64(uint64(0x0), x37, uint64(p521Uint1(x54)))
  4367  	var x57 uint64
  4368  	var x58 uint64
  4369  	x57, x58 = bits.Add64(uint64(0x0), x39, uint64(p521Uint1(x56)))
  4370  	var x59 uint64
  4371  	var x60 uint64
  4372  	x60, x59 = bits.Mul64(arg1[2], 0x400000000000)
  4373  	var x61 uint64
  4374  	var x62 uint64
  4375  	x61, x62 = bits.Add64(x45, x59, uint64(0x0))
  4376  	var x63 uint64
  4377  	var x64 uint64
  4378  	x63, x64 = bits.Add64(x47, x60, uint64(p521Uint1(x62)))
  4379  	var x65 uint64
  4380  	var x66 uint64
  4381  	x65, x66 = bits.Add64(x49, uint64(0x0), uint64(p521Uint1(x64)))
  4382  	var x67 uint64
  4383  	var x68 uint64
  4384  	x67, x68 = bits.Add64(x51, uint64(0x0), uint64(p521Uint1(x66)))
  4385  	var x69 uint64
  4386  	var x70 uint64
  4387  	x69, x70 = bits.Add64(x53, uint64(0x0), uint64(p521Uint1(x68)))
  4388  	var x71 uint64
  4389  	var x72 uint64
  4390  	x71, x72 = bits.Add64(x55, uint64(0x0), uint64(p521Uint1(x70)))
  4391  	var x73 uint64
  4392  	var x74 uint64
  4393  	x73, x74 = bits.Add64(x57, uint64(0x0), uint64(p521Uint1(x72)))
  4394  	var x75 uint64
  4395  	var x76 uint64
  4396  	x76, x75 = bits.Mul64(x43, 0x1ff)
  4397  	var x77 uint64
  4398  	var x78 uint64
  4399  	x78, x77 = bits.Mul64(x43, 0xffffffffffffffff)
  4400  	var x79 uint64
  4401  	var x80 uint64
  4402  	x80, x79 = bits.Mul64(x43, 0xffffffffffffffff)
  4403  	var x81 uint64
  4404  	var x82 uint64
  4405  	x82, x81 = bits.Mul64(x43, 0xffffffffffffffff)
  4406  	var x83 uint64
  4407  	var x84 uint64
  4408  	x84, x83 = bits.Mul64(x43, 0xffffffffffffffff)
  4409  	var x85 uint64
  4410  	var x86 uint64
  4411  	x86, x85 = bits.Mul64(x43, 0xffffffffffffffff)
  4412  	var x87 uint64
  4413  	var x88 uint64
  4414  	x88, x87 = bits.Mul64(x43, 0xffffffffffffffff)
  4415  	var x89 uint64
  4416  	var x90 uint64
  4417  	x90, x89 = bits.Mul64(x43, 0xffffffffffffffff)
  4418  	var x91 uint64
  4419  	var x92 uint64
  4420  	x92, x91 = bits.Mul64(x43, 0xffffffffffffffff)
  4421  	var x93 uint64
  4422  	var x94 uint64
  4423  	x93, x94 = bits.Add64(x92, x89, uint64(0x0))
  4424  	var x95 uint64
  4425  	var x96 uint64
  4426  	x95, x96 = bits.Add64(x90, x87, uint64(p521Uint1(x94)))
  4427  	var x97 uint64
  4428  	var x98 uint64
  4429  	x97, x98 = bits.Add64(x88, x85, uint64(p521Uint1(x96)))
  4430  	var x99 uint64
  4431  	var x100 uint64
  4432  	x99, x100 = bits.Add64(x86, x83, uint64(p521Uint1(x98)))
  4433  	var x101 uint64
  4434  	var x102 uint64
  4435  	x101, x102 = bits.Add64(x84, x81, uint64(p521Uint1(x100)))
  4436  	var x103 uint64
  4437  	var x104 uint64
  4438  	x103, x104 = bits.Add64(x82, x79, uint64(p521Uint1(x102)))
  4439  	var x105 uint64
  4440  	var x106 uint64
  4441  	x105, x106 = bits.Add64(x80, x77, uint64(p521Uint1(x104)))
  4442  	var x107 uint64
  4443  	var x108 uint64
  4444  	x107, x108 = bits.Add64(x78, x75, uint64(p521Uint1(x106)))
  4445  	var x110 uint64
  4446  	_, x110 = bits.Add64(x43, x91, uint64(0x0))
  4447  	var x111 uint64
  4448  	var x112 uint64
  4449  	x111, x112 = bits.Add64(x61, x93, uint64(p521Uint1(x110)))
  4450  	var x113 uint64
  4451  	var x114 uint64
  4452  	x113, x114 = bits.Add64(x63, x95, uint64(p521Uint1(x112)))
  4453  	var x115 uint64
  4454  	var x116 uint64
  4455  	x115, x116 = bits.Add64(x65, x97, uint64(p521Uint1(x114)))
  4456  	var x117 uint64
  4457  	var x118 uint64
  4458  	x117, x118 = bits.Add64(x67, x99, uint64(p521Uint1(x116)))
  4459  	var x119 uint64
  4460  	var x120 uint64
  4461  	x119, x120 = bits.Add64(x69, x101, uint64(p521Uint1(x118)))
  4462  	var x121 uint64
  4463  	var x122 uint64
  4464  	x121, x122 = bits.Add64(x71, x103, uint64(p521Uint1(x120)))
  4465  	var x123 uint64
  4466  	var x124 uint64
  4467  	x123, x124 = bits.Add64(x73, x105, uint64(p521Uint1(x122)))
  4468  	var x125 uint64
  4469  	var x126 uint64
  4470  	x125, x126 = bits.Add64((uint64(p521Uint1(x74)) + (uint64(p521Uint1(x58)) + (uint64(p521Uint1(x40)) + x8))), x107, uint64(p521Uint1(x124)))
  4471  	var x127 uint64
  4472  	var x128 uint64
  4473  	x128, x127 = bits.Mul64(arg1[3], 0x400000000000)
  4474  	var x129 uint64
  4475  	var x130 uint64
  4476  	x129, x130 = bits.Add64(x113, x127, uint64(0x0))
  4477  	var x131 uint64
  4478  	var x132 uint64
  4479  	x131, x132 = bits.Add64(x115, x128, uint64(p521Uint1(x130)))
  4480  	var x133 uint64
  4481  	var x134 uint64
  4482  	x133, x134 = bits.Add64(x117, uint64(0x0), uint64(p521Uint1(x132)))
  4483  	var x135 uint64
  4484  	var x136 uint64
  4485  	x135, x136 = bits.Add64(x119, uint64(0x0), uint64(p521Uint1(x134)))
  4486  	var x137 uint64
  4487  	var x138 uint64
  4488  	x137, x138 = bits.Add64(x121, uint64(0x0), uint64(p521Uint1(x136)))
  4489  	var x139 uint64
  4490  	var x140 uint64
  4491  	x139, x140 = bits.Add64(x123, uint64(0x0), uint64(p521Uint1(x138)))
  4492  	var x141 uint64
  4493  	var x142 uint64
  4494  	x141, x142 = bits.Add64(x125, uint64(0x0), uint64(p521Uint1(x140)))
  4495  	var x143 uint64
  4496  	var x144 uint64
  4497  	x144, x143 = bits.Mul64(x111, 0x1ff)
  4498  	var x145 uint64
  4499  	var x146 uint64
  4500  	x146, x145 = bits.Mul64(x111, 0xffffffffffffffff)
  4501  	var x147 uint64
  4502  	var x148 uint64
  4503  	x148, x147 = bits.Mul64(x111, 0xffffffffffffffff)
  4504  	var x149 uint64
  4505  	var x150 uint64
  4506  	x150, x149 = bits.Mul64(x111, 0xffffffffffffffff)
  4507  	var x151 uint64
  4508  	var x152 uint64
  4509  	x152, x151 = bits.Mul64(x111, 0xffffffffffffffff)
  4510  	var x153 uint64
  4511  	var x154 uint64
  4512  	x154, x153 = bits.Mul64(x111, 0xffffffffffffffff)
  4513  	var x155 uint64
  4514  	var x156 uint64
  4515  	x156, x155 = bits.Mul64(x111, 0xffffffffffffffff)
  4516  	var x157 uint64
  4517  	var x158 uint64
  4518  	x158, x157 = bits.Mul64(x111, 0xffffffffffffffff)
  4519  	var x159 uint64
  4520  	var x160 uint64
  4521  	x160, x159 = bits.Mul64(x111, 0xffffffffffffffff)
  4522  	var x161 uint64
  4523  	var x162 uint64
  4524  	x161, x162 = bits.Add64(x160, x157, uint64(0x0))
  4525  	var x163 uint64
  4526  	var x164 uint64
  4527  	x163, x164 = bits.Add64(x158, x155, uint64(p521Uint1(x162)))
  4528  	var x165 uint64
  4529  	var x166 uint64
  4530  	x165, x166 = bits.Add64(x156, x153, uint64(p521Uint1(x164)))
  4531  	var x167 uint64
  4532  	var x168 uint64
  4533  	x167, x168 = bits.Add64(x154, x151, uint64(p521Uint1(x166)))
  4534  	var x169 uint64
  4535  	var x170 uint64
  4536  	x169, x170 = bits.Add64(x152, x149, uint64(p521Uint1(x168)))
  4537  	var x171 uint64
  4538  	var x172 uint64
  4539  	x171, x172 = bits.Add64(x150, x147, uint64(p521Uint1(x170)))
  4540  	var x173 uint64
  4541  	var x174 uint64
  4542  	x173, x174 = bits.Add64(x148, x145, uint64(p521Uint1(x172)))
  4543  	var x175 uint64
  4544  	var x176 uint64
  4545  	x175, x176 = bits.Add64(x146, x143, uint64(p521Uint1(x174)))
  4546  	var x178 uint64
  4547  	_, x178 = bits.Add64(x111, x159, uint64(0x0))
  4548  	var x179 uint64
  4549  	var x180 uint64
  4550  	x179, x180 = bits.Add64(x129, x161, uint64(p521Uint1(x178)))
  4551  	var x181 uint64
  4552  	var x182 uint64
  4553  	x181, x182 = bits.Add64(x131, x163, uint64(p521Uint1(x180)))
  4554  	var x183 uint64
  4555  	var x184 uint64
  4556  	x183, x184 = bits.Add64(x133, x165, uint64(p521Uint1(x182)))
  4557  	var x185 uint64
  4558  	var x186 uint64
  4559  	x185, x186 = bits.Add64(x135, x167, uint64(p521Uint1(x184)))
  4560  	var x187 uint64
  4561  	var x188 uint64
  4562  	x187, x188 = bits.Add64(x137, x169, uint64(p521Uint1(x186)))
  4563  	var x189 uint64
  4564  	var x190 uint64
  4565  	x189, x190 = bits.Add64(x139, x171, uint64(p521Uint1(x188)))
  4566  	var x191 uint64
  4567  	var x192 uint64
  4568  	x191, x192 = bits.Add64(x141, x173, uint64(p521Uint1(x190)))
  4569  	var x193 uint64
  4570  	var x194 uint64
  4571  	x193, x194 = bits.Add64((uint64(p521Uint1(x142)) + (uint64(p521Uint1(x126)) + (uint64(p521Uint1(x108)) + x76))), x175, uint64(p521Uint1(x192)))
  4572  	var x195 uint64
  4573  	var x196 uint64
  4574  	x196, x195 = bits.Mul64(arg1[4], 0x400000000000)
  4575  	var x197 uint64
  4576  	var x198 uint64
  4577  	x197, x198 = bits.Add64(x181, x195, uint64(0x0))
  4578  	var x199 uint64
  4579  	var x200 uint64
  4580  	x199, x200 = bits.Add64(x183, x196, uint64(p521Uint1(x198)))
  4581  	var x201 uint64
  4582  	var x202 uint64
  4583  	x201, x202 = bits.Add64(x185, uint64(0x0), uint64(p521Uint1(x200)))
  4584  	var x203 uint64
  4585  	var x204 uint64
  4586  	x203, x204 = bits.Add64(x187, uint64(0x0), uint64(p521Uint1(x202)))
  4587  	var x205 uint64
  4588  	var x206 uint64
  4589  	x205, x206 = bits.Add64(x189, uint64(0x0), uint64(p521Uint1(x204)))
  4590  	var x207 uint64
  4591  	var x208 uint64
  4592  	x207, x208 = bits.Add64(x191, uint64(0x0), uint64(p521Uint1(x206)))
  4593  	var x209 uint64
  4594  	var x210 uint64
  4595  	x209, x210 = bits.Add64(x193, uint64(0x0), uint64(p521Uint1(x208)))
  4596  	var x211 uint64
  4597  	var x212 uint64
  4598  	x212, x211 = bits.Mul64(x179, 0x1ff)
  4599  	var x213 uint64
  4600  	var x214 uint64
  4601  	x214, x213 = bits.Mul64(x179, 0xffffffffffffffff)
  4602  	var x215 uint64
  4603  	var x216 uint64
  4604  	x216, x215 = bits.Mul64(x179, 0xffffffffffffffff)
  4605  	var x217 uint64
  4606  	var x218 uint64
  4607  	x218, x217 = bits.Mul64(x179, 0xffffffffffffffff)
  4608  	var x219 uint64
  4609  	var x220 uint64
  4610  	x220, x219 = bits.Mul64(x179, 0xffffffffffffffff)
  4611  	var x221 uint64
  4612  	var x222 uint64
  4613  	x222, x221 = bits.Mul64(x179, 0xffffffffffffffff)
  4614  	var x223 uint64
  4615  	var x224 uint64
  4616  	x224, x223 = bits.Mul64(x179, 0xffffffffffffffff)
  4617  	var x225 uint64
  4618  	var x226 uint64
  4619  	x226, x225 = bits.Mul64(x179, 0xffffffffffffffff)
  4620  	var x227 uint64
  4621  	var x228 uint64
  4622  	x228, x227 = bits.Mul64(x179, 0xffffffffffffffff)
  4623  	var x229 uint64
  4624  	var x230 uint64
  4625  	x229, x230 = bits.Add64(x228, x225, uint64(0x0))
  4626  	var x231 uint64
  4627  	var x232 uint64
  4628  	x231, x232 = bits.Add64(x226, x223, uint64(p521Uint1(x230)))
  4629  	var x233 uint64
  4630  	var x234 uint64
  4631  	x233, x234 = bits.Add64(x224, x221, uint64(p521Uint1(x232)))
  4632  	var x235 uint64
  4633  	var x236 uint64
  4634  	x235, x236 = bits.Add64(x222, x219, uint64(p521Uint1(x234)))
  4635  	var x237 uint64
  4636  	var x238 uint64
  4637  	x237, x238 = bits.Add64(x220, x217, uint64(p521Uint1(x236)))
  4638  	var x239 uint64
  4639  	var x240 uint64
  4640  	x239, x240 = bits.Add64(x218, x215, uint64(p521Uint1(x238)))
  4641  	var x241 uint64
  4642  	var x242 uint64
  4643  	x241, x242 = bits.Add64(x216, x213, uint64(p521Uint1(x240)))
  4644  	var x243 uint64
  4645  	var x244 uint64
  4646  	x243, x244 = bits.Add64(x214, x211, uint64(p521Uint1(x242)))
  4647  	var x246 uint64
  4648  	_, x246 = bits.Add64(x179, x227, uint64(0x0))
  4649  	var x247 uint64
  4650  	var x248 uint64
  4651  	x247, x248 = bits.Add64(x197, x229, uint64(p521Uint1(x246)))
  4652  	var x249 uint64
  4653  	var x250 uint64
  4654  	x249, x250 = bits.Add64(x199, x231, uint64(p521Uint1(x248)))
  4655  	var x251 uint64
  4656  	var x252 uint64
  4657  	x251, x252 = bits.Add64(x201, x233, uint64(p521Uint1(x250)))
  4658  	var x253 uint64
  4659  	var x254 uint64
  4660  	x253, x254 = bits.Add64(x203, x235, uint64(p521Uint1(x252)))
  4661  	var x255 uint64
  4662  	var x256 uint64
  4663  	x255, x256 = bits.Add64(x205, x237, uint64(p521Uint1(x254)))
  4664  	var x257 uint64
  4665  	var x258 uint64
  4666  	x257, x258 = bits.Add64(x207, x239, uint64(p521Uint1(x256)))
  4667  	var x259 uint64
  4668  	var x260 uint64
  4669  	x259, x260 = bits.Add64(x209, x241, uint64(p521Uint1(x258)))
  4670  	var x261 uint64
  4671  	var x262 uint64
  4672  	x261, x262 = bits.Add64((uint64(p521Uint1(x210)) + (uint64(p521Uint1(x194)) + (uint64(p521Uint1(x176)) + x144))), x243, uint64(p521Uint1(x260)))
  4673  	var x263 uint64
  4674  	var x264 uint64
  4675  	x264, x263 = bits.Mul64(arg1[5], 0x400000000000)
  4676  	var x265 uint64
  4677  	var x266 uint64
  4678  	x265, x266 = bits.Add64(x249, x263, uint64(0x0))
  4679  	var x267 uint64
  4680  	var x268 uint64
  4681  	x267, x268 = bits.Add64(x251, x264, uint64(p521Uint1(x266)))
  4682  	var x269 uint64
  4683  	var x270 uint64
  4684  	x269, x270 = bits.Add64(x253, uint64(0x0), uint64(p521Uint1(x268)))
  4685  	var x271 uint64
  4686  	var x272 uint64
  4687  	x271, x272 = bits.Add64(x255, uint64(0x0), uint64(p521Uint1(x270)))
  4688  	var x273 uint64
  4689  	var x274 uint64
  4690  	x273, x274 = bits.Add64(x257, uint64(0x0), uint64(p521Uint1(x272)))
  4691  	var x275 uint64
  4692  	var x276 uint64
  4693  	x275, x276 = bits.Add64(x259, uint64(0x0), uint64(p521Uint1(x274)))
  4694  	var x277 uint64
  4695  	var x278 uint64
  4696  	x277, x278 = bits.Add64(x261, uint64(0x0), uint64(p521Uint1(x276)))
  4697  	var x279 uint64
  4698  	var x280 uint64
  4699  	x280, x279 = bits.Mul64(x247, 0x1ff)
  4700  	var x281 uint64
  4701  	var x282 uint64
  4702  	x282, x281 = bits.Mul64(x247, 0xffffffffffffffff)
  4703  	var x283 uint64
  4704  	var x284 uint64
  4705  	x284, x283 = bits.Mul64(x247, 0xffffffffffffffff)
  4706  	var x285 uint64
  4707  	var x286 uint64
  4708  	x286, x285 = bits.Mul64(x247, 0xffffffffffffffff)
  4709  	var x287 uint64
  4710  	var x288 uint64
  4711  	x288, x287 = bits.Mul64(x247, 0xffffffffffffffff)
  4712  	var x289 uint64
  4713  	var x290 uint64
  4714  	x290, x289 = bits.Mul64(x247, 0xffffffffffffffff)
  4715  	var x291 uint64
  4716  	var x292 uint64
  4717  	x292, x291 = bits.Mul64(x247, 0xffffffffffffffff)
  4718  	var x293 uint64
  4719  	var x294 uint64
  4720  	x294, x293 = bits.Mul64(x247, 0xffffffffffffffff)
  4721  	var x295 uint64
  4722  	var x296 uint64
  4723  	x296, x295 = bits.Mul64(x247, 0xffffffffffffffff)
  4724  	var x297 uint64
  4725  	var x298 uint64
  4726  	x297, x298 = bits.Add64(x296, x293, uint64(0x0))
  4727  	var x299 uint64
  4728  	var x300 uint64
  4729  	x299, x300 = bits.Add64(x294, x291, uint64(p521Uint1(x298)))
  4730  	var x301 uint64
  4731  	var x302 uint64
  4732  	x301, x302 = bits.Add64(x292, x289, uint64(p521Uint1(x300)))
  4733  	var x303 uint64
  4734  	var x304 uint64
  4735  	x303, x304 = bits.Add64(x290, x287, uint64(p521Uint1(x302)))
  4736  	var x305 uint64
  4737  	var x306 uint64
  4738  	x305, x306 = bits.Add64(x288, x285, uint64(p521Uint1(x304)))
  4739  	var x307 uint64
  4740  	var x308 uint64
  4741  	x307, x308 = bits.Add64(x286, x283, uint64(p521Uint1(x306)))
  4742  	var x309 uint64
  4743  	var x310 uint64
  4744  	x309, x310 = bits.Add64(x284, x281, uint64(p521Uint1(x308)))
  4745  	var x311 uint64
  4746  	var x312 uint64
  4747  	x311, x312 = bits.Add64(x282, x279, uint64(p521Uint1(x310)))
  4748  	var x314 uint64
  4749  	_, x314 = bits.Add64(x247, x295, uint64(0x0))
  4750  	var x315 uint64
  4751  	var x316 uint64
  4752  	x315, x316 = bits.Add64(x265, x297, uint64(p521Uint1(x314)))
  4753  	var x317 uint64
  4754  	var x318 uint64
  4755  	x317, x318 = bits.Add64(x267, x299, uint64(p521Uint1(x316)))
  4756  	var x319 uint64
  4757  	var x320 uint64
  4758  	x319, x320 = bits.Add64(x269, x301, uint64(p521Uint1(x318)))
  4759  	var x321 uint64
  4760  	var x322 uint64
  4761  	x321, x322 = bits.Add64(x271, x303, uint64(p521Uint1(x320)))
  4762  	var x323 uint64
  4763  	var x324 uint64
  4764  	x323, x324 = bits.Add64(x273, x305, uint64(p521Uint1(x322)))
  4765  	var x325 uint64
  4766  	var x326 uint64
  4767  	x325, x326 = bits.Add64(x275, x307, uint64(p521Uint1(x324)))
  4768  	var x327 uint64
  4769  	var x328 uint64
  4770  	x327, x328 = bits.Add64(x277, x309, uint64(p521Uint1(x326)))
  4771  	var x329 uint64
  4772  	var x330 uint64
  4773  	x329, x330 = bits.Add64((uint64(p521Uint1(x278)) + (uint64(p521Uint1(x262)) + (uint64(p521Uint1(x244)) + x212))), x311, uint64(p521Uint1(x328)))
  4774  	var x331 uint64
  4775  	var x332 uint64
  4776  	x332, x331 = bits.Mul64(arg1[6], 0x400000000000)
  4777  	var x333 uint64
  4778  	var x334 uint64
  4779  	x333, x334 = bits.Add64(x317, x331, uint64(0x0))
  4780  	var x335 uint64
  4781  	var x336 uint64
  4782  	x335, x336 = bits.Add64(x319, x332, uint64(p521Uint1(x334)))
  4783  	var x337 uint64
  4784  	var x338 uint64
  4785  	x337, x338 = bits.Add64(x321, uint64(0x0), uint64(p521Uint1(x336)))
  4786  	var x339 uint64
  4787  	var x340 uint64
  4788  	x339, x340 = bits.Add64(x323, uint64(0x0), uint64(p521Uint1(x338)))
  4789  	var x341 uint64
  4790  	var x342 uint64
  4791  	x341, x342 = bits.Add64(x325, uint64(0x0), uint64(p521Uint1(x340)))
  4792  	var x343 uint64
  4793  	var x344 uint64
  4794  	x343, x344 = bits.Add64(x327, uint64(0x0), uint64(p521Uint1(x342)))
  4795  	var x345 uint64
  4796  	var x346 uint64
  4797  	x345, x346 = bits.Add64(x329, uint64(0x0), uint64(p521Uint1(x344)))
  4798  	var x347 uint64
  4799  	var x348 uint64
  4800  	x348, x347 = bits.Mul64(x315, 0x1ff)
  4801  	var x349 uint64
  4802  	var x350 uint64
  4803  	x350, x349 = bits.Mul64(x315, 0xffffffffffffffff)
  4804  	var x351 uint64
  4805  	var x352 uint64
  4806  	x352, x351 = bits.Mul64(x315, 0xffffffffffffffff)
  4807  	var x353 uint64
  4808  	var x354 uint64
  4809  	x354, x353 = bits.Mul64(x315, 0xffffffffffffffff)
  4810  	var x355 uint64
  4811  	var x356 uint64
  4812  	x356, x355 = bits.Mul64(x315, 0xffffffffffffffff)
  4813  	var x357 uint64
  4814  	var x358 uint64
  4815  	x358, x357 = bits.Mul64(x315, 0xffffffffffffffff)
  4816  	var x359 uint64
  4817  	var x360 uint64
  4818  	x360, x359 = bits.Mul64(x315, 0xffffffffffffffff)
  4819  	var x361 uint64
  4820  	var x362 uint64
  4821  	x362, x361 = bits.Mul64(x315, 0xffffffffffffffff)
  4822  	var x363 uint64
  4823  	var x364 uint64
  4824  	x364, x363 = bits.Mul64(x315, 0xffffffffffffffff)
  4825  	var x365 uint64
  4826  	var x366 uint64
  4827  	x365, x366 = bits.Add64(x364, x361, uint64(0x0))
  4828  	var x367 uint64
  4829  	var x368 uint64
  4830  	x367, x368 = bits.Add64(x362, x359, uint64(p521Uint1(x366)))
  4831  	var x369 uint64
  4832  	var x370 uint64
  4833  	x369, x370 = bits.Add64(x360, x357, uint64(p521Uint1(x368)))
  4834  	var x371 uint64
  4835  	var x372 uint64
  4836  	x371, x372 = bits.Add64(x358, x355, uint64(p521Uint1(x370)))
  4837  	var x373 uint64
  4838  	var x374 uint64
  4839  	x373, x374 = bits.Add64(x356, x353, uint64(p521Uint1(x372)))
  4840  	var x375 uint64
  4841  	var x376 uint64
  4842  	x375, x376 = bits.Add64(x354, x351, uint64(p521Uint1(x374)))
  4843  	var x377 uint64
  4844  	var x378 uint64
  4845  	x377, x378 = bits.Add64(x352, x349, uint64(p521Uint1(x376)))
  4846  	var x379 uint64
  4847  	var x380 uint64
  4848  	x379, x380 = bits.Add64(x350, x347, uint64(p521Uint1(x378)))
  4849  	var x382 uint64
  4850  	_, x382 = bits.Add64(x315, x363, uint64(0x0))
  4851  	var x383 uint64
  4852  	var x384 uint64
  4853  	x383, x384 = bits.Add64(x333, x365, uint64(p521Uint1(x382)))
  4854  	var x385 uint64
  4855  	var x386 uint64
  4856  	x385, x386 = bits.Add64(x335, x367, uint64(p521Uint1(x384)))
  4857  	var x387 uint64
  4858  	var x388 uint64
  4859  	x387, x388 = bits.Add64(x337, x369, uint64(p521Uint1(x386)))
  4860  	var x389 uint64
  4861  	var x390 uint64
  4862  	x389, x390 = bits.Add64(x339, x371, uint64(p521Uint1(x388)))
  4863  	var x391 uint64
  4864  	var x392 uint64
  4865  	x391, x392 = bits.Add64(x341, x373, uint64(p521Uint1(x390)))
  4866  	var x393 uint64
  4867  	var x394 uint64
  4868  	x393, x394 = bits.Add64(x343, x375, uint64(p521Uint1(x392)))
  4869  	var x395 uint64
  4870  	var x396 uint64
  4871  	x395, x396 = bits.Add64(x345, x377, uint64(p521Uint1(x394)))
  4872  	var x397 uint64
  4873  	var x398 uint64
  4874  	x397, x398 = bits.Add64((uint64(p521Uint1(x346)) + (uint64(p521Uint1(x330)) + (uint64(p521Uint1(x312)) + x280))), x379, uint64(p521Uint1(x396)))
  4875  	var x399 uint64
  4876  	var x400 uint64
  4877  	x400, x399 = bits.Mul64(arg1[7], 0x400000000000)
  4878  	var x401 uint64
  4879  	var x402 uint64
  4880  	x401, x402 = bits.Add64(x385, x399, uint64(0x0))
  4881  	var x403 uint64
  4882  	var x404 uint64
  4883  	x403, x404 = bits.Add64(x387, x400, uint64(p521Uint1(x402)))
  4884  	var x405 uint64
  4885  	var x406 uint64
  4886  	x405, x406 = bits.Add64(x389, uint64(0x0), uint64(p521Uint1(x404)))
  4887  	var x407 uint64
  4888  	var x408 uint64
  4889  	x407, x408 = bits.Add64(x391, uint64(0x0), uint64(p521Uint1(x406)))
  4890  	var x409 uint64
  4891  	var x410 uint64
  4892  	x409, x410 = bits.Add64(x393, uint64(0x0), uint64(p521Uint1(x408)))
  4893  	var x411 uint64
  4894  	var x412 uint64
  4895  	x411, x412 = bits.Add64(x395, uint64(0x0), uint64(p521Uint1(x410)))
  4896  	var x413 uint64
  4897  	var x414 uint64
  4898  	x413, x414 = bits.Add64(x397, uint64(0x0), uint64(p521Uint1(x412)))
  4899  	var x415 uint64
  4900  	var x416 uint64
  4901  	x416, x415 = bits.Mul64(x383, 0x1ff)
  4902  	var x417 uint64
  4903  	var x418 uint64
  4904  	x418, x417 = bits.Mul64(x383, 0xffffffffffffffff)
  4905  	var x419 uint64
  4906  	var x420 uint64
  4907  	x420, x419 = bits.Mul64(x383, 0xffffffffffffffff)
  4908  	var x421 uint64
  4909  	var x422 uint64
  4910  	x422, x421 = bits.Mul64(x383, 0xffffffffffffffff)
  4911  	var x423 uint64
  4912  	var x424 uint64
  4913  	x424, x423 = bits.Mul64(x383, 0xffffffffffffffff)
  4914  	var x425 uint64
  4915  	var x426 uint64
  4916  	x426, x425 = bits.Mul64(x383, 0xffffffffffffffff)
  4917  	var x427 uint64
  4918  	var x428 uint64
  4919  	x428, x427 = bits.Mul64(x383, 0xffffffffffffffff)
  4920  	var x429 uint64
  4921  	var x430 uint64
  4922  	x430, x429 = bits.Mul64(x383, 0xffffffffffffffff)
  4923  	var x431 uint64
  4924  	var x432 uint64
  4925  	x432, x431 = bits.Mul64(x383, 0xffffffffffffffff)
  4926  	var x433 uint64
  4927  	var x434 uint64
  4928  	x433, x434 = bits.Add64(x432, x429, uint64(0x0))
  4929  	var x435 uint64
  4930  	var x436 uint64
  4931  	x435, x436 = bits.Add64(x430, x427, uint64(p521Uint1(x434)))
  4932  	var x437 uint64
  4933  	var x438 uint64
  4934  	x437, x438 = bits.Add64(x428, x425, uint64(p521Uint1(x436)))
  4935  	var x439 uint64
  4936  	var x440 uint64
  4937  	x439, x440 = bits.Add64(x426, x423, uint64(p521Uint1(x438)))
  4938  	var x441 uint64
  4939  	var x442 uint64
  4940  	x441, x442 = bits.Add64(x424, x421, uint64(p521Uint1(x440)))
  4941  	var x443 uint64
  4942  	var x444 uint64
  4943  	x443, x444 = bits.Add64(x422, x419, uint64(p521Uint1(x442)))
  4944  	var x445 uint64
  4945  	var x446 uint64
  4946  	x445, x446 = bits.Add64(x420, x417, uint64(p521Uint1(x444)))
  4947  	var x447 uint64
  4948  	var x448 uint64
  4949  	x447, x448 = bits.Add64(x418, x415, uint64(p521Uint1(x446)))
  4950  	var x450 uint64
  4951  	_, x450 = bits.Add64(x383, x431, uint64(0x0))
  4952  	var x451 uint64
  4953  	var x452 uint64
  4954  	x451, x452 = bits.Add64(x401, x433, uint64(p521Uint1(x450)))
  4955  	var x453 uint64
  4956  	var x454 uint64
  4957  	x453, x454 = bits.Add64(x403, x435, uint64(p521Uint1(x452)))
  4958  	var x455 uint64
  4959  	var x456 uint64
  4960  	x455, x456 = bits.Add64(x405, x437, uint64(p521Uint1(x454)))
  4961  	var x457 uint64
  4962  	var x458 uint64
  4963  	x457, x458 = bits.Add64(x407, x439, uint64(p521Uint1(x456)))
  4964  	var x459 uint64
  4965  	var x460 uint64
  4966  	x459, x460 = bits.Add64(x409, x441, uint64(p521Uint1(x458)))
  4967  	var x461 uint64
  4968  	var x462 uint64
  4969  	x461, x462 = bits.Add64(x411, x443, uint64(p521Uint1(x460)))
  4970  	var x463 uint64
  4971  	var x464 uint64
  4972  	x463, x464 = bits.Add64(x413, x445, uint64(p521Uint1(x462)))
  4973  	var x465 uint64
  4974  	var x466 uint64
  4975  	x465, x466 = bits.Add64((uint64(p521Uint1(x414)) + (uint64(p521Uint1(x398)) + (uint64(p521Uint1(x380)) + x348))), x447, uint64(p521Uint1(x464)))
  4976  	var x467 uint64
  4977  	var x468 uint64
  4978  	x468, x467 = bits.Mul64(arg1[8], 0x400000000000)
  4979  	var x469 uint64
  4980  	var x470 uint64
  4981  	x469, x470 = bits.Add64(x453, x467, uint64(0x0))
  4982  	var x471 uint64
  4983  	var x472 uint64
  4984  	x471, x472 = bits.Add64(x455, x468, uint64(p521Uint1(x470)))
  4985  	var x473 uint64
  4986  	var x474 uint64
  4987  	x473, x474 = bits.Add64(x457, uint64(0x0), uint64(p521Uint1(x472)))
  4988  	var x475 uint64
  4989  	var x476 uint64
  4990  	x475, x476 = bits.Add64(x459, uint64(0x0), uint64(p521Uint1(x474)))
  4991  	var x477 uint64
  4992  	var x478 uint64
  4993  	x477, x478 = bits.Add64(x461, uint64(0x0), uint64(p521Uint1(x476)))
  4994  	var x479 uint64
  4995  	var x480 uint64
  4996  	x479, x480 = bits.Add64(x463, uint64(0x0), uint64(p521Uint1(x478)))
  4997  	var x481 uint64
  4998  	var x482 uint64
  4999  	x481, x482 = bits.Add64(x465, uint64(0x0), uint64(p521Uint1(x480)))
  5000  	var x483 uint64
  5001  	var x484 uint64
  5002  	x484, x483 = bits.Mul64(x451, 0x1ff)
  5003  	var x485 uint64
  5004  	var x486 uint64
  5005  	x486, x485 = bits.Mul64(x451, 0xffffffffffffffff)
  5006  	var x487 uint64
  5007  	var x488 uint64
  5008  	x488, x487 = bits.Mul64(x451, 0xffffffffffffffff)
  5009  	var x489 uint64
  5010  	var x490 uint64
  5011  	x490, x489 = bits.Mul64(x451, 0xffffffffffffffff)
  5012  	var x491 uint64
  5013  	var x492 uint64
  5014  	x492, x491 = bits.Mul64(x451, 0xffffffffffffffff)
  5015  	var x493 uint64
  5016  	var x494 uint64
  5017  	x494, x493 = bits.Mul64(x451, 0xffffffffffffffff)
  5018  	var x495 uint64
  5019  	var x496 uint64
  5020  	x496, x495 = bits.Mul64(x451, 0xffffffffffffffff)
  5021  	var x497 uint64
  5022  	var x498 uint64
  5023  	x498, x497 = bits.Mul64(x451, 0xffffffffffffffff)
  5024  	var x499 uint64
  5025  	var x500 uint64
  5026  	x500, x499 = bits.Mul64(x451, 0xffffffffffffffff)
  5027  	var x501 uint64
  5028  	var x502 uint64
  5029  	x501, x502 = bits.Add64(x500, x497, uint64(0x0))
  5030  	var x503 uint64
  5031  	var x504 uint64
  5032  	x503, x504 = bits.Add64(x498, x495, uint64(p521Uint1(x502)))
  5033  	var x505 uint64
  5034  	var x506 uint64
  5035  	x505, x506 = bits.Add64(x496, x493, uint64(p521Uint1(x504)))
  5036  	var x507 uint64
  5037  	var x508 uint64
  5038  	x507, x508 = bits.Add64(x494, x491, uint64(p521Uint1(x506)))
  5039  	var x509 uint64
  5040  	var x510 uint64
  5041  	x509, x510 = bits.Add64(x492, x489, uint64(p521Uint1(x508)))
  5042  	var x511 uint64
  5043  	var x512 uint64
  5044  	x511, x512 = bits.Add64(x490, x487, uint64(p521Uint1(x510)))
  5045  	var x513 uint64
  5046  	var x514 uint64
  5047  	x513, x514 = bits.Add64(x488, x485, uint64(p521Uint1(x512)))
  5048  	var x515 uint64
  5049  	var x516 uint64
  5050  	x515, x516 = bits.Add64(x486, x483, uint64(p521Uint1(x514)))
  5051  	var x518 uint64
  5052  	_, x518 = bits.Add64(x451, x499, uint64(0x0))
  5053  	var x519 uint64
  5054  	var x520 uint64
  5055  	x519, x520 = bits.Add64(x469, x501, uint64(p521Uint1(x518)))
  5056  	var x521 uint64
  5057  	var x522 uint64
  5058  	x521, x522 = bits.Add64(x471, x503, uint64(p521Uint1(x520)))
  5059  	var x523 uint64
  5060  	var x524 uint64
  5061  	x523, x524 = bits.Add64(x473, x505, uint64(p521Uint1(x522)))
  5062  	var x525 uint64
  5063  	var x526 uint64
  5064  	x525, x526 = bits.Add64(x475, x507, uint64(p521Uint1(x524)))
  5065  	var x527 uint64
  5066  	var x528 uint64
  5067  	x527, x528 = bits.Add64(x477, x509, uint64(p521Uint1(x526)))
  5068  	var x529 uint64
  5069  	var x530 uint64
  5070  	x529, x530 = bits.Add64(x479, x511, uint64(p521Uint1(x528)))
  5071  	var x531 uint64
  5072  	var x532 uint64
  5073  	x531, x532 = bits.Add64(x481, x513, uint64(p521Uint1(x530)))
  5074  	var x533 uint64
  5075  	var x534 uint64
  5076  	x533, x534 = bits.Add64((uint64(p521Uint1(x482)) + (uint64(p521Uint1(x466)) + (uint64(p521Uint1(x448)) + x416))), x515, uint64(p521Uint1(x532)))
  5077  	x535 := (uint64(p521Uint1(x534)) + (uint64(p521Uint1(x516)) + x484))
  5078  	var x536 uint64
  5079  	var x537 uint64
  5080  	x536, x537 = bits.Sub64(x519, 0xffffffffffffffff, uint64(0x0))
  5081  	var x538 uint64
  5082  	var x539 uint64
  5083  	x538, x539 = bits.Sub64(x521, 0xffffffffffffffff, uint64(p521Uint1(x537)))
  5084  	var x540 uint64
  5085  	var x541 uint64
  5086  	x540, x541 = bits.Sub64(x523, 0xffffffffffffffff, uint64(p521Uint1(x539)))
  5087  	var x542 uint64
  5088  	var x543 uint64
  5089  	x542, x543 = bits.Sub64(x525, 0xffffffffffffffff, uint64(p521Uint1(x541)))
  5090  	var x544 uint64
  5091  	var x545 uint64
  5092  	x544, x545 = bits.Sub64(x527, 0xffffffffffffffff, uint64(p521Uint1(x543)))
  5093  	var x546 uint64
  5094  	var x547 uint64
  5095  	x546, x547 = bits.Sub64(x529, 0xffffffffffffffff, uint64(p521Uint1(x545)))
  5096  	var x548 uint64
  5097  	var x549 uint64
  5098  	x548, x549 = bits.Sub64(x531, 0xffffffffffffffff, uint64(p521Uint1(x547)))
  5099  	var x550 uint64
  5100  	var x551 uint64
  5101  	x550, x551 = bits.Sub64(x533, 0xffffffffffffffff, uint64(p521Uint1(x549)))
  5102  	var x552 uint64
  5103  	var x553 uint64
  5104  	x552, x553 = bits.Sub64(x535, 0x1ff, uint64(p521Uint1(x551)))
  5105  	var x555 uint64
  5106  	_, x555 = bits.Sub64(uint64(0x0), uint64(0x0), uint64(p521Uint1(x553)))
  5107  	var x556 uint64
  5108  	p521CmovznzU64(&x556, p521Uint1(x555), x536, x519)
  5109  	var x557 uint64
  5110  	p521CmovznzU64(&x557, p521Uint1(x555), x538, x521)
  5111  	var x558 uint64
  5112  	p521CmovznzU64(&x558, p521Uint1(x555), x540, x523)
  5113  	var x559 uint64
  5114  	p521CmovznzU64(&x559, p521Uint1(x555), x542, x525)
  5115  	var x560 uint64
  5116  	p521CmovznzU64(&x560, p521Uint1(x555), x544, x527)
  5117  	var x561 uint64
  5118  	p521CmovznzU64(&x561, p521Uint1(x555), x546, x529)
  5119  	var x562 uint64
  5120  	p521CmovznzU64(&x562, p521Uint1(x555), x548, x531)
  5121  	var x563 uint64
  5122  	p521CmovznzU64(&x563, p521Uint1(x555), x550, x533)
  5123  	var x564 uint64
  5124  	p521CmovznzU64(&x564, p521Uint1(x555), x552, x535)
  5125  	out1[0] = x556
  5126  	out1[1] = x557
  5127  	out1[2] = x558
  5128  	out1[3] = x559
  5129  	out1[4] = x560
  5130  	out1[5] = x561
  5131  	out1[6] = x562
  5132  	out1[7] = x563
  5133  	out1[8] = x564
  5134  }
  5135  
  5136  // p521Selectznz is a multi-limb conditional select.
  5137  //
  5138  // Postconditions:
  5139  //
  5140  //	eval out1 = (if arg1 = 0 then eval arg2 else eval arg3)
  5141  //
  5142  // Input Bounds:
  5143  //
  5144  //	arg1: [0x0 ~> 0x1]
  5145  //	arg2: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
  5146  //	arg3: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
  5147  //
  5148  // Output Bounds:
  5149  //
  5150  //	out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
  5151  func p521Selectznz(out1 *[9]uint64, arg1 p521Uint1, arg2 *[9]uint64, arg3 *[9]uint64) {
  5152  	var x1 uint64
  5153  	p521CmovznzU64(&x1, arg1, arg2[0], arg3[0])
  5154  	var x2 uint64
  5155  	p521CmovznzU64(&x2, arg1, arg2[1], arg3[1])
  5156  	var x3 uint64
  5157  	p521CmovznzU64(&x3, arg1, arg2[2], arg3[2])
  5158  	var x4 uint64
  5159  	p521CmovznzU64(&x4, arg1, arg2[3], arg3[3])
  5160  	var x5 uint64
  5161  	p521CmovznzU64(&x5, arg1, arg2[4], arg3[4])
  5162  	var x6 uint64
  5163  	p521CmovznzU64(&x6, arg1, arg2[5], arg3[5])
  5164  	var x7 uint64
  5165  	p521CmovznzU64(&x7, arg1, arg2[6], arg3[6])
  5166  	var x8 uint64
  5167  	p521CmovznzU64(&x8, arg1, arg2[7], arg3[7])
  5168  	var x9 uint64
  5169  	p521CmovznzU64(&x9, arg1, arg2[8], arg3[8])
  5170  	out1[0] = x1
  5171  	out1[1] = x2
  5172  	out1[2] = x3
  5173  	out1[3] = x4
  5174  	out1[4] = x5
  5175  	out1[5] = x6
  5176  	out1[6] = x7
  5177  	out1[7] = x8
  5178  	out1[8] = x9
  5179  }
  5180  
  5181  // p521ToBytes serializes a field element NOT in the Montgomery domain to bytes in little-endian order.
  5182  //
  5183  // Preconditions:
  5184  //
  5185  //	0 ≤ eval arg1 < m
  5186  //
  5187  // Postconditions:
  5188  //
  5189  //	out1 = map (λ x, ⌊((eval arg1 mod m) mod 2^(8 * (x + 1))) / 2^(8 * x)⌋) [0..65]
  5190  //
  5191  // Input Bounds:
  5192  //
  5193  //	arg1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x1ff]]
  5194  //
  5195  // Output Bounds:
  5196  //
  5197  //	out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]]
  5198  func p521ToBytes(out1 *[66]uint8, arg1 *[9]uint64) {
  5199  	x1 := arg1[8]
  5200  	x2 := arg1[7]
  5201  	x3 := arg1[6]
  5202  	x4 := arg1[5]
  5203  	x5 := arg1[4]
  5204  	x6 := arg1[3]
  5205  	x7 := arg1[2]
  5206  	x8 := arg1[1]
  5207  	x9 := arg1[0]
  5208  	x10 := (uint8(x9) & 0xff)
  5209  	x11 := (x9 >> 8)
  5210  	x12 := (uint8(x11) & 0xff)
  5211  	x13 := (x11 >> 8)
  5212  	x14 := (uint8(x13) & 0xff)
  5213  	x15 := (x13 >> 8)
  5214  	x16 := (uint8(x15) & 0xff)
  5215  	x17 := (x15 >> 8)
  5216  	x18 := (uint8(x17) & 0xff)
  5217  	x19 := (x17 >> 8)
  5218  	x20 := (uint8(x19) & 0xff)
  5219  	x21 := (x19 >> 8)
  5220  	x22 := (uint8(x21) & 0xff)
  5221  	x23 := uint8((x21 >> 8))
  5222  	x24 := (uint8(x8) & 0xff)
  5223  	x25 := (x8 >> 8)
  5224  	x26 := (uint8(x25) & 0xff)
  5225  	x27 := (x25 >> 8)
  5226  	x28 := (uint8(x27) & 0xff)
  5227  	x29 := (x27 >> 8)
  5228  	x30 := (uint8(x29) & 0xff)
  5229  	x31 := (x29 >> 8)
  5230  	x32 := (uint8(x31) & 0xff)
  5231  	x33 := (x31 >> 8)
  5232  	x34 := (uint8(x33) & 0xff)
  5233  	x35 := (x33 >> 8)
  5234  	x36 := (uint8(x35) & 0xff)
  5235  	x37 := uint8((x35 >> 8))
  5236  	x38 := (uint8(x7) & 0xff)
  5237  	x39 := (x7 >> 8)
  5238  	x40 := (uint8(x39) & 0xff)
  5239  	x41 := (x39 >> 8)
  5240  	x42 := (uint8(x41) & 0xff)
  5241  	x43 := (x41 >> 8)
  5242  	x44 := (uint8(x43) & 0xff)
  5243  	x45 := (x43 >> 8)
  5244  	x46 := (uint8(x45) & 0xff)
  5245  	x47 := (x45 >> 8)
  5246  	x48 := (uint8(x47) & 0xff)
  5247  	x49 := (x47 >> 8)
  5248  	x50 := (uint8(x49) & 0xff)
  5249  	x51 := uint8((x49 >> 8))
  5250  	x52 := (uint8(x6) & 0xff)
  5251  	x53 := (x6 >> 8)
  5252  	x54 := (uint8(x53) & 0xff)
  5253  	x55 := (x53 >> 8)
  5254  	x56 := (uint8(x55) & 0xff)
  5255  	x57 := (x55 >> 8)
  5256  	x58 := (uint8(x57) & 0xff)
  5257  	x59 := (x57 >> 8)
  5258  	x60 := (uint8(x59) & 0xff)
  5259  	x61 := (x59 >> 8)
  5260  	x62 := (uint8(x61) & 0xff)
  5261  	x63 := (x61 >> 8)
  5262  	x64 := (uint8(x63) & 0xff)
  5263  	x65 := uint8((x63 >> 8))
  5264  	x66 := (uint8(x5) & 0xff)
  5265  	x67 := (x5 >> 8)
  5266  	x68 := (uint8(x67) & 0xff)
  5267  	x69 := (x67 >> 8)
  5268  	x70 := (uint8(x69) & 0xff)
  5269  	x71 := (x69 >> 8)
  5270  	x72 := (uint8(x71) & 0xff)
  5271  	x73 := (x71 >> 8)
  5272  	x74 := (uint8(x73) & 0xff)
  5273  	x75 := (x73 >> 8)
  5274  	x76 := (uint8(x75) & 0xff)
  5275  	x77 := (x75 >> 8)
  5276  	x78 := (uint8(x77) & 0xff)
  5277  	x79 := uint8((x77 >> 8))
  5278  	x80 := (uint8(x4) & 0xff)
  5279  	x81 := (x4 >> 8)
  5280  	x82 := (uint8(x81) & 0xff)
  5281  	x83 := (x81 >> 8)
  5282  	x84 := (uint8(x83) & 0xff)
  5283  	x85 := (x83 >> 8)
  5284  	x86 := (uint8(x85) & 0xff)
  5285  	x87 := (x85 >> 8)
  5286  	x88 := (uint8(x87) & 0xff)
  5287  	x89 := (x87 >> 8)
  5288  	x90 := (uint8(x89) & 0xff)
  5289  	x91 := (x89 >> 8)
  5290  	x92 := (uint8(x91) & 0xff)
  5291  	x93 := uint8((x91 >> 8))
  5292  	x94 := (uint8(x3) & 0xff)
  5293  	x95 := (x3 >> 8)
  5294  	x96 := (uint8(x95) & 0xff)
  5295  	x97 := (x95 >> 8)
  5296  	x98 := (uint8(x97) & 0xff)
  5297  	x99 := (x97 >> 8)
  5298  	x100 := (uint8(x99) & 0xff)
  5299  	x101 := (x99 >> 8)
  5300  	x102 := (uint8(x101) & 0xff)
  5301  	x103 := (x101 >> 8)
  5302  	x104 := (uint8(x103) & 0xff)
  5303  	x105 := (x103 >> 8)
  5304  	x106 := (uint8(x105) & 0xff)
  5305  	x107 := uint8((x105 >> 8))
  5306  	x108 := (uint8(x2) & 0xff)
  5307  	x109 := (x2 >> 8)
  5308  	x110 := (uint8(x109) & 0xff)
  5309  	x111 := (x109 >> 8)
  5310  	x112 := (uint8(x111) & 0xff)
  5311  	x113 := (x111 >> 8)
  5312  	x114 := (uint8(x113) & 0xff)
  5313  	x115 := (x113 >> 8)
  5314  	x116 := (uint8(x115) & 0xff)
  5315  	x117 := (x115 >> 8)
  5316  	x118 := (uint8(x117) & 0xff)
  5317  	x119 := (x117 >> 8)
  5318  	x120 := (uint8(x119) & 0xff)
  5319  	x121 := uint8((x119 >> 8))
  5320  	x122 := (uint8(x1) & 0xff)
  5321  	x123 := p521Uint1((x1 >> 8))
  5322  	out1[0] = x10
  5323  	out1[1] = x12
  5324  	out1[2] = x14
  5325  	out1[3] = x16
  5326  	out1[4] = x18
  5327  	out1[5] = x20
  5328  	out1[6] = x22
  5329  	out1[7] = x23
  5330  	out1[8] = x24
  5331  	out1[9] = x26
  5332  	out1[10] = x28
  5333  	out1[11] = x30
  5334  	out1[12] = x32
  5335  	out1[13] = x34
  5336  	out1[14] = x36
  5337  	out1[15] = x37
  5338  	out1[16] = x38
  5339  	out1[17] = x40
  5340  	out1[18] = x42
  5341  	out1[19] = x44
  5342  	out1[20] = x46
  5343  	out1[21] = x48
  5344  	out1[22] = x50
  5345  	out1[23] = x51
  5346  	out1[24] = x52
  5347  	out1[25] = x54
  5348  	out1[26] = x56
  5349  	out1[27] = x58
  5350  	out1[28] = x60
  5351  	out1[29] = x62
  5352  	out1[30] = x64
  5353  	out1[31] = x65
  5354  	out1[32] = x66
  5355  	out1[33] = x68
  5356  	out1[34] = x70
  5357  	out1[35] = x72
  5358  	out1[36] = x74
  5359  	out1[37] = x76
  5360  	out1[38] = x78
  5361  	out1[39] = x79
  5362  	out1[40] = x80
  5363  	out1[41] = x82
  5364  	out1[42] = x84
  5365  	out1[43] = x86
  5366  	out1[44] = x88
  5367  	out1[45] = x90
  5368  	out1[46] = x92
  5369  	out1[47] = x93
  5370  	out1[48] = x94
  5371  	out1[49] = x96
  5372  	out1[50] = x98
  5373  	out1[51] = x100
  5374  	out1[52] = x102
  5375  	out1[53] = x104
  5376  	out1[54] = x106
  5377  	out1[55] = x107
  5378  	out1[56] = x108
  5379  	out1[57] = x110
  5380  	out1[58] = x112
  5381  	out1[59] = x114
  5382  	out1[60] = x116
  5383  	out1[61] = x118
  5384  	out1[62] = x120
  5385  	out1[63] = x121
  5386  	out1[64] = x122
  5387  	out1[65] = uint8(x123)
  5388  }
  5389  
  5390  // p521FromBytes deserializes a field element NOT in the Montgomery domain from bytes in little-endian order.
  5391  //
  5392  // Preconditions:
  5393  //
  5394  //	0 ≤ bytes_eval arg1 < m
  5395  //
  5396  // Postconditions:
  5397  //
  5398  //	eval out1 mod m = bytes_eval arg1 mod m
  5399  //	0 ≤ eval out1 < m
  5400  //
  5401  // Input Bounds:
  5402  //
  5403  //	arg1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0x1]]
  5404  //
  5405  // Output Bounds:
  5406  //
  5407  //	out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0x1ff]]
  5408  func p521FromBytes(out1 *[9]uint64, arg1 *[66]uint8) {
  5409  	x1 := (uint64(p521Uint1(arg1[65])) << 8)
  5410  	x2 := arg1[64]
  5411  	x3 := (uint64(arg1[63]) << 56)
  5412  	x4 := (uint64(arg1[62]) << 48)
  5413  	x5 := (uint64(arg1[61]) << 40)
  5414  	x6 := (uint64(arg1[60]) << 32)
  5415  	x7 := (uint64(arg1[59]) << 24)
  5416  	x8 := (uint64(arg1[58]) << 16)
  5417  	x9 := (uint64(arg1[57]) << 8)
  5418  	x10 := arg1[56]
  5419  	x11 := (uint64(arg1[55]) << 56)
  5420  	x12 := (uint64(arg1[54]) << 48)
  5421  	x13 := (uint64(arg1[53]) << 40)
  5422  	x14 := (uint64(arg1[52]) << 32)
  5423  	x15 := (uint64(arg1[51]) << 24)
  5424  	x16 := (uint64(arg1[50]) << 16)
  5425  	x17 := (uint64(arg1[49]) << 8)
  5426  	x18 := arg1[48]
  5427  	x19 := (uint64(arg1[47]) << 56)
  5428  	x20 := (uint64(arg1[46]) << 48)
  5429  	x21 := (uint64(arg1[45]) << 40)
  5430  	x22 := (uint64(arg1[44]) << 32)
  5431  	x23 := (uint64(arg1[43]) << 24)
  5432  	x24 := (uint64(arg1[42]) << 16)
  5433  	x25 := (uint64(arg1[41]) << 8)
  5434  	x26 := arg1[40]
  5435  	x27 := (uint64(arg1[39]) << 56)
  5436  	x28 := (uint64(arg1[38]) << 48)
  5437  	x29 := (uint64(arg1[37]) << 40)
  5438  	x30 := (uint64(arg1[36]) << 32)
  5439  	x31 := (uint64(arg1[35]) << 24)
  5440  	x32 := (uint64(arg1[34]) << 16)
  5441  	x33 := (uint64(arg1[33]) << 8)
  5442  	x34 := arg1[32]
  5443  	x35 := (uint64(arg1[31]) << 56)
  5444  	x36 := (uint64(arg1[30]) << 48)
  5445  	x37 := (uint64(arg1[29]) << 40)
  5446  	x38 := (uint64(arg1[28]) << 32)
  5447  	x39 := (uint64(arg1[27]) << 24)
  5448  	x40 := (uint64(arg1[26]) << 16)
  5449  	x41 := (uint64(arg1[25]) << 8)
  5450  	x42 := arg1[24]
  5451  	x43 := (uint64(arg1[23]) << 56)
  5452  	x44 := (uint64(arg1[22]) << 48)
  5453  	x45 := (uint64(arg1[21]) << 40)
  5454  	x46 := (uint64(arg1[20]) << 32)
  5455  	x47 := (uint64(arg1[19]) << 24)
  5456  	x48 := (uint64(arg1[18]) << 16)
  5457  	x49 := (uint64(arg1[17]) << 8)
  5458  	x50 := arg1[16]
  5459  	x51 := (uint64(arg1[15]) << 56)
  5460  	x52 := (uint64(arg1[14]) << 48)
  5461  	x53 := (uint64(arg1[13]) << 40)
  5462  	x54 := (uint64(arg1[12]) << 32)
  5463  	x55 := (uint64(arg1[11]) << 24)
  5464  	x56 := (uint64(arg1[10]) << 16)
  5465  	x57 := (uint64(arg1[9]) << 8)
  5466  	x58 := arg1[8]
  5467  	x59 := (uint64(arg1[7]) << 56)
  5468  	x60 := (uint64(arg1[6]) << 48)
  5469  	x61 := (uint64(arg1[5]) << 40)
  5470  	x62 := (uint64(arg1[4]) << 32)
  5471  	x63 := (uint64(arg1[3]) << 24)
  5472  	x64 := (uint64(arg1[2]) << 16)
  5473  	x65 := (uint64(arg1[1]) << 8)
  5474  	x66 := arg1[0]
  5475  	x67 := (x65 + uint64(x66))
  5476  	x68 := (x64 + x67)
  5477  	x69 := (x63 + x68)
  5478  	x70 := (x62 + x69)
  5479  	x71 := (x61 + x70)
  5480  	x72 := (x60 + x71)
  5481  	x73 := (x59 + x72)
  5482  	x74 := (x57 + uint64(x58))
  5483  	x75 := (x56 + x74)
  5484  	x76 := (x55 + x75)
  5485  	x77 := (x54 + x76)
  5486  	x78 := (x53 + x77)
  5487  	x79 := (x52 + x78)
  5488  	x80 := (x51 + x79)
  5489  	x81 := (x49 + uint64(x50))
  5490  	x82 := (x48 + x81)
  5491  	x83 := (x47 + x82)
  5492  	x84 := (x46 + x83)
  5493  	x85 := (x45 + x84)
  5494  	x86 := (x44 + x85)
  5495  	x87 := (x43 + x86)
  5496  	x88 := (x41 + uint64(x42))
  5497  	x89 := (x40 + x88)
  5498  	x90 := (x39 + x89)
  5499  	x91 := (x38 + x90)
  5500  	x92 := (x37 + x91)
  5501  	x93 := (x36 + x92)
  5502  	x94 := (x35 + x93)
  5503  	x95 := (x33 + uint64(x34))
  5504  	x96 := (x32 + x95)
  5505  	x97 := (x31 + x96)
  5506  	x98 := (x30 + x97)
  5507  	x99 := (x29 + x98)
  5508  	x100 := (x28 + x99)
  5509  	x101 := (x27 + x100)
  5510  	x102 := (x25 + uint64(x26))
  5511  	x103 := (x24 + x102)
  5512  	x104 := (x23 + x103)
  5513  	x105 := (x22 + x104)
  5514  	x106 := (x21 + x105)
  5515  	x107 := (x20 + x106)
  5516  	x108 := (x19 + x107)
  5517  	x109 := (x17 + uint64(x18))
  5518  	x110 := (x16 + x109)
  5519  	x111 := (x15 + x110)
  5520  	x112 := (x14 + x111)
  5521  	x113 := (x13 + x112)
  5522  	x114 := (x12 + x113)
  5523  	x115 := (x11 + x114)
  5524  	x116 := (x9 + uint64(x10))
  5525  	x117 := (x8 + x116)
  5526  	x118 := (x7 + x117)
  5527  	x119 := (x6 + x118)
  5528  	x120 := (x5 + x119)
  5529  	x121 := (x4 + x120)
  5530  	x122 := (x3 + x121)
  5531  	x123 := (x1 + uint64(x2))
  5532  	out1[0] = x73
  5533  	out1[1] = x80
  5534  	out1[2] = x87
  5535  	out1[3] = x94
  5536  	out1[4] = x101
  5537  	out1[5] = x108
  5538  	out1[6] = x115
  5539  	out1[7] = x122
  5540  	out1[8] = x123
  5541  }
  5542  

View as plain text