virtual void instanceInit(int samplingFreq) {
		fSamplingFreq = samplingFreq;
		iConst0 = min(192000, max(1, fSamplingFreq));
		fConst1 = (0.5f / float(iConst0));
		fVslider0 = FAUSTFLOAT(0.);
		fVslider1 = FAUSTFLOAT(0.);
		fConst2 = (1.f / float(iConst0));
		for (int i0 = 0; (i0 < 2); i0 = (i0 + 1)) {
			fRec1[i0] = 0.f;
			
		}
		fConst3 = expf((0.f - (1236.9f / float(iConst0))));
		for (int i1 = 0; (i1 < 2); i1 = (i1 + 1)) {
			fRec2[i1] = 0.f;
			
		}
		fConst4 = (0.007f * (((1.73888e-06f - (8.38823e-12f * float(iConst0))) * float(iConst0)) - 0.193457f));
		for (int i2 = 0; (i2 < 2); i2 = (i2 + 1)) {
			fRec3[i2] = 0.f;
			
		}
		for (int i3 = 0; (i3 < 4); i3 = (i3 + 1)) {
			fRec0[i3] = 0.f;
			
		}
		fConst5 = (1.77528e-06f - (8.52216e-12f * float(iConst0)));
		fConst6 = (1.54419e-05f - (6.43963e-11f * float(iConst0)));
		fConst7 = (0.f - (((fConst5 + fConst6) * float(iConst0)) + 1.4936f));
		fConst8 = (0.879905f + (fConst5 * float(iConst0)));
		fConst9 = ((fConst6 * float(iConst0)) - 0.386688f);
		fConst10 = ((1.00038f * (fConst8 + fConst9)) + (fConst8 * fConst9));
		fConst11 = (fConst9 * (0.f - (1.00038f * fConst8)));
		
	}
	virtual void instanceInit(int samplingFreq) {
		fSamplingFreq = samplingFreq;
		fVslider0 = FAUSTFLOAT(100.);
		fVslider1 = FAUSTFLOAT(1.);
		for (int i0 = 0; (i0 < 2); i0 = (i0 + 1)) {
			fRec0[i0] = 0.f;
			
		}
		
	}
	virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) {
		FAUSTFLOAT* input0 = inputs[0];
		FAUSTFLOAT* output0 = outputs[0];
		float fSlow0 = (float(fVslider0) + float(fVslider1));
		float fSlow1 = (1973.48f - (1000.f / ((fSlow0 * (1.9841f + (fSlow0 * (5.76598f + (fSlow0 * ((fSlow0 * (49.9836f + (fSlow0 * ((12.499f * fSlow0) - 40.3658f)))) - 28.3434f)))))) - 1.6086f)));
		float fSlow2 = (1.f - (fConst1 * (fSlow1 / (21.9737f + (fSlow0 * ((fSlow0 * (42.2734f + (fSlow0 * ((fSlow0 * (115.375f - (52.3051f * fSlow0))) - 99.7712f)))) - 24.555f))))));
		float fSlow3 = (0.007f * ((0.f - (2.f * fSlow2)) * cosf((fConst2 * fSlow1))));
		float fSlow4 = (0.007f * faustpower2_f(fSlow2));
		float fSlow5 = (fConst4 * (0.f - ((1.f / ((fSlow0 * (0.270546f + (fSlow0 * ((fSlow0 * (3.64419f + (fSlow0 * ((2.85511f * fSlow0) - 5.20364f)))) - 0.86331f)))) - 0.814203f)) + 0.933975f)));
		for (int i = 0; (i < count); i = (i + 1)) {
			float fTemp0 = float(input0[i]);
			fRec1[0] = ((0.993f * fRec1[1]) + fSlow3);
			fRec2[0] = ((0.993f * fRec2[1]) + fSlow4);
			fRec3[0] = ((0.993f * fRec3[1]) + fSlow5);
			fRec0[0] = (0.f - ((((fRec0[1] * (fRec1[0] - fConst3)) + (fRec0[2] * (fRec2[0] - (fConst3 * fRec1[0])))) + (fConst3 * ((0.f - fRec2[0]) * fRec0[3]))) - (fRec3[0] * fTemp0)));
			output0[i] = FAUSTFLOAT((((fRec0[0] + (fConst7 * fRec0[1])) + (fConst10 * fRec0[2])) + (fConst11 * fRec0[3])));
			fRec1[1] = fRec1[0];
			fRec2[1] = fRec2[0];
			fRec3[1] = fRec3[0];
			for (int j0 = 3; (j0 > 0); j0 = (j0 - 1)) {
				fRec0[j0] = fRec0[(j0 - 1)];
				
			}
			
		}
		
	}
	virtual void instanceInit(int samplingFreq) {
		fSamplingFreq = samplingFreq;
		iConst0 = min(192000, max(1, fSamplingFreq));
		fConst1 = (1e-06f * float(iConst0));
		fHslider0 = FAUSTFLOAT(1.);
		for (int i0 = 0; (i0 < 2); i0 = (i0 + 1)) {
			fRec5[i0] = 0.f;
			
		}
		fConst2 = (1000.f / float(iConst0));
		fHslider1 = FAUSTFLOAT(10.);
		for (int i1 = 0; (i1 < 2); i1 = (i1 + 1)) {
			fRec1[i1] = 0.f;
			
		}
		for (int i2 = 0; (i2 < 2); i2 = (i2 + 1)) {
			fRec2[i2] = 0.f;
			
		}
		for (int i3 = 0; (i3 < 2); i3 = (i3 + 1)) {
			fRec3[i3] = 0.f;
			
		}
		for (int i4 = 0; (i4 < 2); i4 = (i4 + 1)) {
			fRec4[i4] = 0.f;
			
		}
		fHslider2 = FAUSTFLOAT(0.);
		fHslider3 = FAUSTFLOAT(0.);
		fHslider4 = FAUSTFLOAT(0.3333);
		IOTA = 0;
		for (int i5 = 0; (i5 < 131072); i5 = (i5 + 1)) {
			fVec0[i5] = 0.f;
			
		}
		for (int i6 = 0; (i6 < 2); i6 = (i6 + 1)) {
			fRec0[i6] = 0.f;
			
		}
		
	}
	virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) {
		FAUSTFLOAT* input0 = inputs[0];
		FAUSTFLOAT* output0 = outputs[0];
		float fSlow0 = (fConst1 * float(fHslider0));
		float fSlow1 = (fConst2 / float(fHslider1));
		float fSlow2 = (0.f - fSlow1);
		float fSlow3 = (0.01f * float(fHslider2));
		float fSlow4 = float(fHslider4);
		float fSlow5 = (float(fHslider3) + fSlow4);
		float fSlow6 = (1.f - fSlow4);
		for (int i = 0; (i < count); i = (i + 1)) {
			float fTemp0 = float(input0[i]);
			fRec5[0] = ((0.999f * fRec5[1]) + fSlow0);
			float fSel0 = 0.f;
			if (int((int((fRec2[1] == 0.f)) & int((fRec5[0] != fRec3[1])))) != 0) {
				fSel0 = fSlow1;
				
			} else {
				fSel0 = (int((int((fRec2[1] == 1.f)) & int((fRec5[0] != fRec4[1]))))?fSlow2:0.f);
				
			}
			float fSel1 = 0.f;
			if (int(int((fRec1[1] != 0.f))) != 0) {
				fSel1 = (int((int((fRec2[1] > 0.f)) & int((fRec2[1] < 1.f))))?fRec1[1]:0.f);
				
			} else {
				fSel1 = fSel0;
				
			}
			fRec1[0] = fSel1;
			fRec2[0] = max(0.f, min(1.f, (fRec2[1] + fSel1)));
			fRec3[0] = (int((int((fRec2[1] >= 1.f)) & int((fRec4[1] != fRec5[0]))))?fRec5[0]:fRec3[1]);
			fRec4[0] = (int((int((fRec2[1] <= 0.f)) & int((fRec3[1] != fRec5[0]))))?fRec5[0]:fRec4[1]);
			float fTemp1 = ((fSlow3 * fRec0[1]) + (fSlow5 * fTemp0));
			fVec0[(IOTA & 131071)] = fTemp1;
			fRec0[0] = (((1.f - fRec2[0]) * fVec0[((IOTA - int((int(fRec3[0]) & 131071))) & 131071)]) + (fRec2[0] * fVec0[((IOTA - int((int(fRec4[0]) & 131071))) & 131071)]));
			output0[i] = FAUSTFLOAT((fRec0[0] + (fSlow6 * fTemp0)));
			fRec5[1] = fRec5[0];
			fRec1[1] = fRec1[0];
			fRec2[1] = fRec2[0];
			fRec3[1] = fRec3[0];
			fRec4[1] = fRec4[0];
			IOTA = (IOTA + 1);
			fRec0[1] = fRec0[0];
			
		}
		
	}
	virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) {
		FAUSTFLOAT* input0 = inputs[0];
		FAUSTFLOAT* output0 = outputs[0];
		float fSlow0 = float(fVslider0);
		float fSlow1 = (0.01f * fSlow0);
		float fSlow2 = (1.f - fSlow1);
		float fSlow3 = float(fVslider1);
		float fSlow4 = (0.001f * powf(10.f, (0.05f * (0.f - (0.5f * fSlow3)))));
		float fSlow5 = (0.0001f * faustpower2_f(fSlow0));
		float fSlow6 = (fSlow3 - 1.f);
		for (int i = 0; (i < count); i = (i + 1)) {
			float fTemp0 = float(input0[i]);
			fRec0[0] = ((0.999f * fRec0[1]) + fSlow4);
			float fTemp1 = fabsf((fSlow1 * fTemp0));
			output0[i] = FAUSTFLOAT(((fSlow2 + (fSlow1 * ((fRec0[0] * (fTemp1 + fSlow3)) / (1.f + ((fSlow5 * faustpower2_f(fTemp0)) + (fSlow6 * fTemp1)))))) * fTemp0));
			fRec0[1] = fRec0[0];
			
		}
		
	}