frac32buffer in0
frac32buffer in1
frac32buffer in2
frac32buffer in3
frac32buffer in4
frac32buffer in5
frac32buffer out0
frac32buffer out1
frac32buffer out2
frac32buffer out3
frac32buffer out4
frac32buffer out5
// T.Rochebois 97
// 0 1 2 3 4 5
// 0 . + + + + +
// 1 + . - - + +
// 2 + - . + - +
// 3 + - + . + -
// 4 + + - + . -
// 5 + + + - - .
// 18+ 6*
// coef = 1/sqrt(5) q32
int32_t coef = 1920767766;
int32_t tA = inlet_in4 + inlet_in5;
int32_t tB = inlet_in2 + inlet_in3;
outlet_out0 = ___SMMUL(coef, tA + tB + inlet_in1);
outlet_out1 = ___SMMUL(coef, tA - tB + inlet_in0);
tA = inlet_in0 - inlet_in1;
tB = inlet_in5 - inlet_in4;
outlet_out2 = ___SMMUL(coef, tA + tB + inlet_in3);
outlet_out3 = ___SMMUL(coef, tA - tB + inlet_in2);
tA = inlet_in0 + inlet_in1;
tB = inlet_in3 - inlet_in2;
outlet_out4 = ___SMMUL(coef, tA + tB - inlet_in5);
outlet_out5 = ___SMMUL(coef, tA - tB - inlet_in4);