package fiat
import "math/bits"
type p224Uint1 uint64
type p224Int1 int64
type p224MontgomeryDomainFieldElement [4 ]uint64
type p224NonMontgomeryDomainFieldElement [4 ]uint64
func p224CmovznzU64 (out1 *uint64 , arg1 p224Uint1 , arg2 uint64 , arg3 uint64 ) {
x1 := (uint64 (arg1 ) * 0xffffffffffffffff )
x2 := ((x1 & arg3 ) | ((^x1 ) & arg2 ))
*out1 = x2
}
func p224Mul (out1 *p224MontgomeryDomainFieldElement , arg1 *p224MontgomeryDomainFieldElement , arg2 *p224MontgomeryDomainFieldElement ) {
x1 := arg1 [1 ]
x2 := arg1 [2 ]
x3 := arg1 [3 ]
x4 := arg1 [0 ]
var x5 uint64
var x6 uint64
x6 , x5 = bits .Mul64 (x4 , arg2 [3 ])
var x7 uint64
var x8 uint64
x8 , x7 = bits .Mul64 (x4 , arg2 [2 ])
var x9 uint64
var x10 uint64
x10 , x9 = bits .Mul64 (x4 , arg2 [1 ])
var x11 uint64
var x12 uint64
x12 , x11 = bits .Mul64 (x4 , arg2 [0 ])
var x13 uint64
var x14 uint64
x13 , x14 = bits .Add64 (x12 , x9 , uint64 (0x0 ))
var x15 uint64
var x16 uint64
x15 , x16 = bits .Add64 (x10 , x7 , uint64 (p224Uint1 (x14 )))
var x17 uint64
var x18 uint64
x17 , x18 = bits .Add64 (x8 , x5 , uint64 (p224Uint1 (x16 )))
x19 := (uint64 (p224Uint1 (x18 )) + x6 )
var x20 uint64
_, x20 = bits .Mul64 (x11 , 0xffffffffffffffff )
var x22 uint64
var x23 uint64
x23 , x22 = bits .Mul64 (x20 , 0xffffffff )
var x24 uint64
var x25 uint64
x25 , x24 = bits .Mul64 (x20 , 0xffffffffffffffff )
var x26 uint64
var x27 uint64
x27 , x26 = bits .Mul64 (x20 , 0xffffffff00000000 )
var x28 uint64
var x29 uint64
x28 , x29 = bits .Add64 (x27 , x24 , uint64 (0x0 ))
var x30 uint64
var x31 uint64
x30 , x31 = bits .Add64 (x25 , x22 , uint64 (p224Uint1 (x29 )))
x32 := (uint64 (p224Uint1 (x31 )) + x23 )
var x34 uint64
_, x34 = bits .Add64 (x11 , x20 , uint64 (0x0 ))
var x35 uint64
var x36 uint64
x35 , x36 = bits .Add64 (x13 , x26 , uint64 (p224Uint1 (x34 )))
var x37 uint64
var x38 uint64
x37 , x38 = bits .Add64 (x15 , x28 , uint64 (p224Uint1 (x36 )))
var x39 uint64
var x40 uint64
x39 , x40 = bits .Add64 (x17 , x30 , uint64 (p224Uint1 (x38 )))
var x41 uint64
var x42 uint64
x41 , x42 = bits .Add64 (x19 , x32 , uint64 (p224Uint1 (x40 )))
var x43 uint64
var x44 uint64
x44 , x43 = bits .Mul64 (x1 , arg2 [3 ])
var x45 uint64
var x46 uint64
x46 , x45 = bits .Mul64 (x1 , arg2 [2 ])
var x47 uint64
var x48 uint64
x48 , x47 = bits .Mul64 (x1 , arg2 [1 ])
var x49 uint64
var x50 uint64
x50 , x49 = bits .Mul64 (x1 , arg2 [0 ])
var x51 uint64
var x52 uint64
x51 , x52 = bits .Add64 (x50 , x47 , uint64 (0x0 ))
var x53 uint64
var x54 uint64
x53 , x54 = bits .Add64 (x48 , x45 , uint64 (p224Uint1 (x52 )))
var x55 uint64
var x56 uint64
x55 , x56 = bits .Add64 (x46 , x43 , uint64 (p224Uint1 (x54 )))
x57 := (uint64 (p224Uint1 (x56 )) + x44 )
var x58 uint64
var x59 uint64
x58 , x59 = bits .Add64 (x35 , x49 , uint64 (0x0 ))
var x60 uint64
var x61 uint64
x60 , x61 = bits .Add64 (x37 , x51 , uint64 (p224Uint1 (x59 )))
var x62 uint64
var x63 uint64
x62 , x63 = bits .Add64 (x39 , x53 , uint64 (p224Uint1 (x61 )))
var x64 uint64
var x65 uint64
x64 , x65 = bits .Add64 (x41 , x55 , uint64 (p224Uint1 (x63 )))
var x66 uint64
var x67 uint64
x66 , x67 = bits .Add64 (uint64 (p224Uint1 (x42 )), x57 , uint64 (p224Uint1 (x65 )))
var x68 uint64
_, x68 = bits .Mul64 (x58 , 0xffffffffffffffff )
var x70 uint64
var x71 uint64
x71 , x70 = bits .Mul64 (x68 , 0xffffffff )
var x72 uint64
var x73 uint64
x73 , x72 = bits .Mul64 (x68 , 0xffffffffffffffff )
var x74 uint64
var x75 uint64
x75 , x74 = bits .Mul64 (x68 , 0xffffffff00000000 )
var x76 uint64
var x77 uint64
x76 , x77 = bits .Add64 (x75 , x72 , uint64 (0x0 ))
var x78 uint64
var x79 uint64
x78 , x79 = bits .Add64 (x73 , x70 , uint64 (p224Uint1 (x77 )))
x80 := (uint64 (p224Uint1 (x79 )) + x71 )
var x82 uint64
_, x82 = bits .Add64 (x58 , x68 , uint64 (0x0 ))
var x83 uint64
var x84 uint64
x83 , x84 = bits .Add64 (x60 , x74 , uint64 (p224Uint1 (x82 )))
var x85 uint64
var x86 uint64
x85 , x86 = bits .Add64 (x62 , x76 , uint64 (p224Uint1 (x84 )))
var x87 uint64
var x88 uint64
x87 , x88 = bits .Add64 (x64 , x78 , uint64 (p224Uint1 (x86 )))
var x89 uint64
var x90 uint64
x89 , x90 = bits .Add64 (x66 , x80 , uint64 (p224Uint1 (x88 )))
x91 := (uint64 (p224Uint1 (x90 )) + uint64 (p224Uint1 (x67 )))
var x92 uint64
var x93 uint64
x93 , x92 = bits .Mul64 (x2 , arg2 [3 ])
var x94 uint64
var x95 uint64
x95 , x94 = bits .Mul64 (x2 , arg2 [2 ])
var x96 uint64
var x97 uint64
x97 , x96 = bits .Mul64 (x2 , arg2 [1 ])
var x98 uint64
var x99 uint64
x99 , x98 = bits .Mul64 (x2 , arg2 [0 ])
var x100 uint64
var x101 uint64
x100 , x101 = bits .Add64 (x99 , x96 , uint64 (0x0 ))
var x102 uint64
var x103 uint64
x102 , x103 = bits .Add64 (x97 , x94 , uint64 (p224Uint1 (x101 )))
var x104 uint64
var x105 uint64
x104 , x105 = bits .Add64 (x95 , x92 , uint64 (p224Uint1 (x103 )))
x106 := (uint64 (p224Uint1 (x105 )) + x93 )
var x107 uint64
var x108 uint64
x107 , x108 = bits .Add64 (x83 , x98 , uint64 (0x0 ))
var x109 uint64
var x110 uint64
x109 , x110 = bits .Add64 (x85 , x100 , uint64 (p224Uint1 (x108 )))
var x111 uint64
var x112 uint64
x111 , x112 = bits .Add64 (x87 , x102 , uint64 (p224Uint1 (x110 )))
var x113 uint64
var x114 uint64
x113 , x114 = bits .Add64 (x89 , x104 , uint64 (p224Uint1 (x112 )))
var x115 uint64
var x116 uint64
x115 , x116 = bits .Add64 (x91 , x106 , uint64 (p224Uint1 (x114 )))
var x117 uint64
_, x117 = bits .Mul64 (x107 , 0xffffffffffffffff )
var x119 uint64
var x120 uint64
x120 , x119 = bits .Mul64 (x117 , 0xffffffff )
var x121 uint64
var x122 uint64
x122 , x121 = bits .Mul64 (x117 , 0xffffffffffffffff )
var x123 uint64
var x124 uint64
x124 , x123 = bits .Mul64 (x117 , 0xffffffff00000000 )
var x125 uint64
var x126 uint64
x125 , x126 = bits .Add64 (x124 , x121 , uint64 (0x0 ))
var x127 uint64
var x128 uint64
x127 , x128 = bits .Add64 (x122 , x119 , uint64 (p224Uint1 (x126 )))
x129 := (uint64 (p224Uint1 (x128 )) + x120 )
var x131 uint64
_, x131 = bits .Add64 (x107 , x117 , uint64 (0x0 ))
var x132 uint64
var x133 uint64
x132 , x133 = bits .Add64 (x109 , x123 , uint64 (p224Uint1 (x131 )))
var x134 uint64
var x135 uint64
x134 , x135 = bits .Add64 (x111 , x125 , uint64 (p224Uint1 (x133 )))
var x136 uint64
var x137 uint64
x136 , x137 = bits .Add64 (x113 , x127 , uint64 (p224Uint1 (x135 )))
var x138 uint64
var x139 uint64
x138 , x139 = bits .Add64 (x115 , x129 , uint64 (p224Uint1 (x137 )))
x140 := (uint64 (p224Uint1 (x139 )) + uint64 (p224Uint1 (x116 )))
var x141 uint64
var x142 uint64
x142 , x141 = bits .Mul64 (x3 , arg2 [3 ])
var x143 uint64
var x144 uint64
x144 , x143 = bits .Mul64 (x3 , arg2 [2 ])
var x145 uint64
var x146 uint64
x146 , x145 = bits .Mul64 (x3 , arg2 [1 ])
var x147 uint64
var x148 uint64
x148 , x147 = bits .Mul64 (x3 , arg2 [0 ])
var x149 uint64
var x150 uint64
x149 , x150 = bits .Add64 (x148 , x145 , uint64 (0x0 ))
var x151 uint64
var x152 uint64
x151 , x152 = bits .Add64 (x146 , x143 , uint64 (p224Uint1 (x150 )))
var x153 uint64
var x154 uint64
x153 , x154 = bits .Add64 (x144 , x141 , uint64 (p224Uint1 (x152 )))
x155 := (uint64 (p224Uint1 (x154 )) + x142 )
var x156 uint64
var x157 uint64
x156 , x157 = bits .Add64 (x132 , x147 , uint64 (0x0 ))
var x158 uint64
var x159 uint64
x158 , x159 = bits .Add64 (x134 , x149 , uint64 (p224Uint1 (x157 )))
var x160 uint64
var x161 uint64
x160 , x161 = bits .Add64 (x136 , x151 , uint64 (p224Uint1 (x159 )))
var x162 uint64
var x163 uint64
x162 , x163 = bits .Add64 (x138 , x153 , uint64 (p224Uint1 (x161 )))
var x164 uint64
var x165 uint64
x164 , x165 = bits .Add64 (x140 , x155 , uint64 (p224Uint1 (x163 )))
var x166 uint64
_, x166 = bits .Mul64 (x156 , 0xffffffffffffffff )
var x168 uint64
var x169 uint64
x169 , x168 = bits .Mul64 (x166 , 0xffffffff )
var x170 uint64
var x171 uint64
x171 , x170 = bits .Mul64 (x166 , 0xffffffffffffffff )
var x172 uint64
var x173 uint64
x173 , x172 = bits .Mul64 (x166 , 0xffffffff00000000 )
var x174 uint64
var x175 uint64
x174 , x175 = bits .Add64 (x173 , x170 , uint64 (0x0 ))
var x176 uint64
var x177 uint64
x176 , x177 = bits .Add64 (x171 , x168 , uint64 (p224Uint1 (x175 )))
x178 := (uint64 (p224Uint1 (x177 )) + x169 )
var x180 uint64
_, x180 = bits .Add64 (x156 , x166 , uint64 (0x0 ))
var x181 uint64
var x182 uint64
x181 , x182 = bits .Add64 (x158 , x172 , uint64 (p224Uint1 (x180 )))
var x183 uint64
var x184 uint64
x183 , x184 = bits .Add64 (x160 , x174 , uint64 (p224Uint1 (x182 )))
var x185 uint64
var x186 uint64
x185 , x186 = bits .Add64 (x162 , x176 , uint64 (p224Uint1 (x184 )))
var x187 uint64
var x188 uint64
x187 , x188 = bits .Add64 (x164 , x178 , uint64 (p224Uint1 (x186 )))
x189 := (uint64 (p224Uint1 (x188 )) + uint64 (p224Uint1 (x165 )))
var x190 uint64
var x191 uint64
x190 , x191 = bits .Sub64 (x181 , uint64 (0x1 ), uint64 (0x0 ))
var x192 uint64
var x193 uint64
x192 , x193 = bits .Sub64 (x183 , 0xffffffff00000000 , uint64 (p224Uint1 (x191 )))
var x194 uint64
var x195 uint64
x194 , x195 = bits .Sub64 (x185 , 0xffffffffffffffff , uint64 (p224Uint1 (x193 )))
var x196 uint64
var x197 uint64
x196 , x197 = bits .Sub64 (x187 , 0xffffffff , uint64 (p224Uint1 (x195 )))
var x199 uint64
_, x199 = bits .Sub64 (x189 , uint64 (0x0 ), uint64 (p224Uint1 (x197 )))
var x200 uint64
p224CmovznzU64 (&x200 , p224Uint1 (x199 ), x190 , x181 )
var x201 uint64
p224CmovznzU64 (&x201 , p224Uint1 (x199 ), x192 , x183 )
var x202 uint64
p224CmovznzU64 (&x202 , p224Uint1 (x199 ), x194 , x185 )
var x203 uint64
p224CmovznzU64 (&x203 , p224Uint1 (x199 ), x196 , x187 )
out1 [0 ] = x200
out1 [1 ] = x201
out1 [2 ] = x202
out1 [3 ] = x203
}
func p224Square (out1 *p224MontgomeryDomainFieldElement , arg1 *p224MontgomeryDomainFieldElement ) {
x1 := arg1 [1 ]
x2 := arg1 [2 ]
x3 := arg1 [3 ]
x4 := arg1 [0 ]
var x5 uint64
var x6 uint64
x6 , x5 = bits .Mul64 (x4 , arg1 [3 ])
var x7 uint64
var x8 uint64
x8 , x7 = bits .Mul64 (x4 , arg1 [2 ])
var x9 uint64
var x10 uint64
x10 , x9 = bits .Mul64 (x4 , arg1 [1 ])
var x11 uint64
var x12 uint64
x12 , x11 = bits .Mul64 (x4 , arg1 [0 ])
var x13 uint64
var x14 uint64
x13 , x14 = bits .Add64 (x12 , x9 , uint64 (0x0 ))
var x15 uint64
var x16 uint64
x15 , x16 = bits .Add64 (x10 , x7 , uint64 (p224Uint1 (x14 )))
var x17 uint64
var x18 uint64
x17 , x18 = bits .Add64 (x8 , x5 , uint64 (p224Uint1 (x16 )))
x19 := (uint64 (p224Uint1 (x18 )) + x6 )
var x20 uint64
_, x20 = bits .Mul64 (x11 , 0xffffffffffffffff )
var x22 uint64
var x23 uint64
x23 , x22 = bits .Mul64 (x20 , 0xffffffff )
var x24 uint64
var x25 uint64
x25 , x24 = bits .Mul64 (x20 , 0xffffffffffffffff )
var x26 uint64
var x27 uint64
x27 , x26 = bits .Mul64 (x20 , 0xffffffff00000000 )
var x28 uint64
var x29 uint64
x28 , x29 = bits .Add64 (x27 , x24 , uint64 (0x0 ))
var x30 uint64
var x31 uint64
x30 , x31 = bits .Add64 (x25 , x22 , uint64 (p224Uint1 (x29 )))
x32 := (uint64 (p224Uint1 (x31 )) + x23 )
var x34 uint64
_, x34 = bits .Add64 (x11 , x20 , uint64 (0x0 ))
var x35 uint64
var x36 uint64
x35 , x36 = bits .Add64 (x13 , x26 , uint64 (p224Uint1 (x34 )))
var x37 uint64
var x38 uint64
x37 , x38 = bits .Add64 (x15 , x28 , uint64 (p224Uint1 (x36 )))
var x39 uint64
var x40 uint64
x39 , x40 = bits .Add64 (x17 , x30 , uint64 (p224Uint1 (x38 )))
var x41 uint64
var x42 uint64
x41 , x42 = bits .Add64 (x19 , x32 , uint64 (p224Uint1 (x40 )))
var x43 uint64
var x44 uint64
x44 , x43 = bits .Mul64 (x1 , arg1 [3 ])
var x45 uint64
var x46 uint64
x46 , x45 = bits .Mul64 (x1 , arg1 [2 ])
var x47 uint64
var x48 uint64
x48 , x47 = bits .Mul64 (x1 , arg1 [1 ])
var x49 uint64
var x50 uint64
x50 , x49 = bits .Mul64 (x1 , arg1 [0 ])
var x51 uint64
var x52 uint64
x51 , x52 = bits .Add64 (x50 , x47 , uint64 (0x0 ))
var x53 uint64
var x54 uint64
x53 , x54 = bits .Add64 (x48 , x45 , uint64 (p224Uint1 (x52 )))
var x55 uint64
var x56 uint64
x55 , x56 = bits .Add64 (x46 , x43 , uint64 (p224Uint1 (x54 )))
x57 := (uint64 (p224Uint1 (x56 )) + x44 )
var x58 uint64
var x59 uint64
x58 , x59 = bits .Add64 (x35 , x49 , uint64 (0x0 ))
var x60 uint64
var x61 uint64
x60 , x61 = bits .Add64 (x37 , x51 , uint64 (p224Uint1 (x59 )))
var x62 uint64
var x63 uint64
x62 , x63 = bits .Add64 (x39 , x53 , uint64 (p224Uint1 (x61 )))
var x64 uint64
var x65 uint64
x64 , x65 = bits .Add64 (x41 , x55 , uint64 (p224Uint1 (x63 )))
var x66 uint64
var x67 uint64
x66 , x67 = bits .Add64 (uint64 (p224Uint1 (x42 )), x57 , uint64 (p224Uint1 (x65 )))
var x68 uint64
_, x68 = bits .Mul64 (x58 , 0xffffffffffffffff )
var x70 uint64
var x71 uint64
x71 , x70 = bits .Mul64 (x68 , 0xffffffff )
var x72 uint64
var x73 uint64
x73 , x72 = bits .Mul64 (x68 , 0xffffffffffffffff )
var x74 uint64
var x75 uint64
x75 , x74 = bits .Mul64 (x68 , 0xffffffff00000000 )
var x76 uint64
var x77 uint64
x76 , x77 = bits .Add64 (x75 , x72 , uint64 (0x0 ))
var x78 uint64
var x79 uint64
x78 , x79 = bits .Add64 (x73 , x70 , uint64 (p224Uint1 (x77 )))
x80 := (uint64 (p224Uint1 (x79 )) + x71 )
var x82 uint64
_, x82 = bits .Add64 (x58 , x68 , uint64 (0x0 ))
var x83 uint64
var x84 uint64
x83 , x84 = bits .Add64 (x60 , x74 , uint64 (p224Uint1 (x82 )))
var x85 uint64
var x86 uint64
x85 , x86 = bits .Add64 (x62 , x76 , uint64 (p224Uint1 (x84 )))
var x87 uint64
var x88 uint64
x87 , x88 = bits .Add64 (x64 , x78 , uint64 (p224Uint1 (x86 )))
var x89 uint64
var x90 uint64
x89 , x90 = bits .Add64 (x66 , x80 , uint64 (p224Uint1 (x88 )))
x91 := (uint64 (p224Uint1 (x90 )) + uint64 (p224Uint1 (x67 )))
var x92 uint64
var x93 uint64
x93 , x92 = bits .Mul64 (x2 , arg1 [3 ])
var x94 uint64
var x95 uint64
x95 , x94 = bits .Mul64 (x2 , arg1 [2 ])
var x96 uint64
var x97 uint64
x97 , x96 = bits .Mul64 (x2 , arg1 [1 ])
var x98 uint64
var x99 uint64
x99 , x98 = bits .Mul64 (x2 , arg1 [0 ])
var x100 uint64
var x101 uint64
x100 , x101 = bits .Add64 (x99 , x96 , uint64 (0x0 ))
var x102 uint64
var x103 uint64
x102 , x103 = bits .Add64 (x97 , x94 , uint64 (p224Uint1 (x101 )))
var x104 uint64
var x105 uint64
x104 , x105 = bits .Add64 (x95 , x92 , uint64 (p224Uint1 (x103 )))
x106 := (uint64 (p224Uint1 (x105 )) + x93 )
var x107 uint64
var x108 uint64
x107 , x108 = bits .Add64 (x83 , x98 , uint64 (0x0 ))
var x109 uint64
var x110 uint64
x109 , x110 = bits .Add64 (x85 , x100 , uint64 (p224Uint1 (x108 )))
var x111 uint64
var x112 uint64
x111 , x112 = bits .Add64 (x87 , x102 , uint64 (p224Uint1 (x110 )))
var x113 uint64
var x114 uint64
x113 , x114 = bits .Add64 (x89 , x104 , uint64 (p224Uint1 (x112 )))
var x115 uint64
var x116 uint64
x115 , x116 = bits .Add64 (x91 , x106 , uint64 (p224Uint1 (x114 )))
var x117 uint64
_, x117 = bits .Mul64 (x107 , 0xffffffffffffffff )
var x119 uint64
var x120 uint64
x120 , x119 = bits .Mul64 (x117 , 0xffffffff )
var x121 uint64
var x122 uint64
x122 , x121 = bits .Mul64 (x117 , 0xffffffffffffffff )
var x123 uint64
var x124 uint64
x124 , x123 = bits .Mul64 (x117 , 0xffffffff00000000 )
var x125 uint64
var x126 uint64
x125 , x126 = bits .Add64 (x124 , x121 , uint64 (0x0 ))
var x127 uint64
var x128 uint64
x127 , x128 = bits .Add64 (x122 , x119 , uint64 (p224Uint1 (x126 )))
x129 := (uint64 (p224Uint1 (x128 )) + x120 )
var x131 uint64
_, x131 = bits .Add64 (x107 , x117 , uint64 (0x0 ))
var x132 uint64
var x133 uint64
x132 , x133 = bits .Add64 (x109 , x123 , uint64 (p224Uint1 (x131 )))
var x134 uint64
var x135 uint64
x134 , x135 = bits .Add64 (x111 , x125 , uint64 (p224Uint1 (x133 )))
var x136 uint64
var x137 uint64
x136 , x137 = bits .Add64 (x113 , x127 , uint64 (p224Uint1 (x135 )))
var x138 uint64
var x139 uint64
x138 , x139 = bits .Add64 (x115 , x129 , uint64 (p224Uint1 (x137 )))
x140 := (uint64 (p224Uint1 (x139 )) + uint64 (p224Uint1 (x116 )))
var x141 uint64
var x142 uint64
x142 , x141 = bits .Mul64 (x3 , arg1 [3 ])
var x143 uint64
var x144 uint64
x144 , x143 = bits .Mul64 (x3 , arg1 [2 ])
var x145 uint64
var x146 uint64
x146 , x145 = bits .Mul64 (x3 , arg1 [1 ])
var x147 uint64
var x148 uint64
x148 , x147 = bits .Mul64 (x3 , arg1 [0 ])
var x149 uint64
var x150 uint64
x149 , x150 = bits .Add64 (x148 , x145 , uint64 (0x0 ))
var x151 uint64
var x152 uint64
x151 , x152 = bits .Add64 (x146 , x143 , uint64 (p224Uint1 (x150 )))
var x153 uint64
var x154 uint64
x153 , x154 = bits .Add64 (x144 , x141 , uint64 (p224Uint1 (x152 )))
x155 := (uint64 (p224Uint1 (x154 )) + x142 )
var x156 uint64
var x157 uint64
x156 , x157 = bits .Add64 (x132 , x147 , uint64 (0x0 ))
var x158 uint64
var x159 uint64
x158 , x159 = bits .Add64 (x134 , x149 , uint64 (p224Uint1 (x157 )))
var x160 uint64
var x161 uint64
x160 , x161 = bits .Add64 (x136 , x151 , uint64 (p224Uint1 (x159 )))
var x162 uint64
var x163 uint64
x162 , x163 = bits .Add64 (x138 , x153 , uint64 (p224Uint1 (x161 )))
var x164 uint64
var x165 uint64
x164 , x165 = bits .Add64 (x140 , x155 , uint64 (p224Uint1 (x163 )))
var x166 uint64
_, x166 = bits .Mul64 (x156 , 0xffffffffffffffff )
var x168 uint64
var x169 uint64
x169 , x168 = bits .Mul64 (x166 , 0xffffffff )
var x170 uint64
var x171 uint64
x171 , x170 = bits .Mul64 (x166 , 0xffffffffffffffff )
var x172 uint64
var x173 uint64
x173 , x172 = bits .Mul64 (x166 , 0xffffffff00000000 )
var x174 uint64
var x175 uint64
x174 , x175 = bits .Add64 (x173 , x170 , uint64 (0x0 ))
var x176 uint64
var x177 uint64
x176 , x177 = bits .Add64 (x171 , x168 , uint64 (p224Uint1 (x175 )))
x178 := (uint64 (p224Uint1 (x177 )) + x169 )
var x180 uint64
_, x180 = bits .Add64 (x156 , x166 , uint64 (0x0 ))
var x181 uint64
var x182 uint64
x181 , x182 = bits .Add64 (x158 , x172 , uint64 (p224Uint1 (x180 )))
var x183 uint64
var x184 uint64
x183 , x184 = bits .Add64 (x160 , x174 , uint64 (p224Uint1 (x182 )))
var x185 uint64
var x186 uint64
x185 , x186 = bits .Add64 (x162 , x176 , uint64 (p224Uint1 (x184 )))
var x187 uint64
var x188 uint64
x187 , x188 = bits .Add64 (x164 , x178 , uint64 (p224Uint1 (x186 )))
x189 := (uint64 (p224Uint1 (x188 )) + uint64 (p224Uint1 (x165 )))
var x190 uint64
var x191 uint64
x190 , x191 = bits .Sub64 (x181 , uint64 (0x1 ), uint64 (0x0 ))
var x192 uint64
var x193 uint64
x192 , x193 = bits .Sub64 (x183 , 0xffffffff00000000 , uint64 (p224Uint1 (x191 )))
var x194 uint64
var x195 uint64
x194 , x195 = bits .Sub64 (x185 , 0xffffffffffffffff , uint64 (p224Uint1 (x193 )))
var x196 uint64
var x197 uint64
x196 , x197 = bits .Sub64 (x187 , 0xffffffff , uint64 (p224Uint1 (x195 )))
var x199 uint64
_, x199 = bits .Sub64 (x189 , uint64 (0x0 ), uint64 (p224Uint1 (x197 )))
var x200 uint64
p224CmovznzU64 (&x200 , p224Uint1 (x199 ), x190 , x181 )
var x201 uint64
p224CmovznzU64 (&x201 , p224Uint1 (x199 ), x192 , x183 )
var x202 uint64
p224CmovznzU64 (&x202 , p224Uint1 (x199 ), x194 , x185 )
var x203 uint64
p224CmovznzU64 (&x203 , p224Uint1 (x199 ), x196 , x187 )
out1 [0 ] = x200
out1 [1 ] = x201
out1 [2 ] = x202
out1 [3 ] = x203
}
func p224Add (out1 *p224MontgomeryDomainFieldElement , arg1 *p224MontgomeryDomainFieldElement , arg2 *p224MontgomeryDomainFieldElement ) {
var x1 uint64
var x2 uint64
x1 , x2 = bits .Add64 (arg1 [0 ], arg2 [0 ], uint64 (0x0 ))
var x3 uint64
var x4 uint64
x3 , x4 = bits .Add64 (arg1 [1 ], arg2 [1 ], uint64 (p224Uint1 (x2 )))
var x5 uint64
var x6 uint64
x5 , x6 = bits .Add64 (arg1 [2 ], arg2 [2 ], uint64 (p224Uint1 (x4 )))
var x7 uint64
var x8 uint64
x7 , x8 = bits .Add64 (arg1 [3 ], arg2 [3 ], uint64 (p224Uint1 (x6 )))
var x9 uint64
var x10 uint64
x9 , x10 = bits .Sub64 (x1 , uint64 (0x1 ), uint64 (0x0 ))
var x11 uint64
var x12 uint64
x11 , x12 = bits .Sub64 (x3 , 0xffffffff00000000 , uint64 (p224Uint1 (x10 )))
var x13 uint64
var x14 uint64
x13 , x14 = bits .Sub64 (x5 , 0xffffffffffffffff , uint64 (p224Uint1 (x12 )))
var x15 uint64
var x16 uint64
x15 , x16 = bits .Sub64 (x7 , 0xffffffff , uint64 (p224Uint1 (x14 )))
var x18 uint64
_, x18 = bits .Sub64 (uint64 (p224Uint1 (x8 )), uint64 (0x0 ), uint64 (p224Uint1 (x16 )))
var x19 uint64
p224CmovznzU64 (&x19 , p224Uint1 (x18 ), x9 , x1 )
var x20 uint64
p224CmovznzU64 (&x20 , p224Uint1 (x18 ), x11 , x3 )
var x21 uint64
p224CmovznzU64 (&x21 , p224Uint1 (x18 ), x13 , x5 )
var x22 uint64
p224CmovznzU64 (&x22 , p224Uint1 (x18 ), x15 , x7 )
out1 [0 ] = x19
out1 [1 ] = x20
out1 [2 ] = x21
out1 [3 ] = x22
}
func p224Sub (out1 *p224MontgomeryDomainFieldElement , arg1 *p224MontgomeryDomainFieldElement , arg2 *p224MontgomeryDomainFieldElement ) {
var x1 uint64
var x2 uint64
x1 , x2 = bits .Sub64 (arg1 [0 ], arg2 [0 ], uint64 (0x0 ))
var x3 uint64
var x4 uint64
x3 , x4 = bits .Sub64 (arg1 [1 ], arg2 [1 ], uint64 (p224Uint1 (x2 )))
var x5 uint64
var x6 uint64
x5 , x6 = bits .Sub64 (arg1 [2 ], arg2 [2 ], uint64 (p224Uint1 (x4 )))
var x7 uint64
var x8 uint64
x7 , x8 = bits .Sub64 (arg1 [3 ], arg2 [3 ], uint64 (p224Uint1 (x6 )))
var x9 uint64
p224CmovznzU64 (&x9 , p224Uint1 (x8 ), uint64 (0x0 ), 0xffffffffffffffff )
var x10 uint64
var x11 uint64
x10 , x11 = bits .Add64 (x1 , uint64 ((p224Uint1 (x9 ) & 0x1 )), uint64 (0x0 ))
var x12 uint64
var x13 uint64
x12 , x13 = bits .Add64 (x3 , (x9 & 0xffffffff00000000 ), uint64 (p224Uint1 (x11 )))
var x14 uint64
var x15 uint64
x14 , x15 = bits .Add64 (x5 , x9 , uint64 (p224Uint1 (x13 )))
var x16 uint64
x16 , _ = bits .Add64 (x7 , (x9 & 0xffffffff ), uint64 (p224Uint1 (x15 )))
out1 [0 ] = x10
out1 [1 ] = x12
out1 [2 ] = x14
out1 [3 ] = x16
}
func p224SetOne (out1 *p224MontgomeryDomainFieldElement ) {
out1 [0 ] = 0xffffffff00000000
out1 [1 ] = 0xffffffffffffffff
out1 [2 ] = uint64 (0x0 )
out1 [3 ] = uint64 (0x0 )
}
func p224FromMontgomery (out1 *p224NonMontgomeryDomainFieldElement , arg1 *p224MontgomeryDomainFieldElement ) {
x1 := arg1 [0 ]
var x2 uint64
_, x2 = bits .Mul64 (x1 , 0xffffffffffffffff )
var x4 uint64
var x5 uint64
x5 , x4 = bits .Mul64 (x2 , 0xffffffff )
var x6 uint64
var x7 uint64
x7 , x6 = bits .Mul64 (x2 , 0xffffffffffffffff )
var x8 uint64
var x9 uint64
x9 , x8 = bits .Mul64 (x2 , 0xffffffff00000000 )
var x10 uint64
var x11 uint64
x10 , x11 = bits .Add64 (x9 , x6 , uint64 (0x0 ))
var x12 uint64
var x13 uint64
x12 , x13 = bits .Add64 (x7 , x4 , uint64 (p224Uint1 (x11 )))
var x15 uint64
_, x15 = bits .Add64 (x1 , x2 , uint64 (0x0 ))
var x16 uint64
var x17 uint64
x16 , x17 = bits .Add64 (uint64 (0x0 ), x8 , uint64 (p224Uint1 (x15 )))
var x18 uint64
var x19 uint64
x18 , x19 = bits .Add64 (uint64 (0x0 ), x10 , uint64 (p224Uint1 (x17 )))
var x20 uint64
var x21 uint64
x20 , x21 = bits .Add64 (uint64 (0x0 ), x12 , uint64 (p224Uint1 (x19 )))
var x22 uint64
var x23 uint64
x22 , x23 = bits .Add64 (x16 , arg1 [1 ], uint64 (0x0 ))
var x24 uint64
var x25 uint64
x24 , x25 = bits .Add64 (x18 , uint64 (0x0 ), uint64 (p224Uint1 (x23 )))
var x26 uint64
var x27 uint64
x26 , x27 = bits .Add64 (x20 , uint64 (0x0 ), uint64 (p224Uint1 (x25 )))
var x28 uint64
_, x28 = bits .Mul64 (x22 , 0xffffffffffffffff )
var x30 uint64
var x31 uint64
x31 , x30 = bits .Mul64 (x28 , 0xffffffff )
var x32 uint64
var x33 uint64
x33 , x32 = bits .Mul64 (x28 , 0xffffffffffffffff )
var x34 uint64
var x35 uint64
x35 , x34 = bits .Mul64 (x28 , 0xffffffff00000000 )
var x36 uint64
var x37 uint64
x36 , x37 = bits .Add64 (x35 , x32 , uint64 (0x0 ))
var x38 uint64
var x39 uint64
x38 , x39 = bits .Add64 (x33 , x30 , uint64 (p224Uint1 (x37 )))
var x41 uint64
_, x41 = bits .Add64 (x22 , x28 , uint64 (0x0 ))
var x42 uint64
var x43 uint64
x42 , x43 = bits .Add64 (x24 , x34 , uint64 (p224Uint1 (x41 )))
var x44 uint64
var x45 uint64
x44 , x45 = bits .Add64 (x26 , x36 , uint64 (p224Uint1 (x43 )))
var x46 uint64
var x47 uint64
x46 , x47 = bits .Add64 ((uint64 (p224Uint1 (x27 )) + (uint64 (p224Uint1 (x21 )) + (uint64 (p224Uint1 (x13 )) + x5 ))), x38 , uint64 (p224Uint1 (x45 )))
var x48 uint64
var x49 uint64
x48 , x49 = bits .Add64 (x42 , arg1 [2 ], uint64 (0x0 ))
var x50 uint64
var x51 uint64
x50 , x51 = bits .Add64 (x44 , uint64 (0x0 ), uint64 (p224Uint1 (x49 )))
var x52 uint64
var x53 uint64
x52 , x53 = bits .Add64 (x46 , uint64 (0x0 ), uint64 (p224Uint1 (x51 )))
var x54 uint64
_, x54 = bits .Mul64 (x48 , 0xffffffffffffffff )
var x56 uint64
var x57 uint64
x57 , x56 = bits .Mul64 (x54 , 0xffffffff )
var x58 uint64
var x59 uint64
x59 , x58 = bits .Mul64 (x54 , 0xffffffffffffffff )
var x60 uint64
var x61 uint64
x61 , x60 = bits .Mul64 (x54 , 0xffffffff00000000 )
var x62 uint64
var x63 uint64
x62 , x63 = bits .Add64 (x61 , x58 , uint64 (0x0 ))
var x64 uint64
var x65 uint64
x64 , x65 = bits .Add64 (x59 , x56 , uint64 (p224Uint1 (x63 )))
var x67 uint64
_, x67 = bits .Add64 (x48 , x54 , uint64 (0x0 ))
var x68 uint64
var x69 uint64
x68 , x69 = bits .Add64 (x50 , x60 , uint64 (p224Uint1 (x67 )))
var x70 uint64
var x71 uint64
x70 , x71 = bits .Add64 (x52 , x62 , uint64 (p224Uint1 (x69 )))
var x72 uint64
var x73 uint64
x72 , x73 = bits .Add64 ((uint64 (p224Uint1 (x53 )) + (uint64 (p224Uint1 (x47 )) + (uint64 (p224Uint1 (x39 )) + x31 ))), x64 , uint64 (p224Uint1 (x71 )))
var x74 uint64
var x75 uint64
x74 , x75 = bits .Add64 (x68 , arg1 [3 ], uint64 (0x0 ))
var x76 uint64
var x77 uint64
x76 , x77 = bits .Add64 (x70 , uint64 (0x0 ), uint64 (p224Uint1 (x75 )))
var x78 uint64
var x79 uint64
x78 , x79 = bits .Add64 (x72 , uint64 (0x0 ), uint64 (p224Uint1 (x77 )))
var x80 uint64
_, x80 = bits .Mul64 (x74 , 0xffffffffffffffff )
var x82 uint64
var x83 uint64
x83 , x82 = bits .Mul64 (x80 , 0xffffffff )
var x84 uint64
var x85 uint64
x85 , x84 = bits .Mul64 (x80 , 0xffffffffffffffff )
var x86 uint64
var x87 uint64
x87 , x86 = bits .Mul64 (x80 , 0xffffffff00000000 )
var x88 uint64
var x89 uint64
x88 , x89 = bits .Add64 (x87 , x84 , uint64 (0x0 ))
var x90 uint64
var x91 uint64
x90 , x91 = bits .Add64 (x85 , x82 , uint64 (p224Uint1 (x89 )))
var x93 uint64
_, x93 = bits .Add64 (x74 , x80 , uint64 (0x0 ))
var x94 uint64
var x95 uint64
x94 , x95 = bits .Add64 (x76 , x86 , uint64 (p224Uint1 (x93 )))
var x96 uint64
var x97 uint64
x96 , x97 = bits .Add64 (x78 , x88 , uint64 (p224Uint1 (x95 )))
var x98 uint64
var x99 uint64
x98 , x99 = bits .Add64 ((uint64 (p224Uint1 (x79 )) + (uint64 (p224Uint1 (x73 )) + (uint64 (p224Uint1 (x65 )) + x57 ))), x90 , uint64 (p224Uint1 (x97 )))
x100 := (uint64 (p224Uint1 (x99 )) + (uint64 (p224Uint1 (x91 )) + x83 ))
var x101 uint64
var x102 uint64
x101 , x102 = bits .Sub64 (x94 , uint64 (0x1 ), uint64 (0x0 ))
var x103 uint64
var x104 uint64
x103 , x104 = bits .Sub64 (x96 , 0xffffffff00000000 , uint64 (p224Uint1 (x102 )))
var x105 uint64
var x106 uint64
x105 , x106 = bits .Sub64 (x98 , 0xffffffffffffffff , uint64 (p224Uint1 (x104 )))
var x107 uint64
var x108 uint64
x107 , x108 = bits .Sub64 (x100 , 0xffffffff , uint64 (p224Uint1 (x106 )))
var x110 uint64
_, x110 = bits .Sub64 (uint64 (0x0 ), uint64 (0x0 ), uint64 (p224Uint1 (x108 )))
var x111 uint64
p224CmovznzU64 (&x111 , p224Uint1 (x110 ), x101 , x94 )
var x112 uint64
p224CmovznzU64 (&x112 , p224Uint1 (x110 ), x103 , x96 )
var x113 uint64
p224CmovznzU64 (&x113 , p224Uint1 (x110 ), x105 , x98 )
var x114 uint64
p224CmovznzU64 (&x114 , p224Uint1 (x110 ), x107 , x100 )
out1 [0 ] = x111
out1 [1 ] = x112
out1 [2 ] = x113
out1 [3 ] = x114
}
func p224ToMontgomery (out1 *p224MontgomeryDomainFieldElement , arg1 *p224NonMontgomeryDomainFieldElement ) {
x1 := arg1 [1 ]
x2 := arg1 [2 ]
x3 := arg1 [3 ]
x4 := arg1 [0 ]
var x5 uint64
var x6 uint64
x6 , x5 = bits .Mul64 (x4 , 0xffffffff )
var x7 uint64
var x8 uint64
x8 , x7 = bits .Mul64 (x4 , 0xfffffffe00000000 )
var x9 uint64
var x10 uint64
x10 , x9 = bits .Mul64 (x4 , 0xffffffff00000000 )
var x11 uint64
var x12 uint64
x12 , x11 = bits .Mul64 (x4 , 0xffffffff00000001 )
var x13 uint64
var x14 uint64
x13 , x14 = bits .Add64 (x12 , x9 , uint64 (0x0 ))
var x15 uint64
var x16 uint64
x15 , x16 = bits .Add64 (x10 , x7 , uint64 (p224Uint1 (x14 )))
var x17 uint64
var x18 uint64
x17 , x18 = bits .Add64 (x8 , x5 , uint64 (p224Uint1 (x16 )))
var x19 uint64
_, x19 = bits .Mul64 (x11 , 0xffffffffffffffff )
var x21 uint64
var x22 uint64
x22 , x21 = bits .Mul64 (x19 , 0xffffffff )
var x23 uint64
var x24 uint64
x24 , x23 = bits .Mul64 (x19 , 0xffffffffffffffff )
var x25 uint64
var x26 uint64
x26 , x25 = bits .Mul64 (x19 , 0xffffffff00000000 )
var x27 uint64
var x28 uint64
x27 , x28 = bits .Add64 (x26 , x23 , uint64 (0x0 ))
var x29 uint64
var x30 uint64
x29 , x30 = bits .Add64 (x24 , x21 , uint64 (p224Uint1 (x28 )))
var x32 uint64
_, x32 = bits .Add64 (x11 , x19 , uint64 (0x0 ))
var x33 uint64
var x34 uint64
x33 , x34 = bits .Add64 (x13 , x25 , uint64 (p224Uint1 (x32 )))
var x35 uint64
var x36 uint64
x35 , x36 = bits .Add64 (x15 , x27 , uint64 (p224Uint1 (x34 )))
var x37 uint64
var x38 uint64
x37 , x38 = bits .Add64 (x17 , x29 , uint64 (p224Uint1 (x36 )))
var x39 uint64
var x40 uint64
x40 , x39 = bits .Mul64 (x1 , 0xffffffff )
var x41 uint64
var x42 uint64
x42 , x41 = bits .Mul64 (x1 , 0xfffffffe00000000 )
var x43 uint64
var x44 uint64
x44 , x43 = bits .Mul64 (x1 , 0xffffffff00000000 )
var x45 uint64
var x46 uint64
x46 , x45 = bits .Mul64 (x1 , 0xffffffff00000001 )
var x47 uint64
var x48 uint64
x47 , x48 = bits .Add64 (x46 , x43 , uint64 (0x0 ))
var x49 uint64
var x50 uint64
x49 , x50 = bits .Add64 (x44 , x41 , uint64 (p224Uint1 (x48 )))
var x51 uint64
var x52 uint64
x51 , x52 = bits .Add64 (x42 , x39 , uint64 (p224Uint1 (x50 )))
var x53 uint64
var x54 uint64
x53 , x54 = bits .Add64 (x33 , x45 , uint64 (0x0 ))
var x55 uint64
var x56 uint64
x55 , x56 = bits .Add64 (x35 , x47 , uint64 (p224Uint1 (x54 )))
var x57 uint64
var x58 uint64
x57 , x58 = bits .Add64 (x37 , x49 , uint64 (p224Uint1 (x56 )))
var x59 uint64
var x60 uint64
x59 , x60 = bits .Add64 (((uint64 (p224Uint1 (x38 )) + (uint64 (p224Uint1 (x18 )) + x6 )) + (uint64 (p224Uint1 (x30 )) + x22 )), x51 , uint64 (p224Uint1 (x58 )))
var x61 uint64
_, x61 = bits .Mul64 (x53 , 0xffffffffffffffff )
var x63 uint64
var x64 uint64
x64 , x63 = bits .Mul64 (x61 , 0xffffffff )
var x65 uint64
var x66 uint64
x66 , x65 = bits .Mul64 (x61 , 0xffffffffffffffff )
var x67 uint64
var x68 uint64
x68 , x67 = bits .Mul64 (x61 , 0xffffffff00000000 )
var x69 uint64
var x70 uint64
x69 , x70 = bits .Add64 (x68 , x65 , uint64 (0x0 ))
var x71 uint64
var x72 uint64
x71 , x72 = bits .Add64 (x66 , x63 , uint64 (p224Uint1 (x70 )))
var x74 uint64
_, x74 = bits .Add64 (x53 , x61 , uint64 (0x0 ))
var x75 uint64
var x76 uint64
x75 , x76 = bits .Add64 (x55 , x67 , uint64 (p224Uint1 (x74 )))
var x77 uint64
var x78 uint64
x77 , x78 = bits .Add64 (x57 , x69 , uint64 (p224Uint1 (x76 )))
var x79 uint64
var x80 uint64
x79 , x80 = bits .Add64 (x59 , x71 , uint64 (p224Uint1 (x78 )))
var x81 uint64
var x82 uint64
x82 , x81 = bits .Mul64 (x2 , 0xffffffff )
var x83 uint64
var x84 uint64
x84 , x83 = bits .Mul64 (x2 , 0xfffffffe00000000 )
var x85 uint64
var x86 uint64
x86 , x85 = bits .Mul64 (x2 , 0xffffffff00000000 )
var x87 uint64
var x88 uint64
x88 , x87 = bits .Mul64 (x2 , 0xffffffff00000001 )
var x89 uint64
var x90 uint64
x89 , x90 = bits .Add64 (x88 , x85 , uint64 (0x0 ))
var x91 uint64
var x92 uint64
x91 , x92 = bits .Add64 (x86 , x83 , uint64 (p224Uint1 (x90 )))
var x93 uint64
var x94 uint64
x93 , x94 = bits .Add64 (x84 , x81 , uint64 (p224Uint1 (x92 )))
var x95 uint64
var x96 uint64
x95 , x96 = bits .Add64 (x75 , x87 , uint64 (0x0 ))
var x97 uint64
var x98 uint64
x97 , x98 = bits .Add64 (x77 , x89 , uint64 (p224Uint1 (x96 )))
var x99 uint64
var x100 uint64
x99 , x100 = bits .Add64 (x79 , x91 , uint64 (p224Uint1 (x98 )))
var x101 uint64
var x102 uint64
x101 , x102 = bits .Add64 (((uint64 (p224Uint1 (x80 )) + (uint64 (p224Uint1 (x60 )) + (uint64 (p224Uint1 (x52 )) + x40 ))) + (uint64 (p224Uint1 (x72 )) + x64 )), x93 , uint64 (p224Uint1 (x100 )))
var x103 uint64
_, x103 = bits .Mul64 (x95 , 0xffffffffffffffff )
var x105 uint64
var x106 uint64
x106 , x105 = bits .Mul64 (x103 , 0xffffffff )
var x107 uint64
var x108 uint64
x108 , x107 = bits .Mul64 (x103 , 0xffffffffffffffff )
var x109 uint64
var x110 uint64
x110 , x109 = bits .Mul64 (x103 , 0xffffffff00000000 )
var x111 uint64
var x112 uint64
x111 , x112 = bits .Add64 (x110 , x107 , uint64 (0x0 ))
var x113 uint64
var x114 uint64
x113 , x114 = bits .Add64 (x108 , x105 , uint64 (p224Uint1 (x112 )))
var x116 uint64
_, x116 = bits .Add64 (x95 , x103 , uint64 (0x0 ))
var x117 uint64
var x118 uint64
x117 , x118 = bits .Add64 (x97 , x109 , uint64 (p224Uint1 (x116 )))
var x119 uint64
var x120 uint64
x119 , x120 = bits .Add64 (x99 , x111 , uint64 (p224Uint1 (x118 )))
var x121 uint64
var x122 uint64
x121 , x122 = bits .Add64 (x101 , x113 , uint64 (p224Uint1 (x120 )))
var x123 uint64
var x124 uint64
x124 , x123 = bits .Mul64 (x3 , 0xffffffff )
var x125 uint64
var x126 uint64
x126 , x125 = bits .Mul64 (x3 , 0xfffffffe00000000 )
var x127 uint64
var x128 uint64
x128 , x127 = bits .Mul64 (x3 , 0xffffffff00000000 )
var x129 uint64
var x130 uint64
x130 , x129 = bits .Mul64 (x3 , 0xffffffff00000001 )
var x131 uint64
var x132 uint64
x131 , x132 = bits .Add64 (x130 , x127 , uint64 (0x0 ))
var x133 uint64
var x134 uint64
x133 , x134 = bits .Add64 (x128 , x125 , uint64 (p224Uint1 (x132 )))
var x135 uint64
var x136 uint64
x135 , x136 = bits .Add64 (x126 , x123 , uint64 (p224Uint1 (x134 )))
var x137 uint64
var x138 uint64
x137 , x138 = bits .Add64 (x117 , x129 , uint64 (0x0 ))
var x139 uint64
var x140 uint64
x139 , x140 = bits .Add64 (x119 , x131 , uint64 (p224Uint1 (x138 )))
var x141 uint64
var x142 uint64
x141 , x142 = bits .Add64 (x121 , x133 , uint64 (p224Uint1 (x140 )))
var x143 uint64
var x144 uint64
x143 , x144 = bits .Add64 (((uint64 (p224Uint1 (x122 )) + (uint64 (p224Uint1 (x102 )) + (uint64 (p224Uint1 (x94 )) + x82 ))) + (uint64 (p224Uint1 (x114 )) + x106 )), x135 , uint64 (p224Uint1 (x142 )))
var x145 uint64
_, x145 = bits .Mul64 (x137 , 0xffffffffffffffff )
var x147 uint64
var x148 uint64
x148 , x147 = bits .Mul64 (x145 , 0xffffffff )
var x149 uint64
var x150 uint64
x150 , x149 = bits .Mul64 (x145 , 0xffffffffffffffff )
var x151 uint64
var x152 uint64
x152 , x151 = bits .Mul64 (x145 , 0xffffffff00000000 )
var x153 uint64
var x154 uint64
x153 , x154 = bits .Add64 (x152 , x149 , uint64 (0x0 ))
var x155 uint64
var x156 uint64
x155 , x156 = bits .Add64 (x150 , x147 , uint64 (p224Uint1 (x154 )))
var x158 uint64
_, x158 = bits .Add64 (x137 , x145 , uint64 (0x0 ))
var x159 uint64
var x160 uint64
x159 , x160 = bits .Add64 (x139 , x151 , uint64 (p224Uint1 (x158 )))
var x161 uint64
var x162 uint64
x161 , x162 = bits .Add64 (x141 , x153 , uint64 (p224Uint1 (x160 )))
var x163 uint64
var x164 uint64
x163 , x164 = bits .Add64 (x143 , x155 , uint64 (p224Uint1 (x162 )))
x165 := ((uint64 (p224Uint1 (x164 )) + (uint64 (p224Uint1 (x144 )) + (uint64 (p224Uint1 (x136 )) + x124 ))) + (uint64 (p224Uint1 (x156 )) + x148 ))
var x166 uint64
var x167 uint64
x166 , x167 = bits .Sub64 (x159 , uint64 (0x1 ), uint64 (0x0 ))
var x168 uint64
var x169 uint64
x168 , x169 = bits .Sub64 (x161 , 0xffffffff00000000 , uint64 (p224Uint1 (x167 )))
var x170 uint64
var x171 uint64
x170 , x171 = bits .Sub64 (x163 , 0xffffffffffffffff , uint64 (p224Uint1 (x169 )))
var x172 uint64
var x173 uint64
x172 , x173 = bits .Sub64 (x165 , 0xffffffff , uint64 (p224Uint1 (x171 )))
var x175 uint64
_, x175 = bits .Sub64 (uint64 (0x0 ), uint64 (0x0 ), uint64 (p224Uint1 (x173 )))
var x176 uint64
p224CmovznzU64 (&x176 , p224Uint1 (x175 ), x166 , x159 )
var x177 uint64
p224CmovznzU64 (&x177 , p224Uint1 (x175 ), x168 , x161 )
var x178 uint64
p224CmovznzU64 (&x178 , p224Uint1 (x175 ), x170 , x163 )
var x179 uint64
p224CmovznzU64 (&x179 , p224Uint1 (x175 ), x172 , x165 )
out1 [0 ] = x176
out1 [1 ] = x177
out1 [2 ] = x178
out1 [3 ] = x179
}
func p224Selectznz (out1 *[4 ]uint64 , arg1 p224Uint1 , arg2 *[4 ]uint64 , arg3 *[4 ]uint64 ) {
var x1 uint64
p224CmovznzU64 (&x1 , arg1 , arg2 [0 ], arg3 [0 ])
var x2 uint64
p224CmovznzU64 (&x2 , arg1 , arg2 [1 ], arg3 [1 ])
var x3 uint64
p224CmovznzU64 (&x3 , arg1 , arg2 [2 ], arg3 [2 ])
var x4 uint64
p224CmovznzU64 (&x4 , arg1 , arg2 [3 ], arg3 [3 ])
out1 [0 ] = x1
out1 [1 ] = x2
out1 [2 ] = x3
out1 [3 ] = x4
}
func p224ToBytes (out1 *[28 ]uint8 , arg1 *[4 ]uint64 ) {
x1 := arg1 [3 ]
x2 := arg1 [2 ]
x3 := arg1 [1 ]
x4 := arg1 [0 ]
x5 := (uint8 (x4 ) & 0xff )
x6 := (x4 >> 8 )
x7 := (uint8 (x6 ) & 0xff )
x8 := (x6 >> 8 )
x9 := (uint8 (x8 ) & 0xff )
x10 := (x8 >> 8 )
x11 := (uint8 (x10 ) & 0xff )
x12 := (x10 >> 8 )
x13 := (uint8 (x12 ) & 0xff )
x14 := (x12 >> 8 )
x15 := (uint8 (x14 ) & 0xff )
x16 := (x14 >> 8 )
x17 := (uint8 (x16 ) & 0xff )
x18 := uint8 ((x16 >> 8 ))
x19 := (uint8 (x3 ) & 0xff )
x20 := (x3 >> 8 )
x21 := (uint8 (x20 ) & 0xff )
x22 := (x20 >> 8 )
x23 := (uint8 (x22 ) & 0xff )
x24 := (x22 >> 8 )
x25 := (uint8 (x24 ) & 0xff )
x26 := (x24 >> 8 )
x27 := (uint8 (x26 ) & 0xff )
x28 := (x26 >> 8 )
x29 := (uint8 (x28 ) & 0xff )
x30 := (x28 >> 8 )
x31 := (uint8 (x30 ) & 0xff )
x32 := uint8 ((x30 >> 8 ))
x33 := (uint8 (x2 ) & 0xff )
x34 := (x2 >> 8 )
x35 := (uint8 (x34 ) & 0xff )
x36 := (x34 >> 8 )
x37 := (uint8 (x36 ) & 0xff )
x38 := (x36 >> 8 )
x39 := (uint8 (x38 ) & 0xff )
x40 := (x38 >> 8 )
x41 := (uint8 (x40 ) & 0xff )
x42 := (x40 >> 8 )
x43 := (uint8 (x42 ) & 0xff )
x44 := (x42 >> 8 )
x45 := (uint8 (x44 ) & 0xff )
x46 := uint8 ((x44 >> 8 ))
x47 := (uint8 (x1 ) & 0xff )
x48 := (x1 >> 8 )
x49 := (uint8 (x48 ) & 0xff )
x50 := (x48 >> 8 )
x51 := (uint8 (x50 ) & 0xff )
x52 := uint8 ((x50 >> 8 ))
out1 [0 ] = x5
out1 [1 ] = x7
out1 [2 ] = x9
out1 [3 ] = x11
out1 [4 ] = x13
out1 [5 ] = x15
out1 [6 ] = x17
out1 [7 ] = x18
out1 [8 ] = x19
out1 [9 ] = x21
out1 [10 ] = x23
out1 [11 ] = x25
out1 [12 ] = x27
out1 [13 ] = x29
out1 [14 ] = x31
out1 [15 ] = x32
out1 [16 ] = x33
out1 [17 ] = x35
out1 [18 ] = x37
out1 [19 ] = x39
out1 [20 ] = x41
out1 [21 ] = x43
out1 [22 ] = x45
out1 [23 ] = x46
out1 [24 ] = x47
out1 [25 ] = x49
out1 [26 ] = x51
out1 [27 ] = x52
}
func p224FromBytes (out1 *[4 ]uint64 , arg1 *[28 ]uint8 ) {
x1 := (uint64 (arg1 [27 ]) << 24 )
x2 := (uint64 (arg1 [26 ]) << 16 )
x3 := (uint64 (arg1 [25 ]) << 8 )
x4 := arg1 [24 ]
x5 := (uint64 (arg1 [23 ]) << 56 )
x6 := (uint64 (arg1 [22 ]) << 48 )
x7 := (uint64 (arg1 [21 ]) << 40 )
x8 := (uint64 (arg1 [20 ]) << 32 )
x9 := (uint64 (arg1 [19 ]) << 24 )
x10 := (uint64 (arg1 [18 ]) << 16 )
x11 := (uint64 (arg1 [17 ]) << 8 )
x12 := arg1 [16 ]
x13 := (uint64 (arg1 [15 ]) << 56 )
x14 := (uint64 (arg1 [14 ]) << 48 )
x15 := (uint64 (arg1 [13 ]) << 40 )
x16 := (uint64 (arg1 [12 ]) << 32 )
x17 := (uint64 (arg1 [11 ]) << 24 )
x18 := (uint64 (arg1 [10 ]) << 16 )
x19 := (uint64 (arg1 [9 ]) << 8 )
x20 := arg1 [8 ]
x21 := (uint64 (arg1 [7 ]) << 56 )
x22 := (uint64 (arg1 [6 ]) << 48 )
x23 := (uint64 (arg1 [5 ]) << 40 )
x24 := (uint64 (arg1 [4 ]) << 32 )
x25 := (uint64 (arg1 [3 ]) << 24 )
x26 := (uint64 (arg1 [2 ]) << 16 )
x27 := (uint64 (arg1 [1 ]) << 8 )
x28 := arg1 [0 ]
x29 := (x27 + uint64 (x28 ))
x30 := (x26 + x29 )
x31 := (x25 + x30 )
x32 := (x24 + x31 )
x33 := (x23 + x32 )
x34 := (x22 + x33 )
x35 := (x21 + x34 )
x36 := (x19 + uint64 (x20 ))
x37 := (x18 + x36 )
x38 := (x17 + x37 )
x39 := (x16 + x38 )
x40 := (x15 + x39 )
x41 := (x14 + x40 )
x42 := (x13 + x41 )
x43 := (x11 + uint64 (x12 ))
x44 := (x10 + x43 )
x45 := (x9 + x44 )
x46 := (x8 + x45 )
x47 := (x7 + x46 )
x48 := (x6 + x47 )
x49 := (x5 + x48 )
x50 := (x3 + uint64 (x4 ))
x51 := (x2 + x50 )
x52 := (x1 + x51 )
out1 [0 ] = x35
out1 [1 ] = x42
out1 [2 ] = x49
out1 [3 ] = x52
}
The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds .