output = hist1 = hist1 + imuldiv8(chorus_buf0_R[chorus_spt1] - v1, f1); 
output = hist1 = v1 + imuldiv8(chorus_buf0_R[chorus_spt1] - hist1, f1); 
void do_stereo_chorus(int32* buf, register int32 count){#if OPT_MODE != 0	/* fixed-point implementation */	int32 i, level, feedback, send_reverb, send_delay, pdelay,		depth, output, icycle, hist0, hist1, f0, f1, v0, v1;	level = TIM_FSCALE(chorus_param.level_ratio * MASTER_CHORUS_LEVEL, 24);	feedback = TIM_FSCALE(chorus_param.feedback_ratio, 24);	send_reverb = TIM_FSCALE(chorus_param.send_reverb_ratio * REV_INP_LEV, 24);	send_delay = TIM_FSCALE(chorus_param.send_delay_ratio, 24);	depth = chorus_param.depth_in_sample;	pdelay = chorus_param.delay_in_sample;	icycle = TIM_FSCALE((SINE_CYCLE_LENGTH - 1) / (double)chorus_cyc0, 24) - 0.5;	hist0 = chorus_hist0, hist1 = chorus_hist1;	/* LFO */	f0 = imuldiv24(chorus_lfo0[imuldiv24(chorus_cnt0, icycle)], depth);	chorus_spt0 = chorus_wpt0 - pdelay - (f0 >> 8);	/* integral part of delay */	f0 = 0xFF - (f0 & 0xFF);	/* (1 - frac) * 256 */	if(chorus_spt0 < 0) {chorus_spt0 += chorus_rpt0;}	f1 = imuldiv24(chorus_lfo1[imuldiv24(chorus_cnt0, icycle)], depth);	chorus_spt1 = chorus_wpt1 - pdelay - (f1 >> 8);	/* integral part of delay */	f1 = 0xFF - (f1 & 0xFF);	/* (1 - frac) * 256 */	if(chorus_spt1 < 0) {chorus_spt1 += chorus_rpt0;}		for(i = 0; i < count; i++) {		v0 = chorus_buf0_L[chorus_spt0];		v1 = chorus_buf0_R[chorus_spt1];		/* LFO */		if(++chorus_wpt0 == chorus_rpt0) {chorus_wpt0 = 0;}		chorus_wpt1 = chorus_wpt0;		f0 = imuldiv24(chorus_lfo0[imuldiv24(chorus_cnt0, icycle)], depth);		chorus_spt0 = chorus_wpt0 - pdelay - (f0 >> 8);	/* integral part of delay */		f0 = 0xFF - (f0 & 0xFF);	/* (1 - frac) * 256 */		if(chorus_spt0 < 0) {chorus_spt0 += chorus_rpt0;}		f1 = imuldiv24(chorus_lfo1[imuldiv24(chorus_cnt0, icycle)], depth);		chorus_spt1 = chorus_wpt1 - pdelay - (f1 >> 8);	/* integral part of delay */		f1 = 0xFF - (f1 & 0xFF);	/* (1 - frac) * 256 */		if(chorus_spt1 < 0) {chorus_spt1 += chorus_rpt0;}		if(++chorus_cnt0 == chorus_cyc0) {chorus_cnt0 = 0;}		/* left */		/* delay with all-pass interpolation */		output = hist0 = hist0 + imuldiv8(chorus_buf0_L[chorus_spt0] - v0, f0);		chorus_buf0_L[chorus_wpt0] = chorus_effect_buffer[i] + imuldiv24(output, feedback);		output = imuldiv24(output, level);		buf[i] += output;		/* send to other system effects (it's peculiar to GS) */		reverb_effect_buffer[i] += imuldiv24(output, send_reverb);		delay_effect_buffer[i] += imuldiv24(output, send_delay);		chorus_effect_buffer[i] = 0;		/* right */		/* delay with all-pass interpolation */		output = hist1 = hist1 + imuldiv8(chorus_buf0_R[chorus_spt1] - v1, f1);		chorus_buf0_R[chorus_wpt1] = chorus_effect_buffer[++i] + imuldiv24(output, feedback);		output = imuldiv24(output, level);		buf[i] += output;		/* send to other system effects (it's peculiar to GS) */		reverb_effect_buffer[i] += imuldiv24(output, send_reverb);		delay_effect_buffer[i] += imuldiv24(output, send_delay);		chorus_effect_buffer[i] = 0;	}	chorus_hist0 = hist0, chorus_hist1 = hist1;#endif /* OPT_MODE != 0 */}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/4799d9fcddee62e067db0bc03c13d3d5b88420dc/reverb.c/buggy/timidity/reverb.c