Files
linea-monorepo/prover/crypto/ringsis/ringsis_64_8/partial_fft.go
Lakshminarayanan Nandakumar 8ddd4c1d3d Prover/wizard performance monitor (#768)
* wizard runtime perf monitor

* ring-sis before revert

* sanity check successful

* rm test config file
2025-03-12 08:43:31 +00:00

1147 lines
36 KiB
Go

// Code generated by bavard DO NOT EDIT
package ringsis_64_8
import (
"github.com/consensys/linea-monorepo/prover/maths/field"
)
var partialFFT = []func(a, twiddles []field.Element){
partialFFT_0,
partialFFT_1,
partialFFT_2,
partialFFT_3,
}
func partialFFT_0(a, twiddles []field.Element) {
}
func partialFFT_1(a, twiddles []field.Element) {
field.Butterfly(&a[0], &a[32])
field.Butterfly(&a[1], &a[33])
field.Butterfly(&a[2], &a[34])
field.Butterfly(&a[3], &a[35])
field.Butterfly(&a[4], &a[36])
field.Butterfly(&a[5], &a[37])
field.Butterfly(&a[6], &a[38])
field.Butterfly(&a[7], &a[39])
field.Butterfly(&a[8], &a[40])
field.Butterfly(&a[9], &a[41])
field.Butterfly(&a[10], &a[42])
field.Butterfly(&a[11], &a[43])
field.Butterfly(&a[12], &a[44])
field.Butterfly(&a[13], &a[45])
field.Butterfly(&a[14], &a[46])
field.Butterfly(&a[15], &a[47])
field.Butterfly(&a[16], &a[48])
field.Butterfly(&a[17], &a[49])
field.Butterfly(&a[18], &a[50])
field.Butterfly(&a[19], &a[51])
field.Butterfly(&a[20], &a[52])
field.Butterfly(&a[21], &a[53])
field.Butterfly(&a[22], &a[54])
field.Butterfly(&a[23], &a[55])
field.Butterfly(&a[24], &a[56])
field.Butterfly(&a[25], &a[57])
field.Butterfly(&a[26], &a[58])
field.Butterfly(&a[27], &a[59])
field.Butterfly(&a[28], &a[60])
field.Butterfly(&a[29], &a[61])
field.Butterfly(&a[30], &a[62])
field.Butterfly(&a[31], &a[63])
a[16].Mul(&a[16], &twiddles[1])
a[17].Mul(&a[17], &twiddles[1])
a[18].Mul(&a[18], &twiddles[1])
a[19].Mul(&a[19], &twiddles[1])
a[20].Mul(&a[20], &twiddles[1])
a[21].Mul(&a[21], &twiddles[1])
a[22].Mul(&a[22], &twiddles[1])
a[23].Mul(&a[23], &twiddles[1])
a[24].Mul(&a[24], &twiddles[1])
a[25].Mul(&a[25], &twiddles[1])
a[26].Mul(&a[26], &twiddles[1])
a[27].Mul(&a[27], &twiddles[1])
a[28].Mul(&a[28], &twiddles[1])
a[29].Mul(&a[29], &twiddles[1])
a[30].Mul(&a[30], &twiddles[1])
a[31].Mul(&a[31], &twiddles[1])
a[48].Mul(&a[48], &twiddles[2])
a[49].Mul(&a[49], &twiddles[2])
a[50].Mul(&a[50], &twiddles[2])
a[51].Mul(&a[51], &twiddles[2])
a[52].Mul(&a[52], &twiddles[2])
a[53].Mul(&a[53], &twiddles[2])
a[54].Mul(&a[54], &twiddles[2])
a[55].Mul(&a[55], &twiddles[2])
a[56].Mul(&a[56], &twiddles[2])
a[57].Mul(&a[57], &twiddles[2])
a[58].Mul(&a[58], &twiddles[2])
a[59].Mul(&a[59], &twiddles[2])
a[60].Mul(&a[60], &twiddles[2])
a[61].Mul(&a[61], &twiddles[2])
a[62].Mul(&a[62], &twiddles[2])
a[63].Mul(&a[63], &twiddles[2])
field.Butterfly(&a[0], &a[16])
field.Butterfly(&a[1], &a[17])
field.Butterfly(&a[2], &a[18])
field.Butterfly(&a[3], &a[19])
field.Butterfly(&a[4], &a[20])
field.Butterfly(&a[5], &a[21])
field.Butterfly(&a[6], &a[22])
field.Butterfly(&a[7], &a[23])
field.Butterfly(&a[8], &a[24])
field.Butterfly(&a[9], &a[25])
field.Butterfly(&a[10], &a[26])
field.Butterfly(&a[11], &a[27])
field.Butterfly(&a[12], &a[28])
field.Butterfly(&a[13], &a[29])
field.Butterfly(&a[14], &a[30])
field.Butterfly(&a[15], &a[31])
field.Butterfly(&a[32], &a[48])
field.Butterfly(&a[33], &a[49])
field.Butterfly(&a[34], &a[50])
field.Butterfly(&a[35], &a[51])
field.Butterfly(&a[36], &a[52])
field.Butterfly(&a[37], &a[53])
field.Butterfly(&a[38], &a[54])
field.Butterfly(&a[39], &a[55])
field.Butterfly(&a[40], &a[56])
field.Butterfly(&a[41], &a[57])
field.Butterfly(&a[42], &a[58])
field.Butterfly(&a[43], &a[59])
field.Butterfly(&a[44], &a[60])
field.Butterfly(&a[45], &a[61])
field.Butterfly(&a[46], &a[62])
field.Butterfly(&a[47], &a[63])
a[8].Mul(&a[8], &twiddles[3])
a[9].Mul(&a[9], &twiddles[3])
a[10].Mul(&a[10], &twiddles[3])
a[11].Mul(&a[11], &twiddles[3])
a[12].Mul(&a[12], &twiddles[3])
a[13].Mul(&a[13], &twiddles[3])
a[14].Mul(&a[14], &twiddles[3])
a[15].Mul(&a[15], &twiddles[3])
a[24].Mul(&a[24], &twiddles[4])
a[25].Mul(&a[25], &twiddles[4])
a[26].Mul(&a[26], &twiddles[4])
a[27].Mul(&a[27], &twiddles[4])
a[28].Mul(&a[28], &twiddles[4])
a[29].Mul(&a[29], &twiddles[4])
a[30].Mul(&a[30], &twiddles[4])
a[31].Mul(&a[31], &twiddles[4])
a[40].Mul(&a[40], &twiddles[5])
a[41].Mul(&a[41], &twiddles[5])
a[42].Mul(&a[42], &twiddles[5])
a[43].Mul(&a[43], &twiddles[5])
a[44].Mul(&a[44], &twiddles[5])
a[45].Mul(&a[45], &twiddles[5])
a[46].Mul(&a[46], &twiddles[5])
a[47].Mul(&a[47], &twiddles[5])
a[56].Mul(&a[56], &twiddles[6])
a[57].Mul(&a[57], &twiddles[6])
a[58].Mul(&a[58], &twiddles[6])
a[59].Mul(&a[59], &twiddles[6])
a[60].Mul(&a[60], &twiddles[6])
a[61].Mul(&a[61], &twiddles[6])
a[62].Mul(&a[62], &twiddles[6])
a[63].Mul(&a[63], &twiddles[6])
field.Butterfly(&a[0], &a[8])
field.Butterfly(&a[1], &a[9])
field.Butterfly(&a[2], &a[10])
field.Butterfly(&a[3], &a[11])
field.Butterfly(&a[4], &a[12])
field.Butterfly(&a[5], &a[13])
field.Butterfly(&a[6], &a[14])
field.Butterfly(&a[7], &a[15])
field.Butterfly(&a[16], &a[24])
field.Butterfly(&a[17], &a[25])
field.Butterfly(&a[18], &a[26])
field.Butterfly(&a[19], &a[27])
field.Butterfly(&a[20], &a[28])
field.Butterfly(&a[21], &a[29])
field.Butterfly(&a[22], &a[30])
field.Butterfly(&a[23], &a[31])
field.Butterfly(&a[32], &a[40])
field.Butterfly(&a[33], &a[41])
field.Butterfly(&a[34], &a[42])
field.Butterfly(&a[35], &a[43])
field.Butterfly(&a[36], &a[44])
field.Butterfly(&a[37], &a[45])
field.Butterfly(&a[38], &a[46])
field.Butterfly(&a[39], &a[47])
field.Butterfly(&a[48], &a[56])
field.Butterfly(&a[49], &a[57])
field.Butterfly(&a[50], &a[58])
field.Butterfly(&a[51], &a[59])
field.Butterfly(&a[52], &a[60])
field.Butterfly(&a[53], &a[61])
field.Butterfly(&a[54], &a[62])
field.Butterfly(&a[55], &a[63])
a[4].Mul(&a[4], &twiddles[7])
a[5].Mul(&a[5], &twiddles[7])
a[6].Mul(&a[6], &twiddles[7])
a[7].Mul(&a[7], &twiddles[7])
a[12].Mul(&a[12], &twiddles[8])
a[13].Mul(&a[13], &twiddles[8])
a[14].Mul(&a[14], &twiddles[8])
a[15].Mul(&a[15], &twiddles[8])
a[20].Mul(&a[20], &twiddles[9])
a[21].Mul(&a[21], &twiddles[9])
a[22].Mul(&a[22], &twiddles[9])
a[23].Mul(&a[23], &twiddles[9])
a[28].Mul(&a[28], &twiddles[10])
a[29].Mul(&a[29], &twiddles[10])
a[30].Mul(&a[30], &twiddles[10])
a[31].Mul(&a[31], &twiddles[10])
a[36].Mul(&a[36], &twiddles[11])
a[37].Mul(&a[37], &twiddles[11])
a[38].Mul(&a[38], &twiddles[11])
a[39].Mul(&a[39], &twiddles[11])
a[44].Mul(&a[44], &twiddles[12])
a[45].Mul(&a[45], &twiddles[12])
a[46].Mul(&a[46], &twiddles[12])
a[47].Mul(&a[47], &twiddles[12])
a[52].Mul(&a[52], &twiddles[13])
a[53].Mul(&a[53], &twiddles[13])
a[54].Mul(&a[54], &twiddles[13])
a[55].Mul(&a[55], &twiddles[13])
a[60].Mul(&a[60], &twiddles[14])
a[61].Mul(&a[61], &twiddles[14])
a[62].Mul(&a[62], &twiddles[14])
a[63].Mul(&a[63], &twiddles[14])
field.Butterfly(&a[0], &a[4])
field.Butterfly(&a[1], &a[5])
field.Butterfly(&a[2], &a[6])
field.Butterfly(&a[3], &a[7])
field.Butterfly(&a[8], &a[12])
field.Butterfly(&a[9], &a[13])
field.Butterfly(&a[10], &a[14])
field.Butterfly(&a[11], &a[15])
field.Butterfly(&a[16], &a[20])
field.Butterfly(&a[17], &a[21])
field.Butterfly(&a[18], &a[22])
field.Butterfly(&a[19], &a[23])
field.Butterfly(&a[24], &a[28])
field.Butterfly(&a[25], &a[29])
field.Butterfly(&a[26], &a[30])
field.Butterfly(&a[27], &a[31])
field.Butterfly(&a[32], &a[36])
field.Butterfly(&a[33], &a[37])
field.Butterfly(&a[34], &a[38])
field.Butterfly(&a[35], &a[39])
field.Butterfly(&a[40], &a[44])
field.Butterfly(&a[41], &a[45])
field.Butterfly(&a[42], &a[46])
field.Butterfly(&a[43], &a[47])
field.Butterfly(&a[48], &a[52])
field.Butterfly(&a[49], &a[53])
field.Butterfly(&a[50], &a[54])
field.Butterfly(&a[51], &a[55])
field.Butterfly(&a[56], &a[60])
field.Butterfly(&a[57], &a[61])
field.Butterfly(&a[58], &a[62])
field.Butterfly(&a[59], &a[63])
a[2].Mul(&a[2], &twiddles[15])
a[3].Mul(&a[3], &twiddles[15])
a[6].Mul(&a[6], &twiddles[16])
a[7].Mul(&a[7], &twiddles[16])
a[10].Mul(&a[10], &twiddles[17])
a[11].Mul(&a[11], &twiddles[17])
a[14].Mul(&a[14], &twiddles[18])
a[15].Mul(&a[15], &twiddles[18])
a[18].Mul(&a[18], &twiddles[19])
a[19].Mul(&a[19], &twiddles[19])
a[22].Mul(&a[22], &twiddles[20])
a[23].Mul(&a[23], &twiddles[20])
a[26].Mul(&a[26], &twiddles[21])
a[27].Mul(&a[27], &twiddles[21])
a[30].Mul(&a[30], &twiddles[22])
a[31].Mul(&a[31], &twiddles[22])
a[34].Mul(&a[34], &twiddles[23])
a[35].Mul(&a[35], &twiddles[23])
a[38].Mul(&a[38], &twiddles[24])
a[39].Mul(&a[39], &twiddles[24])
a[42].Mul(&a[42], &twiddles[25])
a[43].Mul(&a[43], &twiddles[25])
a[46].Mul(&a[46], &twiddles[26])
a[47].Mul(&a[47], &twiddles[26])
a[50].Mul(&a[50], &twiddles[27])
a[51].Mul(&a[51], &twiddles[27])
a[54].Mul(&a[54], &twiddles[28])
a[55].Mul(&a[55], &twiddles[28])
a[58].Mul(&a[58], &twiddles[29])
a[59].Mul(&a[59], &twiddles[29])
a[62].Mul(&a[62], &twiddles[30])
a[63].Mul(&a[63], &twiddles[30])
field.Butterfly(&a[0], &a[2])
field.Butterfly(&a[1], &a[3])
field.Butterfly(&a[4], &a[6])
field.Butterfly(&a[5], &a[7])
field.Butterfly(&a[8], &a[10])
field.Butterfly(&a[9], &a[11])
field.Butterfly(&a[12], &a[14])
field.Butterfly(&a[13], &a[15])
field.Butterfly(&a[16], &a[18])
field.Butterfly(&a[17], &a[19])
field.Butterfly(&a[20], &a[22])
field.Butterfly(&a[21], &a[23])
field.Butterfly(&a[24], &a[26])
field.Butterfly(&a[25], &a[27])
field.Butterfly(&a[28], &a[30])
field.Butterfly(&a[29], &a[31])
field.Butterfly(&a[32], &a[34])
field.Butterfly(&a[33], &a[35])
field.Butterfly(&a[36], &a[38])
field.Butterfly(&a[37], &a[39])
field.Butterfly(&a[40], &a[42])
field.Butterfly(&a[41], &a[43])
field.Butterfly(&a[44], &a[46])
field.Butterfly(&a[45], &a[47])
field.Butterfly(&a[48], &a[50])
field.Butterfly(&a[49], &a[51])
field.Butterfly(&a[52], &a[54])
field.Butterfly(&a[53], &a[55])
field.Butterfly(&a[56], &a[58])
field.Butterfly(&a[57], &a[59])
field.Butterfly(&a[60], &a[62])
field.Butterfly(&a[61], &a[63])
a[1].Mul(&a[1], &twiddles[31])
a[3].Mul(&a[3], &twiddles[32])
a[5].Mul(&a[5], &twiddles[33])
a[7].Mul(&a[7], &twiddles[34])
a[9].Mul(&a[9], &twiddles[35])
a[11].Mul(&a[11], &twiddles[36])
a[13].Mul(&a[13], &twiddles[37])
a[15].Mul(&a[15], &twiddles[38])
a[17].Mul(&a[17], &twiddles[39])
a[19].Mul(&a[19], &twiddles[40])
a[21].Mul(&a[21], &twiddles[41])
a[23].Mul(&a[23], &twiddles[42])
a[25].Mul(&a[25], &twiddles[43])
a[27].Mul(&a[27], &twiddles[44])
a[29].Mul(&a[29], &twiddles[45])
a[31].Mul(&a[31], &twiddles[46])
a[33].Mul(&a[33], &twiddles[47])
a[35].Mul(&a[35], &twiddles[48])
a[37].Mul(&a[37], &twiddles[49])
a[39].Mul(&a[39], &twiddles[50])
a[41].Mul(&a[41], &twiddles[51])
a[43].Mul(&a[43], &twiddles[52])
a[45].Mul(&a[45], &twiddles[53])
a[47].Mul(&a[47], &twiddles[54])
a[49].Mul(&a[49], &twiddles[55])
a[51].Mul(&a[51], &twiddles[56])
a[53].Mul(&a[53], &twiddles[57])
a[55].Mul(&a[55], &twiddles[58])
a[57].Mul(&a[57], &twiddles[59])
a[59].Mul(&a[59], &twiddles[60])
a[61].Mul(&a[61], &twiddles[61])
a[63].Mul(&a[63], &twiddles[62])
field.Butterfly(&a[0], &a[1])
field.Butterfly(&a[2], &a[3])
field.Butterfly(&a[4], &a[5])
field.Butterfly(&a[6], &a[7])
field.Butterfly(&a[8], &a[9])
field.Butterfly(&a[10], &a[11])
field.Butterfly(&a[12], &a[13])
field.Butterfly(&a[14], &a[15])
field.Butterfly(&a[16], &a[17])
field.Butterfly(&a[18], &a[19])
field.Butterfly(&a[20], &a[21])
field.Butterfly(&a[22], &a[23])
field.Butterfly(&a[24], &a[25])
field.Butterfly(&a[26], &a[27])
field.Butterfly(&a[28], &a[29])
field.Butterfly(&a[30], &a[31])
field.Butterfly(&a[32], &a[33])
field.Butterfly(&a[34], &a[35])
field.Butterfly(&a[36], &a[37])
field.Butterfly(&a[38], &a[39])
field.Butterfly(&a[40], &a[41])
field.Butterfly(&a[42], &a[43])
field.Butterfly(&a[44], &a[45])
field.Butterfly(&a[46], &a[47])
field.Butterfly(&a[48], &a[49])
field.Butterfly(&a[50], &a[51])
field.Butterfly(&a[52], &a[53])
field.Butterfly(&a[54], &a[55])
field.Butterfly(&a[56], &a[57])
field.Butterfly(&a[58], &a[59])
field.Butterfly(&a[60], &a[61])
field.Butterfly(&a[62], &a[63])
}
func partialFFT_2(a, twiddles []field.Element) {
a[32].Mul(&a[32], &twiddles[0])
a[33].Mul(&a[33], &twiddles[0])
a[34].Mul(&a[34], &twiddles[0])
a[35].Mul(&a[35], &twiddles[0])
a[36].Mul(&a[36], &twiddles[0])
a[37].Mul(&a[37], &twiddles[0])
a[38].Mul(&a[38], &twiddles[0])
a[39].Mul(&a[39], &twiddles[0])
a[40].Mul(&a[40], &twiddles[0])
a[41].Mul(&a[41], &twiddles[0])
a[42].Mul(&a[42], &twiddles[0])
a[43].Mul(&a[43], &twiddles[0])
a[44].Mul(&a[44], &twiddles[0])
a[45].Mul(&a[45], &twiddles[0])
a[46].Mul(&a[46], &twiddles[0])
a[47].Mul(&a[47], &twiddles[0])
a[48].Mul(&a[48], &twiddles[0])
a[49].Mul(&a[49], &twiddles[0])
a[50].Mul(&a[50], &twiddles[0])
a[51].Mul(&a[51], &twiddles[0])
a[52].Mul(&a[52], &twiddles[0])
a[53].Mul(&a[53], &twiddles[0])
a[54].Mul(&a[54], &twiddles[0])
a[55].Mul(&a[55], &twiddles[0])
a[56].Mul(&a[56], &twiddles[0])
a[57].Mul(&a[57], &twiddles[0])
a[58].Mul(&a[58], &twiddles[0])
a[59].Mul(&a[59], &twiddles[0])
a[60].Mul(&a[60], &twiddles[0])
a[61].Mul(&a[61], &twiddles[0])
a[62].Mul(&a[62], &twiddles[0])
a[63].Mul(&a[63], &twiddles[0])
field.Butterfly(&a[0], &a[32])
field.Butterfly(&a[1], &a[33])
field.Butterfly(&a[2], &a[34])
field.Butterfly(&a[3], &a[35])
field.Butterfly(&a[4], &a[36])
field.Butterfly(&a[5], &a[37])
field.Butterfly(&a[6], &a[38])
field.Butterfly(&a[7], &a[39])
field.Butterfly(&a[8], &a[40])
field.Butterfly(&a[9], &a[41])
field.Butterfly(&a[10], &a[42])
field.Butterfly(&a[11], &a[43])
field.Butterfly(&a[12], &a[44])
field.Butterfly(&a[13], &a[45])
field.Butterfly(&a[14], &a[46])
field.Butterfly(&a[15], &a[47])
field.Butterfly(&a[16], &a[48])
field.Butterfly(&a[17], &a[49])
field.Butterfly(&a[18], &a[50])
field.Butterfly(&a[19], &a[51])
field.Butterfly(&a[20], &a[52])
field.Butterfly(&a[21], &a[53])
field.Butterfly(&a[22], &a[54])
field.Butterfly(&a[23], &a[55])
field.Butterfly(&a[24], &a[56])
field.Butterfly(&a[25], &a[57])
field.Butterfly(&a[26], &a[58])
field.Butterfly(&a[27], &a[59])
field.Butterfly(&a[28], &a[60])
field.Butterfly(&a[29], &a[61])
field.Butterfly(&a[30], &a[62])
field.Butterfly(&a[31], &a[63])
a[16].Mul(&a[16], &twiddles[1])
a[17].Mul(&a[17], &twiddles[1])
a[18].Mul(&a[18], &twiddles[1])
a[19].Mul(&a[19], &twiddles[1])
a[20].Mul(&a[20], &twiddles[1])
a[21].Mul(&a[21], &twiddles[1])
a[22].Mul(&a[22], &twiddles[1])
a[23].Mul(&a[23], &twiddles[1])
a[24].Mul(&a[24], &twiddles[1])
a[25].Mul(&a[25], &twiddles[1])
a[26].Mul(&a[26], &twiddles[1])
a[27].Mul(&a[27], &twiddles[1])
a[28].Mul(&a[28], &twiddles[1])
a[29].Mul(&a[29], &twiddles[1])
a[30].Mul(&a[30], &twiddles[1])
a[31].Mul(&a[31], &twiddles[1])
a[48].Mul(&a[48], &twiddles[2])
a[49].Mul(&a[49], &twiddles[2])
a[50].Mul(&a[50], &twiddles[2])
a[51].Mul(&a[51], &twiddles[2])
a[52].Mul(&a[52], &twiddles[2])
a[53].Mul(&a[53], &twiddles[2])
a[54].Mul(&a[54], &twiddles[2])
a[55].Mul(&a[55], &twiddles[2])
a[56].Mul(&a[56], &twiddles[2])
a[57].Mul(&a[57], &twiddles[2])
a[58].Mul(&a[58], &twiddles[2])
a[59].Mul(&a[59], &twiddles[2])
a[60].Mul(&a[60], &twiddles[2])
a[61].Mul(&a[61], &twiddles[2])
a[62].Mul(&a[62], &twiddles[2])
a[63].Mul(&a[63], &twiddles[2])
field.Butterfly(&a[0], &a[16])
field.Butterfly(&a[1], &a[17])
field.Butterfly(&a[2], &a[18])
field.Butterfly(&a[3], &a[19])
field.Butterfly(&a[4], &a[20])
field.Butterfly(&a[5], &a[21])
field.Butterfly(&a[6], &a[22])
field.Butterfly(&a[7], &a[23])
field.Butterfly(&a[8], &a[24])
field.Butterfly(&a[9], &a[25])
field.Butterfly(&a[10], &a[26])
field.Butterfly(&a[11], &a[27])
field.Butterfly(&a[12], &a[28])
field.Butterfly(&a[13], &a[29])
field.Butterfly(&a[14], &a[30])
field.Butterfly(&a[15], &a[31])
field.Butterfly(&a[32], &a[48])
field.Butterfly(&a[33], &a[49])
field.Butterfly(&a[34], &a[50])
field.Butterfly(&a[35], &a[51])
field.Butterfly(&a[36], &a[52])
field.Butterfly(&a[37], &a[53])
field.Butterfly(&a[38], &a[54])
field.Butterfly(&a[39], &a[55])
field.Butterfly(&a[40], &a[56])
field.Butterfly(&a[41], &a[57])
field.Butterfly(&a[42], &a[58])
field.Butterfly(&a[43], &a[59])
field.Butterfly(&a[44], &a[60])
field.Butterfly(&a[45], &a[61])
field.Butterfly(&a[46], &a[62])
field.Butterfly(&a[47], &a[63])
a[8].Mul(&a[8], &twiddles[3])
a[9].Mul(&a[9], &twiddles[3])
a[10].Mul(&a[10], &twiddles[3])
a[11].Mul(&a[11], &twiddles[3])
a[12].Mul(&a[12], &twiddles[3])
a[13].Mul(&a[13], &twiddles[3])
a[14].Mul(&a[14], &twiddles[3])
a[15].Mul(&a[15], &twiddles[3])
a[24].Mul(&a[24], &twiddles[4])
a[25].Mul(&a[25], &twiddles[4])
a[26].Mul(&a[26], &twiddles[4])
a[27].Mul(&a[27], &twiddles[4])
a[28].Mul(&a[28], &twiddles[4])
a[29].Mul(&a[29], &twiddles[4])
a[30].Mul(&a[30], &twiddles[4])
a[31].Mul(&a[31], &twiddles[4])
a[40].Mul(&a[40], &twiddles[5])
a[41].Mul(&a[41], &twiddles[5])
a[42].Mul(&a[42], &twiddles[5])
a[43].Mul(&a[43], &twiddles[5])
a[44].Mul(&a[44], &twiddles[5])
a[45].Mul(&a[45], &twiddles[5])
a[46].Mul(&a[46], &twiddles[5])
a[47].Mul(&a[47], &twiddles[5])
a[56].Mul(&a[56], &twiddles[6])
a[57].Mul(&a[57], &twiddles[6])
a[58].Mul(&a[58], &twiddles[6])
a[59].Mul(&a[59], &twiddles[6])
a[60].Mul(&a[60], &twiddles[6])
a[61].Mul(&a[61], &twiddles[6])
a[62].Mul(&a[62], &twiddles[6])
a[63].Mul(&a[63], &twiddles[6])
field.Butterfly(&a[0], &a[8])
field.Butterfly(&a[1], &a[9])
field.Butterfly(&a[2], &a[10])
field.Butterfly(&a[3], &a[11])
field.Butterfly(&a[4], &a[12])
field.Butterfly(&a[5], &a[13])
field.Butterfly(&a[6], &a[14])
field.Butterfly(&a[7], &a[15])
field.Butterfly(&a[16], &a[24])
field.Butterfly(&a[17], &a[25])
field.Butterfly(&a[18], &a[26])
field.Butterfly(&a[19], &a[27])
field.Butterfly(&a[20], &a[28])
field.Butterfly(&a[21], &a[29])
field.Butterfly(&a[22], &a[30])
field.Butterfly(&a[23], &a[31])
field.Butterfly(&a[32], &a[40])
field.Butterfly(&a[33], &a[41])
field.Butterfly(&a[34], &a[42])
field.Butterfly(&a[35], &a[43])
field.Butterfly(&a[36], &a[44])
field.Butterfly(&a[37], &a[45])
field.Butterfly(&a[38], &a[46])
field.Butterfly(&a[39], &a[47])
field.Butterfly(&a[48], &a[56])
field.Butterfly(&a[49], &a[57])
field.Butterfly(&a[50], &a[58])
field.Butterfly(&a[51], &a[59])
field.Butterfly(&a[52], &a[60])
field.Butterfly(&a[53], &a[61])
field.Butterfly(&a[54], &a[62])
field.Butterfly(&a[55], &a[63])
a[4].Mul(&a[4], &twiddles[7])
a[5].Mul(&a[5], &twiddles[7])
a[6].Mul(&a[6], &twiddles[7])
a[7].Mul(&a[7], &twiddles[7])
a[12].Mul(&a[12], &twiddles[8])
a[13].Mul(&a[13], &twiddles[8])
a[14].Mul(&a[14], &twiddles[8])
a[15].Mul(&a[15], &twiddles[8])
a[20].Mul(&a[20], &twiddles[9])
a[21].Mul(&a[21], &twiddles[9])
a[22].Mul(&a[22], &twiddles[9])
a[23].Mul(&a[23], &twiddles[9])
a[28].Mul(&a[28], &twiddles[10])
a[29].Mul(&a[29], &twiddles[10])
a[30].Mul(&a[30], &twiddles[10])
a[31].Mul(&a[31], &twiddles[10])
a[36].Mul(&a[36], &twiddles[11])
a[37].Mul(&a[37], &twiddles[11])
a[38].Mul(&a[38], &twiddles[11])
a[39].Mul(&a[39], &twiddles[11])
a[44].Mul(&a[44], &twiddles[12])
a[45].Mul(&a[45], &twiddles[12])
a[46].Mul(&a[46], &twiddles[12])
a[47].Mul(&a[47], &twiddles[12])
a[52].Mul(&a[52], &twiddles[13])
a[53].Mul(&a[53], &twiddles[13])
a[54].Mul(&a[54], &twiddles[13])
a[55].Mul(&a[55], &twiddles[13])
a[60].Mul(&a[60], &twiddles[14])
a[61].Mul(&a[61], &twiddles[14])
a[62].Mul(&a[62], &twiddles[14])
a[63].Mul(&a[63], &twiddles[14])
field.Butterfly(&a[0], &a[4])
field.Butterfly(&a[1], &a[5])
field.Butterfly(&a[2], &a[6])
field.Butterfly(&a[3], &a[7])
field.Butterfly(&a[8], &a[12])
field.Butterfly(&a[9], &a[13])
field.Butterfly(&a[10], &a[14])
field.Butterfly(&a[11], &a[15])
field.Butterfly(&a[16], &a[20])
field.Butterfly(&a[17], &a[21])
field.Butterfly(&a[18], &a[22])
field.Butterfly(&a[19], &a[23])
field.Butterfly(&a[24], &a[28])
field.Butterfly(&a[25], &a[29])
field.Butterfly(&a[26], &a[30])
field.Butterfly(&a[27], &a[31])
field.Butterfly(&a[32], &a[36])
field.Butterfly(&a[33], &a[37])
field.Butterfly(&a[34], &a[38])
field.Butterfly(&a[35], &a[39])
field.Butterfly(&a[40], &a[44])
field.Butterfly(&a[41], &a[45])
field.Butterfly(&a[42], &a[46])
field.Butterfly(&a[43], &a[47])
field.Butterfly(&a[48], &a[52])
field.Butterfly(&a[49], &a[53])
field.Butterfly(&a[50], &a[54])
field.Butterfly(&a[51], &a[55])
field.Butterfly(&a[56], &a[60])
field.Butterfly(&a[57], &a[61])
field.Butterfly(&a[58], &a[62])
field.Butterfly(&a[59], &a[63])
a[2].Mul(&a[2], &twiddles[15])
a[3].Mul(&a[3], &twiddles[15])
a[6].Mul(&a[6], &twiddles[16])
a[7].Mul(&a[7], &twiddles[16])
a[10].Mul(&a[10], &twiddles[17])
a[11].Mul(&a[11], &twiddles[17])
a[14].Mul(&a[14], &twiddles[18])
a[15].Mul(&a[15], &twiddles[18])
a[18].Mul(&a[18], &twiddles[19])
a[19].Mul(&a[19], &twiddles[19])
a[22].Mul(&a[22], &twiddles[20])
a[23].Mul(&a[23], &twiddles[20])
a[26].Mul(&a[26], &twiddles[21])
a[27].Mul(&a[27], &twiddles[21])
a[30].Mul(&a[30], &twiddles[22])
a[31].Mul(&a[31], &twiddles[22])
a[34].Mul(&a[34], &twiddles[23])
a[35].Mul(&a[35], &twiddles[23])
a[38].Mul(&a[38], &twiddles[24])
a[39].Mul(&a[39], &twiddles[24])
a[42].Mul(&a[42], &twiddles[25])
a[43].Mul(&a[43], &twiddles[25])
a[46].Mul(&a[46], &twiddles[26])
a[47].Mul(&a[47], &twiddles[26])
a[50].Mul(&a[50], &twiddles[27])
a[51].Mul(&a[51], &twiddles[27])
a[54].Mul(&a[54], &twiddles[28])
a[55].Mul(&a[55], &twiddles[28])
a[58].Mul(&a[58], &twiddles[29])
a[59].Mul(&a[59], &twiddles[29])
a[62].Mul(&a[62], &twiddles[30])
a[63].Mul(&a[63], &twiddles[30])
field.Butterfly(&a[0], &a[2])
field.Butterfly(&a[1], &a[3])
field.Butterfly(&a[4], &a[6])
field.Butterfly(&a[5], &a[7])
field.Butterfly(&a[8], &a[10])
field.Butterfly(&a[9], &a[11])
field.Butterfly(&a[12], &a[14])
field.Butterfly(&a[13], &a[15])
field.Butterfly(&a[16], &a[18])
field.Butterfly(&a[17], &a[19])
field.Butterfly(&a[20], &a[22])
field.Butterfly(&a[21], &a[23])
field.Butterfly(&a[24], &a[26])
field.Butterfly(&a[25], &a[27])
field.Butterfly(&a[28], &a[30])
field.Butterfly(&a[29], &a[31])
field.Butterfly(&a[32], &a[34])
field.Butterfly(&a[33], &a[35])
field.Butterfly(&a[36], &a[38])
field.Butterfly(&a[37], &a[39])
field.Butterfly(&a[40], &a[42])
field.Butterfly(&a[41], &a[43])
field.Butterfly(&a[44], &a[46])
field.Butterfly(&a[45], &a[47])
field.Butterfly(&a[48], &a[50])
field.Butterfly(&a[49], &a[51])
field.Butterfly(&a[52], &a[54])
field.Butterfly(&a[53], &a[55])
field.Butterfly(&a[56], &a[58])
field.Butterfly(&a[57], &a[59])
field.Butterfly(&a[60], &a[62])
field.Butterfly(&a[61], &a[63])
a[1].Mul(&a[1], &twiddles[31])
a[3].Mul(&a[3], &twiddles[32])
a[5].Mul(&a[5], &twiddles[33])
a[7].Mul(&a[7], &twiddles[34])
a[9].Mul(&a[9], &twiddles[35])
a[11].Mul(&a[11], &twiddles[36])
a[13].Mul(&a[13], &twiddles[37])
a[15].Mul(&a[15], &twiddles[38])
a[17].Mul(&a[17], &twiddles[39])
a[19].Mul(&a[19], &twiddles[40])
a[21].Mul(&a[21], &twiddles[41])
a[23].Mul(&a[23], &twiddles[42])
a[25].Mul(&a[25], &twiddles[43])
a[27].Mul(&a[27], &twiddles[44])
a[29].Mul(&a[29], &twiddles[45])
a[31].Mul(&a[31], &twiddles[46])
a[33].Mul(&a[33], &twiddles[47])
a[35].Mul(&a[35], &twiddles[48])
a[37].Mul(&a[37], &twiddles[49])
a[39].Mul(&a[39], &twiddles[50])
a[41].Mul(&a[41], &twiddles[51])
a[43].Mul(&a[43], &twiddles[52])
a[45].Mul(&a[45], &twiddles[53])
a[47].Mul(&a[47], &twiddles[54])
a[49].Mul(&a[49], &twiddles[55])
a[51].Mul(&a[51], &twiddles[56])
a[53].Mul(&a[53], &twiddles[57])
a[55].Mul(&a[55], &twiddles[58])
a[57].Mul(&a[57], &twiddles[59])
a[59].Mul(&a[59], &twiddles[60])
a[61].Mul(&a[61], &twiddles[61])
a[63].Mul(&a[63], &twiddles[62])
field.Butterfly(&a[0], &a[1])
field.Butterfly(&a[2], &a[3])
field.Butterfly(&a[4], &a[5])
field.Butterfly(&a[6], &a[7])
field.Butterfly(&a[8], &a[9])
field.Butterfly(&a[10], &a[11])
field.Butterfly(&a[12], &a[13])
field.Butterfly(&a[14], &a[15])
field.Butterfly(&a[16], &a[17])
field.Butterfly(&a[18], &a[19])
field.Butterfly(&a[20], &a[21])
field.Butterfly(&a[22], &a[23])
field.Butterfly(&a[24], &a[25])
field.Butterfly(&a[26], &a[27])
field.Butterfly(&a[28], &a[29])
field.Butterfly(&a[30], &a[31])
field.Butterfly(&a[32], &a[33])
field.Butterfly(&a[34], &a[35])
field.Butterfly(&a[36], &a[37])
field.Butterfly(&a[38], &a[39])
field.Butterfly(&a[40], &a[41])
field.Butterfly(&a[42], &a[43])
field.Butterfly(&a[44], &a[45])
field.Butterfly(&a[46], &a[47])
field.Butterfly(&a[48], &a[49])
field.Butterfly(&a[50], &a[51])
field.Butterfly(&a[52], &a[53])
field.Butterfly(&a[54], &a[55])
field.Butterfly(&a[56], &a[57])
field.Butterfly(&a[58], &a[59])
field.Butterfly(&a[60], &a[61])
field.Butterfly(&a[62], &a[63])
}
func partialFFT_3(a, twiddles []field.Element) {
a[32].Mul(&a[32], &twiddles[0])
a[33].Mul(&a[33], &twiddles[0])
a[34].Mul(&a[34], &twiddles[0])
a[35].Mul(&a[35], &twiddles[0])
a[36].Mul(&a[36], &twiddles[0])
a[37].Mul(&a[37], &twiddles[0])
a[38].Mul(&a[38], &twiddles[0])
a[39].Mul(&a[39], &twiddles[0])
a[40].Mul(&a[40], &twiddles[0])
a[41].Mul(&a[41], &twiddles[0])
a[42].Mul(&a[42], &twiddles[0])
a[43].Mul(&a[43], &twiddles[0])
a[44].Mul(&a[44], &twiddles[0])
a[45].Mul(&a[45], &twiddles[0])
a[46].Mul(&a[46], &twiddles[0])
a[47].Mul(&a[47], &twiddles[0])
a[48].Mul(&a[48], &twiddles[0])
a[49].Mul(&a[49], &twiddles[0])
a[50].Mul(&a[50], &twiddles[0])
a[51].Mul(&a[51], &twiddles[0])
a[52].Mul(&a[52], &twiddles[0])
a[53].Mul(&a[53], &twiddles[0])
a[54].Mul(&a[54], &twiddles[0])
a[55].Mul(&a[55], &twiddles[0])
a[56].Mul(&a[56], &twiddles[0])
a[57].Mul(&a[57], &twiddles[0])
a[58].Mul(&a[58], &twiddles[0])
a[59].Mul(&a[59], &twiddles[0])
a[60].Mul(&a[60], &twiddles[0])
a[61].Mul(&a[61], &twiddles[0])
a[62].Mul(&a[62], &twiddles[0])
a[63].Mul(&a[63], &twiddles[0])
field.Butterfly(&a[0], &a[32])
field.Butterfly(&a[1], &a[33])
field.Butterfly(&a[2], &a[34])
field.Butterfly(&a[3], &a[35])
field.Butterfly(&a[4], &a[36])
field.Butterfly(&a[5], &a[37])
field.Butterfly(&a[6], &a[38])
field.Butterfly(&a[7], &a[39])
field.Butterfly(&a[8], &a[40])
field.Butterfly(&a[9], &a[41])
field.Butterfly(&a[10], &a[42])
field.Butterfly(&a[11], &a[43])
field.Butterfly(&a[12], &a[44])
field.Butterfly(&a[13], &a[45])
field.Butterfly(&a[14], &a[46])
field.Butterfly(&a[15], &a[47])
field.Butterfly(&a[16], &a[48])
field.Butterfly(&a[17], &a[49])
field.Butterfly(&a[18], &a[50])
field.Butterfly(&a[19], &a[51])
field.Butterfly(&a[20], &a[52])
field.Butterfly(&a[21], &a[53])
field.Butterfly(&a[22], &a[54])
field.Butterfly(&a[23], &a[55])
field.Butterfly(&a[24], &a[56])
field.Butterfly(&a[25], &a[57])
field.Butterfly(&a[26], &a[58])
field.Butterfly(&a[27], &a[59])
field.Butterfly(&a[28], &a[60])
field.Butterfly(&a[29], &a[61])
field.Butterfly(&a[30], &a[62])
field.Butterfly(&a[31], &a[63])
a[16].Mul(&a[16], &twiddles[1])
a[17].Mul(&a[17], &twiddles[1])
a[18].Mul(&a[18], &twiddles[1])
a[19].Mul(&a[19], &twiddles[1])
a[20].Mul(&a[20], &twiddles[1])
a[21].Mul(&a[21], &twiddles[1])
a[22].Mul(&a[22], &twiddles[1])
a[23].Mul(&a[23], &twiddles[1])
a[24].Mul(&a[24], &twiddles[1])
a[25].Mul(&a[25], &twiddles[1])
a[26].Mul(&a[26], &twiddles[1])
a[27].Mul(&a[27], &twiddles[1])
a[28].Mul(&a[28], &twiddles[1])
a[29].Mul(&a[29], &twiddles[1])
a[30].Mul(&a[30], &twiddles[1])
a[31].Mul(&a[31], &twiddles[1])
a[48].Mul(&a[48], &twiddles[2])
a[49].Mul(&a[49], &twiddles[2])
a[50].Mul(&a[50], &twiddles[2])
a[51].Mul(&a[51], &twiddles[2])
a[52].Mul(&a[52], &twiddles[2])
a[53].Mul(&a[53], &twiddles[2])
a[54].Mul(&a[54], &twiddles[2])
a[55].Mul(&a[55], &twiddles[2])
a[56].Mul(&a[56], &twiddles[2])
a[57].Mul(&a[57], &twiddles[2])
a[58].Mul(&a[58], &twiddles[2])
a[59].Mul(&a[59], &twiddles[2])
a[60].Mul(&a[60], &twiddles[2])
a[61].Mul(&a[61], &twiddles[2])
a[62].Mul(&a[62], &twiddles[2])
a[63].Mul(&a[63], &twiddles[2])
field.Butterfly(&a[0], &a[16])
field.Butterfly(&a[1], &a[17])
field.Butterfly(&a[2], &a[18])
field.Butterfly(&a[3], &a[19])
field.Butterfly(&a[4], &a[20])
field.Butterfly(&a[5], &a[21])
field.Butterfly(&a[6], &a[22])
field.Butterfly(&a[7], &a[23])
field.Butterfly(&a[8], &a[24])
field.Butterfly(&a[9], &a[25])
field.Butterfly(&a[10], &a[26])
field.Butterfly(&a[11], &a[27])
field.Butterfly(&a[12], &a[28])
field.Butterfly(&a[13], &a[29])
field.Butterfly(&a[14], &a[30])
field.Butterfly(&a[15], &a[31])
field.Butterfly(&a[32], &a[48])
field.Butterfly(&a[33], &a[49])
field.Butterfly(&a[34], &a[50])
field.Butterfly(&a[35], &a[51])
field.Butterfly(&a[36], &a[52])
field.Butterfly(&a[37], &a[53])
field.Butterfly(&a[38], &a[54])
field.Butterfly(&a[39], &a[55])
field.Butterfly(&a[40], &a[56])
field.Butterfly(&a[41], &a[57])
field.Butterfly(&a[42], &a[58])
field.Butterfly(&a[43], &a[59])
field.Butterfly(&a[44], &a[60])
field.Butterfly(&a[45], &a[61])
field.Butterfly(&a[46], &a[62])
field.Butterfly(&a[47], &a[63])
a[8].Mul(&a[8], &twiddles[3])
a[9].Mul(&a[9], &twiddles[3])
a[10].Mul(&a[10], &twiddles[3])
a[11].Mul(&a[11], &twiddles[3])
a[12].Mul(&a[12], &twiddles[3])
a[13].Mul(&a[13], &twiddles[3])
a[14].Mul(&a[14], &twiddles[3])
a[15].Mul(&a[15], &twiddles[3])
a[24].Mul(&a[24], &twiddles[4])
a[25].Mul(&a[25], &twiddles[4])
a[26].Mul(&a[26], &twiddles[4])
a[27].Mul(&a[27], &twiddles[4])
a[28].Mul(&a[28], &twiddles[4])
a[29].Mul(&a[29], &twiddles[4])
a[30].Mul(&a[30], &twiddles[4])
a[31].Mul(&a[31], &twiddles[4])
a[40].Mul(&a[40], &twiddles[5])
a[41].Mul(&a[41], &twiddles[5])
a[42].Mul(&a[42], &twiddles[5])
a[43].Mul(&a[43], &twiddles[5])
a[44].Mul(&a[44], &twiddles[5])
a[45].Mul(&a[45], &twiddles[5])
a[46].Mul(&a[46], &twiddles[5])
a[47].Mul(&a[47], &twiddles[5])
a[56].Mul(&a[56], &twiddles[6])
a[57].Mul(&a[57], &twiddles[6])
a[58].Mul(&a[58], &twiddles[6])
a[59].Mul(&a[59], &twiddles[6])
a[60].Mul(&a[60], &twiddles[6])
a[61].Mul(&a[61], &twiddles[6])
a[62].Mul(&a[62], &twiddles[6])
a[63].Mul(&a[63], &twiddles[6])
field.Butterfly(&a[0], &a[8])
field.Butterfly(&a[1], &a[9])
field.Butterfly(&a[2], &a[10])
field.Butterfly(&a[3], &a[11])
field.Butterfly(&a[4], &a[12])
field.Butterfly(&a[5], &a[13])
field.Butterfly(&a[6], &a[14])
field.Butterfly(&a[7], &a[15])
field.Butterfly(&a[16], &a[24])
field.Butterfly(&a[17], &a[25])
field.Butterfly(&a[18], &a[26])
field.Butterfly(&a[19], &a[27])
field.Butterfly(&a[20], &a[28])
field.Butterfly(&a[21], &a[29])
field.Butterfly(&a[22], &a[30])
field.Butterfly(&a[23], &a[31])
field.Butterfly(&a[32], &a[40])
field.Butterfly(&a[33], &a[41])
field.Butterfly(&a[34], &a[42])
field.Butterfly(&a[35], &a[43])
field.Butterfly(&a[36], &a[44])
field.Butterfly(&a[37], &a[45])
field.Butterfly(&a[38], &a[46])
field.Butterfly(&a[39], &a[47])
field.Butterfly(&a[48], &a[56])
field.Butterfly(&a[49], &a[57])
field.Butterfly(&a[50], &a[58])
field.Butterfly(&a[51], &a[59])
field.Butterfly(&a[52], &a[60])
field.Butterfly(&a[53], &a[61])
field.Butterfly(&a[54], &a[62])
field.Butterfly(&a[55], &a[63])
a[4].Mul(&a[4], &twiddles[7])
a[5].Mul(&a[5], &twiddles[7])
a[6].Mul(&a[6], &twiddles[7])
a[7].Mul(&a[7], &twiddles[7])
a[12].Mul(&a[12], &twiddles[8])
a[13].Mul(&a[13], &twiddles[8])
a[14].Mul(&a[14], &twiddles[8])
a[15].Mul(&a[15], &twiddles[8])
a[20].Mul(&a[20], &twiddles[9])
a[21].Mul(&a[21], &twiddles[9])
a[22].Mul(&a[22], &twiddles[9])
a[23].Mul(&a[23], &twiddles[9])
a[28].Mul(&a[28], &twiddles[10])
a[29].Mul(&a[29], &twiddles[10])
a[30].Mul(&a[30], &twiddles[10])
a[31].Mul(&a[31], &twiddles[10])
a[36].Mul(&a[36], &twiddles[11])
a[37].Mul(&a[37], &twiddles[11])
a[38].Mul(&a[38], &twiddles[11])
a[39].Mul(&a[39], &twiddles[11])
a[44].Mul(&a[44], &twiddles[12])
a[45].Mul(&a[45], &twiddles[12])
a[46].Mul(&a[46], &twiddles[12])
a[47].Mul(&a[47], &twiddles[12])
a[52].Mul(&a[52], &twiddles[13])
a[53].Mul(&a[53], &twiddles[13])
a[54].Mul(&a[54], &twiddles[13])
a[55].Mul(&a[55], &twiddles[13])
a[60].Mul(&a[60], &twiddles[14])
a[61].Mul(&a[61], &twiddles[14])
a[62].Mul(&a[62], &twiddles[14])
a[63].Mul(&a[63], &twiddles[14])
field.Butterfly(&a[0], &a[4])
field.Butterfly(&a[1], &a[5])
field.Butterfly(&a[2], &a[6])
field.Butterfly(&a[3], &a[7])
field.Butterfly(&a[8], &a[12])
field.Butterfly(&a[9], &a[13])
field.Butterfly(&a[10], &a[14])
field.Butterfly(&a[11], &a[15])
field.Butterfly(&a[16], &a[20])
field.Butterfly(&a[17], &a[21])
field.Butterfly(&a[18], &a[22])
field.Butterfly(&a[19], &a[23])
field.Butterfly(&a[24], &a[28])
field.Butterfly(&a[25], &a[29])
field.Butterfly(&a[26], &a[30])
field.Butterfly(&a[27], &a[31])
field.Butterfly(&a[32], &a[36])
field.Butterfly(&a[33], &a[37])
field.Butterfly(&a[34], &a[38])
field.Butterfly(&a[35], &a[39])
field.Butterfly(&a[40], &a[44])
field.Butterfly(&a[41], &a[45])
field.Butterfly(&a[42], &a[46])
field.Butterfly(&a[43], &a[47])
field.Butterfly(&a[48], &a[52])
field.Butterfly(&a[49], &a[53])
field.Butterfly(&a[50], &a[54])
field.Butterfly(&a[51], &a[55])
field.Butterfly(&a[56], &a[60])
field.Butterfly(&a[57], &a[61])
field.Butterfly(&a[58], &a[62])
field.Butterfly(&a[59], &a[63])
a[2].Mul(&a[2], &twiddles[15])
a[3].Mul(&a[3], &twiddles[15])
a[6].Mul(&a[6], &twiddles[16])
a[7].Mul(&a[7], &twiddles[16])
a[10].Mul(&a[10], &twiddles[17])
a[11].Mul(&a[11], &twiddles[17])
a[14].Mul(&a[14], &twiddles[18])
a[15].Mul(&a[15], &twiddles[18])
a[18].Mul(&a[18], &twiddles[19])
a[19].Mul(&a[19], &twiddles[19])
a[22].Mul(&a[22], &twiddles[20])
a[23].Mul(&a[23], &twiddles[20])
a[26].Mul(&a[26], &twiddles[21])
a[27].Mul(&a[27], &twiddles[21])
a[30].Mul(&a[30], &twiddles[22])
a[31].Mul(&a[31], &twiddles[22])
a[34].Mul(&a[34], &twiddles[23])
a[35].Mul(&a[35], &twiddles[23])
a[38].Mul(&a[38], &twiddles[24])
a[39].Mul(&a[39], &twiddles[24])
a[42].Mul(&a[42], &twiddles[25])
a[43].Mul(&a[43], &twiddles[25])
a[46].Mul(&a[46], &twiddles[26])
a[47].Mul(&a[47], &twiddles[26])
a[50].Mul(&a[50], &twiddles[27])
a[51].Mul(&a[51], &twiddles[27])
a[54].Mul(&a[54], &twiddles[28])
a[55].Mul(&a[55], &twiddles[28])
a[58].Mul(&a[58], &twiddles[29])
a[59].Mul(&a[59], &twiddles[29])
a[62].Mul(&a[62], &twiddles[30])
a[63].Mul(&a[63], &twiddles[30])
field.Butterfly(&a[0], &a[2])
field.Butterfly(&a[1], &a[3])
field.Butterfly(&a[4], &a[6])
field.Butterfly(&a[5], &a[7])
field.Butterfly(&a[8], &a[10])
field.Butterfly(&a[9], &a[11])
field.Butterfly(&a[12], &a[14])
field.Butterfly(&a[13], &a[15])
field.Butterfly(&a[16], &a[18])
field.Butterfly(&a[17], &a[19])
field.Butterfly(&a[20], &a[22])
field.Butterfly(&a[21], &a[23])
field.Butterfly(&a[24], &a[26])
field.Butterfly(&a[25], &a[27])
field.Butterfly(&a[28], &a[30])
field.Butterfly(&a[29], &a[31])
field.Butterfly(&a[32], &a[34])
field.Butterfly(&a[33], &a[35])
field.Butterfly(&a[36], &a[38])
field.Butterfly(&a[37], &a[39])
field.Butterfly(&a[40], &a[42])
field.Butterfly(&a[41], &a[43])
field.Butterfly(&a[44], &a[46])
field.Butterfly(&a[45], &a[47])
field.Butterfly(&a[48], &a[50])
field.Butterfly(&a[49], &a[51])
field.Butterfly(&a[52], &a[54])
field.Butterfly(&a[53], &a[55])
field.Butterfly(&a[56], &a[58])
field.Butterfly(&a[57], &a[59])
field.Butterfly(&a[60], &a[62])
field.Butterfly(&a[61], &a[63])
a[1].Mul(&a[1], &twiddles[31])
a[3].Mul(&a[3], &twiddles[32])
a[5].Mul(&a[5], &twiddles[33])
a[7].Mul(&a[7], &twiddles[34])
a[9].Mul(&a[9], &twiddles[35])
a[11].Mul(&a[11], &twiddles[36])
a[13].Mul(&a[13], &twiddles[37])
a[15].Mul(&a[15], &twiddles[38])
a[17].Mul(&a[17], &twiddles[39])
a[19].Mul(&a[19], &twiddles[40])
a[21].Mul(&a[21], &twiddles[41])
a[23].Mul(&a[23], &twiddles[42])
a[25].Mul(&a[25], &twiddles[43])
a[27].Mul(&a[27], &twiddles[44])
a[29].Mul(&a[29], &twiddles[45])
a[31].Mul(&a[31], &twiddles[46])
a[33].Mul(&a[33], &twiddles[47])
a[35].Mul(&a[35], &twiddles[48])
a[37].Mul(&a[37], &twiddles[49])
a[39].Mul(&a[39], &twiddles[50])
a[41].Mul(&a[41], &twiddles[51])
a[43].Mul(&a[43], &twiddles[52])
a[45].Mul(&a[45], &twiddles[53])
a[47].Mul(&a[47], &twiddles[54])
a[49].Mul(&a[49], &twiddles[55])
a[51].Mul(&a[51], &twiddles[56])
a[53].Mul(&a[53], &twiddles[57])
a[55].Mul(&a[55], &twiddles[58])
a[57].Mul(&a[57], &twiddles[59])
a[59].Mul(&a[59], &twiddles[60])
a[61].Mul(&a[61], &twiddles[61])
a[63].Mul(&a[63], &twiddles[62])
field.Butterfly(&a[0], &a[1])
field.Butterfly(&a[2], &a[3])
field.Butterfly(&a[4], &a[5])
field.Butterfly(&a[6], &a[7])
field.Butterfly(&a[8], &a[9])
field.Butterfly(&a[10], &a[11])
field.Butterfly(&a[12], &a[13])
field.Butterfly(&a[14], &a[15])
field.Butterfly(&a[16], &a[17])
field.Butterfly(&a[18], &a[19])
field.Butterfly(&a[20], &a[21])
field.Butterfly(&a[22], &a[23])
field.Butterfly(&a[24], &a[25])
field.Butterfly(&a[26], &a[27])
field.Butterfly(&a[28], &a[29])
field.Butterfly(&a[30], &a[31])
field.Butterfly(&a[32], &a[33])
field.Butterfly(&a[34], &a[35])
field.Butterfly(&a[36], &a[37])
field.Butterfly(&a[38], &a[39])
field.Butterfly(&a[40], &a[41])
field.Butterfly(&a[42], &a[43])
field.Butterfly(&a[44], &a[45])
field.Butterfly(&a[46], &a[47])
field.Butterfly(&a[48], &a[49])
field.Butterfly(&a[50], &a[51])
field.Butterfly(&a[52], &a[53])
field.Butterfly(&a[54], &a[55])
field.Butterfly(&a[56], &a[57])
field.Butterfly(&a[58], &a[59])
field.Butterfly(&a[60], &a[61])
field.Butterfly(&a[62], &a[63])
}