frac32.bipolar pitch
frac32 fmw
frac32 gain1
frac32 gain2
frac32 hp
frac32buffer frequency
frac32buffer phase
frac32buffer.bipolar sine wave
frac32buffer pitch
frac32.s.map.pitch pitch
frac32.s.map fmw
frac32.s.map phase
frac32.u.map gain1
frac32.u.map gain2
frac32.u.map hp
bool32.tgl extend
uint32_t Phase;
int32_t sig;
int32_t hp;
int32_t HP;
Phase = 0;
hp = 0;
int32_t gain1 = param_gain1 + inlet_gain1 + (4 << 21);
if (param_extend > 0) {
gain1 += (4 << 21);
}
int32_t gain2 = param_gain2 + inlet_gain2 + (4 << 21);
int32_t fmw = inlet_fmw + param_fmw;
int32_t mod = ___SMMUL(inlet_freq << 3, fmw << 3);
int32_t freq;
MTOFEXTENDED(param_pitch + inlet_pitch + mod, freq);
int32_t HP;
MTOF((param_hp << 1) + param_pitch + inlet_pitch + inlet_hp + mod - (1 << 26),
HP);
Phase += freq;
int32_t r;
int32_t p2 = Phase + (inlet_phase << 4);
SINE2TINTERP((__SSAT(___SMMUL(gain1 << 4, p2), 28) << 4) + (param_phase << 1),
r)
sig = __SSAT(___SMMUL(gain2 << 4, r), 27);
hp = ___SMMLA((sig - hp) << 1, HP, hp);
outlet_wave = sig - hp;
outlet_pitch = param_pitch + inlet_pitch + mod;