frac32buffer input
frac32 strength
frac32 gain
frac32 clip
frac32 quant
frac32buffer output
frac32.s.map.pitch freq
frac32.u.map strength
frac32.u.map gain
frac32.u.map clip
frac32.u.map quant
int32_t val;
val = 0;
int32_t f;
int32_t quant = __USAT(param_quant + inlet_quant, 27);
quant = ___SMMUL(quant << 3, quant << 2) + 1;
int32_t gain = __USAT(param_gain + inlet_gain, 28);
int32_t strength = __USAT(param_strength + inlet_strength, 27);
strength = ___SMMUL(strength << 3, (62 << 23));
int32_t clip = __USAT(param_clip + inlet_clip, 27);
int32_t av = val + inlet_in + ___SMMUL(gain << 3, inlet_in << 3) >> 1;
av = av / quant * quant;
av = __SSAT(av + ___SMMUL(av << 4, clip << 3), 28);
av = (av > 0 ? av : -av);
av = ___SMMUL(av << 3, av << 2);
av = ___SMMUL(av << 3, av << 2);
av = (1 << 27) - ___SMMUL(___SMMUL(av << 3, av << 2) << 3, strength << 2);
MTOF(param_freq, f);
f = ___SMMUL(av << 3, f) << 2;
val = ___SMMLA((inlet_in - val) << 1, f, val);
outlet_out = val;