/* ------------------------------------------------------------
copyright: "Copyright (c) 2023 Punk Labs LLC"
license: "GPLv3 (or later)"
name: "OneTrick B-BOI DSP"
Code generated with Faust 2.74.6 (https://faust.grame.fr)
Compilation options: -a arch.rs -lang rust -ct 0 -cn DSP_Output -dtl 65536 -es 1 -mcd 16 -mdd 1024 -mdy 33 -single -ftz 0
------------------------------------------------------------ */
use faust_types::*;
use onetrick::faust::FaustDspExtended;




pub struct DSP_OutputSIG0 {
	iVec1: [i32;2],
	iRec19: [i32;2],
}

impl DSP_OutputSIG0 {
	
	fn get_num_inputsDSP_OutputSIG0(&self) -> i32 {
		return 0;
	}
	fn get_num_outputsDSP_OutputSIG0(&self) -> i32 {
		return 1;
	}
	
	fn instance_initDSP_OutputSIG0(&mut self, sample_rate: i32) {
		for l5 in 0..2 {
			self.iVec1[l5 as usize] = 0;
		}
		for l6 in 0..2 {
			self.iRec19[l6 as usize] = 0;
		}
	}
	
	fn fillDSP_OutputSIG0(&mut self, count: i32, table: &mut[F32]) {
		for i1 in 0..count {
			self.iVec1[0] = 1;
			self.iRec19[0] = (i32::wrapping_add(self.iVec1[1], self.iRec19[1])) % 65536;
			table[i1 as usize] = F32::sin(9.58738e-05 * (self.iRec19[0]) as F32);
			self.iVec1[1] = self.iVec1[0];
			self.iRec19[1] = self.iRec19[0];
		}
	}

}


pub fn newDSP_OutputSIG0() -> DSP_OutputSIG0 { 
	DSP_OutputSIG0 {
		iVec1: [0;2],
		iRec19: [0;2],
	}
}
fn DSP_Output_faustpower2_f(value: F32) -> F32 {
	return value * value;
}
static mut ftbl0DSP_OutputSIG0: [F32;65536] = [0.0;65536];
mod ffi {
	use std::os::raw::{c_float};
	// Conditionally compile the link attribute only on non-Windows platforms
	#[cfg_attr(not(target_os="windows"), link(name="m"))]
	extern {
		pub fn remainderf(from: c_float, to: c_float) -> c_float;
		pub fn rintf(val: c_float) -> c_float;
	}
}
fn remainder_f32(from: f32, to: f32) -> f32 {
	unsafe { ffi::remainderf(from, to) }
}
fn rint_f32(val: f32) -> f32 {
	unsafe { ffi::rintf(val) }
}

#[cfg_attr(feature = "default-boxed", derive(default_boxed::DefaultBoxed))]
#[repr(C)]
pub struct DSP_Output {
	iVec0: [i32;2],
	fSampleRate: i32,
	fConst0: F32,
	fConst1: F32,
	fHslider0: F32,
	fConst2: F32,
	fHslider1: F32,
	fConst3: F32,
	fButton0: F32,
	fConst4: F32,
	fConst5: F32,
	fRec4: [F32;2],
	fConst6: F32,
	fRec3: [F32;2],
	fRec6: [F32;2],
	fRec5: [F32;2],
	fConst7: F32,
	fConst8: F32,
	fConst9: F32,
	fConst10: F32,
	fConst11: F32,
	fConst12: F32,
	fConst13: F32,
	fConst14: F32,
	fConst15: F32,
	fConst16: F32,
	fConst17: F32,
	fConst18: F32,
	fConst19: F32,
	fConst20: F32,
	fConst21: F32,
	fConst22: F32,
	fConst23: F32,
	fConst24: F32,
	fConst25: F32,
	fConst26: F32,
	fConst27: F32,
	fConst28: F32,
	fConst29: F32,
	fConst30: F32,
	fConst31: F32,
	fConst32: F32,
	fConst33: F32,
	fConst34: F32,
	fConst35: F32,
	fRec20: [F32;2],
	fConst36: F32,
	fRec21: [F32;2],
	fConst37: F32,
	fRec22: [F32;2],
	fConst38: F32,
	fConst39: F32,
	fConst40: F32,
	fConst41: F32,
	fConst42: F32,
	fConst43: F32,
	fConst44: F32,
	fConst45: F32,
	fConst46: F32,
	fConst47: F32,
	fConst48: F32,
	fConst49: F32,
	fConst50: F32,
	fConst51: F32,
	fConst52: F32,
	fConst53: F32,
	fConst54: F32,
	fConst55: F32,
	iConst56: i32,
	iRec27: [i32;2],
	fConst57: F32,
	fConst58: F32,
	iConst59: i32,
	iRec31: [i32;2],
	fVec2: [F32;2],
	fRec30: [F32;2],
	fRec28: [F32;2],
	fRec29: [F32;2],
	fRec26: [F32;2],
	fConst60: F32,
	fConst61: F32,
	fRec35: [F32;2],
	fVec3: [F32;2],
	fRec34: [F32;2],
	fConst62: F32,
	fRec33: [F32;2],
	fRec36: [F32;2],
	iVec4: [i32;2],
	iRec32: [i32;2],
	iRec40: [i32;2],
	fRec39: [F32;2],
	fRec37: [F32;2],
	fRec38: [F32;2],
	fRec25: [F32;3],
	fConst63: F32,
	fConst64: F32,
	fRec48: [F32;2],
	fVec5: [F32;2],
	fRec47: [F32;2],
	fRec46: [F32;2],
	fRec49: [F32;2],
	iVec6: [i32;2],
	iRec45: [i32;2],
	fRec44: [F32;3],
	fConst65: F32,
	fRec52: [F32;2],
	fRec50: [F32;2],
	fRec51: [F32;2],
	fVec7: [F32;2],
	fConst66: F32,
	fRec24: [F32;2],
	fConst67: F32,
	fRec53: [F32;2],
	fVec8: [F32;2],
	fConst68: F32,
	fConst69: F32,
	fConst70: F32,
	fRec54: [F32;2],
	fRec23: [F32;3],
	fRec18: [F32;3],
	fRec17: [F32;3],
	fRec16: [F32;3],
	fRec15: [F32;3],
	fRec14: [F32;3],
	fRec13: [F32;3],
	fRec12: [F32;3],
	fRec11: [F32;3],
	fRec10: [F32;3],
	fRec9: [F32;3],
	fRec8: [F32;3],
	fRec7: [F32;3],
	fConst71: F32,
	fConst72: F32,
	fConst73: F32,
	fConst74: F32,
	fConst75: F32,
	fConst76: F32,
	fConst77: F32,
	fConst78: F32,
	fConst79: F32,
	fConst80: F32,
	fConst81: F32,
	fConst82: F32,
	fConst83: F32,
	fConst84: F32,
	fConst85: F32,
	fConst86: F32,
	fConst87: F32,
	fConst88: F32,
	fConst89: F32,
	fConst90: F32,
	fConst91: F32,
	fConst92: F32,
	fConst93: F32,
	fConst94: F32,
	fConst95: F32,
	fConst96: F32,
	fConst97: F32,
	fConst98: F32,
	iRec71: [i32;2],
	fRec70: [F32;2],
	fRec68: [F32;2],
	fRec69: [F32;2],
	fRec67: [F32;2],
	fRec73: [F32;2],
	fRec66: [F32;3],
	fRec65: [F32;3],
	fRec64: [F32;3],
	fRec63: [F32;3],
	fRec62: [F32;3],
	fRec61: [F32;3],
	fRec60: [F32;3],
	fRec59: [F32;3],
	fRec58: [F32;3],
	fRec57: [F32;3],
	fRec56: [F32;3],
	fRec55: [F32;3],
	fConst99: F32,
	fHslider2: F32,
	fHslider3: F32,
	fRec2: [F32;3],
	fRec1: [F32;3],
	fRec0: [F32;3],
	fHslider4: F32,
	fEntry0: F32,
	fHslider5: F32,
	fRec76: [F32;2],
	fRec74: [F32;2],
	fRec75: [F32;2],
	fHslider6: F32,
	fRec99: [F32;2],
	fRec97: [F32;2],
	fRec98: [F32;2],
	fRec96: [F32;3],
	fRec100: [F32;3],
	fRec103: [F32;2],
	fRec101: [F32;2],
	fRec102: [F32;2],
	fVec9: [F32;2],
	fRec95: [F32;2],
	fRec104: [F32;2],
	fVec10: [F32;2],
	fRec105: [F32;2],
	fRec94: [F32;3],
	fRec93: [F32;3],
	fRec92: [F32;3],
	fRec91: [F32;3],
	fRec90: [F32;3],
	fRec89: [F32;3],
	fRec88: [F32;3],
	fRec87: [F32;3],
	fRec86: [F32;3],
	fRec85: [F32;3],
	fRec84: [F32;3],
	fRec83: [F32;3],
	fRec82: [F32;3],
	fRec121: [F32;2],
	fRec119: [F32;2],
	fRec120: [F32;2],
	fRec118: [F32;2],
	fRec122: [F32;2],
	fRec117: [F32;3],
	fRec116: [F32;3],
	fRec115: [F32;3],
	fRec114: [F32;3],
	fRec113: [F32;3],
	fRec112: [F32;3],
	fRec111: [F32;3],
	fRec110: [F32;3],
	fRec109: [F32;3],
	fRec108: [F32;3],
	fRec107: [F32;3],
	fRec106: [F32;3],
	fRec81: [F32;3],
	fRec80: [F32;3],
	fRec79: [F32;3],
	fRec125: [F32;2],
	fRec123: [F32;2],
	fRec124: [F32;2],
	fButton1: F32,
	fVec11: [F32;2],
	fConst100: F32,
	fHslider7: F32,
	fRec126: [F32;2],
	fConst101: F32,
	fConst102: F32,
	fRec78: [F32;2],
	fConst103: F32,
	fConst104: F32,
	fRec77: [F32;2],
}

impl FaustDsp for DSP_Output {
	type T = F32;
		
