- s += sprintf("+ R64_%d(q[%2d])", (x+1)/2, x+j)
- end
- end
- s += sprintf(" + S64_4(q[%2d]) + S64_5(q[%2d])", j+14, j+15)
+ # odd
+ s += sprintf("\n\t\t + ( odd = q[%2d] + q[%2d] + q[%2d]",j,j+2,j+4)
+ s += sprintf("\n\t\t + q[%2d] + q[%2d] + q[%2d] + q[%2d] )",j+6,j+8,j+10,j+12)
+ s += sprintf("\n\t\t + R64_1(q[%2d]) + R64_2(q[%2d]) + R64_3(q[%2d])",j+1,j+3,j+5)
+ s += sprintf("\n\t\t + R64_4(q[%2d]) + R64_5(q[%2d]) + R64_6(q[%2d])",j+7,j+9,j+11)
+ s += sprintf("\n\t\t + R64_7(q[%2d]) + S64_4(q[%2d]) + S64_5(q[%2d])",j+13,j+14,j+15)
+ end
+ else
+ s += sprintf("\n\t\t + ( %s += q[%2d] - q[%2d] )",(j%2==0)?"even":"odd ",j+12,j-2)
+ s += sprintf("\n\t\t + R64_1(q[%2d]) + R64_2(q[%2d]) + R64_3(q[%2d])",j+1,j+3,j+5)
+ s += sprintf("\n\t\t + R64_4(q[%2d]) + R64_5(q[%2d]) + R64_6(q[%2d])",j+7,j+9,j+11)
+ s += sprintf("\n\t\t + R64_7(q[%2d]) + S64_4(q[%2d]) + S64_5(q[%2d])",j+13,j+14,j+15)
+ end