package  edwards25519 
 
import  "math/bits"  
 
type  fiatScalarUint1 uint64   
type  fiatScalarInt1 int64     
 
 
 
 
type  fiatScalarMontgomeryDomainFieldElement [4 ]uint64  
 
 
 
 
type  fiatScalarNonMontgomeryDomainFieldElement [4 ]uint64  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarCmovznzU64(out1  *uint64 , arg1  fiatScalarUint1 , arg2  uint64 , arg3  uint64 ) { 
	x1  := (uint64 (arg1 ) * 0xffffffffffffffff ) 
	x2  := ((x1  & arg3 ) | ((^x1 ) & arg2 )) 
	*out1  = x2  
} 
 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarMul(out1  *fiatScalarMontgomeryDomainFieldElement , arg1  *fiatScalarMontgomeryDomainFieldElement , arg2  *fiatScalarMontgomeryDomainFieldElement ) { 
	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 (fiatScalarUint1 (x14 ))) 
	var  x17  uint64  
	var  x18  uint64  
	x17 , x18  = bits .Add64 (x8 , x5 , uint64 (fiatScalarUint1 (x16 ))) 
	x19  := (uint64 (fiatScalarUint1 (x18 )) + x6 ) 
	var  x20  uint64  
	_, x20  = bits .Mul64 (x11 , 0xd2b51da312547e1b ) 
	var  x22  uint64  
	var  x23  uint64  
	x23 , x22  = bits .Mul64 (x20 , 0x1000000000000000 ) 
	var  x24  uint64  
	var  x25  uint64  
	x25 , x24  = bits .Mul64 (x20 , 0x14def9dea2f79cd6 ) 
	var  x26  uint64  
	var  x27  uint64  
	x27 , x26  = bits .Mul64 (x20 , 0x5812631a5cf5d3ed ) 
	var  x28  uint64  
	var  x29  uint64  
	x28 , x29  = bits .Add64 (x27 , x24 , uint64 (0x0 )) 
	x30  := (uint64 (fiatScalarUint1 (x29 )) + x25 ) 
	var  x32  uint64  
	_, x32  = bits .Add64 (x11 , x26 , uint64 (0x0 )) 
	var  x33  uint64  
	var  x34  uint64  
	x33 , x34  = bits .Add64 (x13 , x28 , uint64 (fiatScalarUint1 (x32 ))) 
	var  x35  uint64  
	var  x36  uint64  
	x35 , x36  = bits .Add64 (x15 , x30 , uint64 (fiatScalarUint1 (x34 ))) 
	var  x37  uint64  
	var  x38  uint64  
	x37 , x38  = bits .Add64 (x17 , x22 , uint64 (fiatScalarUint1 (x36 ))) 
	var  x39  uint64  
	var  x40  uint64  
	x39 , x40  = bits .Add64 (x19 , x23 , uint64 (fiatScalarUint1 (x38 ))) 
	var  x41  uint64  
	var  x42  uint64  
	x42 , x41  = bits .Mul64 (x1 , arg2 [3 ]) 
	var  x43  uint64  
	var  x44  uint64  
	x44 , x43  = bits .Mul64 (x1 , arg2 [2 ]) 
	var  x45  uint64  
	var  x46  uint64  
	x46 , x45  = bits .Mul64 (x1 , arg2 [1 ]) 
	var  x47  uint64  
	var  x48  uint64  
	x48 , x47  = bits .Mul64 (x1 , arg2 [0 ]) 
	var  x49  uint64  
	var  x50  uint64  
	x49 , x50  = bits .Add64 (x48 , x45 , uint64 (0x0 )) 
	var  x51  uint64  
	var  x52  uint64  
	x51 , x52  = bits .Add64 (x46 , x43 , uint64 (fiatScalarUint1 (x50 ))) 
	var  x53  uint64  
	var  x54  uint64  
	x53 , x54  = bits .Add64 (x44 , x41 , uint64 (fiatScalarUint1 (x52 ))) 
	x55  := (uint64 (fiatScalarUint1 (x54 )) + x42 ) 
	var  x56  uint64  
	var  x57  uint64  
	x56 , x57  = bits .Add64 (x33 , x47 , uint64 (0x0 )) 
	var  x58  uint64  
	var  x59  uint64  
	x58 , x59  = bits .Add64 (x35 , x49 , uint64 (fiatScalarUint1 (x57 ))) 
	var  x60  uint64  
	var  x61  uint64  
	x60 , x61  = bits .Add64 (x37 , x51 , uint64 (fiatScalarUint1 (x59 ))) 
	var  x62  uint64  
	var  x63  uint64  
	x62 , x63  = bits .Add64 (x39 , x53 , uint64 (fiatScalarUint1 (x61 ))) 
	var  x64  uint64  
	var  x65  uint64  
	x64 , x65  = bits .Add64 (uint64 (fiatScalarUint1 (x40 )), x55 , uint64 (fiatScalarUint1 (x63 ))) 
	var  x66  uint64  
	_, x66  = bits .Mul64 (x56 , 0xd2b51da312547e1b ) 
	var  x68  uint64  
	var  x69  uint64  
	x69 , x68  = bits .Mul64 (x66 , 0x1000000000000000 ) 
	var  x70  uint64  
	var  x71  uint64  
	x71 , x70  = bits .Mul64 (x66 , 0x14def9dea2f79cd6 ) 
	var  x72  uint64  
	var  x73  uint64  
	x73 , x72  = bits .Mul64 (x66 , 0x5812631a5cf5d3ed ) 
	var  x74  uint64  
	var  x75  uint64  
	x74 , x75  = bits .Add64 (x73 , x70 , uint64 (0x0 )) 
	x76  := (uint64 (fiatScalarUint1 (x75 )) + x71 ) 
	var  x78  uint64  
	_, x78  = bits .Add64 (x56 , x72 , uint64 (0x0 )) 
	var  x79  uint64  
	var  x80  uint64  
	x79 , x80  = bits .Add64 (x58 , x74 , uint64 (fiatScalarUint1 (x78 ))) 
	var  x81  uint64  
	var  x82  uint64  
	x81 , x82  = bits .Add64 (x60 , x76 , uint64 (fiatScalarUint1 (x80 ))) 
	var  x83  uint64  
	var  x84  uint64  
	x83 , x84  = bits .Add64 (x62 , x68 , uint64 (fiatScalarUint1 (x82 ))) 
	var  x85  uint64  
	var  x86  uint64  
	x85 , x86  = bits .Add64 (x64 , x69 , uint64 (fiatScalarUint1 (x84 ))) 
	x87  := (uint64 (fiatScalarUint1 (x86 )) + uint64 (fiatScalarUint1 (x65 ))) 
	var  x88  uint64  
	var  x89  uint64  
	x89 , x88  = bits .Mul64 (x2 , arg2 [3 ]) 
	var  x90  uint64  
	var  x91  uint64  
	x91 , x90  = bits .Mul64 (x2 , arg2 [2 ]) 
	var  x92  uint64  
	var  x93  uint64  
	x93 , x92  = bits .Mul64 (x2 , arg2 [1 ]) 
	var  x94  uint64  
	var  x95  uint64  
	x95 , x94  = bits .Mul64 (x2 , arg2 [0 ]) 
	var  x96  uint64  
	var  x97  uint64  
	x96 , x97  = bits .Add64 (x95 , x92 , uint64 (0x0 )) 
	var  x98  uint64  
	var  x99  uint64  
	x98 , x99  = bits .Add64 (x93 , x90 , uint64 (fiatScalarUint1 (x97 ))) 
	var  x100  uint64  
	var  x101  uint64  
	x100 , x101  = bits .Add64 (x91 , x88 , uint64 (fiatScalarUint1 (x99 ))) 
	x102  := (uint64 (fiatScalarUint1 (x101 )) + x89 ) 
	var  x103  uint64  
	var  x104  uint64  
	x103 , x104  = bits .Add64 (x79 , x94 , uint64 (0x0 )) 
	var  x105  uint64  
	var  x106  uint64  
	x105 , x106  = bits .Add64 (x81 , x96 , uint64 (fiatScalarUint1 (x104 ))) 
	var  x107  uint64  
	var  x108  uint64  
	x107 , x108  = bits .Add64 (x83 , x98 , uint64 (fiatScalarUint1 (x106 ))) 
	var  x109  uint64  
	var  x110  uint64  
	x109 , x110  = bits .Add64 (x85 , x100 , uint64 (fiatScalarUint1 (x108 ))) 
	var  x111  uint64  
	var  x112  uint64  
	x111 , x112  = bits .Add64 (x87 , x102 , uint64 (fiatScalarUint1 (x110 ))) 
	var  x113  uint64  
	_, x113  = bits .Mul64 (x103 , 0xd2b51da312547e1b ) 
	var  x115  uint64  
	var  x116  uint64  
	x116 , x115  = bits .Mul64 (x113 , 0x1000000000000000 ) 
	var  x117  uint64  
	var  x118  uint64  
	x118 , x117  = bits .Mul64 (x113 , 0x14def9dea2f79cd6 ) 
	var  x119  uint64  
	var  x120  uint64  
	x120 , x119  = bits .Mul64 (x113 , 0x5812631a5cf5d3ed ) 
	var  x121  uint64  
	var  x122  uint64  
	x121 , x122  = bits .Add64 (x120 , x117 , uint64 (0x0 )) 
	x123  := (uint64 (fiatScalarUint1 (x122 )) + x118 ) 
	var  x125  uint64  
	_, x125  = bits .Add64 (x103 , x119 , uint64 (0x0 )) 
	var  x126  uint64  
	var  x127  uint64  
	x126 , x127  = bits .Add64 (x105 , x121 , uint64 (fiatScalarUint1 (x125 ))) 
	var  x128  uint64  
	var  x129  uint64  
	x128 , x129  = bits .Add64 (x107 , x123 , uint64 (fiatScalarUint1 (x127 ))) 
	var  x130  uint64  
	var  x131  uint64  
	x130 , x131  = bits .Add64 (x109 , x115 , uint64 (fiatScalarUint1 (x129 ))) 
	var  x132  uint64  
	var  x133  uint64  
	x132 , x133  = bits .Add64 (x111 , x116 , uint64 (fiatScalarUint1 (x131 ))) 
	x134  := (uint64 (fiatScalarUint1 (x133 )) + uint64 (fiatScalarUint1 (x112 ))) 
	var  x135  uint64  
	var  x136  uint64  
	x136 , x135  = bits .Mul64 (x3 , arg2 [3 ]) 
	var  x137  uint64  
	var  x138  uint64  
	x138 , x137  = bits .Mul64 (x3 , arg2 [2 ]) 
	var  x139  uint64  
	var  x140  uint64  
	x140 , x139  = bits .Mul64 (x3 , arg2 [1 ]) 
	var  x141  uint64  
	var  x142  uint64  
	x142 , x141  = bits .Mul64 (x3 , arg2 [0 ]) 
	var  x143  uint64  
	var  x144  uint64  
	x143 , x144  = bits .Add64 (x142 , x139 , uint64 (0x0 )) 
	var  x145  uint64  
	var  x146  uint64  
	x145 , x146  = bits .Add64 (x140 , x137 , uint64 (fiatScalarUint1 (x144 ))) 
	var  x147  uint64  
	var  x148  uint64  
	x147 , x148  = bits .Add64 (x138 , x135 , uint64 (fiatScalarUint1 (x146 ))) 
	x149  := (uint64 (fiatScalarUint1 (x148 )) + x136 ) 
	var  x150  uint64  
	var  x151  uint64  
	x150 , x151  = bits .Add64 (x126 , x141 , uint64 (0x0 )) 
	var  x152  uint64  
	var  x153  uint64  
	x152 , x153  = bits .Add64 (x128 , x143 , uint64 (fiatScalarUint1 (x151 ))) 
	var  x154  uint64  
	var  x155  uint64  
	x154 , x155  = bits .Add64 (x130 , x145 , uint64 (fiatScalarUint1 (x153 ))) 
	var  x156  uint64  
	var  x157  uint64  
	x156 , x157  = bits .Add64 (x132 , x147 , uint64 (fiatScalarUint1 (x155 ))) 
	var  x158  uint64  
	var  x159  uint64  
	x158 , x159  = bits .Add64 (x134 , x149 , uint64 (fiatScalarUint1 (x157 ))) 
	var  x160  uint64  
	_, x160  = bits .Mul64 (x150 , 0xd2b51da312547e1b ) 
	var  x162  uint64  
	var  x163  uint64  
	x163 , x162  = bits .Mul64 (x160 , 0x1000000000000000 ) 
	var  x164  uint64  
	var  x165  uint64  
	x165 , x164  = bits .Mul64 (x160 , 0x14def9dea2f79cd6 ) 
	var  x166  uint64  
	var  x167  uint64  
	x167 , x166  = bits .Mul64 (x160 , 0x5812631a5cf5d3ed ) 
	var  x168  uint64  
	var  x169  uint64  
	x168 , x169  = bits .Add64 (x167 , x164 , uint64 (0x0 )) 
	x170  := (uint64 (fiatScalarUint1 (x169 )) + x165 ) 
	var  x172  uint64  
	_, x172  = bits .Add64 (x150 , x166 , uint64 (0x0 )) 
	var  x173  uint64  
	var  x174  uint64  
	x173 , x174  = bits .Add64 (x152 , x168 , uint64 (fiatScalarUint1 (x172 ))) 
	var  x175  uint64  
	var  x176  uint64  
	x175 , x176  = bits .Add64 (x154 , x170 , uint64 (fiatScalarUint1 (x174 ))) 
	var  x177  uint64  
	var  x178  uint64  
	x177 , x178  = bits .Add64 (x156 , x162 , uint64 (fiatScalarUint1 (x176 ))) 
	var  x179  uint64  
	var  x180  uint64  
	x179 , x180  = bits .Add64 (x158 , x163 , uint64 (fiatScalarUint1 (x178 ))) 
	x181  := (uint64 (fiatScalarUint1 (x180 )) + uint64 (fiatScalarUint1 (x159 ))) 
	var  x182  uint64  
	var  x183  uint64  
	x182 , x183  = bits .Sub64 (x173 , 0x5812631a5cf5d3ed , uint64 (0x0 )) 
	var  x184  uint64  
	var  x185  uint64  
	x184 , x185  = bits .Sub64 (x175 , 0x14def9dea2f79cd6 , uint64 (fiatScalarUint1 (x183 ))) 
	var  x186  uint64  
	var  x187  uint64  
	x186 , x187  = bits .Sub64 (x177 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x185 ))) 
	var  x188  uint64  
	var  x189  uint64  
	x188 , x189  = bits .Sub64 (x179 , 0x1000000000000000 , uint64 (fiatScalarUint1 (x187 ))) 
	var  x191  uint64  
	_, x191  = bits .Sub64 (x181 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x189 ))) 
	var  x192  uint64  
	fiatScalarCmovznzU64 (&x192 , fiatScalarUint1 (x191 ), x182 , x173 ) 
	var  x193  uint64  
	fiatScalarCmovznzU64 (&x193 , fiatScalarUint1 (x191 ), x184 , x175 ) 
	var  x194  uint64  
	fiatScalarCmovznzU64 (&x194 , fiatScalarUint1 (x191 ), x186 , x177 ) 
	var  x195  uint64  
	fiatScalarCmovznzU64 (&x195 , fiatScalarUint1 (x191 ), x188 , x179 ) 
	out1 [0 ] = x192  
	out1 [1 ] = x193  
	out1 [2 ] = x194  
	out1 [3 ] = x195  
} 
 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarAdd(out1  *fiatScalarMontgomeryDomainFieldElement , arg1  *fiatScalarMontgomeryDomainFieldElement , arg2  *fiatScalarMontgomeryDomainFieldElement ) { 
	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 (fiatScalarUint1 (x2 ))) 
	var  x5  uint64  
	var  x6  uint64  
	x5 , x6  = bits .Add64 (arg1 [2 ], arg2 [2 ], uint64 (fiatScalarUint1 (x4 ))) 
	var  x7  uint64  
	var  x8  uint64  
	x7 , x8  = bits .Add64 (arg1 [3 ], arg2 [3 ], uint64 (fiatScalarUint1 (x6 ))) 
	var  x9  uint64  
	var  x10  uint64  
	x9 , x10  = bits .Sub64 (x1 , 0x5812631a5cf5d3ed , uint64 (0x0 )) 
	var  x11  uint64  
	var  x12  uint64  
	x11 , x12  = bits .Sub64 (x3 , 0x14def9dea2f79cd6 , uint64 (fiatScalarUint1 (x10 ))) 
	var  x13  uint64  
	var  x14  uint64  
	x13 , x14  = bits .Sub64 (x5 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x12 ))) 
	var  x15  uint64  
	var  x16  uint64  
	x15 , x16  = bits .Sub64 (x7 , 0x1000000000000000 , uint64 (fiatScalarUint1 (x14 ))) 
	var  x18  uint64  
	_, x18  = bits .Sub64 (uint64 (fiatScalarUint1 (x8 )), uint64 (0x0 ), uint64 (fiatScalarUint1 (x16 ))) 
	var  x19  uint64  
	fiatScalarCmovznzU64 (&x19 , fiatScalarUint1 (x18 ), x9 , x1 ) 
	var  x20  uint64  
	fiatScalarCmovznzU64 (&x20 , fiatScalarUint1 (x18 ), x11 , x3 ) 
	var  x21  uint64  
	fiatScalarCmovznzU64 (&x21 , fiatScalarUint1 (x18 ), x13 , x5 ) 
	var  x22  uint64  
	fiatScalarCmovznzU64 (&x22 , fiatScalarUint1 (x18 ), x15 , x7 ) 
	out1 [0 ] = x19  
	out1 [1 ] = x20  
	out1 [2 ] = x21  
	out1 [3 ] = x22  
} 
 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarSub(out1  *fiatScalarMontgomeryDomainFieldElement , arg1  *fiatScalarMontgomeryDomainFieldElement , arg2  *fiatScalarMontgomeryDomainFieldElement ) { 
	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 (fiatScalarUint1 (x2 ))) 
	var  x5  uint64  
	var  x6  uint64  
	x5 , x6  = bits .Sub64 (arg1 [2 ], arg2 [2 ], uint64 (fiatScalarUint1 (x4 ))) 
	var  x7  uint64  
	var  x8  uint64  
	x7 , x8  = bits .Sub64 (arg1 [3 ], arg2 [3 ], uint64 (fiatScalarUint1 (x6 ))) 
	var  x9  uint64  
	fiatScalarCmovznzU64 (&x9 , fiatScalarUint1 (x8 ), uint64 (0x0 ), 0xffffffffffffffff ) 
	var  x10  uint64  
	var  x11  uint64  
	x10 , x11  = bits .Add64 (x1 , (x9  & 0x5812631a5cf5d3ed ), uint64 (0x0 )) 
	var  x12  uint64  
	var  x13  uint64  
	x12 , x13  = bits .Add64 (x3 , (x9  & 0x14def9dea2f79cd6 ), uint64 (fiatScalarUint1 (x11 ))) 
	var  x14  uint64  
	var  x15  uint64  
	x14 , x15  = bits .Add64 (x5 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x13 ))) 
	var  x16  uint64  
	x16 , _ = bits .Add64 (x7 , (x9  & 0x1000000000000000 ), uint64 (fiatScalarUint1 (x15 ))) 
	out1 [0 ] = x10  
	out1 [1 ] = x12  
	out1 [2 ] = x14  
	out1 [3 ] = x16  
} 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarOpp(out1  *fiatScalarMontgomeryDomainFieldElement , arg1  *fiatScalarMontgomeryDomainFieldElement ) { 
	var  x1  uint64  
	var  x2  uint64  
	x1 , x2  = bits .Sub64 (uint64 (0x0 ), arg1 [0 ], uint64 (0x0 )) 
	var  x3  uint64  
	var  x4  uint64  
	x3 , x4  = bits .Sub64 (uint64 (0x0 ), arg1 [1 ], uint64 (fiatScalarUint1 (x2 ))) 
	var  x5  uint64  
	var  x6  uint64  
	x5 , x6  = bits .Sub64 (uint64 (0x0 ), arg1 [2 ], uint64 (fiatScalarUint1 (x4 ))) 
	var  x7  uint64  
	var  x8  uint64  
	x7 , x8  = bits .Sub64 (uint64 (0x0 ), arg1 [3 ], uint64 (fiatScalarUint1 (x6 ))) 
	var  x9  uint64  
	fiatScalarCmovznzU64 (&x9 , fiatScalarUint1 (x8 ), uint64 (0x0 ), 0xffffffffffffffff ) 
	var  x10  uint64  
	var  x11  uint64  
	x10 , x11  = bits .Add64 (x1 , (x9  & 0x5812631a5cf5d3ed ), uint64 (0x0 )) 
	var  x12  uint64  
	var  x13  uint64  
	x12 , x13  = bits .Add64 (x3 , (x9  & 0x14def9dea2f79cd6 ), uint64 (fiatScalarUint1 (x11 ))) 
	var  x14  uint64  
	var  x15  uint64  
	x14 , x15  = bits .Add64 (x5 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x13 ))) 
	var  x16  uint64  
	x16 , _ = bits .Add64 (x7 , (x9  & 0x1000000000000000 ), uint64 (fiatScalarUint1 (x15 ))) 
	out1 [0 ] = x10  
	out1 [1 ] = x12  
	out1 [2 ] = x14  
	out1 [3 ] = x16  
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarNonzero(out1  *uint64 , arg1  *[4 ]uint64 ) { 
	x1  := (arg1 [0 ] | (arg1 [1 ] | (arg1 [2 ] | arg1 [3 ]))) 
	*out1  = x1  
} 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarFromMontgomery(out1  *fiatScalarNonMontgomeryDomainFieldElement , arg1  *fiatScalarMontgomeryDomainFieldElement ) { 
	x1  := arg1 [0 ] 
	var  x2  uint64  
	_, x2  = bits .Mul64 (x1 , 0xd2b51da312547e1b ) 
	var  x4  uint64  
	var  x5  uint64  
	x5 , x4  = bits .Mul64 (x2 , 0x1000000000000000 ) 
	var  x6  uint64  
	var  x7  uint64  
	x7 , x6  = bits .Mul64 (x2 , 0x14def9dea2f79cd6 ) 
	var  x8  uint64  
	var  x9  uint64  
	x9 , x8  = bits .Mul64 (x2 , 0x5812631a5cf5d3ed ) 
	var  x10  uint64  
	var  x11  uint64  
	x10 , x11  = bits .Add64 (x9 , x6 , uint64 (0x0 )) 
	var  x13  uint64  
	_, x13  = bits .Add64 (x1 , x8 , uint64 (0x0 )) 
	var  x14  uint64  
	var  x15  uint64  
	x14 , x15  = bits .Add64 (uint64 (0x0 ), x10 , uint64 (fiatScalarUint1 (x13 ))) 
	var  x16  uint64  
	var  x17  uint64  
	x16 , x17  = bits .Add64 (x14 , arg1 [1 ], uint64 (0x0 )) 
	var  x18  uint64  
	_, x18  = bits .Mul64 (x16 , 0xd2b51da312547e1b ) 
	var  x20  uint64  
	var  x21  uint64  
	x21 , x20  = bits .Mul64 (x18 , 0x1000000000000000 ) 
	var  x22  uint64  
	var  x23  uint64  
	x23 , x22  = bits .Mul64 (x18 , 0x14def9dea2f79cd6 ) 
	var  x24  uint64  
	var  x25  uint64  
	x25 , x24  = bits .Mul64 (x18 , 0x5812631a5cf5d3ed ) 
	var  x26  uint64  
	var  x27  uint64  
	x26 , x27  = bits .Add64 (x25 , x22 , uint64 (0x0 )) 
	var  x29  uint64  
	_, x29  = bits .Add64 (x16 , x24 , uint64 (0x0 )) 
	var  x30  uint64  
	var  x31  uint64  
	x30 , x31  = bits .Add64 ((uint64 (fiatScalarUint1 (x17 )) + (uint64 (fiatScalarUint1 (x15 )) + (uint64 (fiatScalarUint1 (x11 )) + x7 ))), x26 , uint64 (fiatScalarUint1 (x29 ))) 
	var  x32  uint64  
	var  x33  uint64  
	x32 , x33  = bits .Add64 (x4 , (uint64 (fiatScalarUint1 (x27 )) + x23 ), uint64 (fiatScalarUint1 (x31 ))) 
	var  x34  uint64  
	var  x35  uint64  
	x34 , x35  = bits .Add64 (x5 , x20 , uint64 (fiatScalarUint1 (x33 ))) 
	var  x36  uint64  
	var  x37  uint64  
	x36 , x37  = bits .Add64 (x30 , arg1 [2 ], uint64 (0x0 )) 
	var  x38  uint64  
	var  x39  uint64  
	x38 , x39  = bits .Add64 (x32 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x37 ))) 
	var  x40  uint64  
	var  x41  uint64  
	x40 , x41  = bits .Add64 (x34 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x39 ))) 
	var  x42  uint64  
	_, x42  = bits .Mul64 (x36 , 0xd2b51da312547e1b ) 
	var  x44  uint64  
	var  x45  uint64  
	x45 , x44  = bits .Mul64 (x42 , 0x1000000000000000 ) 
	var  x46  uint64  
	var  x47  uint64  
	x47 , x46  = bits .Mul64 (x42 , 0x14def9dea2f79cd6 ) 
	var  x48  uint64  
	var  x49  uint64  
	x49 , x48  = bits .Mul64 (x42 , 0x5812631a5cf5d3ed ) 
	var  x50  uint64  
	var  x51  uint64  
	x50 , x51  = bits .Add64 (x49 , x46 , uint64 (0x0 )) 
	var  x53  uint64  
	_, x53  = bits .Add64 (x36 , x48 , uint64 (0x0 )) 
	var  x54  uint64  
	var  x55  uint64  
	x54 , x55  = bits .Add64 (x38 , x50 , uint64 (fiatScalarUint1 (x53 ))) 
	var  x56  uint64  
	var  x57  uint64  
	x56 , x57  = bits .Add64 (x40 , (uint64 (fiatScalarUint1 (x51 )) + x47 ), uint64 (fiatScalarUint1 (x55 ))) 
	var  x58  uint64  
	var  x59  uint64  
	x58 , x59  = bits .Add64 ((uint64 (fiatScalarUint1 (x41 )) + (uint64 (fiatScalarUint1 (x35 )) + x21 )), x44 , uint64 (fiatScalarUint1 (x57 ))) 
	var  x60  uint64  
	var  x61  uint64  
	x60 , x61  = bits .Add64 (x54 , arg1 [3 ], uint64 (0x0 )) 
	var  x62  uint64  
	var  x63  uint64  
	x62 , x63  = bits .Add64 (x56 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x61 ))) 
	var  x64  uint64  
	var  x65  uint64  
	x64 , x65  = bits .Add64 (x58 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x63 ))) 
	var  x66  uint64  
	_, x66  = bits .Mul64 (x60 , 0xd2b51da312547e1b ) 
	var  x68  uint64  
	var  x69  uint64  
	x69 , x68  = bits .Mul64 (x66 , 0x1000000000000000 ) 
	var  x70  uint64  
	var  x71  uint64  
	x71 , x70  = bits .Mul64 (x66 , 0x14def9dea2f79cd6 ) 
	var  x72  uint64  
	var  x73  uint64  
	x73 , x72  = bits .Mul64 (x66 , 0x5812631a5cf5d3ed ) 
	var  x74  uint64  
	var  x75  uint64  
	x74 , x75  = bits .Add64 (x73 , x70 , uint64 (0x0 )) 
	var  x77  uint64  
	_, x77  = bits .Add64 (x60 , x72 , uint64 (0x0 )) 
	var  x78  uint64  
	var  x79  uint64  
	x78 , x79  = bits .Add64 (x62 , x74 , uint64 (fiatScalarUint1 (x77 ))) 
	var  x80  uint64  
	var  x81  uint64  
	x80 , x81  = bits .Add64 (x64 , (uint64 (fiatScalarUint1 (x75 )) + x71 ), uint64 (fiatScalarUint1 (x79 ))) 
	var  x82  uint64  
	var  x83  uint64  
	x82 , x83  = bits .Add64 ((uint64 (fiatScalarUint1 (x65 )) + (uint64 (fiatScalarUint1 (x59 )) + x45 )), x68 , uint64 (fiatScalarUint1 (x81 ))) 
	x84  := (uint64 (fiatScalarUint1 (x83 )) + x69 ) 
	var  x85  uint64  
	var  x86  uint64  
	x85 , x86  = bits .Sub64 (x78 , 0x5812631a5cf5d3ed , uint64 (0x0 )) 
	var  x87  uint64  
	var  x88  uint64  
	x87 , x88  = bits .Sub64 (x80 , 0x14def9dea2f79cd6 , uint64 (fiatScalarUint1 (x86 ))) 
	var  x89  uint64  
	var  x90  uint64  
	x89 , x90  = bits .Sub64 (x82 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x88 ))) 
	var  x91  uint64  
	var  x92  uint64  
	x91 , x92  = bits .Sub64 (x84 , 0x1000000000000000 , uint64 (fiatScalarUint1 (x90 ))) 
	var  x94  uint64  
	_, x94  = bits .Sub64 (uint64 (0x0 ), uint64 (0x0 ), uint64 (fiatScalarUint1 (x92 ))) 
	var  x95  uint64  
	fiatScalarCmovznzU64 (&x95 , fiatScalarUint1 (x94 ), x85 , x78 ) 
	var  x96  uint64  
	fiatScalarCmovznzU64 (&x96 , fiatScalarUint1 (x94 ), x87 , x80 ) 
	var  x97  uint64  
	fiatScalarCmovznzU64 (&x97 , fiatScalarUint1 (x94 ), x89 , x82 ) 
	var  x98  uint64  
	fiatScalarCmovznzU64 (&x98 , fiatScalarUint1 (x94 ), x91 , x84 ) 
	out1 [0 ] = x95  
	out1 [1 ] = x96  
	out1 [2 ] = x97  
	out1 [3 ] = x98  
} 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarToMontgomery(out1  *fiatScalarMontgomeryDomainFieldElement , arg1  *fiatScalarNonMontgomeryDomainFieldElement ) { 
	x1  := arg1 [1 ] 
	x2  := arg1 [2 ] 
	x3  := arg1 [3 ] 
	x4  := arg1 [0 ] 
	var  x5  uint64  
	var  x6  uint64  
	x6 , x5  = bits .Mul64 (x4 , 0x399411b7c309a3d ) 
	var  x7  uint64  
	var  x8  uint64  
	x8 , x7  = bits .Mul64 (x4 , 0xceec73d217f5be65 ) 
	var  x9  uint64  
	var  x10  uint64  
	x10 , x9  = bits .Mul64 (x4 , 0xd00e1ba768859347 ) 
	var  x11  uint64  
	var  x12  uint64  
	x12 , x11  = bits .Mul64 (x4 , 0xa40611e3449c0f01 ) 
	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 (fiatScalarUint1 (x14 ))) 
	var  x17  uint64  
	var  x18  uint64  
	x17 , x18  = bits .Add64 (x8 , x5 , uint64 (fiatScalarUint1 (x16 ))) 
	var  x19  uint64  
	_, x19  = bits .Mul64 (x11 , 0xd2b51da312547e1b ) 
	var  x21  uint64  
	var  x22  uint64  
	x22 , x21  = bits .Mul64 (x19 , 0x1000000000000000 ) 
	var  x23  uint64  
	var  x24  uint64  
	x24 , x23  = bits .Mul64 (x19 , 0x14def9dea2f79cd6 ) 
	var  x25  uint64  
	var  x26  uint64  
	x26 , x25  = bits .Mul64 (x19 , 0x5812631a5cf5d3ed ) 
	var  x27  uint64  
	var  x28  uint64  
	x27 , x28  = bits .Add64 (x26 , x23 , uint64 (0x0 )) 
	var  x30  uint64  
	_, x30  = bits .Add64 (x11 , x25 , uint64 (0x0 )) 
	var  x31  uint64  
	var  x32  uint64  
	x31 , x32  = bits .Add64 (x13 , x27 , uint64 (fiatScalarUint1 (x30 ))) 
	var  x33  uint64  
	var  x34  uint64  
	x33 , x34  = bits .Add64 (x15 , (uint64 (fiatScalarUint1 (x28 )) + x24 ), uint64 (fiatScalarUint1 (x32 ))) 
	var  x35  uint64  
	var  x36  uint64  
	x35 , x36  = bits .Add64 (x17 , x21 , uint64 (fiatScalarUint1 (x34 ))) 
	var  x37  uint64  
	var  x38  uint64  
	x38 , x37  = bits .Mul64 (x1 , 0x399411b7c309a3d ) 
	var  x39  uint64  
	var  x40  uint64  
	x40 , x39  = bits .Mul64 (x1 , 0xceec73d217f5be65 ) 
	var  x41  uint64  
	var  x42  uint64  
	x42 , x41  = bits .Mul64 (x1 , 0xd00e1ba768859347 ) 
	var  x43  uint64  
	var  x44  uint64  
	x44 , x43  = bits .Mul64 (x1 , 0xa40611e3449c0f01 ) 
	var  x45  uint64  
	var  x46  uint64  
	x45 , x46  = bits .Add64 (x44 , x41 , uint64 (0x0 )) 
	var  x47  uint64  
	var  x48  uint64  
	x47 , x48  = bits .Add64 (x42 , x39 , uint64 (fiatScalarUint1 (x46 ))) 
	var  x49  uint64  
	var  x50  uint64  
	x49 , x50  = bits .Add64 (x40 , x37 , uint64 (fiatScalarUint1 (x48 ))) 
	var  x51  uint64  
	var  x52  uint64  
	x51 , x52  = bits .Add64 (x31 , x43 , uint64 (0x0 )) 
	var  x53  uint64  
	var  x54  uint64  
	x53 , x54  = bits .Add64 (x33 , x45 , uint64 (fiatScalarUint1 (x52 ))) 
	var  x55  uint64  
	var  x56  uint64  
	x55 , x56  = bits .Add64 (x35 , x47 , uint64 (fiatScalarUint1 (x54 ))) 
	var  x57  uint64  
	var  x58  uint64  
	x57 , x58  = bits .Add64 (((uint64 (fiatScalarUint1 (x36 )) + (uint64 (fiatScalarUint1 (x18 )) + x6 )) + x22 ), x49 , uint64 (fiatScalarUint1 (x56 ))) 
	var  x59  uint64  
	_, x59  = bits .Mul64 (x51 , 0xd2b51da312547e1b ) 
	var  x61  uint64  
	var  x62  uint64  
	x62 , x61  = bits .Mul64 (x59 , 0x1000000000000000 ) 
	var  x63  uint64  
	var  x64  uint64  
	x64 , x63  = bits .Mul64 (x59 , 0x14def9dea2f79cd6 ) 
	var  x65  uint64  
	var  x66  uint64  
	x66 , x65  = bits .Mul64 (x59 , 0x5812631a5cf5d3ed ) 
	var  x67  uint64  
	var  x68  uint64  
	x67 , x68  = bits .Add64 (x66 , x63 , uint64 (0x0 )) 
	var  x70  uint64  
	_, x70  = bits .Add64 (x51 , x65 , uint64 (0x0 )) 
	var  x71  uint64  
	var  x72  uint64  
	x71 , x72  = bits .Add64 (x53 , x67 , uint64 (fiatScalarUint1 (x70 ))) 
	var  x73  uint64  
	var  x74  uint64  
	x73 , x74  = bits .Add64 (x55 , (uint64 (fiatScalarUint1 (x68 )) + x64 ), uint64 (fiatScalarUint1 (x72 ))) 
	var  x75  uint64  
	var  x76  uint64  
	x75 , x76  = bits .Add64 (x57 , x61 , uint64 (fiatScalarUint1 (x74 ))) 
	var  x77  uint64  
	var  x78  uint64  
	x78 , x77  = bits .Mul64 (x2 , 0x399411b7c309a3d ) 
	var  x79  uint64  
	var  x80  uint64  
	x80 , x79  = bits .Mul64 (x2 , 0xceec73d217f5be65 ) 
	var  x81  uint64  
	var  x82  uint64  
	x82 , x81  = bits .Mul64 (x2 , 0xd00e1ba768859347 ) 
	var  x83  uint64  
	var  x84  uint64  
	x84 , x83  = bits .Mul64 (x2 , 0xa40611e3449c0f01 ) 
	var  x85  uint64  
	var  x86  uint64  
	x85 , x86  = bits .Add64 (x84 , x81 , uint64 (0x0 )) 
	var  x87  uint64  
	var  x88  uint64  
	x87 , x88  = bits .Add64 (x82 , x79 , uint64 (fiatScalarUint1 (x86 ))) 
	var  x89  uint64  
	var  x90  uint64  
	x89 , x90  = bits .Add64 (x80 , x77 , uint64 (fiatScalarUint1 (x88 ))) 
	var  x91  uint64  
	var  x92  uint64  
	x91 , x92  = bits .Add64 (x71 , x83 , uint64 (0x0 )) 
	var  x93  uint64  
	var  x94  uint64  
	x93 , x94  = bits .Add64 (x73 , x85 , uint64 (fiatScalarUint1 (x92 ))) 
	var  x95  uint64  
	var  x96  uint64  
	x95 , x96  = bits .Add64 (x75 , x87 , uint64 (fiatScalarUint1 (x94 ))) 
	var  x97  uint64  
	var  x98  uint64  
	x97 , x98  = bits .Add64 (((uint64 (fiatScalarUint1 (x76 )) + (uint64 (fiatScalarUint1 (x58 )) + (uint64 (fiatScalarUint1 (x50 )) + x38 ))) + x62 ), x89 , uint64 (fiatScalarUint1 (x96 ))) 
	var  x99  uint64  
	_, x99  = bits .Mul64 (x91 , 0xd2b51da312547e1b ) 
	var  x101  uint64  
	var  x102  uint64  
	x102 , x101  = bits .Mul64 (x99 , 0x1000000000000000 ) 
	var  x103  uint64  
	var  x104  uint64  
	x104 , x103  = bits .Mul64 (x99 , 0x14def9dea2f79cd6 ) 
	var  x105  uint64  
	var  x106  uint64  
	x106 , x105  = bits .Mul64 (x99 , 0x5812631a5cf5d3ed ) 
	var  x107  uint64  
	var  x108  uint64  
	x107 , x108  = bits .Add64 (x106 , x103 , uint64 (0x0 )) 
	var  x110  uint64  
	_, x110  = bits .Add64 (x91 , x105 , uint64 (0x0 )) 
	var  x111  uint64  
	var  x112  uint64  
	x111 , x112  = bits .Add64 (x93 , x107 , uint64 (fiatScalarUint1 (x110 ))) 
	var  x113  uint64  
	var  x114  uint64  
	x113 , x114  = bits .Add64 (x95 , (uint64 (fiatScalarUint1 (x108 )) + x104 ), uint64 (fiatScalarUint1 (x112 ))) 
	var  x115  uint64  
	var  x116  uint64  
	x115 , x116  = bits .Add64 (x97 , x101 , uint64 (fiatScalarUint1 (x114 ))) 
	var  x117  uint64  
	var  x118  uint64  
	x118 , x117  = bits .Mul64 (x3 , 0x399411b7c309a3d ) 
	var  x119  uint64  
	var  x120  uint64  
	x120 , x119  = bits .Mul64 (x3 , 0xceec73d217f5be65 ) 
	var  x121  uint64  
	var  x122  uint64  
	x122 , x121  = bits .Mul64 (x3 , 0xd00e1ba768859347 ) 
	var  x123  uint64  
	var  x124  uint64  
	x124 , x123  = bits .Mul64 (x3 , 0xa40611e3449c0f01 ) 
	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 (fiatScalarUint1 (x126 ))) 
	var  x129  uint64  
	var  x130  uint64  
	x129 , x130  = bits .Add64 (x120 , x117 , uint64 (fiatScalarUint1 (x128 ))) 
	var  x131  uint64  
	var  x132  uint64  
	x131 , x132  = bits .Add64 (x111 , x123 , uint64 (0x0 )) 
	var  x133  uint64  
	var  x134  uint64  
	x133 , x134  = bits .Add64 (x113 , x125 , uint64 (fiatScalarUint1 (x132 ))) 
	var  x135  uint64  
	var  x136  uint64  
	x135 , x136  = bits .Add64 (x115 , x127 , uint64 (fiatScalarUint1 (x134 ))) 
	var  x137  uint64  
	var  x138  uint64  
	x137 , x138  = bits .Add64 (((uint64 (fiatScalarUint1 (x116 )) + (uint64 (fiatScalarUint1 (x98 )) + (uint64 (fiatScalarUint1 (x90 )) + x78 ))) + x102 ), x129 , uint64 (fiatScalarUint1 (x136 ))) 
	var  x139  uint64  
	_, x139  = bits .Mul64 (x131 , 0xd2b51da312547e1b ) 
	var  x141  uint64  
	var  x142  uint64  
	x142 , x141  = bits .Mul64 (x139 , 0x1000000000000000 ) 
	var  x143  uint64  
	var  x144  uint64  
	x144 , x143  = bits .Mul64 (x139 , 0x14def9dea2f79cd6 ) 
	var  x145  uint64  
	var  x146  uint64  
	x146 , x145  = bits .Mul64 (x139 , 0x5812631a5cf5d3ed ) 
	var  x147  uint64  
	var  x148  uint64  
	x147 , x148  = bits .Add64 (x146 , x143 , uint64 (0x0 )) 
	var  x150  uint64  
	_, x150  = bits .Add64 (x131 , x145 , uint64 (0x0 )) 
	var  x151  uint64  
	var  x152  uint64  
	x151 , x152  = bits .Add64 (x133 , x147 , uint64 (fiatScalarUint1 (x150 ))) 
	var  x153  uint64  
	var  x154  uint64  
	x153 , x154  = bits .Add64 (x135 , (uint64 (fiatScalarUint1 (x148 )) + x144 ), uint64 (fiatScalarUint1 (x152 ))) 
	var  x155  uint64  
	var  x156  uint64  
	x155 , x156  = bits .Add64 (x137 , x141 , uint64 (fiatScalarUint1 (x154 ))) 
	x157  := ((uint64 (fiatScalarUint1 (x156 )) + (uint64 (fiatScalarUint1 (x138 )) + (uint64 (fiatScalarUint1 (x130 )) + x118 ))) + x142 ) 
	var  x158  uint64  
	var  x159  uint64  
	x158 , x159  = bits .Sub64 (x151 , 0x5812631a5cf5d3ed , uint64 (0x0 )) 
	var  x160  uint64  
	var  x161  uint64  
	x160 , x161  = bits .Sub64 (x153 , 0x14def9dea2f79cd6 , uint64 (fiatScalarUint1 (x159 ))) 
	var  x162  uint64  
	var  x163  uint64  
	x162 , x163  = bits .Sub64 (x155 , uint64 (0x0 ), uint64 (fiatScalarUint1 (x161 ))) 
	var  x164  uint64  
	var  x165  uint64  
	x164 , x165  = bits .Sub64 (x157 , 0x1000000000000000 , uint64 (fiatScalarUint1 (x163 ))) 
	var  x167  uint64  
	_, x167  = bits .Sub64 (uint64 (0x0 ), uint64 (0x0 ), uint64 (fiatScalarUint1 (x165 ))) 
	var  x168  uint64  
	fiatScalarCmovznzU64 (&x168 , fiatScalarUint1 (x167 ), x158 , x151 ) 
	var  x169  uint64  
	fiatScalarCmovznzU64 (&x169 , fiatScalarUint1 (x167 ), x160 , x153 ) 
	var  x170  uint64  
	fiatScalarCmovznzU64 (&x170 , fiatScalarUint1 (x167 ), x162 , x155 ) 
	var  x171  uint64  
	fiatScalarCmovznzU64 (&x171 , fiatScalarUint1 (x167 ), x164 , x157 ) 
	out1 [0 ] = x168  
	out1 [1 ] = x169  
	out1 [2 ] = x170  
	out1 [3 ] = x171  
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarToBytes(out1  *[32 ]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  := (x50  >> 8 ) 
	x53  := (uint8 (x52 ) & 0xff ) 
	x54  := (x52  >> 8 ) 
	x55  := (uint8 (x54 ) & 0xff ) 
	x56  := (x54  >> 8 ) 
	x57  := (uint8 (x56 ) & 0xff ) 
	x58  := (x56  >> 8 ) 
	x59  := (uint8 (x58 ) & 0xff ) 
	x60  := uint8 ((x58  >> 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 ] = x53  
	out1 [28 ] = x55  
	out1 [29 ] = x57  
	out1 [30 ] = x59  
	out1 [31 ] = x60  
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
func  fiatScalarFromBytes(out1  *[4 ]uint64 , arg1  *[32 ]uint8 ) { 
	x1  := (uint64 (arg1 [31 ]) << 56 ) 
	x2  := (uint64 (arg1 [30 ]) << 48 ) 
	x3  := (uint64 (arg1 [29 ]) << 40 ) 
	x4  := (uint64 (arg1 [28 ]) << 32 ) 
	x5  := (uint64 (arg1 [27 ]) << 24 ) 
	x6  := (uint64 (arg1 [26 ]) << 16 ) 
	x7  := (uint64 (arg1 [25 ]) << 8 ) 
	x8  := arg1 [24 ] 
	x9  := (uint64 (arg1 [23 ]) << 56 ) 
	x10  := (uint64 (arg1 [22 ]) << 48 ) 
	x11  := (uint64 (arg1 [21 ]) << 40 ) 
	x12  := (uint64 (arg1 [20 ]) << 32 ) 
	x13  := (uint64 (arg1 [19 ]) << 24 ) 
	x14  := (uint64 (arg1 [18 ]) << 16 ) 
	x15  := (uint64 (arg1 [17 ]) << 8 ) 
	x16  := arg1 [16 ] 
	x17  := (uint64 (arg1 [15 ]) << 56 ) 
	x18  := (uint64 (arg1 [14 ]) << 48 ) 
	x19  := (uint64 (arg1 [13 ]) << 40 ) 
	x20  := (uint64 (arg1 [12 ]) << 32 ) 
	x21  := (uint64 (arg1 [11 ]) << 24 ) 
	x22  := (uint64 (arg1 [10 ]) << 16 ) 
	x23  := (uint64 (arg1 [9 ]) << 8 ) 
	x24  := arg1 [8 ] 
	x25  := (uint64 (arg1 [7 ]) << 56 ) 
	x26  := (uint64 (arg1 [6 ]) << 48 ) 
	x27  := (uint64 (arg1 [5 ]) << 40 ) 
	x28  := (uint64 (arg1 [4 ]) << 32 ) 
	x29  := (uint64 (arg1 [3 ]) << 24 ) 
	x30  := (uint64 (arg1 [2 ]) << 16 ) 
	x31  := (uint64 (arg1 [1 ]) << 8 ) 
	x32  := arg1 [0 ] 
	x33  := (x31  + uint64 (x32 )) 
	x34  := (x30  + x33 ) 
	x35  := (x29  + x34 ) 
	x36  := (x28  + x35 ) 
	x37  := (x27  + x36 ) 
	x38  := (x26  + x37 ) 
	x39  := (x25  + x38 ) 
	x40  := (x23  + uint64 (x24 )) 
	x41  := (x22  + x40 ) 
	x42  := (x21  + x41 ) 
	x43  := (x20  + x42 ) 
	x44  := (x19  + x43 ) 
	x45  := (x18  + x44 ) 
	x46  := (x17  + x45 ) 
	x47  := (x15  + uint64 (x16 )) 
	x48  := (x14  + x47 ) 
	x49  := (x13  + x48 ) 
	x50  := (x12  + x49 ) 
	x51  := (x11  + x50 ) 
	x52  := (x10  + x51 ) 
	x53  := (x9  + x52 ) 
	x54  := (x7  + uint64 (x8 )) 
	x55  := (x6  + x54 ) 
	x56  := (x5  + x55 ) 
	x57  := (x4  + x56 ) 
	x58  := (x3  + x57 ) 
	x59  := (x2  + x58 ) 
	x60  := (x1  + x59 ) 
	out1 [0 ] = x39  
	out1 [1 ] = x46  
	out1 [2 ] = x53  
	out1 [3 ] = x60  
} 
  
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 .