	fn new() -> DSP_Output { 
		DSP_Output {
			iVec0: [0;2],
			fSampleRate: 0,
			fConst0: 0.0,
			fConst1: 0.0,
			fHslider0: 0.0,
			fConst2: 0.0,
			fHslider1: 0.0,
			fConst3: 0.0,
			fButton0: 0.0,
			fConst4: 0.0,
			fConst5: 0.0,
			fRec4: [0.0;2],
			fConst6: 0.0,
			fRec3: [0.0;2],
			fRec6: [0.0;2],
			fRec5: [0.0;2],
			fConst7: 0.0,
			fConst8: 0.0,
			fConst9: 0.0,
			fConst10: 0.0,
			fConst11: 0.0,
			fConst12: 0.0,
			fConst13: 0.0,
			fConst14: 0.0,
			fConst15: 0.0,
			fConst16: 0.0,
			fConst17: 0.0,
			fConst18: 0.0,
			fConst19: 0.0,
			fConst20: 0.0,
			fConst21: 0.0,
			fConst22: 0.0,
			fConst23: 0.0,
			fConst24: 0.0,
			fConst25: 0.0,
			fConst26: 0.0,
			fConst27: 0.0,
			fConst28: 0.0,
			fConst29: 0.0,
			fConst30: 0.0,
			fConst31: 0.0,
			fConst32: 0.0,
			fConst33: 0.0,
			fConst34: 0.0,
			fConst35: 0.0,
			fRec20: [0.0;2],
			fConst36: 0.0,
			fRec21: [0.0;2],
			fConst37: 0.0,
			fRec22: [0.0;2],
			fConst38: 0.0,
			fConst39: 0.0,
			fConst40: 0.0,
			fConst41: 0.0,
			fConst42: 0.0,
			fConst43: 0.0,
			fConst44: 0.0,
			fConst45: 0.0,
			fConst46: 0.0,
			fConst47: 0.0,
			fConst48: 0.0,
			fConst49: 0.0,
			fConst50: 0.0,
			fConst51: 0.0,
			fConst52: 0.0,
			fConst53: 0.0,
			fConst54: 0.0,
			fConst55: 0.0,
			iConst56: 0,
			iRec27: [0;2],
			fConst57: 0.0,
			fConst58: 0.0,
			iConst59: 0,
			iRec31: [0;2],
			fVec2: [0.0;2],
			fRec30: [0.0;2],
			fRec28: [0.0;2],
			fRec29: [0.0;2],
			fRec26: [0.0;2],
			fConst60: 0.0,
			fConst61: 0.0,
			fRec35: [0.0;2],
			fVec3: [0.0;2],
			fRec34: [0.0;2],
			fConst62: 0.0,
			fRec33: [0.0;2],
			fRec36: [0.0;2],
			iVec4: [0;2],
			iRec32: [0;2],
			iRec40: [0;2],
			fRec39: [0.0;2],
			fRec37: [0.0;2],
			fRec38: [0.0;2],
			fRec25: [0.0;3],
			fConst63: 0.0,
			fConst64: 0.0,
			fRec48: [0.0;2],
			fVec5: [0.0;2],
			fRec47: [0.0;2],
			fRec46: [0.0;2],
			fRec49: [0.0;2],
			iVec6: [0;2],
			iRec45: [0;2],
			fRec44: [0.0;3],
			fConst65: 0.0,
			fRec52: [0.0;2],
			fRec50: [0.0;2],
			fRec51: [0.0;2],
			fVec7: [0.0;2],
			fConst66: 0.0,
			fRec24: [0.0;2],
			fConst67: 0.0,
			fRec53: [0.0;2],
			fVec8: [0.0;2],
			fConst68: 0.0,
			fConst69: 0.0,
			fConst70: 0.0,
			fRec54: [0.0;2],
			fRec23: [0.0;3],
			fRec18: [0.0;3],
			fRec17: [0.0;3],
			fRec16: [0.0;3],
			fRec15: [0.0;3],
			fRec14: [0.0;3],
			fRec13: [0.0;3],
			fRec12: [0.0;3],
			fRec11: [0.0;3],
			fRec10: [0.0;3],
			fRec9: [0.0;3],
			fRec8: [0.0;3],
			fRec7: [0.0;3],
			fConst71: 0.0,
			fConst72: 0.0,
			fConst73: 0.0,
			fConst74: 0.0,
			fConst75: 0.0,
			fConst76: 0.0,
			fConst77: 0.0,
			fConst78: 0.0,
			fConst79: 0.0,
			fConst80: 0.0,
			fConst81: 0.0,
			fConst82: 0.0,
			fConst83: 0.0,
			fConst84: 0.0,
			fConst85: 0.0,
			fConst86: 0.0,
			fConst87: 0.0,
			fConst88: 0.0,
			fConst89: 0.0,
			fConst90: 0.0,
			fConst91: 0.0,
			fConst92: 0.0,
			fConst93: 0.0,
			fConst94: 0.0,
			fConst95: 0.0,
			fConst96: 0.0,
			fConst97: 0.0,
			fConst98: 0.0,
			iRec71: [0;2],
			fRec70: [0.0;2],
			fRec68: [0.0;2],
			fRec69: [0.0;2],
			fRec67: [0.0;2],
			fRec73: [0.0;2],
			fRec66: [0.0;3],
			fRec65: [0.0;3],
			fRec64: [0.0;3],
			fRec63: [0.0;3],
			fRec62: [0.0;3],
			fRec61: [0.0;3],
			fRec60: [0.0;3],
			fRec59: [0.0;3],
			fRec58: [0.0;3],
			fRec57: [0.0;3],
			fRec56: [0.0;3],
			fRec55: [0.0;3],
			fConst99: 0.0,
			fHslider2: 0.0,
			fHslider3: 0.0,
			fRec2: [0.0;3],
			fRec1: [0.0;3],
			fRec0: [0.0;3],
			fHslider4: 0.0,
			fEntry0: 0.0,
			fHslider5: 0.0,
			fRec76: [0.0;2],
			fRec74: [0.0;2],
			fRec75: [0.0;2],
			fHslider6: 0.0,
			fRec99: [0.0;2],
			fRec97: [0.0;2],
			fRec98: [0.0;2],
			fRec96: [0.0;3],
			fRec100: [0.0;3],
			fRec103: [0.0;2],
			fRec101: [0.0;2],
			fRec102: [0.0;2],
			fVec9: [0.0;2],
			fRec95: [0.0;2],
			fRec104: [0.0;2],
			fVec10: [0.0;2],
			fRec105: [0.0;2],
			fRec94: [0.0;3],
			fRec93: [0.0;3],
			fRec92: [0.0;3],
			fRec91: [0.0;3],
			fRec90: [0.0;3],
			fRec89: [0.0;3],
			fRec88: [0.0;3],
			fRec87: [0.0;3],
			fRec86: [0.0;3],
			fRec85: [0.0;3],
			fRec84: [0.0;3],
			fRec83: [0.0;3],
			fRec82: [0.0;3],
			fRec121: [0.0;2],
			fRec119: [0.0;2],
			fRec120: [0.0;2],
			fRec118: [0.0;2],
			fRec122: [0.0;2],
			fRec117: [0.0;3],
			fRec116: [0.0;3],
			fRec115: [0.0;3],
			fRec114: [0.0;3],
			fRec113: [0.0;3],
			fRec112: [0.0;3],
			fRec111: [0.0;3],
			fRec110: [0.0;3],
			fRec109: [0.0;3],
			fRec108: [0.0;3],
			fRec107: [0.0;3],
			fRec106: [0.0;3],
			fRec81: [0.0;3],
			fRec80: [0.0;3],
			fRec79: [0.0;3],
			fRec125: [0.0;2],
			fRec123: [0.0;2],
			fRec124: [0.0;2],
			fButton1: 0.0,
			fVec11: [0.0;2],
			fConst100: 0.0,
			fHslider7: 0.0,
			fRec126: [0.0;2],
			fConst101: 0.0,
			fConst102: 0.0,
			fRec78: [0.0;2],
			fConst103: 0.0,
			fConst104: 0.0,
			fRec77: [0.0;2],
		}
	}
	fn metadata(&self, m: &mut dyn Meta) { 
		m.declare("analyzers.lib/amp_follower_ar:author", r"Jonatan Liljedahl, revised by Romain Michon");
		m.declare("analyzers.lib/name", r"Faust Analyzer Library");
		m.declare("analyzers.lib/version", r"1.2.0");
		m.declare("basics.lib/bitcrusher:author", r"Julius O. Smith III, revised by Stephane Letz");
		m.declare("basics.lib/downSample:author", r"Romain Michon");
		m.declare("basics.lib/name", r"Faust Basic Element Library");
		m.declare("basics.lib/sAndH:author", r"Romain Michon");
		m.declare("basics.lib/tabulateNd", r"Copyright (C) 2023 Bart Brouns <bart@magnetophon.nl>");
		m.declare("basics.lib/version", r"1.18.0");
		m.declare("compile_options", r"-a arch.rs -lang rust -ct 0 -cn DSP_Output -dtl 65536 -es 1 -mcd 16 -mdd 1024 -mdy 33 -single -ftz 0");
		m.declare("compressors.lib/compression_gain_mono:author", r"Julius O. Smith III");
		m.declare("compressors.lib/compression_gain_mono:copyright", r"Copyright (C) 2014-2020 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("compressors.lib/compression_gain_mono:license", r"MIT-style STK-4.3 license");
		m.declare("compressors.lib/compressor_stereo:author", r"Julius O. Smith III");
		m.declare("compressors.lib/compressor_stereo:copyright", r"Copyright (C) 2014-2020 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("compressors.lib/compressor_stereo:license", r"MIT-style STK-4.3 license");
		m.declare("compressors.lib/name", r"Faust Compressor Effect Library");
		m.declare("compressors.lib/version", r"1.6.0");
		m.declare("copyright", r"Copyright (c) 2023 Punk Labs LLC");
		m.declare("envelopes.lib/ar:author", r"Yann Orlarey, Stéphane Letz");
		m.declare("envelopes.lib/author", r"GRAME");
		m.declare("envelopes.lib/copyright", r"GRAME");
		m.declare("envelopes.lib/license", r"LGPL with exception");
		m.declare("envelopes.lib/name", r"Faust Envelope Library");
		m.declare("envelopes.lib/version", r"1.3.0");
		m.declare("filename", r"output.dsp");
		m.declare("filters.lib/bandpass0_bandstop1:author", r"Julius O. Smith III");
		m.declare("filters.lib/bandpass0_bandstop1:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/bandpass0_bandstop1:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/bandpass:author", r"Julius O. Smith III");
		m.declare("filters.lib/bandpass:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/bandpass:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/filterbank:author", r"Julius O. Smith III");
		m.declare("filters.lib/filterbank:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/filterbank:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/fir:author", r"Julius O. Smith III");
		m.declare("filters.lib/fir:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/fir:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/highpass:author", r"Julius O. Smith III");
		m.declare("filters.lib/highpass:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/iir:author", r"Julius O. Smith III");
		m.declare("filters.lib/iir:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/iir:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/lowpass0_highpass1", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/lowpass0_highpass1:author", r"Julius O. Smith III");
		m.declare("filters.lib/lowpass:author", r"Julius O. Smith III");
		m.declare("filters.lib/lowpass:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/lowpass:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/lowshelf:author", r"Julius O. Smith III");
		m.declare("filters.lib/lowshelf:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/lowshelf:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/name", r"Faust Filters Library");
		m.declare("filters.lib/peak_eq:author", r"Julius O. Smith III");
		m.declare("filters.lib/peak_eq:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/peak_eq:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/tf1:author", r"Julius O. Smith III");
		m.declare("filters.lib/tf1:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/tf1:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/tf1s:author", r"Julius O. Smith III");
		m.declare("filters.lib/tf1s:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/tf1s:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/tf1sb:author", r"Julius O. Smith III");
		m.declare("filters.lib/tf1sb:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/tf1sb:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/tf2:author", r"Julius O. Smith III");
		m.declare("filters.lib/tf2:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/tf2:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/tf2s:author", r"Julius O. Smith III");
		m.declare("filters.lib/tf2s:copyright", r"Copyright (C) 2003-2019 by Julius O. Smith III <jos@ccrma.stanford.edu>");
		m.declare("filters.lib/tf2s:license", r"MIT-style STK-4.3 license");
		m.declare("filters.lib/version", r"1.3.0");
		m.declare("interpolators.lib/interpolate_linear:author", r"Stéphane Letz");
		m.declare("interpolators.lib/interpolate_linear:licence", r"MIT");
		m.declare("interpolators.lib/name", r"Faust Interpolator Library");
		m.declare("interpolators.lib/remap:author", r"David Braun");
		m.declare("interpolators.lib/version", r"1.3.1");
		m.declare("license", r"GPLv3 (or later)");
		m.declare("maths.lib/author", r"GRAME");
		m.declare("maths.lib/copyright", r"GRAME");
		m.declare("maths.lib/license", r"LGPL with exception");
		m.declare("maths.lib/name", r"Faust Math Library");
		m.declare("maths.lib/version", r"2.8.0");
		m.declare("misceffects.lib/dryWetMixer:author", r"David Braun, revised by Stéphane Letz");
		m.declare("misceffects.lib/name", r"Misc Effects Library");
		m.declare("misceffects.lib/version", r"2.5.0");
		m.declare("name", r"OneTrick B-BOI DSP");
		m.declare("noises.lib/name", r"Faust Noise Generator Library");
		m.declare("noises.lib/version", r"1.4.1");
		m.declare("onetrick.lib/copyright", r"Copyright (c) 2023 Punk Labs LLC");
		m.declare("onetrick.lib/license", r"GPLv3 (or later)");
		m.declare("onetrick.lib/name", r"OneTrick DSP Library");
		m.declare("oscillators.lib/lf_sawpos:author", r"Bart Brouns, revised by Stéphane Letz");
		m.declare("oscillators.lib/lf_sawpos:licence", r"STK-4.3");
		m.declare("oscillators.lib/name", r"Faust Oscillator Library");
		m.declare("oscillators.lib/version", r"1.5.1");
		m.declare("params.lib/copyright", r"Copyright (c) 2023 Punk Labs LLC");
		m.declare("params.lib/license", r"GPLv3 (or later)");
		m.declare("params.lib/name", r"OneTrick B-BOI DSP");
		m.declare("platform.lib/name", r"Generic Platform Library");
		m.declare("platform.lib/version", r"1.3.0");
		m.declare("signals.lib/name", r"Faust Signal Routing Library");
		m.declare("signals.lib/onePoleSwitching:author", r"Jonatan Liljedahl, revised by Dario Sanfilippo");
		m.declare("signals.lib/onePoleSwitching:licence", r"STK-4.3");
		m.declare("signals.lib/version", r"1.5.0");
	}

	fn get_sample_rate(&self) -> i32 {
		return self.fSampleRate;
	}
	fn get_num_inputs(&self) -> i32 {
		return 2;
	}
	fn get_num_outputs(&self) -> i32 {
		return 2;
	}
	
	fn class_init(sample_rate: i32) {
		let mut sig0: DSP_OutputSIG0 = newDSP_OutputSIG0();
		sig0.instance_initDSP_OutputSIG0(sample_rate);
		sig0.fillDSP_OutputSIG0(65536, unsafe { &mut ftbl0DSP_OutputSIG0 });
	}
	fn instance_reset_params(&mut self) {
		self.fHslider0 = 2e+01;
		self.fHslider1 = 2e+01;
		self.fButton0 = 0.0;
		self.fHslider2 = 0.0;
		self.fHslider3 = 0.0;
		self.fHslider4 = 16.0;
		self.fEntry0 = 0.0;
		self.fHslider5 = 44.1;
		self.fHslider6 = 0.0;
		self.fButton1 = 0.0;
		self.fHslider7 = 0.0;
	}
	fn instance_clear(&mut self) {
		for l0 in 0..2 {
			self.iVec0[l0 as usize] = 0;
		}
		for l1 in 0..2 {
			self.fRec4[l1 as usize] = 0.0;
		}
		for l2 in 0..2 {
			self.fRec3[l2 as usize] = 0.0;
		}
		for l3 in 0..2 {
			self.fRec6[l3 as usize] = 0.0;
		}
		for l4 in 0..2 {
			self.fRec5[l4 as usize] = 0.0;
		}
		for l7 in 0..2 {
			self.fRec20[l7 as usize] = 0.0;
		}
		for l8 in 0..2 {
			self.fRec21[l8 as usize] = 0.0;
		}
		for l9 in 0..2 {
			self.fRec22[l9 as usize] = 0.0;
		}
		for l10 in 0..2 {
			self.iRec27[l10 as usize] = 0;
		}
		for l11 in 0..2 {
			self.iRec31[l11 as usize] = 0;
		}
		for l12 in 0..2 {
			self.fVec2[l12 as usize] = 0.0;
		}
		for l13 in 0..2 {
			self.fRec30[l13 as usize] = 0.0;
		}
		for l14 in 0..2 {
			self.fRec28[l14 as usize] = 0.0;
		}
		for l15 in 0..2 {
			self.fRec29[l15 as usize] = 0.0;
		}
		for l16 in 0..2 {
			self.fRec26[l16 as usize] = 0.0;
		}
		for l17 in 0..2 {
			self.fRec35[l17 as usize] = 0.0;
		}
		for l18 in 0..2 {
			self.fVec3[l18 as usize] = 0.0;
		}
		for l19 in 0..2 {
			self.fRec34[l19 as usize] = 0.0;
		}
		for l20 in 0..2 {
			self.fRec33[l20 as usize] = 0.0;
		}
		for l21 in 0..2 {
			self.fRec36[l21 as usize] = 0.0;
		}
		for l22 in 0..2 {
			self.iVec4[l22 as usize] = 0;
		}
		for l23 in 0..2 {
			self.iRec32[l23 as usize] = 0;
		}
		for l24 in 0..2 {
			self.iRec40[l24 as usize] = 0;
		}
		for l25 in 0..2 {
			self.fRec39[l25 as usize] = 0.0;
		}
		for l26 in 0..2 {
			self.fRec37[l26 as usize] = 0.0;
		}
		for l27 in 0..2 {
			self.fRec38[l27 as usize] = 0.0;
		}
		for l28 in 0..3 {
			self.fRec25[l28 as usize] = 0.0;
		}
		for l29 in 0..2 {
			self.fRec48[l29 as usize] = 0.0;
		}
		for l30 in 0..2 {
			self.fVec5[l30 as usize] = 0.0;
		}
		for l31 in 0..2 {
			self.fRec47[l31 as usize] = 0.0;
		}
		for l32 in 0..2 {
			self.fRec46[l32 as usize] = 0.0;
		}
		for l33 in 0..2 {
			self.fRec49[l33 as usize] = 0.0;
		}
		for l34 in 0..2 {
			self.iVec6[l34 as usize] = 0;
		}
		for l35 in 0..2 {
			self.iRec45[l35 as usize] = 0;
		}
		for l36 in 0..3 {
			self.fRec44[l36 as usize] = 0.0;
		}
		for l37 in 0..2 {
			self.fRec52[l37 as usize] = 0.0;
		}
		for l38 in 0..2 {
			self.fRec50[l38 as usize] = 0.0;
		}
		for l39 in 0..2 {
			self.fRec51[l39 as usize] = 0.0;
		}
		for l40 in 0..2 {
			self.fVec7[l40 as usize] = 0.0;
		}
		for l41 in 0..2 {
			self.fRec24[l41 as usize] = 0.0;
		}
		for l42 in 0..2 {
			self.fRec53[l42 as usize] = 0.0;
		}
		for l43 in 0..2 {
			self.fVec8[l43 as usize] = 0.0;
		}
		for l44 in 0..2 {
			self.fRec54[l44 as usize] = 0.0;
		}
		for l45 in 0..3 {
			self.fRec23[l45 as usize] = 0.0;
		}
		for l46 in 0..3 {
			self.fRec18[l46 as usize] = 0.0;
		}
		for l47 in 0..3 {
			self.fRec17[l47 as usize] = 0.0;
		}
		for l48 in 0..3 {
			self.fRec16[l48 as usize] = 0.0;
		}
		for l49 in 0..3 {
			self.fRec15[l49 as usize] = 0.0;
		}
		for l50 in 0..3 {
			self.fRec14[l50 as usize] = 0.0;
		}
		for l51 in 0..3 {
			self.fRec13[l51 as usize] = 0.0;
		}
		for l52 in 0..3 {
			self.fRec12[l52 as usize] = 0.0;
		}
		for l53 in 0..3 {
			self.fRec11[l53 as usize] = 0.0;
		}
		for l54 in 0..3 {
			self.fRec10[l54 as usize] = 0.0;
		}
		for l55 in 0..3 {
			self.fRec9[l55 as usize] = 0.0;
		}
		for l56 in 0..3 {
			self.fRec8[l56 as usize] = 0.0;
		}
		for l57 in 0..3 {
			self.fRec7[l57 as usize] = 0.0;
		}
		for l58 in 0..2 {
			self.iRec71[l58 as usize] = 0;
		}
		for l59 in 0..2 {
			self.fRec70[l59 as usize] = 0.0;
		}
		for l60 in 0..2 {
			self.fRec68[l60 as usize] = 0.0;
		}
		for l61 in 0..2 {
			self.fRec69[l61 as usize] = 0.0;
		}
		for l62 in 0..2 {
			self.fRec67[l62 as usize] = 0.0;
		}
		for l63 in 0..2 {
			self.fRec73[l63 as usize] = 0.0;
		}
		for l64 in 0..3 {
			self.fRec66[l64 as usize] = 0.0;
		}
		for l65 in 0..3 {
			self.fRec65[l65 as usize] = 0.0;
		}
		for l66 in 0..3 {
			self.fRec64[l66 as usize] = 0.0;
		}
		for l67 in 0..3 {
			self.fRec63[l67 as usize] = 0.0;
		}
		for l68 in 0..3 {
			self.fRec62[l68 as usize] = 0.0;
		}
		for l69 in 0..3 {
			self.fRec61[l69 as usize] = 0.0;
		}
		for l70 in 0..3 {
			self.fRec60[l70 as usize] = 0.0;
		}
		for l71 in 0..3 {
			self.fRec59[l71 as usize] = 0.0;
		}
		for l72 in 0..3 {
			self.fRec58[l72 as usize] = 0.0;
		}
		for l73 in 0..3 {
			self.fRec57[l73 as usize] = 0.0;
		}
		for l74 in 0..3 {
			self.fRec56[l74 as usize] = 0.0;
		}
		for l75 in 0..3 {
			self.fRec55[l75 as usize] = 0.0;
		}
		for l76 in 0..3 {
			self.fRec2[l76 as usize] = 0.0;
		}
		for l77 in 0..3 {
			self.fRec1[l77 as usize] = 0.0;
		}
		for l78 in 0..3 {
			self.fRec0[l78 as usize] = 0.0;
		}
		for l79 in 0..2 {
			self.fRec76[l79 as usize] = 0.0;
		}
		for l80 in 0..2 {
			self.fRec74[l80 as usize] = 0.0;
		}
		for l81 in 0..2 {
			self.fRec75[l81 as usize] = 0.0;
		}
		for l82 in 0..2 {
			self.fRec99[l82 as usize] = 0.0;
		}
		for l83 in 0..2 {
			self.fRec97[l83 as usize] = 0.0;
		}
		for l84 in 0..2 {
			self.fRec98[l84 as usize] = 0.0;
		}
		for l85 in 0..3 {
			self.fRec96[l85 as usize] = 0.0;
		}
		for l86 in 0..3 {
			self.fRec100[l86 as usize] = 0.0;
		}
		for l87 in 0..2 {
			self.fRec103[l87 as usize] = 0.0;
		}
		for l88 in 0..2 {
			self.fRec101[l88 as usize] = 0.0;
		}
		for l89 in 0..2 {
			self.fRec102[l89 as usize] = 0.0;
		}
		for l90 in 0..2 {
			self.fVec9[l90 as usize] = 0.0;
		}
		for l91 in 0..2 {
			self.fRec95[l91 as usize] = 0.0;
		}
		for l92 in 0..2 {
			self.fRec104[l92 as usize] = 0.0;
		}
		for l93 in 0..2 {
			self.fVec10[l93 as usize] = 0.0;
		}
		for l94 in 0..2 {
			self.fRec105[l94 as usize] = 0.0;
		}
		for l95 in 0..3 {
			self.fRec94[l95 as usize] = 0.0;
		}
		for l96 in 0..3 {
			self.fRec93[l96 as usize] = 0.0;
		}
		for l97 in 0..3 {
			self.fRec92[l97 as usize] = 0.0;
		}
		for l98 in 0..3 {
			self.fRec91[l98 as usize] = 0.0;
		}
		for l99 in 0..3 {
			self.fRec90[l99 as usize] = 0.0;
		}
		for l100 in 0..3 {
			self.fRec89[l100 as usize] = 0.0;
		}
		for l101 in 0..3 {
			self.fRec88[l101 as usize] = 0.0;
		}
		for l102 in 0..3 {
			self.fRec87[l102 as usize] = 0.0;
		}
		for l103 in 0..3 {
			self.fRec86[l103 as usize] = 0.0;
		}
		for l104 in 0..3 {
			self.fRec85[l104 as usize] = 0.0;
		}
		for l105 in 0..3 {
			self.fRec84[l105 as usize] = 0.0;
		}
		for l106 in 0..3 {
			self.fRec83[l106 as usize] = 0.0;
		}
		for l107 in 0..3 {
			self.fRec82[l107 as usize] = 0.0;
		}
		for l108 in 0..2 {
			self.fRec121[l108 as usize] = 0.0;
		}
		for l109 in 0..2 {
			self.fRec119[l109 as usize] = 0.0;
		}
		for l110 in 0..2 {
			self.fRec120[l110 as usize] = 0.0;
		}
		for l111 in 0..2 {
			self.fRec118[l111 as usize] = 0.0;
		}
		for l112 in 0..2 {
			self.fRec122[l112 as usize] = 0.0;
		}
		for l113 in 0..3 {
			self.fRec117[l113 as usize] = 0.0;
		}
		for l114 in 0..3 {
			self.fRec116[l114 as usize] = 0.0;
		}
		for l115 in 0..3 {
			self.fRec115[l115 as usize] = 0.0;
		}
		for l116 in 0..3 {
			self.fRec114[l116 as usize] = 0.0;
		}
		for l117 in 0..3 {
			self.fRec113[l117 as usize] = 0.0;
		}
		for l118 in 0..3 {
			self.fRec112[l118 as usize] = 0.0;
		}
		for l119 in 0..3 {
			self.fRec111[l119 as usize] = 0.0;
		}
		for l120 in 0..3 {
			self.fRec110[l120 as usize] = 0.0;
		}
		for l121 in 0..3 {
			self.fRec109[l121 as usize] = 0.0;
		}
		for l122 in 0..3 {
			self.fRec108[l122 as usize] = 0.0;
		}
		for l123 in 0..3 {
			self.fRec107[l123 as usize] = 0.0;
		}
		for l124 in 0..3 {
			self.fRec106[l124 as usize] = 0.0;
		}
		for l125 in 0..3 {
			self.fRec81[l125 as usize] = 0.0;
		}
		for l126 in 0..3 {
			self.fRec80[l126 as usize] = 0.0;
		}
		for l127 in 0..3 {
			self.fRec79[l127 as usize] = 0.0;
		}
		for l128 in 0..2 {
			self.fRec125[l128 as usize] = 0.0;
		}
		for l129 in 0..2 {
			self.fRec123[l129 as usize] = 0.0;
		}
		for l130 in 0..2 {
			self.fRec124[l130 as usize] = 0.0;
		}
		for l131 in 0..2 {
			self.fVec11[l131 as usize] = 0.0;
		}
		for l132 in 0..2 {
			self.fRec126[l132 as usize] = 0.0;
		}
		for l133 in 0..2 {
			self.fRec78[l133 as usize] = 0.0;
		}
		for l134 in 0..2 {
			self.fRec77[l134 as usize] = 0.0;
		}
	}
	fn instance_constants(&mut self, sample_rate: i32) {
		self.fSampleRate = sample_rate;
		self.fConst0 = F32::min(1.92e+05, F32::max(1.0, (self.fSampleRate) as F32));
		self.fConst1 = 0.5 * self.fConst0;
		self.fConst2 = 3.1415927 / self.fConst0;
		self.fConst3 = F32::exp(-(1e+04 / self.fConst0));
		self.fConst4 = F32::exp(-(33.333332 / self.fConst0));
		self.fConst5 = 1.0 - self.fConst4;
		self.fConst6 = 1.0 - self.fConst3;
		self.fConst7 = 0.475 * self.fConst0;
		self.fConst8 = F32::tan(3.1415927 * (F32::min(self.fConst7, 8e+03) / self.fConst0));
		self.fConst9 = 2.0 * (1.0 - 1.0 / DSP_Output_faustpower2_f(self.fConst8));
		self.fConst10 = 1.0 / self.fConst8;
		self.fConst11 = (self.fConst10 + -0.13080625) / self.fConst8 + 1.0;
		self.fConst12 = 1.0 / ((self.fConst10 + 0.13080625) / self.fConst8 + 1.0);
		self.fConst13 = (self.fConst10 + -0.39018065) / self.fConst8 + 1.0;
		self.fConst14 = 1.0 / ((self.fConst10 + 0.39018065) / self.fConst8 + 1.0);
		self.fConst15 = (self.fConst10 + -0.64287895) / self.fConst8 + 1.0;
		self.fConst16 = 1.0 / ((self.fConst10 + 0.64287895) / self.fConst8 + 1.0);
		self.fConst17 = (self.fConst10 + -0.8845774) / self.fConst8 + 1.0;
		self.fConst18 = 1.0 / ((self.fConst10 + 0.8845774) / self.fConst8 + 1.0);
		self.fConst19 = (self.fConst10 + -1.1111405) / self.fConst8 + 1.0;
		self.fConst20 = 1.0 / ((self.fConst10 + 1.1111405) / self.fConst8 + 1.0);
		self.fConst21 = (self.fConst10 + -1.3186916) / self.fConst8 + 1.0;
		self.fConst22 = 1.0 / ((self.fConst10 + 1.3186916) / self.fConst8 + 1.0);
		self.fConst23 = (self.fConst10 + -1.5036796) / self.fConst8 + 1.0;
		self.fConst24 = 1.0 / ((self.fConst10 + 1.5036796) / self.fConst8 + 1.0);
		self.fConst25 = (self.fConst10 + -1.6629392) / self.fConst8 + 1.0;
		self.fConst26 = 1.0 / ((self.fConst10 + 1.6629392) / self.fConst8 + 1.0);
		self.fConst27 = (self.fConst10 + -1.7937455) / self.fConst8 + 1.0;
		self.fConst28 = 1.0 / ((self.fConst10 + 1.7937455) / self.fConst8 + 1.0);
		self.fConst29 = (self.fConst10 + -1.8938602) / self.fConst8 + 1.0;
		self.fConst30 = 1.0 / ((self.fConst10 + 1.8938602) / self.fConst8 + 1.0);
		self.fConst31 = (self.fConst10 + -1.9615705) / self.fConst8 + 1.0;
		self.fConst32 = 1.0 / ((self.fConst10 + 1.9615705) / self.fConst8 + 1.0);
		self.fConst33 = (self.fConst10 + -1.9957179) / self.fConst8 + 1.0;
		self.fConst34 = 1.0 / ((self.fConst10 + 1.9957179) / self.fConst8 + 1.0);
		self.fConst35 = 5.2 / self.fConst0;
		self.fConst36 = 2.6 / self.fConst0;
		self.fConst37 = 1.3 / self.fConst0;
		self.fConst38 = 10995.574 / (self.fConst0 * F32::sin(9424.778 / self.fConst0));
		self.fConst39 = F32::tan(4712.389 / self.fConst0);
		self.fConst40 = 1.0 / self.fConst39;
		self.fConst41 = 2.0 * (1.0 - 1.0 / DSP_Output_faustpower2_f(self.fConst39));
		self.fConst42 = F32::tan(314.15927 / self.fConst0);
		self.fConst43 = 1.0 / self.fConst42;
		self.fConst44 = 1.0 - self.fConst43;
		self.fConst45 = F32::tan(12566.371 / self.fConst0);
		self.fConst46 = self.fConst0 * self.fConst45;
		self.fConst47 = F32::tan(1570.7964 / self.fConst0);
		self.fConst48 = DSP_Output_faustpower2_f(F32::sqrt(4.0 * DSP_Output_faustpower2_f(self.fConst0) * self.fConst47 * self.fConst45));
		self.fConst49 = 2.0 * self.fConst46 - 0.5 * (self.fConst48 / self.fConst46);
		self.fConst50 = 2.0 * (self.fConst49 / self.fConst0);
		self.fConst51 = DSP_Output_faustpower2_f(1.0 / self.fConst0) * self.fConst48;
		self.fConst52 = self.fConst51 + (4.0 - self.fConst50);
		self.fConst53 = 2.0 * self.fConst51 + -8.0;
		self.fConst54 = self.fConst51 + self.fConst50 + 4.0;
		self.fConst55 = 1.0 / self.fConst54;
		self.iConst56 = (0.1 * self.fConst0) as i32;
		self.fConst57 = F32::min(4.8e+04, self.fConst0);
		self.fConst58 = self.fConst0 / F32::min(self.fConst57, self.fConst0);
		self.iConst59 = (self.fConst58) as i32;
		self.fConst60 = 0.00025 * self.fConst0;
		self.fConst61 = 1e+01 / self.fConst0;
		self.fConst62 = F32::round(self.fConst0 / self.fConst57);
		self.fConst63 = 0.001 * self.fConst0;
		self.fConst64 = 1.5 / self.fConst0;
		self.fConst65 = self.fConst49 / (self.fConst0 * self.fConst54);
		self.fConst66 = 1.0 / (self.fConst43 + 1.0);
		self.fConst67 = 0.0891251 / self.fConst42;
		self.fConst68 = 1.0 / self.fConst47;
		self.fConst69 = 1.0 - self.fConst68;
		self.fConst70 = 1.0 / (self.fConst68 + 1.0);
		self.fConst71 = F32::tan(3.1415927 * (F32::min(self.fConst7, 1.65e+04) / self.fConst0));
		self.fConst72 = 2.0 * (1.0 - 1.0 / DSP_Output_faustpower2_f(self.fConst71));
		self.fConst73 = 1.0 / self.fConst71;
		self.fConst74 = (self.fConst73 + -0.13080625) / self.fConst71 + 1.0;
		self.fConst75 = (self.fConst73 + 0.13080625) / self.fConst71 + 1.0;
		self.fConst76 = 1.0 / self.fConst75;
		self.fConst77 = (self.fConst73 + -0.39018065) / self.fConst71 + 1.0;
		self.fConst78 = 1.0 / ((self.fConst73 + 0.39018065) / self.fConst71 + 1.0);
		self.fConst79 = (self.fConst73 + -0.64287895) / self.fConst71 + 1.0;
		self.fConst80 = 1.0 / ((self.fConst73 + 0.64287895) / self.fConst71 + 1.0);
		self.fConst81 = (self.fConst73 + -0.8845774) / self.fConst71 + 1.0;
		self.fConst82 = 1.0 / ((self.fConst73 + 0.8845774) / self.fConst71 + 1.0);
		self.fConst83 = (self.fConst73 + -1.1111405) / self.fConst71 + 1.0;
		self.fConst84 = 1.0 / ((self.fConst73 + 1.1111405) / self.fConst71 + 1.0);
		self.fConst85 = (self.fConst73 + -1.3186916) / self.fConst71 + 1.0;
		self.fConst86 = 1.0 / ((self.fConst73 + 1.3186916) / self.fConst71 + 1.0);
		self.fConst87 = (self.fConst73 + -1.5036796) / self.fConst71 + 1.0;
		self.fConst88 = 1.0 / ((self.fConst73 + 1.5036796) / self.fConst71 + 1.0);
		self.fConst89 = (self.fConst73 + -1.6629392) / self.fConst71 + 1.0;
		self.fConst90 = 1.0 / ((self.fConst73 + 1.6629392) / self.fConst71 + 1.0);
		self.fConst91 = (self.fConst73 + -1.7937455) / self.fConst71 + 1.0;
		self.fConst92 = 1.0 / ((self.fConst73 + 1.7937455) / self.fConst71 + 1.0);
		self.fConst93 = (self.fConst73 + -1.8938602) / self.fConst71 + 1.0;
		self.fConst94 = 1.0 / ((self.fConst73 + 1.8938602) / self.fConst71 + 1.0);
		self.fConst95 = (self.fConst73 + -1.9615705) / self.fConst71 + 1.0;
		self.fConst96 = 1.0 / ((self.fConst73 + 1.9615705) / self.fConst71 + 1.0);
		self.fConst97 = (self.fConst73 + -1.9957179) / self.fConst71 + 1.0;
		self.fConst98 = 1.0 / ((self.fConst73 + 1.9957179) / self.fConst71 + 1.0);
		self.fConst99 = 0.06309573 / self.fConst75;
		self.fConst100 = F32::exp(-(1e+02 / self.fConst0));
		self.fConst101 = F32::exp(-(2e+01 / self.fConst0));
		self.fConst102 = F32::exp(-(5e+04 / self.fConst0));
		self.fConst103 = F32::exp(-(1e+05 / self.fConst0));
		self.fConst104 = 0.95 * (1.0 - self.fConst103);
	}
	fn instance_init(&mut self, sample_rate: i32) {
		self.instance_constants(sample_rate);
		self.instance_reset_params();
		self.instance_clear();
	}
	fn init(&mut self, sample_rate: i32) {
		DSP_Output::class_init(sample_rate);
		self.instance_init(sample_rate);
	}
	
	fn build_user_interface(&self, ui_interface: &mut dyn UI<Self::T>) {
		Self::build_user_interface_static(ui_interface);
	}
	
	fn build_user_interface_static(ui_interface: &mut dyn UI<Self::T>) {
		ui_interface.open_vertical_box("OneTrick B-BOI DSP");
		ui_interface.add_button("Hold", ParamIndex(0));
		ui_interface.add_num_entry("ModWheel", ParamIndex(1), 0.0, 0.0, 1.0, 0.001);
		ui_interface.add_button("WakeUp", ParamIndex(2));
		ui_interface.declare(Some(ParamIndex(3)), "110", "");
		ui_interface.declare(Some(ParamIndex(3)), "export", "Gain");
		ui_interface.declare(Some(ParamIndex(3)), "group", "Mix");
		ui_interface.declare(Some(ParamIndex(3)), "unit", "dB");
		ui_interface.add_horizontal_slider("Mix_Gain", ParamIndex(3), 0.0, -1e+02, 6.0, 0.1);
		ui_interface.declare(Some(ParamIndex(4)), "130", "");
		ui_interface.declare(Some(ParamIndex(4)), "export", "Saturation");
		ui_interface.declare(Some(ParamIndex(4)), "group", "Mix");
		ui_interface.declare(Some(ParamIndex(4)), "unit", "%");
		ui_interface.add_horizontal_slider("Mix_Saturation", ParamIndex(4), 0.0, 0.0, 1e+02, 0.01);
		ui_interface.declare(Some(ParamIndex(5)), "410", "");
		ui_interface.declare(Some(ParamIndex(5)), "export", "Samplerate");
		ui_interface.declare(Some(ParamIndex(5)), "group", "Sampler");
		ui_interface.declare(Some(ParamIndex(5)), "unit", "kHz");
		ui_interface.add_horizontal_slider("Sampler_Samplerate", ParamIndex(5), 44.1, 1.0, 44.1, 0.01);
		ui_interface.declare(Some(ParamIndex(6)), "420", "");
		ui_interface.declare(Some(ParamIndex(6)), "export", "Bits");
		ui_interface.declare(Some(ParamIndex(6)), "group", "Sampler");
		ui_interface.declare(Some(ParamIndex(6)), "unit", "bit");
		ui_interface.add_horizontal_slider("Sampler_Bits", ParamIndex(6), 16.0, 4.0, 16.0, 1.0);
		ui_interface.declare(Some(ParamIndex(7)), "510", "");
		ui_interface.declare(Some(ParamIndex(7)), "enum", "Vinyl,Tape");
		ui_interface.declare(Some(ParamIndex(7)), "export", "Noise Type");
		ui_interface.declare(Some(ParamIndex(7)), "group", "Media");
		ui_interface.add_horizontal_slider("Media_Noise_Type", ParamIndex(7), 0.0, 0.0, 1.0, 1.0);
		ui_interface.declare(Some(ParamIndex(8)), "520", "");
		ui_interface.declare(Some(ParamIndex(8)), "export", "Noise Amount");
		ui_interface.declare(Some(ParamIndex(8)), "group", "Media");
		ui_interface.declare(Some(ParamIndex(8)), "unit", "%");
		ui_interface.add_horizontal_slider("Media_Noise_Amount", ParamIndex(8), 0.0, 0.0, 1e+02, 0.01);
		ui_interface.declare(Some(ParamIndex(9)), "530", "");
		ui_interface.declare(Some(ParamIndex(9)), "export", "Lowpass");
		ui_interface.declare(Some(ParamIndex(9)), "group", "Media");
		ui_interface.declare(Some(ParamIndex(9)), "unit", "kHz");
		ui_interface.add_horizontal_slider("Media_Lowpass", ParamIndex(9), 2e+01, 1.0, 2e+01, 0.01);
		ui_interface.declare(Some(ParamIndex(10)), "540", "");
		ui_interface.declare(Some(ParamIndex(10)), "export", "Highpass");
		ui_interface.declare(Some(ParamIndex(10)), "group", "Media");
		ui_interface.declare(Some(ParamIndex(10)), "unit", "Hz");
		ui_interface.add_horizontal_slider("Media_Highpass", ParamIndex(10), 2e+01, 2e+01, 8e+02, 0.01);
		ui_interface.close_box();
	}
	
	fn get_param(&self, param: ParamIndex) -> Option<Self::T> {
		match param.0 {
			0 => Some(self.fButton0),
			2 => Some(self.fButton1),
			1 => Some(self.fEntry0),
			9 => Some(self.fHslider0),
			10 => Some(self.fHslider1),
			7 => Some(self.fHslider2),
			8 => Some(self.fHslider3),
			6 => Some(self.fHslider4),
			5 => Some(self.fHslider5),
			4 => Some(self.fHslider6),
			3 => Some(self.fHslider7),
			_ => None,
		}
	}
	
	fn set_param(&mut self, param: ParamIndex, value: Self::T) {
		match param.0 {
			0 => { self.fButton0 = value }
			2 => { self.fButton1 = value }
			1 => { self.fEntry0 = value }
			9 => { self.fHslider0 = value }
			10 => { self.fHslider1 = value }
			7 => { self.fHslider2 = value }
			8 => { self.fHslider3 = value }
			6 => { self.fHslider4 = value }
			5 => { self.fHslider5 = value }
			4 => { self.fHslider6 = value }
			3 => { self.fHslider7 = value }
			_ => {}
		}
	}
	
	fn compute(&mut self, count: i32, inputs: &[&[Self::T]], outputs: &mut[&mut[Self::T]]) {
		let (inputs0, inputs1) = if let [inputs0, inputs1, ..] = inputs {
			let inputs0 = inputs0[..count as usize].iter();
			let inputs1 = inputs1[..count as usize].iter();
			(inputs0, inputs1)
		} else {
			panic!("wrong number of inputs");
		};
		let (outputs0, outputs1) = if let [outputs0, outputs1, ..] = outputs {
			let outputs0 = outputs0[..count as usize].iter_mut();
			let outputs1 = outputs1[..count as usize].iter_mut();
			(outputs0, outputs1)
		} else {
			panic!("wrong number of outputs");
		};
		let mut fSlow0: F32 = F32::tan(self.fConst2 * F32::min(self.fConst1, 1e+03 * self.fHslider0));
		let mut fSlow1: F32 = 2.0 * (1.0 - 1.0 / DSP_Output_faustpower2_f(fSlow0));
		let mut fSlow2: F32 = 1.0 / fSlow0;
		let mut fSlow3: F32 = (fSlow2 + -0.76536685) / fSlow0 + 1.0;
		let mut fSlow4: F32 = (fSlow2 + 0.76536685) / fSlow0 + 1.0;
		let mut fSlow5: F32 = 1.0 / fSlow4;
		let mut fSlow6: F32 = (fSlow2 + -1.847759) / fSlow0 + 1.0;
		let mut fSlow7: F32 = 1.0 / ((fSlow2 + 1.847759) / fSlow0 + 1.0);
		let mut fSlow8: F32 = F32::tan(self.fConst2 * self.fHslider1);
		let mut fSlow9: F32 = DSP_Output_faustpower2_f(fSlow8);
		let mut fSlow10: F32 = 2.0 * (1.0 - 1.0 / fSlow9);
		let mut fSlow11: F32 = 1.0 / fSlow8;
		let mut fSlow12: F32 = (fSlow11 + -1.4142135) / fSlow8 + 1.0;
		let mut fSlow13: F32 = (fSlow11 + 1.4142135) / fSlow8 + 1.0;
		let mut fSlow14: F32 = 1.0 / fSlow13;
		let mut iSlow15: i32 = (self.fButton0) as i32;
		let mut fSlow16: F32 = self.fHslider2;
		let mut fSlow17: F32 = 0.0017782794 * self.fHslider3;
		let mut fSlow18: F32 = 1.0 / (fSlow9 * fSlow13);
		let mut fSlow19: F32 = self.fHslider4;
		let mut fSlow20: F32 = self.fEntry0;
		let mut fSlow21: F32 = fSlow19 + fSlow20 * (4.0 - fSlow19);
		let mut fSlow22: F32 = ((fSlow21 < 15.9) as i32) as u32 as F32;
		let mut fSlow23: F32 = (1.0 - fSlow22) / fSlow4;
		let mut fSlow24: F32 = F32::powf(2.0, fSlow21) + -1.0;
		let mut fSlow25: F32 = fSlow24 / fSlow4;
		let mut fSlow26: F32 = fSlow22 / fSlow24;
		let mut fSlow27: F32 = 17.31234 * F32::log(0.0022727272 * F32::min(self.fConst0, 1e+03 * self.fHslider5), std::f32::consts::E);
		let mut fSlow28: F32 = 4.4e+02 * F32::powf(2.0, 0.083333336 * (fSlow27 + fSlow20 * (14.213095 - fSlow27)));
		let mut fSlow29: F32 = ((fSlow28 < 44099.9) as i32) as u32 as F32;
		let mut fSlow30: F32 = 1.0 - fSlow29;
		let mut fSlow31: F32 = self.fConst0 / F32::min(fSlow28, self.fConst0);
		let mut iSlow32: i32 = (fSlow31) as i32;
		let mut fSlow33: F32 = self.fHslider6;
		let mut fSlow34: F32 = 1.0 / F32::min(F32::max(0.003 * fSlow33 + 0.5, 0.001), 0.999) + -2.0;
		let mut fSlow35: F32 = self.fButton1;
		let mut fSlow36: F32 = F32::max(-1e+02, self.fHslider7);
		let mut fSlow37: F32 = 1.0 - 0.00525 * fSlow33;
		let zipped_iterators = inputs0.zip(inputs1).zip(outputs0).zip(outputs1);
		for (((input0, input1), output0), output1) in zipped_iterators {
			self.iVec0[0] = 1;
			let mut fTemp0: F32 = *input0;
			let mut fTemp1: F32 = F32::abs(if iSlow15 != 0 {1.0} else {fTemp0});
			self.fRec4[0] = F32::max(fTemp1, self.fConst4 * self.fRec4[1] + self.fConst5 * fTemp1);
			self.fRec3[0] = self.fConst6 * self.fRec4[0] + self.fConst3 * self.fRec3[1];
			let mut fTemp2: F32 = *input1;
			let mut fTemp3: F32 = F32::abs(if iSlow15 != 0 {1.0} else {fTemp2});
			self.fRec6[0] = F32::max(fTemp3, self.fConst4 * self.fRec6[1] + self.fConst5 * fTemp3);
			self.fRec5[0] = self.fConst6 * self.fRec6[0] + self.fConst3 * self.fRec5[1];
			let mut fTemp4: F32 = F32::min(1.0, 1e+04 * F32::max(self.fRec3[0], self.fRec5[0]));
			let mut iTemp5: i32 = i32::wrapping_sub(1, self.iVec0[1]);
			let mut fTemp6: F32 = if iTemp5 != 0 {0.0} else {self.fConst35 + self.fRec20[1]};
			self.fRec20[0] = fTemp6 - F32::floor(fTemp6);
			let mut fTemp7: F32 = if iTemp5 != 0 {0.0} else {self.fConst36 + self.fRec21[1]};
			self.fRec21[0] = fTemp7 - F32::floor(fTemp7);
			let mut fTemp8: F32 = if iTemp5 != 0 {0.0} else {self.fConst37 + self.fRec22[1]};
			self.fRec22[0] = fTemp8 - F32::floor(fTemp8);
			let mut fTemp9: F32 = 0.025 * (unsafe { ftbl0DSP_OutputSIG0[((65536.0 * self.fRec22[0]) as i32) as usize] } + 1.0) * (unsafe { ftbl0DSP_OutputSIG0[((65536.0 * self.fRec21[0]) as i32) as usize] } + 1.0) * (unsafe { ftbl0DSP_OutputSIG0[((65536.0 * self.fRec20[0]) as i32) as usize] } + 1.0) + 0.8;
			let mut fTemp10: F32 = 1e+01 * fTemp9;
			let mut iTemp11: i32 = (fTemp10 > 0.0) as i32;
			let mut fTemp12: F32 = self.fConst38 * F32::powf(1e+01, 0.05 * F32::abs(fTemp10));
			let mut fTemp13: F32 = if iTemp11 != 0 {self.fConst38} else {fTemp12};
			let mut fTemp14: F32 = self.fConst40 * (self.fConst40 + fTemp13) + 1.0;
			let mut fTemp15: F32 = if iTemp11 != 0 {fTemp12} else {self.fConst38};
			let mut fTemp16: F32 = self.fConst40 * (self.fConst40 - fTemp15) + 1.0;
			let mut fTemp17: F32 = self.fConst41 * self.fRec23[1];
			let mut fTemp18: F32 = self.fConst40 * (self.fConst40 - fTemp13) + 1.0;
			self.iRec27[0] = i32::wrapping_add(self.iRec27[1], 1);
			let mut iTemp19: i32 = i32::wrapping_add(self.iRec27[0], -1);
			let mut iTemp20: i32 = ((iTemp19 % self.iConst59) == 0) as i32;
			self.iRec31[0] = i32::wrapping_add(i32::wrapping_mul(1103515245, self.iRec31[1]), 12345);
			let mut fTemp21: F32 = (self.iRec31[0]) as F32;
			self.fVec2[0] = fTemp21;
			self.fRec30[0] = if iTemp20 != 0 {4.656613e-10 * fTemp21} else {self.fRec30[1]};
			let mut fTemp22: F32 = if (self.fRec30[0] != self.fRec30[1]) as i32 != 0 {self.fConst58} else {self.fRec28[1] + -1.0};
			self.fRec28[0] = fTemp22;
			self.fRec29[0] = if (fTemp22 > 0.0) as i32 != 0 {self.fRec29[1] + (self.fRec30[0] - self.fRec29[1]) / fTemp22} else {self.fRec30[0]};
			self.fRec26[0] = if ((iTemp19 % self.iConst56) == 0) as i32 != 0 {3.5 * (self.fRec29[0] + 1.0) + 1.0} else {self.fRec26[1]};
			let mut fTemp23: F32 = if iTemp5 != 0 {0.0} else {self.fRec35[1] + self.fConst61 * fTemp9};
			self.fRec35[0] = fTemp23 - F32::floor(fTemp23);
			let mut fTemp24: F32 = self.fRec35[0] - self.fRec35[1];
			self.fVec3[0] = fTemp24;
			let mut iTemp25: i32 = ((self.fVec3[1] <= 0.0) as i32) & ((fTemp24 > 0.0) as i32);
			self.fRec34[0] = self.fRec34[1] * (i32::wrapping_sub(1, iTemp25)) as F32 + 4.656613e-10 * fTemp21 * (iTemp25) as F32;
			let mut fTemp26: F32 = 0.5 * (self.fRec34[0] + 1.0);
			let mut fTemp27: F32 = 4.656613e-10 * self.fVec2[1] * (((self.fRec35[0] >= fTemp26) as i32) * ((self.fRec35[1] < fTemp26) as i32)) as F32;
			let mut iTemp28: i32 = i32::abs(((fTemp27 > 0.0) as i32) - ((fTemp27 < 0.0) as i32));
			self.fRec33[0] = if (iTemp28 > 0) as i32 != 0 {self.fConst62} else {F32::max(0.0, self.fRec33[1] + -1.0)};
			self.fRec36[0] = if iTemp28 != 0 {fTemp27} else {self.fRec36[1]};
			let mut fTemp29: F32 = self.fRec36[0] * ((self.fRec33[0] > 0.0) as i32) as u32 as F32;
			let mut iTemp30: i32 = ((fTemp29 > 0.0) as i32) - ((fTemp29 < 0.0) as i32);
			self.iVec4[0] = iTemp30;
			self.iRec32[0] = i32::wrapping_add(i32::wrapping_mul(i32::wrapping_add(self.iRec32[1], (self.iRec32[1] > 0) as i32), (iTemp30 <= self.iVec4[1]) as i32), (iTemp30 > self.iVec4[1]) as i32);
			let mut fTemp31: F32 = (self.iRec32[0]) as F32 / F32::max(1.0, self.fConst60 * self.fRec26[0]);
			let mut fTemp32: F32 = F32::max(0.0, F32::min(fTemp31, 2.0 - fTemp31));
			let mut iTemp33: i32 = i32::wrapping_mul(1103515245, i32::wrapping_add(self.iRec40[1], 12345));
			let mut iTemp34: i32 = i32::wrapping_mul(1103515245, i32::wrapping_add(iTemp33, 12345));
			let mut iTemp35: i32 = i32::wrapping_mul(1103515245, i32::wrapping_add(iTemp34, 12345));
			self.iRec40[0] = i32::wrapping_mul(1103515245, i32::wrapping_add(iTemp35, 12345));
			let mut iRec41: i32 = iTemp35;
			let mut iRec42: i32 = iTemp34;
			let mut iRec43: i32 = iTemp33;
			self.fRec39[0] = if iTemp20 != 0 {4.656613e-10 * (iRec42) as F32} else {self.fRec39[1]};
			let mut fTemp36: F32 = if (self.fRec39[0] != self.fRec39[1]) as i32 != 0 {self.fConst58} else {self.fRec37[1] + -1.0};
			self.fRec37[0] = fTemp36;
			self.fRec38[0] = if (fTemp36 > 0.0) as i32 != 0 {self.fRec38[1] + (self.fRec39[0] - self.fRec38[1]) / fTemp36} else {self.fRec39[0]};
			self.fRec25[0] = self.fRec38[0] * fTemp32 - self.fConst55 * (self.fConst53 * self.fRec25[1] + self.fConst52 * self.fRec25[2]);
			let mut fTemp37: F32 = if iTemp5 != 0 {0.0} else {self.fConst64 + self.fRec48[1]};
			self.fRec48[0] = fTemp37 - F32::floor(fTemp37);
			let mut fTemp38: F32 = self.fRec48[0] - self.fRec48[1];
			self.fVec5[0] = fTemp38;
			let mut iTemp39: i32 = ((self.fVec5[1] <= 0.0) as i32) & ((fTemp38 > 0.0) as i32);
			self.fRec47[0] = self.fRec47[1] * (i32::wrapping_sub(1, iTemp39)) as F32 + 4.656613e-10 * fTemp21 * (iTemp39) as F32;
			let mut fTemp40: F32 = 0.5 * (self.fRec47[0] + 1.0);
			let mut fTemp41: F32 = 4.656613e-10 * self.fVec2[1] * (((self.fRec48[0] >= fTemp40) as i32) * ((self.fRec48[1] < fTemp40) as i32)) as F32;
			let mut iTemp42: i32 = i32::abs(((fTemp41 > 0.0) as i32) - ((fTemp41 < 0.0) as i32));
			self.fRec46[0] = if (iTemp42 > 0) as i32 != 0 {self.fConst62} else {F32::max(0.0, self.fRec46[1] + -1.0)};
			self.fRec49[0] = if iTemp42 != 0 {fTemp41} else {self.fRec49[1]};
			let mut fTemp43: F32 = self.fRec49[0] * ((self.fRec46[0] > 0.0) as i32) as u32 as F32;
			let mut iTemp44: i32 = ((fTemp43 > 0.0) as i32) - ((fTemp43 < 0.0) as i32);
			self.iVec6[0] = iTemp44;
			self.iRec45[0] = i32::wrapping_add(i32::wrapping_mul(i32::wrapping_add(self.iRec45[1], (self.iRec45[1] > 0) as i32), (iTemp44 <= self.iVec6[1]) as i32), (iTemp44 > self.iVec6[1]) as i32);
			let mut fTemp45: F32 = (self.iRec45[0]) as F32 / F32::max(1.0, self.fConst63 * self.fRec26[0]);
			let mut fTemp46: F32 = F32::max(0.0, F32::min(fTemp45, 2.0 - fTemp45));
			self.fRec44[0] = self.fRec38[0] * fTemp46 - self.fConst55 * (self.fConst53 * self.fRec44[1] + self.fConst52 * self.fRec44[2]);
			self.fRec52[0] = if iTemp20 != 0 {4.656613e-10 * (self.iRec40[0]) as F32} else {self.fRec52[1]};
			let mut fTemp47: F32 = if (self.fRec52[0] != self.fRec52[1]) as i32 != 0 {self.fConst58} else {self.fRec50[1] + -1.0};
			self.fRec50[0] = fTemp47;
			self.fRec51[0] = if (fTemp47 > 0.0) as i32 != 0 {self.fRec51[1] + (self.fRec52[0] - self.fRec51[1]) / fTemp47} else {self.fRec52[0]};
			let mut fTemp48: F32 = fTemp9 * (self.fRec51[0] + self.fConst65 * (3e+01 * (self.fRec44[0] - self.fRec44[2]) + 2e+01 * (self.fRec25[0] - self.fRec25[2])));
			self.fVec7[0] = fTemp48;
			self.fRec24[0] = self.fConst66 * (0.0891251 * (fTemp48 + self.fVec7[1]) - self.fConst44 * self.fRec24[1]);
			self.fRec53[0] = self.fConst66 * (self.fConst67 * (fTemp48 - self.fVec7[1]) - self.fConst44 * self.fRec53[1]);
			let mut fTemp49: F32 = self.fRec53[0] + 7.0794578 * self.fRec24[0];
			self.fVec8[0] = fTemp49;
			self.fRec54[0] = -(self.fConst70 * (self.fConst69 * self.fRec54[1] - (fTemp49 + self.fVec8[1])));
			self.fRec23[0] = 0.75 * self.fRec54[0] + 0.25 * fTemp49 - (self.fRec23[2] * fTemp18 + fTemp17) / fTemp14;
			let mut fTemp50: F32 = self.fConst40 * (self.fConst40 + fTemp15) + 1.0;
			self.fRec18[0] = (fTemp17 + self.fRec23[0] * fTemp50 + self.fRec23[2] * fTemp16) / fTemp14 - self.fConst34 * (self.fConst33 * self.fRec18[2] + self.fConst9 * self.fRec18[1]);
			self.fRec17[0] = self.fConst34 * (self.fRec18[2] + self.fRec18[0] + 2.0 * self.fRec18[1]) - self.fConst32 * (self.fConst31 * self.fRec17[2] + self.fConst9 * self.fRec17[1]);
			self.fRec16[0] = self.fConst32 * (self.fRec17[2] + self.fRec17[0] + 2.0 * self.fRec17[1]) - self.fConst30 * (self.fConst29 * self.fRec16[2] + self.fConst9 * self.fRec16[1]);
			self.fRec15[0] = self.fConst30 * (self.fRec16[2] + self.fRec16[0] + 2.0 * self.fRec16[1]) - self.fConst28 * (self.fConst27 * self.fRec15[2] + self.fConst9 * self.fRec15[1]);
			self.fRec14[0] = self.fConst28 * (self.fRec15[2] + self.fRec15[0] + 2.0 * self.fRec15[1]) - self.fConst26 * (self.fConst25 * self.fRec14[2] + self.fConst9 * self.fRec14[1]);
			self.fRec13[0] = self.fConst26 * (self.fRec14[2] + self.fRec14[0] + 2.0 * self.fRec14[1]) - self.fConst24 * (self.fConst23 * self.fRec13[2] + self.fConst9 * self.fRec13[1]);
			self.fRec12[0] = self.fConst24 * (self.fRec13[2] + self.fRec13[0] + 2.0 * self.fRec13[1]) - self.fConst22 * (self.fConst21 * self.fRec12[2] + self.fConst9 * self.fRec12[1]);
			self.fRec11[0] = self.fConst22 * (self.fRec12[2] + self.fRec12[0] + 2.0 * self.fRec12[1]) - self.fConst20 * (self.fConst19 * self.fRec11[2] + self.fConst9 * self.fRec11[1]);
			self.fRec10[0] = self.fConst20 * (self.fRec11[2] + self.fRec11[0] + 2.0 * self.fRec11[1]) - self.fConst18 * (self.fConst17 * self.fRec10[2] + self.fConst9 * self.fRec10[1]);
			self.fRec9[0] = self.fConst18 * (self.fRec10[2] + self.fRec10[0] + 2.0 * self.fRec10[1]) - self.fConst16 * (self.fConst15 * self.fRec9[2] + self.fConst9 * self.fRec9[1]);
			self.fRec8[0] = self.fConst16 * (self.fRec9[2] + self.fRec9[0] + 2.0 * self.fRec9[1]) - self.fConst14 * (self.fConst13 * self.fRec8[2] + self.fConst9 * self.fRec8[1]);
			self.fRec7[0] = self.fConst14 * (self.fRec8[2] + self.fRec8[0] + 2.0 * self.fRec8[1]) - self.fConst12 * (self.fConst11 * self.fRec7[2] + self.fConst9 * self.fRec7[1]);
			let mut fTemp51: F32 = self.fConst12 * (self.fRec7[2] + self.fRec7[0] + 2.0 * self.fRec7[1]);
			let mut iTemp52: i32 = i32::wrapping_mul(1103515245, i32::wrapping_add(self.iRec71[1], 12345));
			self.iRec71[0] = i32::wrapping_mul(1103515245, i32::wrapping_add(iTemp52, 12345));
			let mut iRec72: i32 = iTemp52;
			self.fRec70[0] = if iTemp20 != 0 {4.656613e-10 * (self.iRec71[0]) as F32} else {self.fRec70[1]};
			let mut fTemp53: F32 = if (self.fRec70[0] != self.fRec70[1]) as i32 != 0 {self.fConst58} else {self.fRec68[1] + -1.0};
			self.fRec68[0] = fTemp53;
			self.fRec69[0] = if (fTemp53 > 0.0) as i32 != 0 {self.fRec69[1] + (self.fRec70[0] - self.fRec69[1]) / fTemp53} else {self.fRec70[0]};
			self.fRec67[0] = -(self.fConst66 * (self.fConst44 * self.fRec67[1] - (self.fRec69[0] + self.fRec69[1])));
			self.fRec73[0] = -(self.fConst66 * (self.fConst44 * self.fRec73[1] - self.fConst43 * (self.fRec69[0] - self.fRec69[1])));
			self.fRec66[0] = self.fRec73[0] + 7.0794578 * self.fRec67[0] - self.fConst98 * (self.fConst97 * self.fRec66[2] + self.fConst72 * self.fRec66[1]);
			self.fRec65[0] = self.fConst98 * (self.fRec66[2] + self.fRec66[0] + 2.0 * self.fRec66[1]) - self.fConst96 * (self.fConst95 * self.fRec65[2] + self.fConst72 * self.fRec65[1]);
			self.fRec64[0] = self.fConst96 * (self.fRec65[2] + self.fRec65[0] + 2.0 * self.fRec65[1]) - self.fConst94 * (self.fConst93 * self.fRec64[2] + self.fConst72 * self.fRec64[1]);
			self.fRec63[0] = self.fConst94 * (self.fRec64[2] + self.fRec64[0] + 2.0 * self.fRec64[1]) - self.fConst92 * (self.fConst91 * self.fRec63[2] + self.fConst72 * self.fRec63[1]);
			self.fRec62[0] = self.fConst92 * (self.fRec63[2] + self.fRec63[0] + 2.0 * self.fRec63[1]) - self.fConst90 * (self.fConst89 * self.fRec62[2] + self.fConst72 * self.fRec62[1]);
			self.fRec61[0] = self.fConst90 * (self.fRec62[2] + self.fRec62[0] + 2.0 * self.fRec62[1]) - self.fConst88 * (self.fConst87 * self.fRec61[2] + self.fConst72 * self.fRec61[1]);
			self.fRec60[0] = self.fConst88 * (self.fRec61[2] + self.fRec61[0] + 2.0 * self.fRec61[1]) - self.fConst86 * (self.fConst85 * self.fRec60[2] + self.fConst72 * self.fRec60[1]);
			self.fRec59[0] = self.fConst86 * (self.fRec60[2] + self.fRec60[0] + 2.0 * self.fRec60[1]) - self.fConst84 * (self.fConst83 * self.fRec59[2] + self.fConst72 * self.fRec59[1]);
			self.fRec58[0] = self.fConst84 * (self.fRec59[2] + self.fRec59[0] + 2.0 * self.fRec59[1]) - self.fConst82 * (self.fConst81 * self.fRec58[2] + self.fConst72 * self.fRec58[1]);
			self.fRec57[0] = self.fConst82 * (self.fRec58[2] + self.fRec58[0] + 2.0 * self.fRec58[1]) - self.fConst80 * (self.fConst79 * self.fRec57[2] + self.fConst72 * self.fRec57[1]);
			self.fRec56[0] = self.fConst80 * (self.fRec57[2] + self.fRec57[0] + 2.0 * self.fRec57[1]) - self.fConst78 * (self.fConst77 * self.fRec56[2] + self.fConst72 * self.fRec56[1]);
			self.fRec55[0] = self.fConst78 * (self.fRec56[2] + self.fRec56[0] + 2.0 * self.fRec56[1]) - self.fConst76 * (self.fConst74 * self.fRec55[2] + self.fConst72 * self.fRec55[1]);
			self.fRec2[0] = fTemp0 + fSlow17 * (fTemp51 + fSlow16 * (self.fConst99 * (self.fRec55[2] + self.fRec55[0] + 2.0 * self.fRec55[1]) - fTemp51)) * fTemp4 - fSlow14 * (fSlow12 * self.fRec2[2] + fSlow10 * self.fRec2[1]);
			self.fRec1[0] = fSlow18 * (self.fRec2[2] + (self.fRec2[0] - 2.0 * self.fRec2[1])) - fSlow7 * (fSlow6 * self.fRec1[2] + fSlow1 * self.fRec1[1]);
			self.fRec0[0] = fSlow7 * (self.fRec1[2] + self.fRec1[0] + 2.0 * self.fRec1[1]) - fSlow5 * (fSlow3 * self.fRec0[2] + fSlow1 * self.fRec0[1]);
			let mut fTemp54: F32 = 2.0 * self.fRec0[1];
			let mut fTemp55: F32 = self.fRec0[0] + self.fRec0[2] + fTemp54;
			let mut iTemp56: i32 = ((iTemp19 % iSlow32) == 0) as i32;
			let mut fTemp57: F32 = self.fRec0[2] + self.fRec0[0] + fTemp54;
			let mut fTemp58: F32 = fSlow26 * F32::round(fSlow25 * fTemp57) + fSlow23 * fTemp57;
			self.fRec76[0] = if iTemp56 != 0 {fTemp58} else {self.fRec76[1]};
			let mut fTemp59: F32 = if (self.fRec76[0] != self.fRec76[1]) as i32 != 0 {fSlow31} else {self.fRec74[1] + -1.0};
			self.fRec74[0] = fTemp59;
			self.fRec75[0] = if (fTemp59 > 0.0) as i32 != 0 {self.fRec75[1] + (self.fRec76[0] - self.fRec75[1]) / fTemp59} else {self.fRec76[0]};
			let mut fTemp60: F32 = fSlow29 * self.fRec75[0];
			let mut fTemp61: F32 = fTemp60 + fSlow30 * (fSlow26 * F32::round(fSlow25 * fTemp55) + fSlow23 * fTemp55);
			let mut fTemp62: F32 = F32::abs(fTemp61);
			let mut fTemp63: F32 = self.fConst41 * self.fRec94[1];
			self.fRec99[0] = if iTemp20 != 0 {4.656613e-10 * (iRec43) as F32} else {self.fRec99[1]};
			let mut fTemp64: F32 = if (self.fRec99[0] != self.fRec99[1]) as i32 != 0 {self.fConst58} else {self.fRec97[1] + -1.0};
			self.fRec97[0] = fTemp64;
			self.fRec98[0] = if (fTemp64 > 0.0) as i32 != 0 {self.fRec98[1] + (self.fRec99[0] - self.fRec98[1]) / fTemp64} else {self.fRec99[0]};
			self.fRec96[0] = self.fRec98[0] * fTemp32 - self.fConst55 * (self.fConst53 * self.fRec96[1] + self.fConst52 * self.fRec96[2]);
			self.fRec100[0] = self.fRec98[0] * fTemp46 - self.fConst55 * (self.fConst53 * self.fRec100[1] + self.fConst52 * self.fRec100[2]);
			self.fRec103[0] = if iTemp20 != 0 {4.656613e-10 * (iRec41) as F32} else {self.fRec103[1]};
			let mut fTemp65: F32 = if (self.fRec103[0] != self.fRec103[1]) as i32 != 0 {self.fConst58} else {self.fRec101[1] + -1.0};
			self.fRec101[0] = fTemp65;
			self.fRec102[0] = if (fTemp65 > 0.0) as i32 != 0 {self.fRec102[1] + (self.fRec103[0] - self.fRec102[1]) / fTemp65} else {self.fRec103[0]};
			let mut fTemp66: F32 = fTemp9 * (self.fRec102[0] + self.fConst65 * (3e+01 * (self.fRec100[0] - self.fRec100[2]) + 2e+01 * (self.fRec96[0] - self.fRec96[2])));
			self.fVec9[0] = fTemp66;
			self.fRec95[0] = self.fConst66 * (0.0891251 * (fTemp66 + self.fVec9[1]) - self.fConst44 * self.fRec95[1]);
			self.fRec104[0] = self.fConst66 * (self.fConst67 * (fTemp66 - self.fVec9[1]) - self.fConst44 * self.fRec104[1]);
			let mut fTemp67: F32 = self.fRec104[0] + 7.0794578 * self.fRec95[0];
			self.fVec10[0] = fTemp67;
			self.fRec105[0] = -(self.fConst70 * (self.fConst69 * self.fRec105[1] - (fTemp67 + self.fVec10[1])));
			self.fRec94[0] = 0.75 * self.fRec105[0] + 0.25 * fTemp67 - (fTemp18 * self.fRec94[2] + fTemp63) / fTemp14;
			self.fRec93[0] = (fTemp63 + self.fRec94[0] * fTemp50 + fTemp16 * self.fRec94[2]) / fTemp14 - self.fConst34 * (self.fConst33 * self.fRec93[2] + self.fConst9 * self.fRec93[1]);
			self.fRec92[0] = self.fConst34 * (self.fRec93[2] + self.fRec93[0] + 2.0 * self.fRec93[1]) - self.fConst32 * (self.fConst31 * self.fRec92[2] + self.fConst9 * self.fRec92[1]);
			self.fRec91[0] = self.fConst32 * (self.fRec92[2] + self.fRec92[0] + 2.0 * self.fRec92[1]) - self.fConst30 * (self.fConst29 * self.fRec91[2] + self.fConst9 * self.fRec91[1]);
			self.fRec90[0] = self.fConst30 * (self.fRec91[2] + self.fRec91[0] + 2.0 * self.fRec91[1]) - self.fConst28 * (self.fConst27 * self.fRec90[2] + self.fConst9 * self.fRec90[1]);
			self.fRec89[0] = self.fConst28 * (self.fRec90[2] + self.fRec90[0] + 2.0 * self.fRec90[1]) - self.fConst26 * (self.fConst25 * self.fRec89[2] + self.fConst9 * self.fRec89[1]);
			self.fRec88[0] = self.fConst26 * (self.fRec89[2] + self.fRec89[0] + 2.0 * self.fRec89[1]) - self.fConst24 * (self.fConst23 * self.fRec88[2] + self.fConst9 * self.fRec88[1]);
			self.fRec87[0] = self.fConst24 * (self.fRec88[2] + self.fRec88[0] + 2.0 * self.fRec88[1]) - self.fConst22 * (self.fConst21 * self.fRec87[2] + self.fConst9 * self.fRec87[1]);
			self.fRec86[0] = self.fConst22 * (self.fRec87[2] + self.fRec87[0] + 2.0 * self.fRec87[1]) - self.fConst20 * (self.fConst19 * self.fRec86[2] + self.fConst9 * self.fRec86[1]);
			self.fRec85[0] = self.fConst20 * (self.fRec86[2] + self.fRec86[0] + 2.0 * self.fRec86[1]) - self.fConst18 * (self.fConst17 * self.fRec85[2] + self.fConst9 * self.fRec85[1]);
			self.fRec84[0] = self.fConst18 * (self.fRec85[2] + self.fRec85[0] + 2.0 * self.fRec85[1]) - self.fConst16 * (self.fConst15 * self.fRec84[2] + self.fConst9 * self.fRec84[1]);
			self.fRec83[0] = self.fConst16 * (self.fRec84[2] + self.fRec84[0] + 2.0 * self.fRec84[1]) - self.fConst14 * (self.fConst13 * self.fRec83[2] + self.fConst9 * self.fRec83[1]);
			self.fRec82[0] = self.fConst14 * (self.fRec83[2] + self.fRec83[0] + 2.0 * self.fRec83[1]) - self.fConst12 * (self.fConst11 * self.fRec82[2] + self.fConst9 * self.fRec82[1]);
			let mut fTemp68: F32 = self.fConst12 * (self.fRec82[2] + self.fRec82[0] + 2.0 * self.fRec82[1]);
			self.fRec121[0] = if iTemp20 != 0 {4.656613e-10 * (iRec72) as F32} else {self.fRec121[1]};
			let mut fTemp69: F32 = if (self.fRec121[0] != self.fRec121[1]) as i32 != 0 {self.fConst58} else {self.fRec119[1] + -1.0};
			self.fRec119[0] = fTemp69;
			self.fRec120[0] = if (fTemp69 > 0.0) as i32 != 0 {self.fRec120[1] + (self.fRec121[0] - self.fRec120[1]) / fTemp69} else {self.fRec121[0]};
			self.fRec118[0] = -(self.fConst66 * (self.fConst44 * self.fRec118[1] - (self.fRec120[0] + self.fRec120[1])));
			self.fRec122[0] = -(self.fConst66 * (self.fConst44 * self.fRec122[1] - self.fConst43 * (self.fRec120[0] - self.fRec120[1])));
			self.fRec117[0] = self.fRec122[0] + 7.0794578 * self.fRec118[0] - self.fConst98 * (self.fConst97 * self.fRec117[2] + self.fConst72 * self.fRec117[1]);
			self.fRec116[0] = self.fConst98 * (self.fRec117[2] + self.fRec117[0] + 2.0 * self.fRec117[1]) - self.fConst96 * (self.fConst95 * self.fRec116[2] + self.fConst72 * self.fRec116[1]);
			self.fRec115[0] = self.fConst96 * (self.fRec116[2] + self.fRec116[0] + 2.0 * self.fRec116[1]) - self.fConst94 * (self.fConst93 * self.fRec115[2] + self.fConst72 * self.fRec115[1]);
			self.fRec114[0] = self.fConst94 * (self.fRec115[2] + self.fRec115[0] + 2.0 * self.fRec115[1]) - self.fConst92 * (self.fConst91 * self.fRec114[2] + self.fConst72 * self.fRec114[1]);
			self.fRec113[0] = self.fConst92 * (self.fRec114[2] + self.fRec114[0] + 2.0 * self.fRec114[1]) - self.fConst90 * (self.fConst89 * self.fRec113[2] + self.fConst72 * self.fRec113[1]);
			self.fRec112[0] = self.fConst90 * (self.fRec113[2] + self.fRec113[0] + 2.0 * self.fRec113[1]) - self.fConst88 * (self.fConst87 * self.fRec112[2] + self.fConst72 * self.fRec112[1]);
			self.fRec111[0] = self.fConst88 * (self.fRec112[2] + self.fRec112[0] + 2.0 * self.fRec112[1]) - self.fConst86 * (self.fConst85 * self.fRec111[2] + self.fConst72 * self.fRec111[1]);
			self.fRec110[0] = self.fConst86 * (self.fRec111[2] + self.fRec111[0] + 2.0 * self.fRec111[1]) - self.fConst84 * (self.fConst83 * self.fRec110[2] + self.fConst72 * self.fRec110[1]);
			self.fRec109[0] = self.fConst84 * (self.fRec110[2] + self.fRec110[0] + 2.0 * self.fRec110[1]) - self.fConst82 * (self.fConst81 * self.fRec109[2] + self.fConst72 * self.fRec109[1]);
			self.fRec108[0] = self.fConst82 * (self.fRec109[2] + self.fRec109[0] + 2.0 * self.fRec109[1]) - self.fConst80 * (self.fConst79 * self.fRec108[2] + self.fConst72 * self.fRec108[1]);
			self.fRec107[0] = self.fConst80 * (self.fRec108[2] + self.fRec108[0] + 2.0 * self.fRec108[1]) - self.fConst78 * (self.fConst77 * self.fRec107[2] + self.fConst72 * self.fRec107[1]);
			self.fRec106[0] = self.fConst78 * (self.fRec107[2] + self.fRec107[0] + 2.0 * self.fRec107[1]) - self.fConst76 * (self.fConst74 * self.fRec106[2] + self.fConst72 * self.fRec106[1]);
			self.fRec81[0] = fTemp2 + fSlow17 * fTemp4 * (fTemp68 + fSlow16 * (self.fConst99 * (self.fRec106[2] + self.fRec106[0] + 2.0 * self.fRec106[1]) - fTemp68)) - fSlow14 * (fSlow12 * self.fRec81[2] + fSlow10 * self.fRec81[1]);
			self.fRec80[0] = fSlow18 * (self.fRec81[2] + (self.fRec81[0] - 2.0 * self.fRec81[1])) - fSlow7 * (fSlow6 * self.fRec80[2] + fSlow1 * self.fRec80[1]);
			self.fRec79[0] = fSlow7 * (self.fRec80[2] + self.fRec80[0] + 2.0 * self.fRec80[1]) - fSlow5 * (fSlow3 * self.fRec79[2] + fSlow1 * self.fRec79[1]);
			let mut fTemp70: F32 = 2.0 * self.fRec79[1];
			let mut fTemp71: F32 = self.fRec79[2] + self.fRec79[0] + fTemp70;
			let mut fTemp72: F32 = fSlow26 * F32::round(fSlow25 * fTemp71) + fSlow23 * fTemp71;
			self.fRec125[0] = if iTemp56 != 0 {fTemp72} else {self.fRec125[1]};
			let mut fTemp73: F32 = if (self.fRec125[0] != self.fRec125[1]) as i32 != 0 {fSlow31} else {self.fRec123[1] + -1.0};
			self.fRec123[0] = fTemp73;
			self.fRec124[0] = if (fTemp73 > 0.0) as i32 != 0 {self.fRec124[1] + (self.fRec125[0] - self.fRec124[1]) / fTemp73} else {self.fRec125[0]};
			let mut fTemp74: F32 = fSlow29 * self.fRec124[0];
			let mut fTemp75: F32 = fTemp74 + fSlow30 * fTemp72;
			let mut fTemp76: F32 = F32::abs(fTemp75);
			self.fVec11[0] = fSlow35;
			let mut fTemp77: F32 = ((fSlow35 <= self.fVec11[1]) as i32) as u32 as F32;
			self.fRec126[0] = fSlow36 * (1.0 - self.fConst100 * fTemp77) + self.fConst100 * fTemp77 * self.fRec126[1];
			let mut fTemp78: F32 = F32::powf(1e+01, 0.05 * self.fRec126[0]);
			let mut fTemp79: F32 = fTemp60 + fSlow30 * fTemp58;
			let mut fTemp80: F32 = F32::abs(fTemp79);
			let mut fTemp81: F32 = F32::abs(F32::abs(fSlow37 * (fTemp80 * (1.0 - (i32::wrapping_mul(2, (fTemp79 < 0.0) as i32)) as F32) * fTemp78 / (fSlow34 * (1.0 - fTemp80) + 1.0))) + F32::abs(fSlow37 * (fTemp78 * fTemp76 * (1.0 - (i32::wrapping_mul(2, (fTemp75 < 0.0) as i32)) as F32) / (fSlow34 * (1.0 - fTemp76) + 1.0))));
			let mut fTemp82: F32 = if (fTemp81 > self.fRec78[1]) as i32 != 0 {self.fConst102} else {self.fConst101};
			self.fRec78[0] = fTemp81 * (1.0 - fTemp82) + self.fRec78[1] * fTemp82;
			self.fRec77[0] = self.fConst103 * self.fRec77[1] - self.fConst104 * F32::max(2e+01 * F32::log10(F32::max(1.1754944e-38, self.fRec78[0])) + 1.0, 0.0);
			let mut fTemp83: F32 = fTemp78 * F32::powf(1e+01, 0.05 * self.fRec77[0]);
			*output0 = fSlow37 * (fTemp83 * fTemp62 * (1.0 - (i32::wrapping_mul(2, (fTemp61 < 0.0) as i32)) as F32) / (fSlow34 * (1.0 - fTemp62) + 1.0));
			let mut fTemp84: F32 = self.fRec79[0] + self.fRec79[2] + fTemp70;
			let mut fTemp85: F32 = fTemp74 + fSlow30 * (fSlow26 * F32::round(fSlow25 * fTemp84) + fSlow23 * fTemp84);
			let mut fTemp86: F32 = F32::abs(fTemp85);
			*output1 = fSlow37 * (fTemp83 * fTemp86 * (1.0 - (i32::wrapping_mul(2, (fTemp85 < 0.0) as i32)) as F32) / (fSlow34 * (1.0 - fTemp86) + 1.0));
			self.iVec0[1] = self.iVec0[0];
			self.fRec4[1] = self.fRec4[0];
			self.fRec3[1] = self.fRec3[0];
			self.fRec6[1] = self.fRec6[0];
			self.fRec5[1] = self.fRec5[0];
			self.fRec20[1] = self.fRec20[0];
			self.fRec21[1] = self.fRec21[0];
			self.fRec22[1] = self.fRec22[0];
			self.iRec27[1] = self.iRec27[0];
			self.iRec31[1] = self.iRec31[0];
			self.fVec2[1] = self.fVec2[0];
			self.fRec30[1] = self.fRec30[0];
			self.fRec28[1] = self.fRec28[0];
			self.fRec29[1] = self.fRec29[0];
			self.fRec26[1] = self.fRec26[0];
			self.fRec35[1] = self.fRec35[0];
			self.fVec3[1] = self.fVec3[0];
			self.fRec34[1] = self.fRec34[0];
			self.fRec33[1] = self.fRec33[0];
			self.fRec36[1] = self.fRec36[0];
			self.iVec4[1] = self.iVec4[0];
			self.iRec32[1] = self.iRec32[0];
			self.iRec40[1] = self.iRec40[0];
			self.fRec39[1] = self.fRec39[0];
			self.fRec37[1] = self.fRec37[0];
			self.fRec38[1] = self.fRec38[0];
			self.fRec25[2] = self.fRec25[1];
			self.fRec25[1] = self.fRec25[0];
			self.fRec48[1] = self.fRec48[0];
			self.fVec5[1] = self.fVec5[0];
			self.fRec47[1] = self.fRec47[0];
			self.fRec46[1] = self.fRec46[0];
			self.fRec49[1] = self.fRec49[0];
			self.iVec6[1] = self.iVec6[0];
			self.iRec45[1] = self.iRec45[0];
			self.fRec44[2] = self.fRec44[1];
			self.fRec44[1] = self.fRec44[0];
			self.fRec52[1] = self.fRec52[0];
			self.fRec50[1] = self.fRec50[0];
			self.fRec51[1] = self.fRec51[0];
			self.fVec7[1] = self.fVec7[0];
			self.fRec24[1] = self.fRec24[0];
			self.fRec53[1] = self.fRec53[0];
			self.fVec8[1] = self.fVec8[0];
			self.fRec54[1] = self.fRec54[0];
			self.fRec23[2] = self.fRec23[1];
			self.fRec23[1] = self.fRec23[0];
			self.fRec18[2] = self.fRec18[1];
			self.fRec18[1] = self.fRec18[0];
			self.fRec17[2] = self.fRec17[1];
			self.fRec17[1] = self.fRec17[0];
			self.fRec16[2] = self.fRec16[1];
			self.fRec16[1] = self.fRec16[0];
			self.fRec15[2] = self.fRec15[1];
			self.fRec15[1] = self.fRec15[0];
			self.fRec14[2] = self.fRec14[1];
			self.fRec14[1] = self.fRec14[0];
			self.fRec13[2] = self.fRec13[1];
			self.fRec13[1] = self.fRec13[0];
			self.fRec12[2] = self.fRec12[1];
			self.fRec12[1] = self.fRec12[0];
			self.fRec11[2] = self.fRec11[1];
			self.fRec11[1] = self.fRec11[0];
			self.fRec10[2] = self.fRec10[1];
			self.fRec10[1] = self.fRec10[0];
			self.fRec9[2] = self.fRec9[1];
			self.fRec9[1] = self.fRec9[0];
			self.fRec8[2] = self.fRec8[1];
			self.fRec8[1] = self.fRec8[0];
			self.fRec7[2] = self.fRec7[1];
			self.fRec7[1] = self.fRec7[0];
			self.iRec71[1] = self.iRec71[0];
			self.fRec70[1] = self.fRec70[0];
			self.fRec68[1] = self.fRec68[0];
			self.fRec69[1] = self.fRec69[0];
			self.fRec67[1] = self.fRec67[0];
			self.fRec73[1] = self.fRec73[0];
			self.fRec66[2] = self.fRec66[1];
			self.fRec66[1] = self.fRec66[0];
			self.fRec65[2] = self.fRec65[1];
			self.fRec65[1] = self.fRec65[0];
			self.fRec64[2] = self.fRec64[1];
			self.fRec64[1] = self.fRec64[0];
			self.fRec63[2] = self.fRec63[1];
			self.fRec63[1] = self.fRec63[0];
			self.fRec62[2] = self.fRec62[1];
			self.fRec62[1] = self.fRec62[0];
			self.fRec61[2] = self.fRec61[1];
			self.fRec61[1] = self.fRec61[0];
			self.fRec60[2] = self.fRec60[1];
			self.fRec60[1] = self.fRec60[0];
			self.fRec59[2] = self.fRec59[1];
			self.fRec59[1] = self.fRec59[0];
			self.fRec58[2] = self.fRec58[1];
			self.fRec58[1] = self.fRec58[0];
			self.fRec57[2] = self.fRec57[1];
			self.fRec57[1] = self.fRec57[0];
			self.fRec56[2] = self.fRec56[1];
			self.fRec56[1] = self.fRec56[0];
			self.fRec55[2] = self.fRec55[1];
			self.fRec55[1] = self.fRec55[0];
			self.fRec2[2] = self.fRec2[1];
			self.fRec2[1] = self.fRec2[0];
			self.fRec1[2] = self.fRec1[1];
			self.fRec1[1] = self.fRec1[0];
			self.fRec0[2] = self.fRec0[1];
			self.fRec0[1] = self.fRec0[0];
			self.fRec76[1] = self.fRec76[0];
			self.fRec74[1] = self.fRec74[0];
			self.fRec75[1] = self.fRec75[0];
			self.fRec99[1] = self.fRec99[0];
			self.fRec97[1] = self.fRec97[0];
			self.fRec98[1] = self.fRec98[0];
			self.fRec96[2] = self.fRec96[1];
			self.fRec96[1] = self.fRec96[0];
			self.fRec100[2] = self.fRec100[1];
			self.fRec100[1] = self.fRec100[0];
			self.fRec103[1] = self.fRec103[0];
			self.fRec101[1] = self.fRec101[0];
			self.fRec102[1] = self.fRec102[0];
			self.fVec9[1] = self.fVec9[0];
			self.fRec95[1] = self.fRec95[0];
			self.fRec104[1] = self.fRec104[0];
			self.fVec10[1] = self.fVec10[0];
			self.fRec105[1] = self.fRec105[0];
			self.fRec94[2] = self.fRec94[1];
			self.fRec94[1] = self.fRec94[0];
			self.fRec93[2] = self.fRec93[1];
			self.fRec93[1] = self.fRec93[0];
			self.fRec92[2] = self.fRec92[1];
			self.fRec92[1] = self.fRec92[0];
			self.fRec91[2] = self.fRec91[1];
			self.fRec91[1] = self.fRec91[0];
			self.fRec90[2] = self.fRec90[1];
			self.fRec90[1] = self.fRec90[0];
			self.fRec89[2] = self.fRec89[1];
			self.fRec89[1] = self.fRec89[0];
			self.fRec88[2] = self.fRec88[1];
			self.fRec88[1] = self.fRec88[0];
			self.fRec87[2] = self.fRec87[1];
			self.fRec87[1] = self.fRec87[0];
			self.fRec86[2] = self.fRec86[1];
			self.fRec86[1] = self.fRec86[0];
			self.fRec85[2] = self.fRec85[1];
			self.fRec85[1] = self.fRec85[0];
			self.fRec84[2] = self.fRec84[1];
			self.fRec84[1] = self.fRec84[0];
			self.fRec83[2] = self.fRec83[1];
			self.fRec83[1] = self.fRec83[0];
			self.fRec82[2] = self.fRec82[1];
			self.fRec82[1] = self.fRec82[0];
			self.fRec121[1] = self.fRec121[0];
			self.fRec119[1] = self.fRec119[0];
			self.fRec120[1] = self.fRec120[0];
			self.fRec118[1] = self.fRec118[0];
			self.fRec122[1] = self.fRec122[0];
			self.fRec117[2] = self.fRec117[1];
			self.fRec117[1] = self.fRec117[0];
			self.fRec116[2] = self.fRec116[1];
			self.fRec116[1] = self.fRec116[0];
			self.fRec115[2] = self.fRec115[1];
			self.fRec115[1] = self.fRec115[0];
			self.fRec114[2] = self.fRec114[1];
			self.fRec114[1] = self.fRec114[0];
			self.fRec113[2] = self.fRec113[1];
			self.fRec113[1] = self.fRec113[0];
			self.fRec112[2] = self.fRec112[1];
			self.fRec112[1] = self.fRec112[0];
			self.fRec111[2] = self.fRec111[1];
			self.fRec111[1] = self.fRec111[0];
			self.fRec110[2] = self.fRec110[1];
			self.fRec110[1] = self.fRec110[0];
			self.fRec109[2] = self.fRec109[1];
			self.fRec109[1] = self.fRec109[0];
			self.fRec108[2] = self.fRec108[1];
			self.fRec108[1] = self.fRec108[0];
			self.fRec107[2] = self.fRec107[1];
			self.fRec107[1] = self.fRec107[0];
			self.fRec106[2] = self.fRec106[1];
			self.fRec106[1] = self.fRec106[0];
			self.fRec81[2] = self.fRec81[1];
			self.fRec81[1] = self.fRec81[0];
			self.fRec80[2] = self.fRec80[1];
			self.fRec80[1] = self.fRec80[0];
			self.fRec79[2] = self.fRec79[1];
			self.fRec79[1] = self.fRec79[0];
			self.fRec125[1] = self.fRec125[0];
			self.fRec123[1] = self.fRec123[0];
			self.fRec124[1] = self.fRec124[0];
			self.fVec11[1] = self.fVec11[0];
			self.fRec126[1] = self.fRec126[0];
			self.fRec78[1] = self.fRec78[0];
			self.fRec77[1] = self.fRec77[0];
		}
	}

}

