Skip to content

Instantly share code, notes, and snippets.

@LFSaw
Last active May 9, 2017 08:42
Show Gist options
  • Save LFSaw/17a6125b113cd420eaed104a10653b20 to your computer and use it in GitHub Desktop.
Save LFSaw/17a6125b113cd420eaed104a10653b20 to your computer and use it in GitHub Desktop.
updated JPVerb and Greyhole dsp files

My build environment:

  • OSX 10.12.4 (16E195)
  • SuperCollider header at /localvol/sound/src/supercollider/include/
SUPERCOLLIDER_HEADERS=/localvol/sound/src/supercollider/include/ faust2supercollider JPVerbRaw.dsp

see grame-cncm/faust#32 and supercollider/sc3-plugins#143 for related discussions

//----------------------------------------------------------
// name: "GreyholeRaw"
// version: "1.0"
// author: "Julian Parker, bug fixes by Till Bovermann"
// license: "GPL2+"
// copyright: "(c) Julian Parker 2013"
//
// Code generated with Faust 0.9.96 (http://faust.grame.fr)
//----------------------------------------------------------
/* link with */
#include <math.h>
// If other than 'faust2sc --prefix Faust' is used, sed this as well:
#if !defined(SC_FAUST_PREFIX)
# define SC_FAUST_PREFIX "Faust"
#endif
//-------------------------------------------------------------------
// FAUST architecture file for SuperCollider.
// Copyright (C) 2005-2012 Stefan Kersten.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
// 02111-1307 USA
//-------------------------------------------------------------------
#include <map>
#include <string>
#include <string.h>
#include <SC_PlugIn.h>
#include <faust/dsp/dsp.h>
#include <faust/gui/UI.h>
#include <faust/misc.h>
using namespace std;
#if defined(__GNUC__) && __GNUC__ >= 4
# define FAUST_EXPORT __attribute__((visibility("default")))
#else
# define FAUST_EXPORT SC_API_EXPORT
#endif
//----------------------------------------------------------------------------
// Vector intrinsics
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Metadata
//----------------------------------------------------------------------------
class MetaData : public Meta
, public std::map<std::string, std::string>
{
public:
void declare(const char* key, const char* value)
{
(*this)[key] = value;
}
};
//----------------------------------------------------------------------------
// Control counter
//----------------------------------------------------------------------------
class ControlCounter : public UI
{
public:
ControlCounter()
: mNumControlInputs(0),
mNumControlOutputs(0)
{ }
size_t getNumControls() const { return getNumControlInputs(); }
size_t getNumControlInputs() const { return mNumControlInputs; }
size_t getNumControlOutputs() const { return mNumControlOutputs; }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
protected:
void addControlInput() { mNumControlInputs++; }
void addControlOutput() { mNumControlOutputs++; }
private:
size_t mNumControlInputs;
size_t mNumControlOutputs;
};
//----------------------------------------------------------------------------
// UI control
//----------------------------------------------------------------------------
struct Control
{
typedef void (*UpdateFunction)(Control* self, FAUSTFLOAT value);
UpdateFunction updateFunction;
FAUSTFLOAT* zone;
FAUSTFLOAT min, max;
inline void update(FAUSTFLOAT value)
{
(*updateFunction)(this, value);
}
static void simpleUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = value;
}
static void boundedUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = sc_clip(value, self->min, self->max);
}
};
//----------------------------------------------------------------------------
// Control allocator
//----------------------------------------------------------------------------
class ControlAllocator : public UI
{
public:
ControlAllocator(Control* controls)
: mControls(controls)
{ }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
private:
void addControl(Control::UpdateFunction updateFunction, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT /* step */)
{
Control* ctrl = mControls++;
ctrl->updateFunction = updateFunction;
ctrl->zone = zone;
ctrl->min = min;
ctrl->max = max;
}
void addSimpleControl(FAUSTFLOAT* zone)
{
addControl(Control::simpleUpdate, zone, 0.f, 0.f, 0.f);
}
void addBoundedControl(FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{
addControl(Control::boundedUpdate, zone, min, max, step);
}
private:
Control* mControls;
};
//----------------------------------------------------------------------------
// FAUST generated code
//----------------------------------------------------------------------------
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif
#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif
class mydsp : public dsp {
private:
class SIG0 {
private:
int fSamplingFreq;
static int iWave0[1302];
int idxiWave0;
public:
int getNumInputs() { return 0; }
int getNumOutputs() { return 1; }
void init(int samplingFreq) {
fSamplingFreq = samplingFreq;
idxiWave0 = 0;
}
void fill (int count, int output[]) {
for (int i=0; i<count; i++) {
output[i] = iWave0[idxiWave0];
// post processing
idxiWave0 = (idxiWave0 + 1) % 1302;
}
}
};
FAUSTFLOAT fslider0;
float fVec0[2];
int iVec1[2];
FAUSTFLOAT fslider1;
float fVec2[2];
static int itbl0[1302];
FAUSTFLOAT fslider2;
float fRec6[2];
FAUSTFLOAT fslider3;
float fVec3[2];
float fConst0;
FAUSTFLOAT fslider4;
float fRec7[2];
float fRec8[2];
float fRec9[2];
float fRec10[2];
float fConst1;
FAUSTFLOAT fslider5;
float fVec4[2];
float fConst2;
FAUSTFLOAT fslider6;
float fVec5[2];
float fRec11[2];
float fRec12[2];
int IOTA;
float fVec6[131072];
float fRec16[2];
float fRec20[2];
float fRec24[2];
float fVec7[131072];
float fVec8[16384];
float fRec23[2];
float fRec21[2];
float fRec26[2];
float fVec9[16384];
float fRec25[2];
float fRec22[2];
float fVec10[16384];
float fRec19[2];
float fRec17[2];
float fRec28[2];
float fVec11[16384];
float fRec27[2];
float fRec18[2];
float fVec12[16384];
float fRec15[2];
float fRec13[2];
float fRec30[2];
float fVec13[16384];
float fRec29[2];
float fRec14[2];
float fVec14[16384];
float fRec5[2];
float fRec3[2];
float fRec32[2];
float fVec15[16384];
float fRec31[2];
float fRec4[2];
float fRec36[2];
float fVec16[16384];
float fRec48[2];
float fRec46[2];
float fVec17[16384];
float fRec49[2];
float fRec47[2];
float fVec18[16384];
float fRec45[2];
float fRec43[2];
float fVec19[16384];
float fRec50[2];
float fRec44[2];
float fVec20[16384];
float fRec42[2];
float fRec40[2];
float fVec21[16384];
float fRec51[2];
float fRec41[2];
float fVec22[16384];
float fRec39[2];
float fRec37[2];
float fVec23[16384];
float fRec52[2];
float fRec38[2];
float fRec56[2];
float fVec24[16384];
float fRec68[2];
float fRec66[2];
float fVec25[16384];
float fRec69[2];
float fRec67[2];
float fVec26[16384];
float fRec65[2];
float fRec63[2];
float fVec27[16384];
float fRec70[2];
float fRec64[2];
float fVec28[16384];
float fRec62[2];
float fRec60[2];
float fVec29[16384];
float fRec71[2];
float fRec61[2];
float fVec30[16384];
float fRec59[2];
float fRec57[2];
float fVec31[16384];
float fRec72[2];
float fRec58[2];
float fRec76[2];
float fVec32[16384];
float fRec88[2];
float fRec86[2];
float fVec33[16384];
float fRec89[2];
float fRec87[2];
float fVec34[16384];
float fRec85[2];
float fRec83[2];
float fVec35[16384];
float fRec90[2];
float fRec84[2];
float fVec36[16384];
float fRec82[2];
float fRec80[2];
float fVec37[16384];
float fRec91[2];
float fRec81[2];
float fVec38[16384];
float fRec79[2];
float fRec77[2];
float fVec39[16384];
float fRec92[2];
float fRec78[2];
float fRec96[2];
float fVec40[16384];
float fRec108[2];
float fRec106[2];
float fVec41[16384];
float fRec109[2];
float fRec107[2];
float fVec42[16384];
float fRec105[2];
float fRec103[2];
float fVec43[16384];
float fRec110[2];
float fRec104[2];
float fVec44[16384];
float fRec102[2];
float fRec100[2];
float fVec45[16384];
float fRec111[2];
float fRec101[2];
float fVec46[16384];
float fRec99[2];
float fRec97[2];
float fVec47[16384];
float fRec112[2];
float fRec98[2];
float fVec48[16384];
float fRec95[2];
float fRec93[2];
float fRec114[2];
float fVec49[16384];
float fRec113[2];
float fRec94[2];
float fVec50[16384];
float fRec75[2];
float fRec73[2];
float fRec116[2];
float fVec51[16384];
float fRec115[2];
float fRec74[2];
float fVec52[16384];
float fRec55[2];
float fRec53[2];
float fRec118[2];
float fVec53[16384];
float fRec117[2];
float fRec54[2];
float fVec54[16384];
float fRec35[2];
float fRec33[2];
float fRec120[2];
float fVec55[16384];
float fRec119[2];
float fRec34[2];
float fRec124[2];
float fVec56[16384];
float fRec148[2];
float fRec146[2];
float fVec57[16384];
float fRec149[2];
float fRec147[2];
float fVec58[16384];
float fRec145[2];
float fRec143[2];
float fVec59[16384];
float fRec150[2];
float fRec144[2];
float fVec60[16384];
float fRec142[2];
float fRec140[2];
float fVec61[16384];
float fRec151[2];
float fRec141[2];
float fVec62[16384];
float fRec139[2];
float fRec137[2];
float fVec63[16384];
float fRec152[2];
float fRec138[2];
float fVec64[16384];
float fRec136[2];
float fRec134[2];
float fVec65[16384];
float fRec153[2];
float fRec135[2];
float fVec66[16384];
float fRec133[2];
float fRec131[2];
float fVec67[16384];
float fRec154[2];
float fRec132[2];
float fVec68[16384];
float fRec130[2];
float fRec128[2];
float fVec69[16384];
float fRec155[2];
float fRec129[2];
float fVec70[16384];
float fRec127[2];
float fRec125[2];
float fVec71[16384];
float fRec156[2];
float fRec126[2];
float fRec163[2];
float fRec167[2];
float fVec72[16384];
float fRec191[2];
float fRec189[2];
float fVec73[16384];
float fRec192[2];
float fRec190[2];
float fVec74[16384];
float fRec188[2];
float fRec186[2];
float fVec75[16384];
float fRec193[2];
float fRec187[2];
float fVec76[16384];
float fRec185[2];
float fRec183[2];
float fVec77[16384];
float fRec194[2];
float fRec184[2];
float fVec78[16384];
float fRec182[2];
float fRec180[2];
float fVec79[16384];
float fRec195[2];
float fRec181[2];
float fVec80[16384];
float fRec179[2];
float fRec177[2];
float fVec81[16384];
float fRec196[2];
float fRec178[2];
float fVec82[16384];
float fRec208[2];
float fRec206[2];
float fVec83[16384];
float fRec209[2];
float fRec207[2];
float fVec84[16384];
float fRec205[2];
float fRec203[2];
float fVec85[16384];
float fRec210[2];
float fRec204[2];
float fVec86[16384];
float fRec202[2];
float fRec200[2];
float fVec87[16384];
float fRec211[2];
float fRec201[2];
float fVec88[16384];
float fRec199[2];
float fRec197[2];
float fVec89[16384];
float fRec212[2];
float fRec198[2];
float fVec90[16384];
float fRec176[2];
float fRec174[2];
float fVec91[16384];
float fRec213[2];
float fRec175[2];
float fVec92[16384];
float fRec225[2];
float fRec223[2];
float fVec93[16384];
float fRec226[2];
float fRec224[2];
float fVec94[16384];
float fRec222[2];
float fRec220[2];
float fVec95[16384];
float fRec227[2];
float fRec221[2];
float fVec96[16384];
float fRec219[2];
float fRec217[2];
float fVec97[16384];
float fRec228[2];
float fRec218[2];
float fVec98[16384];
float fRec216[2];
float fRec214[2];
float fVec99[16384];
float fRec229[2];
float fRec215[2];
float fVec100[16384];
float fRec173[2];
float fRec171[2];
float fVec101[16384];
float fRec230[2];
float fRec172[2];
float fVec102[16384];
float fRec170[2];
float fRec168[2];
float fVec103[16384];
float fRec231[2];
float fRec169[2];
float fVec104[16384];
float fRec166[2];
float fRec164[2];
float fRec233[2];
float fVec105[16384];
float fRec232[2];
float fRec165[2];
float fVec106[16384];
float fRec245[2];
float fRec243[2];
float fVec107[16384];
float fRec246[2];
float fRec244[2];
float fVec108[16384];
float fRec242[2];
float fRec240[2];
float fVec109[16384];
float fRec247[2];
float fRec241[2];
float fVec110[16384];
float fRec239[2];
float fRec237[2];
float fVec111[16384];
float fRec248[2];
float fRec238[2];
float fVec112[16384];
float fRec236[2];
float fRec234[2];
float fVec113[16384];
float fRec249[2];
float fRec235[2];
float fVec114[16384];
float fRec162[2];
float fRec160[2];
float fRec251[2];
float fVec115[16384];
float fRec250[2];
float fRec161[2];
float fVec116[16384];
float fRec263[2];
float fRec261[2];
float fVec117[16384];
float fRec264[2];
float fRec262[2];
float fVec118[16384];
float fRec260[2];
float fRec258[2];
float fVec119[16384];
float fRec265[2];
float fRec259[2];
float fVec120[16384];
float fRec257[2];
float fRec255[2];
float fVec121[16384];
float fRec266[2];
float fRec256[2];
float fVec122[16384];
float fRec254[2];
float fRec252[2];
float fVec123[16384];
float fRec267[2];
float fRec253[2];
float fVec124[16384];
float fRec268[2];
float fRec159[2];
float fRec157[2];
float fVec125[16384];
float fRec270[2];
float fRec269[2];
float fRec158[2];
float fVec126[16384];
float fRec123[2];
float fRec121[2];
float fVec127[16384];
float fRec272[2];
float fRec271[2];
float fRec122[2];
float fRec2[2];
float fRec0[1024];
float fRec273[2];
float fRec1[1024];
int fSamplingFreq;
public:
virtual void metadata(Meta* m) {
m->declare("name", "GreyholeRaw");
m->declare("version", "1.0");
m->declare("author", "Julian Parker, bug fixes by Till Bovermann");
m->declare("license", "GPL2+");
m->declare("copyright", "(c) Julian Parker 2013");
m->declare("signals.lib/name", "Faust Signal Routing Library");
m->declare("signals.lib/version", "0.0");
m->declare("maths.lib/name", "Faust Math Library");
m->declare("maths.lib/version", "2.0");
m->declare("maths.lib/author", "GRAME");
m->declare("maths.lib/copyright", "GRAME");
m->declare("maths.lib/license", "LGPL with exception");
m->declare("delays.lib/name", "Faust Delay Library");
m->declare("delays.lib/version", "0.0");
m->declare("oscillators.lib/name", "Faust Oscillator Library");
m->declare("oscillators.lib/version", "0.0");
m->declare("filters.lib/name", "Faust Filters Library");
m->declare("filters.lib/version", "0.0");
m->declare("basics.lib/name", "Faust Basic Element Library");
m->declare("basics.lib/version", "0.0");
}
virtual int getNumInputs() { return 2; }
virtual int getNumOutputs() { return 2; }
static void classInit(int samplingFreq) {
SIG0 sig0;
sig0.init(samplingFreq);
sig0.fill(1302,itbl0);
}
virtual void instanceConstants(int samplingFreq) {
fSamplingFreq = samplingFreq;
fConst0 = min(1.92e+05f, max(1e+03f, (float)fSamplingFreq));
fConst1 = (0.00056689343f * fConst0);
fConst2 = (3.1415927f / fConst0);
}
virtual void instanceResetUserInterface() {
fslider0 = 0.0f;
fslider1 = 0.5f;
fslider2 = 1.0f;
fslider3 = 0.9f;
fslider4 = 0.2f;
fslider5 = 0.1f;
fslider6 = 2.0f;
}
virtual void instanceClear() {
for (int i=0; i<2; i++) fVec0[i] = 0;
for (int i=0; i<2; i++) iVec1[i] = 0;
for (int i=0; i<2; i++) fVec2[i] = 0;
for (int i=0; i<2; i++) fRec6[i] = 0;
for (int i=0; i<2; i++) fVec3[i] = 0;
for (int i=0; i<2; i++) fRec7[i] = 0;
for (int i=0; i<2; i++) fRec8[i] = 0;
for (int i=0; i<2; i++) fRec9[i] = 0;
for (int i=0; i<2; i++) fRec10[i] = 0;
for (int i=0; i<2; i++) fVec4[i] = 0;
for (int i=0; i<2; i++) fVec5[i] = 0;
for (int i=0; i<2; i++) fRec11[i] = 0;
for (int i=0; i<2; i++) fRec12[i] = 0;
IOTA = 0;
for (int i=0; i<131072; i++) fVec6[i] = 0;
for (int i=0; i<2; i++) fRec16[i] = 0;
for (int i=0; i<2; i++) fRec20[i] = 0;
for (int i=0; i<2; i++) fRec24[i] = 0;
for (int i=0; i<131072; i++) fVec7[i] = 0;
for (int i=0; i<16384; i++) fVec8[i] = 0;
for (int i=0; i<2; i++) fRec23[i] = 0;
for (int i=0; i<2; i++) fRec21[i] = 0;
for (int i=0; i<2; i++) fRec26[i] = 0;
for (int i=0; i<16384; i++) fVec9[i] = 0;
for (int i=0; i<2; i++) fRec25[i] = 0;
for (int i=0; i<2; i++) fRec22[i] = 0;
for (int i=0; i<16384; i++) fVec10[i] = 0;
for (int i=0; i<2; i++) fRec19[i] = 0;
for (int i=0; i<2; i++) fRec17[i] = 0;
for (int i=0; i<2; i++) fRec28[i] = 0;
for (int i=0; i<16384; i++) fVec11[i] = 0;
for (int i=0; i<2; i++) fRec27[i] = 0;
for (int i=0; i<2; i++) fRec18[i] = 0;
for (int i=0; i<16384; i++) fVec12[i] = 0;
for (int i=0; i<2; i++) fRec15[i] = 0;
for (int i=0; i<2; i++) fRec13[i] = 0;
for (int i=0; i<2; i++) fRec30[i] = 0;
for (int i=0; i<16384; i++) fVec13[i] = 0;
for (int i=0; i<2; i++) fRec29[i] = 0;
for (int i=0; i<2; i++) fRec14[i] = 0;
for (int i=0; i<16384; i++) fVec14[i] = 0;
for (int i=0; i<2; i++) fRec5[i] = 0;
for (int i=0; i<2; i++) fRec3[i] = 0;
for (int i=0; i<2; i++) fRec32[i] = 0;
for (int i=0; i<16384; i++) fVec15[i] = 0;
for (int i=0; i<2; i++) fRec31[i] = 0;
for (int i=0; i<2; i++) fRec4[i] = 0;
for (int i=0; i<2; i++) fRec36[i] = 0;
for (int i=0; i<16384; i++) fVec16[i] = 0;
for (int i=0; i<2; i++) fRec48[i] = 0;
for (int i=0; i<2; i++) fRec46[i] = 0;
for (int i=0; i<16384; i++) fVec17[i] = 0;
for (int i=0; i<2; i++) fRec49[i] = 0;
for (int i=0; i<2; i++) fRec47[i] = 0;
for (int i=0; i<16384; i++) fVec18[i] = 0;
for (int i=0; i<2; i++) fRec45[i] = 0;
for (int i=0; i<2; i++) fRec43[i] = 0;
for (int i=0; i<16384; i++) fVec19[i] = 0;
for (int i=0; i<2; i++) fRec50[i] = 0;
for (int i=0; i<2; i++) fRec44[i] = 0;
for (int i=0; i<16384; i++) fVec20[i] = 0;
for (int i=0; i<2; i++) fRec42[i] = 0;
for (int i=0; i<2; i++) fRec40[i] = 0;
for (int i=0; i<16384; i++) fVec21[i] = 0;
for (int i=0; i<2; i++) fRec51[i] = 0;
for (int i=0; i<2; i++) fRec41[i] = 0;
for (int i=0; i<16384; i++) fVec22[i] = 0;
for (int i=0; i<2; i++) fRec39[i] = 0;
for (int i=0; i<2; i++) fRec37[i] = 0;
for (int i=0; i<16384; i++) fVec23[i] = 0;
for (int i=0; i<2; i++) fRec52[i] = 0;
for (int i=0; i<2; i++) fRec38[i] = 0;
for (int i=0; i<2; i++) fRec56[i] = 0;
for (int i=0; i<16384; i++) fVec24[i] = 0;
for (int i=0; i<2; i++) fRec68[i] = 0;
for (int i=0; i<2; i++) fRec66[i] = 0;
for (int i=0; i<16384; i++) fVec25[i] = 0;
for (int i=0; i<2; i++) fRec69[i] = 0;
for (int i=0; i<2; i++) fRec67[i] = 0;
for (int i=0; i<16384; i++) fVec26[i] = 0;
for (int i=0; i<2; i++) fRec65[i] = 0;
for (int i=0; i<2; i++) fRec63[i] = 0;
for (int i=0; i<16384; i++) fVec27[i] = 0;
for (int i=0; i<2; i++) fRec70[i] = 0;
for (int i=0; i<2; i++) fRec64[i] = 0;
for (int i=0; i<16384; i++) fVec28[i] = 0;
for (int i=0; i<2; i++) fRec62[i] = 0;
for (int i=0; i<2; i++) fRec60[i] = 0;
for (int i=0; i<16384; i++) fVec29[i] = 0;
for (int i=0; i<2; i++) fRec71[i] = 0;
for (int i=0; i<2; i++) fRec61[i] = 0;
for (int i=0; i<16384; i++) fVec30[i] = 0;
for (int i=0; i<2; i++) fRec59[i] = 0;
for (int i=0; i<2; i++) fRec57[i] = 0;
for (int i=0; i<16384; i++) fVec31[i] = 0;
for (int i=0; i<2; i++) fRec72[i] = 0;
for (int i=0; i<2; i++) fRec58[i] = 0;
for (int i=0; i<2; i++) fRec76[i] = 0;
for (int i=0; i<16384; i++) fVec32[i] = 0;
for (int i=0; i<2; i++) fRec88[i] = 0;
for (int i=0; i<2; i++) fRec86[i] = 0;
for (int i=0; i<16384; i++) fVec33[i] = 0;
for (int i=0; i<2; i++) fRec89[i] = 0;
for (int i=0; i<2; i++) fRec87[i] = 0;
for (int i=0; i<16384; i++) fVec34[i] = 0;
for (int i=0; i<2; i++) fRec85[i] = 0;
for (int i=0; i<2; i++) fRec83[i] = 0;
for (int i=0; i<16384; i++) fVec35[i] = 0;
for (int i=0; i<2; i++) fRec90[i] = 0;
for (int i=0; i<2; i++) fRec84[i] = 0;
for (int i=0; i<16384; i++) fVec36[i] = 0;
for (int i=0; i<2; i++) fRec82[i] = 0;
for (int i=0; i<2; i++) fRec80[i] = 0;
for (int i=0; i<16384; i++) fVec37[i] = 0;
for (int i=0; i<2; i++) fRec91[i] = 0;
for (int i=0; i<2; i++) fRec81[i] = 0;
for (int i=0; i<16384; i++) fVec38[i] = 0;
for (int i=0; i<2; i++) fRec79[i] = 0;
for (int i=0; i<2; i++) fRec77[i] = 0;
for (int i=0; i<16384; i++) fVec39[i] = 0;
for (int i=0; i<2; i++) fRec92[i] = 0;
for (int i=0; i<2; i++) fRec78[i] = 0;
for (int i=0; i<2; i++) fRec96[i] = 0;
for (int i=0; i<16384; i++) fVec40[i] = 0;
for (int i=0; i<2; i++) fRec108[i] = 0;
for (int i=0; i<2; i++) fRec106[i] = 0;
for (int i=0; i<16384; i++) fVec41[i] = 0;
for (int i=0; i<2; i++) fRec109[i] = 0;
for (int i=0; i<2; i++) fRec107[i] = 0;
for (int i=0; i<16384; i++) fVec42[i] = 0;
for (int i=0; i<2; i++) fRec105[i] = 0;
for (int i=0; i<2; i++) fRec103[i] = 0;
for (int i=0; i<16384; i++) fVec43[i] = 0;
for (int i=0; i<2; i++) fRec110[i] = 0;
for (int i=0; i<2; i++) fRec104[i] = 0;
for (int i=0; i<16384; i++) fVec44[i] = 0;
for (int i=0; i<2; i++) fRec102[i] = 0;
for (int i=0; i<2; i++) fRec100[i] = 0;
for (int i=0; i<16384; i++) fVec45[i] = 0;
for (int i=0; i<2; i++) fRec111[i] = 0;
for (int i=0; i<2; i++) fRec101[i] = 0;
for (int i=0; i<16384; i++) fVec46[i] = 0;
for (int i=0; i<2; i++) fRec99[i] = 0;
for (int i=0; i<2; i++) fRec97[i] = 0;
for (int i=0; i<16384; i++) fVec47[i] = 0;
for (int i=0; i<2; i++) fRec112[i] = 0;
for (int i=0; i<2; i++) fRec98[i] = 0;
for (int i=0; i<16384; i++) fVec48[i] = 0;
for (int i=0; i<2; i++) fRec95[i] = 0;
for (int i=0; i<2; i++) fRec93[i] = 0;
for (int i=0; i<2; i++) fRec114[i] = 0;
for (int i=0; i<16384; i++) fVec49[i] = 0;
for (int i=0; i<2; i++) fRec113[i] = 0;
for (int i=0; i<2; i++) fRec94[i] = 0;
for (int i=0; i<16384; i++) fVec50[i] = 0;
for (int i=0; i<2; i++) fRec75[i] = 0;
for (int i=0; i<2; i++) fRec73[i] = 0;
for (int i=0; i<2; i++) fRec116[i] = 0;
for (int i=0; i<16384; i++) fVec51[i] = 0;
for (int i=0; i<2; i++) fRec115[i] = 0;
for (int i=0; i<2; i++) fRec74[i] = 0;
for (int i=0; i<16384; i++) fVec52[i] = 0;
for (int i=0; i<2; i++) fRec55[i] = 0;
for (int i=0; i<2; i++) fRec53[i] = 0;
for (int i=0; i<2; i++) fRec118[i] = 0;
for (int i=0; i<16384; i++) fVec53[i] = 0;
for (int i=0; i<2; i++) fRec117[i] = 0;
for (int i=0; i<2; i++) fRec54[i] = 0;
for (int i=0; i<16384; i++) fVec54[i] = 0;
for (int i=0; i<2; i++) fRec35[i] = 0;
for (int i=0; i<2; i++) fRec33[i] = 0;
for (int i=0; i<2; i++) fRec120[i] = 0;
for (int i=0; i<16384; i++) fVec55[i] = 0;
for (int i=0; i<2; i++) fRec119[i] = 0;
for (int i=0; i<2; i++) fRec34[i] = 0;
for (int i=0; i<2; i++) fRec124[i] = 0;
for (int i=0; i<16384; i++) fVec56[i] = 0;
for (int i=0; i<2; i++) fRec148[i] = 0;
for (int i=0; i<2; i++) fRec146[i] = 0;
for (int i=0; i<16384; i++) fVec57[i] = 0;
for (int i=0; i<2; i++) fRec149[i] = 0;
for (int i=0; i<2; i++) fRec147[i] = 0;
for (int i=0; i<16384; i++) fVec58[i] = 0;
for (int i=0; i<2; i++) fRec145[i] = 0;
for (int i=0; i<2; i++) fRec143[i] = 0;
for (int i=0; i<16384; i++) fVec59[i] = 0;
for (int i=0; i<2; i++) fRec150[i] = 0;
for (int i=0; i<2; i++) fRec144[i] = 0;
for (int i=0; i<16384; i++) fVec60[i] = 0;
for (int i=0; i<2; i++) fRec142[i] = 0;
for (int i=0; i<2; i++) fRec140[i] = 0;
for (int i=0; i<16384; i++) fVec61[i] = 0;
for (int i=0; i<2; i++) fRec151[i] = 0;
for (int i=0; i<2; i++) fRec141[i] = 0;
for (int i=0; i<16384; i++) fVec62[i] = 0;
for (int i=0; i<2; i++) fRec139[i] = 0;
for (int i=0; i<2; i++) fRec137[i] = 0;
for (int i=0; i<16384; i++) fVec63[i] = 0;
for (int i=0; i<2; i++) fRec152[i] = 0;
for (int i=0; i<2; i++) fRec138[i] = 0;
for (int i=0; i<16384; i++) fVec64[i] = 0;
for (int i=0; i<2; i++) fRec136[i] = 0;
for (int i=0; i<2; i++) fRec134[i] = 0;
for (int i=0; i<16384; i++) fVec65[i] = 0;
for (int i=0; i<2; i++) fRec153[i] = 0;
for (int i=0; i<2; i++) fRec135[i] = 0;
for (int i=0; i<16384; i++) fVec66[i] = 0;
for (int i=0; i<2; i++) fRec133[i] = 0;
for (int i=0; i<2; i++) fRec131[i] = 0;
for (int i=0; i<16384; i++) fVec67[i] = 0;
for (int i=0; i<2; i++) fRec154[i] = 0;
for (int i=0; i<2; i++) fRec132[i] = 0;
for (int i=0; i<16384; i++) fVec68[i] = 0;
for (int i=0; i<2; i++) fRec130[i] = 0;
for (int i=0; i<2; i++) fRec128[i] = 0;
for (int i=0; i<16384; i++) fVec69[i] = 0;
for (int i=0; i<2; i++) fRec155[i] = 0;
for (int i=0; i<2; i++) fRec129[i] = 0;
for (int i=0; i<16384; i++) fVec70[i] = 0;
for (int i=0; i<2; i++) fRec127[i] = 0;
for (int i=0; i<2; i++) fRec125[i] = 0;
for (int i=0; i<16384; i++) fVec71[i] = 0;
for (int i=0; i<2; i++) fRec156[i] = 0;
for (int i=0; i<2; i++) fRec126[i] = 0;
for (int i=0; i<2; i++) fRec163[i] = 0;
for (int i=0; i<2; i++) fRec167[i] = 0;
for (int i=0; i<16384; i++) fVec72[i] = 0;
for (int i=0; i<2; i++) fRec191[i] = 0;
for (int i=0; i<2; i++) fRec189[i] = 0;
for (int i=0; i<16384; i++) fVec73[i] = 0;
for (int i=0; i<2; i++) fRec192[i] = 0;
for (int i=0; i<2; i++) fRec190[i] = 0;
for (int i=0; i<16384; i++) fVec74[i] = 0;
for (int i=0; i<2; i++) fRec188[i] = 0;
for (int i=0; i<2; i++) fRec186[i] = 0;
for (int i=0; i<16384; i++) fVec75[i] = 0;
for (int i=0; i<2; i++) fRec193[i] = 0;
for (int i=0; i<2; i++) fRec187[i] = 0;
for (int i=0; i<16384; i++) fVec76[i] = 0;
for (int i=0; i<2; i++) fRec185[i] = 0;
for (int i=0; i<2; i++) fRec183[i] = 0;
for (int i=0; i<16384; i++) fVec77[i] = 0;
for (int i=0; i<2; i++) fRec194[i] = 0;
for (int i=0; i<2; i++) fRec184[i] = 0;
for (int i=0; i<16384; i++) fVec78[i] = 0;
for (int i=0; i<2; i++) fRec182[i] = 0;
for (int i=0; i<2; i++) fRec180[i] = 0;
for (int i=0; i<16384; i++) fVec79[i] = 0;
for (int i=0; i<2; i++) fRec195[i] = 0;
for (int i=0; i<2; i++) fRec181[i] = 0;
for (int i=0; i<16384; i++) fVec80[i] = 0;
for (int i=0; i<2; i++) fRec179[i] = 0;
for (int i=0; i<2; i++) fRec177[i] = 0;
for (int i=0; i<16384; i++) fVec81[i] = 0;
for (int i=0; i<2; i++) fRec196[i] = 0;
for (int i=0; i<2; i++) fRec178[i] = 0;
for (int i=0; i<16384; i++) fVec82[i] = 0;
for (int i=0; i<2; i++) fRec208[i] = 0;
for (int i=0; i<2; i++) fRec206[i] = 0;
for (int i=0; i<16384; i++) fVec83[i] = 0;
for (int i=0; i<2; i++) fRec209[i] = 0;
for (int i=0; i<2; i++) fRec207[i] = 0;
for (int i=0; i<16384; i++) fVec84[i] = 0;
for (int i=0; i<2; i++) fRec205[i] = 0;
for (int i=0; i<2; i++) fRec203[i] = 0;
for (int i=0; i<16384; i++) fVec85[i] = 0;
for (int i=0; i<2; i++) fRec210[i] = 0;
for (int i=0; i<2; i++) fRec204[i] = 0;
for (int i=0; i<16384; i++) fVec86[i] = 0;
for (int i=0; i<2; i++) fRec202[i] = 0;
for (int i=0; i<2; i++) fRec200[i] = 0;
for (int i=0; i<16384; i++) fVec87[i] = 0;
for (int i=0; i<2; i++) fRec211[i] = 0;
for (int i=0; i<2; i++) fRec201[i] = 0;
for (int i=0; i<16384; i++) fVec88[i] = 0;
for (int i=0; i<2; i++) fRec199[i] = 0;
for (int i=0; i<2; i++) fRec197[i] = 0;
for (int i=0; i<16384; i++) fVec89[i] = 0;
for (int i=0; i<2; i++) fRec212[i] = 0;
for (int i=0; i<2; i++) fRec198[i] = 0;
for (int i=0; i<16384; i++) fVec90[i] = 0;
for (int i=0; i<2; i++) fRec176[i] = 0;
for (int i=0; i<2; i++) fRec174[i] = 0;
for (int i=0; i<16384; i++) fVec91[i] = 0;
for (int i=0; i<2; i++) fRec213[i] = 0;
for (int i=0; i<2; i++) fRec175[i] = 0;
for (int i=0; i<16384; i++) fVec92[i] = 0;
for (int i=0; i<2; i++) fRec225[i] = 0;
for (int i=0; i<2; i++) fRec223[i] = 0;
for (int i=0; i<16384; i++) fVec93[i] = 0;
for (int i=0; i<2; i++) fRec226[i] = 0;
for (int i=0; i<2; i++) fRec224[i] = 0;
for (int i=0; i<16384; i++) fVec94[i] = 0;
for (int i=0; i<2; i++) fRec222[i] = 0;
for (int i=0; i<2; i++) fRec220[i] = 0;
for (int i=0; i<16384; i++) fVec95[i] = 0;
for (int i=0; i<2; i++) fRec227[i] = 0;
for (int i=0; i<2; i++) fRec221[i] = 0;
for (int i=0; i<16384; i++) fVec96[i] = 0;
for (int i=0; i<2; i++) fRec219[i] = 0;
for (int i=0; i<2; i++) fRec217[i] = 0;
for (int i=0; i<16384; i++) fVec97[i] = 0;
for (int i=0; i<2; i++) fRec228[i] = 0;
for (int i=0; i<2; i++) fRec218[i] = 0;
for (int i=0; i<16384; i++) fVec98[i] = 0;
for (int i=0; i<2; i++) fRec216[i] = 0;
for (int i=0; i<2; i++) fRec214[i] = 0;
for (int i=0; i<16384; i++) fVec99[i] = 0;
for (int i=0; i<2; i++) fRec229[i] = 0;
for (int i=0; i<2; i++) fRec215[i] = 0;
for (int i=0; i<16384; i++) fVec100[i] = 0;
for (int i=0; i<2; i++) fRec173[i] = 0;
for (int i=0; i<2; i++) fRec171[i] = 0;
for (int i=0; i<16384; i++) fVec101[i] = 0;
for (int i=0; i<2; i++) fRec230[i] = 0;
for (int i=0; i<2; i++) fRec172[i] = 0;
for (int i=0; i<16384; i++) fVec102[i] = 0;
for (int i=0; i<2; i++) fRec170[i] = 0;
for (int i=0; i<2; i++) fRec168[i] = 0;
for (int i=0; i<16384; i++) fVec103[i] = 0;
for (int i=0; i<2; i++) fRec231[i] = 0;
for (int i=0; i<2; i++) fRec169[i] = 0;
for (int i=0; i<16384; i++) fVec104[i] = 0;
for (int i=0; i<2; i++) fRec166[i] = 0;
for (int i=0; i<2; i++) fRec164[i] = 0;
for (int i=0; i<2; i++) fRec233[i] = 0;
for (int i=0; i<16384; i++) fVec105[i] = 0;
for (int i=0; i<2; i++) fRec232[i] = 0;
for (int i=0; i<2; i++) fRec165[i] = 0;
for (int i=0; i<16384; i++) fVec106[i] = 0;
for (int i=0; i<2; i++) fRec245[i] = 0;
for (int i=0; i<2; i++) fRec243[i] = 0;
for (int i=0; i<16384; i++) fVec107[i] = 0;
for (int i=0; i<2; i++) fRec246[i] = 0;
for (int i=0; i<2; i++) fRec244[i] = 0;
for (int i=0; i<16384; i++) fVec108[i] = 0;
for (int i=0; i<2; i++) fRec242[i] = 0;
for (int i=0; i<2; i++) fRec240[i] = 0;
for (int i=0; i<16384; i++) fVec109[i] = 0;
for (int i=0; i<2; i++) fRec247[i] = 0;
for (int i=0; i<2; i++) fRec241[i] = 0;
for (int i=0; i<16384; i++) fVec110[i] = 0;
for (int i=0; i<2; i++) fRec239[i] = 0;
for (int i=0; i<2; i++) fRec237[i] = 0;
for (int i=0; i<16384; i++) fVec111[i] = 0;
for (int i=0; i<2; i++) fRec248[i] = 0;
for (int i=0; i<2; i++) fRec238[i] = 0;
for (int i=0; i<16384; i++) fVec112[i] = 0;
for (int i=0; i<2; i++) fRec236[i] = 0;
for (int i=0; i<2; i++) fRec234[i] = 0;
for (int i=0; i<16384; i++) fVec113[i] = 0;
for (int i=0; i<2; i++) fRec249[i] = 0;
for (int i=0; i<2; i++) fRec235[i] = 0;
for (int i=0; i<16384; i++) fVec114[i] = 0;
for (int i=0; i<2; i++) fRec162[i] = 0;
for (int i=0; i<2; i++) fRec160[i] = 0;
for (int i=0; i<2; i++) fRec251[i] = 0;
for (int i=0; i<16384; i++) fVec115[i] = 0;
for (int i=0; i<2; i++) fRec250[i] = 0;
for (int i=0; i<2; i++) fRec161[i] = 0;
for (int i=0; i<16384; i++) fVec116[i] = 0;
for (int i=0; i<2; i++) fRec263[i] = 0;
for (int i=0; i<2; i++) fRec261[i] = 0;
for (int i=0; i<16384; i++) fVec117[i] = 0;
for (int i=0; i<2; i++) fRec264[i] = 0;
for (int i=0; i<2; i++) fRec262[i] = 0;
for (int i=0; i<16384; i++) fVec118[i] = 0;
for (int i=0; i<2; i++) fRec260[i] = 0;
for (int i=0; i<2; i++) fRec258[i] = 0;
for (int i=0; i<16384; i++) fVec119[i] = 0;
for (int i=0; i<2; i++) fRec265[i] = 0;
for (int i=0; i<2; i++) fRec259[i] = 0;
for (int i=0; i<16384; i++) fVec120[i] = 0;
for (int i=0; i<2; i++) fRec257[i] = 0;
for (int i=0; i<2; i++) fRec255[i] = 0;
for (int i=0; i<16384; i++) fVec121[i] = 0;
for (int i=0; i<2; i++) fRec266[i] = 0;
for (int i=0; i<2; i++) fRec256[i] = 0;
for (int i=0; i<16384; i++) fVec122[i] = 0;
for (int i=0; i<2; i++) fRec254[i] = 0;
for (int i=0; i<2; i++) fRec252[i] = 0;
for (int i=0; i<16384; i++) fVec123[i] = 0;
for (int i=0; i<2; i++) fRec267[i] = 0;
for (int i=0; i<2; i++) fRec253[i] = 0;
for (int i=0; i<16384; i++) fVec124[i] = 0;
for (int i=0; i<2; i++) fRec268[i] = 0;
for (int i=0; i<2; i++) fRec159[i] = 0;
for (int i=0; i<2; i++) fRec157[i] = 0;
for (int i=0; i<16384; i++) fVec125[i] = 0;
for (int i=0; i<2; i++) fRec270[i] = 0;
for (int i=0; i<2; i++) fRec269[i] = 0;
for (int i=0; i<2; i++) fRec158[i] = 0;
for (int i=0; i<16384; i++) fVec126[i] = 0;
for (int i=0; i<2; i++) fRec123[i] = 0;
for (int i=0; i<2; i++) fRec121[i] = 0;
for (int i=0; i<16384; i++) fVec127[i] = 0;
for (int i=0; i<2; i++) fRec272[i] = 0;
for (int i=0; i<2; i++) fRec271[i] = 0;
for (int i=0; i<2; i++) fRec122[i] = 0;
for (int i=0; i<2; i++) fRec2[i] = 0;
for (int i=0; i<1024; i++) fRec0[i] = 0;
for (int i=0; i<2; i++) fRec273[i] = 0;
for (int i=0; i<1024; i++) fRec1[i] = 0;
}
virtual void init(int samplingFreq) {
classInit(samplingFreq);
instanceInit(samplingFreq);
}
virtual void instanceInit(int samplingFreq) {
instanceConstants(samplingFreq);
instanceResetUserInterface();
instanceClear();
}
virtual mydsp* clone() {
return new mydsp();
}
virtual int getSampleRate() {
return fSamplingFreq;
}
virtual void buildUserInterface(UI* ui_interface) {
ui_interface->openVerticalBox("0x00");
ui_interface->addHorizontalSlider("damping", &fslider0, 0.0f, 0.0f, 0.99f, 0.001f);
ui_interface->addHorizontalSlider("delayTime", &fslider4, 0.2f, 0.001f, 1.45f, 0.0001f);
ui_interface->addHorizontalSlider("diffusion", &fslider1, 0.5f, 0.0f, 0.99f, 0.0001f);
ui_interface->addHorizontalSlider("feedback", &fslider3, 0.9f, 0.0f, 1.0f, 0.01f);
ui_interface->addHorizontalSlider("modDepth", &fslider5, 0.1f, 0.0f, 1.0f, 0.001f);
ui_interface->addHorizontalSlider("modFreq", &fslider6, 2.0f, 0.0f, 1e+01f, 0.01f);
ui_interface->addHorizontalSlider("size", &fslider2, 1.0f, 0.5f, 3.0f, 0.0001f);
ui_interface->closeBox();
}
virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** output) {
float fSlow0 = float(fslider0);
float fSlow1 = float(fslider1);
float fSlow2 = float(fslider2);
int iSlow3 = int((10 * fSlow2));
float fSlow4 = float(fslider3);
float fSlow5 = floorf(min((float)65533, (fConst0 * float(fslider4))));
float fSlow6 = float(fslider5);
float fSlow7 = float(fslider6);
float fSlow8 = (23 * fSlow2);
int iSlow9 = int(fSlow8);
float fSlow10 = (36 * fSlow2);
int iSlow11 = int(fSlow10);
float fSlow12 = (49 * fSlow2);
int iSlow13 = int(fSlow12);
int iSlow14 = int((fSlow12 + 10));
int iSlow15 = int((fSlow10 + 10));
int iSlow16 = int((fSlow8 + 10));
int iSlow17 = int((10 * (fSlow2 + 1)));
float fSlow18 = (29 * fSlow2);
int iSlow19 = int(fSlow18);
float fSlow20 = (42 * fSlow2);
int iSlow21 = int(fSlow20);
float fSlow22 = (55 * fSlow2);
int iSlow23 = int(fSlow22);
float fSlow24 = (68 * fSlow2);
int iSlow25 = int(fSlow24);
int iSlow26 = int((fSlow24 + 10));
int iSlow27 = int((fSlow22 + 10));
int iSlow28 = int((fSlow20 + 10));
int iSlow29 = int((fSlow18 + 10));
float fSlow30 = (48 * fSlow2);
int iSlow31 = int(fSlow30);
float fSlow32 = (74 * fSlow2);
int iSlow33 = int(fSlow32);
float fSlow34 = (87 * fSlow2);
int iSlow35 = int(fSlow34);
int iSlow36 = int((fSlow34 + 10));
int iSlow37 = int((fSlow32 + 10));
float fSlow38 = (61 * fSlow2);
int iSlow39 = int(fSlow38);
int iSlow40 = int((fSlow38 + 10));
int iSlow41 = int((fSlow30 + 10));
FAUSTFLOAT* input0 = input[0];
FAUSTFLOAT* input1 = input[1];
FAUSTFLOAT* output0 = output[0];
FAUSTFLOAT* output1 = output[1];
for (int i=0; i<count; i++) {
fVec0[0] = fSlow0;
iVec1[0] = 1;
float fTemp0 = (fSlow0 + fVec0[1]);
float fTemp1 = (1.0f - (0.5f * fTemp0));
fVec2[0] = fSlow1;
float fTemp2 = (0.5f * (fSlow1 + fVec2[1]));
float fTemp3 = sinf(fTemp2);
float fTemp4 = (0 - fTemp2);
float fTemp5 = sinf(fTemp4);
float fTemp6 = cosf(fTemp2);
int iTemp7 = itbl0[iSlow3];
int iTemp8 = (1 - iVec1[1]);
fRec6[0] = ((0.001f * iTemp7) + (0.999f * ((iTemp8 * iTemp7) + fRec6[1])));
float fTemp9 = (fRec6[0] + -1.49999f);
float fTemp10 = floorf(fTemp9);
float fTemp11 = (fTemp10 + (2.0f - fRec6[0]));
float fTemp12 = (0 - fTemp3);
fVec3[0] = fSlow4;
float fTemp13 = (fSlow4 + fVec3[1]);
float fTemp14 = ((int((fRec7[1] != 0.0f)))?((int(((fRec8[1] > 0.0f) & (fRec8[1] < 1.0f))))?fRec7[1]:0):((int(((fRec8[1] == 0.0f) & (fSlow5 != fRec9[1]))))?4.5351473e-05f:((int(((fRec8[1] == 1.0f) & (fSlow5 != fRec10[1]))))?-4.5351473e-05f:0)));
fRec7[0] = fTemp14;
fRec8[0] = max(0.0f, min(1.0f, (fRec8[1] + fTemp14)));
fRec9[0] = ((int(((fRec8[1] >= 1.0f) & (fRec10[1] != fSlow5))))?fSlow5:fRec9[1]);
fRec10[0] = ((int(((fRec8[1] <= 0.0f) & (fRec9[1] != fSlow5))))?fSlow5:fRec10[1]);
fVec4[0] = fSlow6;
float fTemp15 = (fSlow6 + fVec4[1]);
fVec5[0] = fSlow7;
float fTemp16 = (fConst2 * (fSlow7 + fVec5[1]));
float fTemp17 = sinf(fTemp16);
float fTemp18 = cosf(fTemp16);
fRec11[0] = ((fTemp17 * fRec12[1]) + (fTemp18 * fRec11[1]));
fRec12[0] = (((fTemp18 * fRec12[1]) + ((0 - fTemp17) * fRec11[1])) + iTemp8);
float fTemp19 = (fConst1 * (fTemp15 * (fRec12[0] + 1.0f)));
float fTemp20 = (fTemp19 + 8.500005f);
float fTemp21 = floorf(fTemp20);
float fTemp22 = (fTemp19 + (8.0f - fTemp21));
float fTemp23 = (fTemp19 + (7.0f - fTemp21));
float fTemp24 = (fTemp19 + (6.0f - fTemp21));
int iTemp25 = int(fTemp20);
float fTemp26 = ((((((0 - (0.5f * fTemp22)) * (0 - (0.33333334f * fTemp23))) * (0 - (0.25f * fTemp24))) * fRec0[(IOTA-int((int(min(512, max(0, iTemp25))) + 1)))&1023]) * (fTemp21 + (-9.0f - fTemp19))) + ((fTemp19 + (1e+01f - fTemp21)) * (((((0 - (0.5f * fTemp23)) * (0 - (0.33333334f * fTemp24))) * fRec0[(IOTA-int((int(min(512, max(0, (iTemp25 + 1)))) + 1)))&1023]) * (fTemp21 + (-8.0f - fTemp19))) + ((fTemp19 + (9.0f - fTemp21)) * ((0.041666668f * ((fTemp22 * fTemp23) * fRec0[(IOTA-int((int(min(512, max(0, (iTemp25 + 4)))) + 1)))&1023])) + ((0.16666667f * ((fTemp22 * fRec0[(IOTA-int((int(min(512, max(0, (iTemp25 + 3)))) + 1)))&1023]) * (fTemp21 + (-6.0f - fTemp19)))) + (0.5f * (((0 - (0.5f * fTemp24)) * fRec0[(IOTA-int((int(min(512, max(0, (iTemp25 + 2)))) + 1)))&1023]) * (fTemp21 + (-7.0f - fTemp19))))))))));
fVec6[IOTA&131071] = fTemp26;
int iTemp27 = int(min((float)65536, max((float)0, fRec10[0])));
float fTemp28 = (1.0f - fRec8[0]);
int iTemp29 = int(min((float)65536, max((float)0, fRec9[0])));
float fTemp30 = ((float)input0[i] + (0.5f * (fTemp13 * ((fRec8[0] * fVec6[(IOTA-iTemp27)&131071]) + (fTemp28 * fVec6[(IOTA-iTemp29)&131071])))));
float fTemp31 = (fTemp6 * fTemp30);
float fTemp32 = ((fTemp12 * fRec3[1]) + fTemp31);
float fTemp33 = (fTemp3 * fTemp32);
int iTemp34 = itbl0[iSlow9];
fRec16[0] = ((0.001f * iTemp34) + (0.999f * ((iTemp8 * iTemp34) + fRec16[1])));
float fTemp35 = (fRec16[0] + -1.49999f);
float fTemp36 = floorf(fTemp35);
float fTemp37 = (fTemp36 + (2.0f - fRec16[0]));
float fTemp38 = ((fTemp6 * fTemp32) + (fTemp12 * fRec13[1]));
float fTemp39 = (fTemp3 * fTemp38);
int iTemp40 = itbl0[iSlow11];
fRec20[0] = ((0.001f * iTemp40) + (0.999f * ((iTemp8 * iTemp40) + fRec20[1])));
float fTemp41 = (fRec20[0] + -1.49999f);
float fTemp42 = floorf(fTemp41);
float fTemp43 = (fTemp42 + (2.0f - fRec20[0]));
float fTemp44 = ((fTemp6 * fTemp38) + (fTemp12 * fRec17[1]));
float fTemp45 = (fTemp3 * fTemp44);
int iTemp46 = itbl0[iSlow13];
fRec24[0] = ((0.0001f * iTemp46) + (0.9999f * ((iTemp8 * iTemp46) + fRec24[1])));
float fTemp47 = (fRec24[0] + -1.49999f);
float fTemp48 = floorf(fTemp47);
float fTemp49 = (fTemp48 + (2.0f - fRec24[0]));
float fTemp50 = ((fTemp12 * fRec21[1]) + (fTemp6 * fTemp44));
float fTemp51 = (fConst1 * (fTemp15 * (fRec11[0] + 1.0f)));
float fTemp52 = (fTemp51 + 8.500005f);
float fTemp53 = floorf(fTemp52);
float fTemp54 = (fTemp51 + (8.0f - fTemp53));
float fTemp55 = (fTemp51 + (7.0f - fTemp53));
float fTemp56 = (fTemp51 + (6.0f - fTemp53));
int iTemp57 = int(fTemp52);
float fTemp58 = ((((((0 - (0.5f * fTemp54)) * (0 - (0.33333334f * fTemp55))) * (0 - (0.25f * fTemp56))) * fRec1[(IOTA-int((int(min(512, max(0, iTemp57))) + 1)))&1023]) * (fTemp53 + (-9.0f - fTemp51))) + ((fTemp51 + (1e+01f - fTemp53)) * (((((0 - (0.5f * fTemp55)) * (0 - (0.33333334f * fTemp56))) * fRec1[(IOTA-int((int(min(512, max(0, (iTemp57 + 1)))) + 1)))&1023]) * (fTemp53 + (-8.0f - fTemp51))) + ((fTemp51 + (9.0f - fTemp53)) * ((0.041666668f * ((fTemp54 * fTemp55) * fRec1[(IOTA-int((int(min(512, max(0, (iTemp57 + 4)))) + 1)))&1023])) + ((0.16666667f * ((fTemp54 * fRec1[(IOTA-int((int(min(512, max(0, (iTemp57 + 3)))) + 1)))&1023]) * (fTemp53 + (-6.0f - fTemp51)))) + (0.5f * (((0 - (0.5f * fTemp56)) * fRec1[(IOTA-int((int(min(512, max(0, (iTemp57 + 2)))) + 1)))&1023]) * (fTemp53 + (-7.0f - fTemp51))))))))));
fVec7[IOTA&131071] = fTemp58;
float fTemp59 = ((float)input1[i] + (0.5f * (fTemp13 * ((fRec8[0] * fVec7[(IOTA-iTemp27)&131071]) + (fTemp28 * fVec7[(IOTA-iTemp29)&131071])))));
float fTemp60 = (fTemp6 * fTemp59);
float fTemp61 = ((fTemp12 * fRec4[1]) + fTemp60);
float fTemp62 = ((fTemp12 * fRec14[1]) + (fTemp6 * fTemp61));
float fTemp63 = ((fTemp12 * fRec18[1]) + (fTemp6 * fTemp62));
float fTemp64 = ((fTemp12 * fRec22[1]) + (fTemp6 * fTemp63));
float fTemp65 = ((6.123234e-17f * fTemp50) - fTemp64);
fVec8[IOTA&16383] = fTemp65;
int iTemp66 = int(min(8192, max(0, int(fTemp47))));
float fTemp67 = (fRec24[0] - fTemp48);
float fTemp68 = (0 - (fTemp49 / fTemp67));
int iTemp69 = int((iTemp66 + 1));
fRec23[0] = (((fTemp49 * fVec8[(IOTA-iTemp66)&16383]) / fTemp67) + ((fTemp68 * fRec23[1]) + fVec8[(IOTA-iTemp69)&16383]));
fRec21[0] = fRec23[0];
int iTemp70 = itbl0[iSlow14];
fRec26[0] = ((0.0001f * iTemp70) + (0.9999f * ((iTemp8 * iTemp70) + fRec26[1])));
float fTemp71 = (fRec26[0] + -1.49999f);
float fTemp72 = floorf(fTemp71);
float fTemp73 = (fTemp72 + (2.0f - fRec26[0]));
float fTemp74 = (fTemp50 + (6.123234e-17f * fTemp64));
fVec9[IOTA&16383] = fTemp74;
int iTemp75 = int(min(8192, max(0, int(fTemp71))));
float fTemp76 = (fRec26[0] - fTemp72);
int iTemp77 = int((iTemp75 + 1));
float fTemp78 = (0 - (fTemp73 / fTemp76));
fRec25[0] = (((fTemp73 * fVec9[(IOTA-iTemp75)&16383]) / fTemp76) + (fVec9[(IOTA-iTemp77)&16383] + (fTemp78 * fRec25[1])));
fRec22[0] = fRec25[0];
float fTemp79 = (fTemp6 * fRec21[1]);
float fTemp80 = ((fTemp3 * fTemp63) + (fTemp6 * fRec22[1]));
float fTemp81 = ((6.123234e-17f * (fTemp45 + fTemp79)) - fTemp80);
fVec10[IOTA&16383] = fTemp81;
int iTemp82 = int(min(8192, max(0, int(fTemp41))));
float fTemp83 = (fRec20[0] - fTemp42);
float fTemp84 = (0 - (fTemp43 / fTemp83));
int iTemp85 = int((iTemp82 + 1));
fRec19[0] = (((fTemp43 * fVec10[(IOTA-iTemp82)&16383]) / fTemp83) + ((fTemp84 * fRec19[1]) + fVec10[(IOTA-iTemp85)&16383]));
fRec17[0] = fRec19[0];
int iTemp86 = itbl0[iSlow15];
fRec28[0] = ((0.001f * iTemp86) + (0.999f * ((iTemp8 * iTemp86) + fRec28[1])));
float fTemp87 = (fRec28[0] + -1.49999f);
float fTemp88 = floorf(fTemp87);
float fTemp89 = (fTemp88 + (2.0f - fRec28[0]));
float fTemp90 = ((fTemp45 + (6.123234e-17f * fTemp80)) + fTemp79);
fVec11[IOTA&16383] = fTemp90;
int iTemp91 = int(min(8192, max(0, int(fTemp87))));
float fTemp92 = (fRec28[0] - fTemp88);
int iTemp93 = int((iTemp91 + 1));
float fTemp94 = (0 - (fTemp89 / fTemp92));
fRec27[0] = (((fTemp89 * fVec11[(IOTA-iTemp91)&16383]) / fTemp92) + (fVec11[(IOTA-iTemp93)&16383] + (fTemp94 * fRec27[1])));
fRec18[0] = fRec27[0];
float fTemp95 = (fTemp6 * fRec17[1]);
float fTemp96 = ((fTemp3 * fTemp62) + (fTemp6 * fRec18[1]));
float fTemp97 = ((6.123234e-17f * (fTemp39 + fTemp95)) - fTemp96);
fVec12[IOTA&16383] = fTemp97;
int iTemp98 = int(min(8192, max(0, int(fTemp35))));
float fTemp99 = (fRec16[0] - fTemp36);
float fTemp100 = (0 - (fTemp37 / fTemp99));
int iTemp101 = int((iTemp98 + 1));
fRec15[0] = (((fTemp37 * fVec12[(IOTA-iTemp98)&16383]) / fTemp99) + ((fTemp100 * fRec15[1]) + fVec12[(IOTA-iTemp101)&16383]));
fRec13[0] = fRec15[0];
int iTemp102 = itbl0[iSlow16];
fRec30[0] = ((0.001f * iTemp102) + (0.999f * ((iTemp8 * iTemp102) + fRec30[1])));
float fTemp103 = (fRec30[0] + -1.49999f);
float fTemp104 = floorf(fTemp103);
float fTemp105 = (fTemp104 + (2.0f - fRec30[0]));
float fTemp106 = ((fTemp39 + (6.123234e-17f * fTemp96)) + fTemp95);
fVec13[IOTA&16383] = fTemp106;
int iTemp107 = int(min(8192, max(0, int(fTemp103))));
float fTemp108 = (fRec30[0] - fTemp104);
int iTemp109 = int((iTemp107 + 1));
float fTemp110 = (0 - (fTemp105 / fTemp108));
fRec29[0] = (((fTemp105 * fVec13[(IOTA-iTemp107)&16383]) / fTemp108) + (fVec13[(IOTA-iTemp109)&16383] + (fTemp110 * fRec29[1])));
fRec14[0] = fRec29[0];
float fTemp111 = (fTemp6 * fRec13[1]);
float fTemp112 = ((fTemp3 * fTemp61) + (fTemp6 * fRec14[1]));
float fTemp113 = ((6.123234e-17f * (fTemp33 + fTemp111)) - fTemp112);
fVec14[IOTA&16383] = fTemp113;
int iTemp114 = int(min(8192, max(0, int(fTemp9))));
float fTemp115 = (fRec6[0] - fTemp10);
float fTemp116 = (0 - (fTemp11 / fTemp115));
int iTemp117 = int((iTemp114 + 1));
fRec5[0] = (((fTemp11 * fVec14[(IOTA-iTemp114)&16383]) / fTemp115) + ((fTemp116 * fRec5[1]) + fVec14[(IOTA-iTemp117)&16383]));
fRec3[0] = fRec5[0];
int iTemp118 = itbl0[iSlow17];
fRec32[0] = ((0.001f * iTemp118) + (0.999f * ((iTemp8 * iTemp118) + fRec32[1])));
float fTemp119 = (fRec32[0] + -1.49999f);
float fTemp120 = floorf(fTemp119);
float fTemp121 = (fTemp120 + (2.0f - fRec32[0]));
float fTemp122 = ((fTemp33 + (6.123234e-17f * fTemp112)) + fTemp111);
fVec15[IOTA&16383] = fTemp122;
int iTemp123 = int(min(8192, max(0, int(fTemp119))));
float fTemp124 = (fRec32[0] - fTemp120);
int iTemp125 = int((iTemp123 + 1));
float fTemp126 = (0 - (fTemp121 / fTemp124));
fRec31[0] = (((fTemp121 * fVec15[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec15[(IOTA-iTemp125)&16383] + (fTemp126 * fRec31[1])));
fRec4[0] = fRec31[0];
float fTemp127 = (fTemp3 * fTemp30);
float fTemp128 = cosf(fTemp4);
int iTemp129 = itbl0[iSlow19];
fRec36[0] = ((0.001f * iTemp129) + (0.999f * ((iTemp129 * iTemp8) + fRec36[1])));
float fTemp130 = (fRec36[0] + -1.49999f);
float fTemp131 = floorf(fTemp130);
float fTemp132 = (fTemp131 + (2.0f - fRec36[0]));
float fTemp133 = (0 - fTemp5);
float fTemp134 = (fTemp133 * fRec33[1]);
float fTemp135 = ((fTemp12 * fRec37[1]) + fTemp31);
float fTemp136 = ((fTemp12 * fRec40[1]) + (fTemp6 * fTemp135));
float fTemp137 = ((fTemp12 * fRec43[1]) + (fTemp6 * fTemp136));
float fTemp138 = ((fTemp12 * fRec46[1]) + (fTemp6 * fTemp137));
float fTemp139 = ((fTemp12 * fRec38[1]) + fTemp60);
float fTemp140 = ((fTemp12 * fRec41[1]) + (fTemp6 * fTemp139));
float fTemp141 = ((fTemp12 * fRec44[1]) + (fTemp6 * fTemp140));
float fTemp142 = ((fTemp12 * fRec47[1]) + (fTemp6 * fTemp141));
float fTemp143 = ((6.123234e-17f * fTemp138) - fTemp142);
fVec16[IOTA&16383] = fTemp143;
fRec48[0] = (((fTemp49 * fVec16[(IOTA-iTemp66)&16383]) / fTemp67) + ((fRec48[1] * fTemp68) + fVec16[(IOTA-iTemp69)&16383]));
fRec46[0] = fRec48[0];
float fTemp144 = (fTemp138 + (6.123234e-17f * fTemp142));
fVec17[IOTA&16383] = fTemp144;
fRec49[0] = (((fTemp73 * fVec17[(IOTA-iTemp75)&16383]) / fTemp76) + ((fRec49[1] * fTemp78) + fVec17[(IOTA-iTemp77)&16383]));
fRec47[0] = fRec49[0];
float fTemp145 = ((fTemp6 * fRec46[1]) + (fTemp3 * fTemp137));
float fTemp146 = ((fTemp6 * fRec47[1]) + (fTemp3 * fTemp141));
float fTemp147 = ((6.123234e-17f * fTemp145) - fTemp146);
fVec18[IOTA&16383] = fTemp147;
fRec45[0] = (((fTemp43 * fVec18[(IOTA-iTemp82)&16383]) / fTemp83) + ((fRec45[1] * fTemp84) + fVec18[(IOTA-iTemp85)&16383]));
fRec43[0] = fRec45[0];
float fTemp148 = (fTemp145 + (6.123234e-17f * fTemp146));
fVec19[IOTA&16383] = fTemp148;
fRec50[0] = (fVec19[(IOTA-iTemp93)&16383] + ((fRec50[1] * fTemp94) + ((fTemp89 * fVec19[(IOTA-iTemp91)&16383]) / fTemp92)));
fRec44[0] = fRec50[0];
float fTemp149 = ((fTemp6 * fRec43[1]) + (fTemp3 * fTemp136));
float fTemp150 = ((fTemp6 * fRec44[1]) + (fTemp3 * fTemp140));
float fTemp151 = ((6.123234e-17f * fTemp149) - fTemp150);
fVec20[IOTA&16383] = fTemp151;
fRec42[0] = (((fTemp37 * fVec20[(IOTA-iTemp98)&16383]) / fTemp99) + ((fRec42[1] * fTemp100) + fVec20[(IOTA-iTemp101)&16383]));
fRec40[0] = fRec42[0];
float fTemp152 = (fTemp149 + (6.123234e-17f * fTemp150));
fVec21[IOTA&16383] = fTemp152;
fRec51[0] = (fVec21[(IOTA-iTemp109)&16383] + ((fRec51[1] * fTemp110) + ((fTemp105 * fVec21[(IOTA-iTemp107)&16383]) / fTemp108)));
fRec41[0] = fRec51[0];
float fTemp153 = ((fTemp6 * fRec40[1]) + (fTemp3 * fTemp135));
float fTemp154 = ((fTemp6 * fRec41[1]) + (fTemp3 * fTemp139));
float fTemp155 = ((6.123234e-17f * fTemp153) - fTemp154);
fVec22[IOTA&16383] = fTemp155;
fRec39[0] = (((fTemp11 * fVec22[(IOTA-iTemp114)&16383]) / fTemp115) + ((fRec39[1] * fTemp116) + fVec22[(IOTA-iTemp117)&16383]));
fRec37[0] = fRec39[0];
float fTemp156 = (fTemp153 + (6.123234e-17f * fTemp154));
fVec23[IOTA&16383] = fTemp156;
fRec52[0] = (fVec23[(IOTA-iTemp125)&16383] + ((fRec52[1] * fTemp126) + ((fTemp121 * fVec23[(IOTA-iTemp123)&16383]) / fTemp124)));
fRec38[0] = fRec52[0];
float fTemp157 = ((fTemp6 * fRec37[1]) + fTemp127);
float fTemp158 = (fTemp5 * (fTemp134 + (fTemp128 * fTemp157)));
int iTemp159 = itbl0[iSlow21];
fRec56[0] = ((0.001f * iTemp159) + (0.999f * ((iTemp8 * iTemp159) + fRec56[1])));
float fTemp160 = (fRec56[0] + -1.49999f);
float fTemp161 = floorf(fTemp160);
float fTemp162 = (fTemp161 + (2.0f - fRec56[0]));
float fTemp163 = (fTemp133 * fRec53[1]);
float fTemp164 = ((fTemp12 * fRec57[1]) + fTemp31);
float fTemp165 = (fTemp3 * fTemp164);
float fTemp166 = ((fTemp6 * fTemp164) + (fTemp12 * fRec60[1]));
float fTemp167 = (fTemp3 * fTemp166);
float fTemp168 = ((fTemp6 * fTemp166) + (fTemp12 * fRec63[1]));
float fTemp169 = (fTemp3 * fTemp168);
float fTemp170 = ((fTemp12 * fRec66[1]) + (fTemp6 * fTemp168));
float fTemp171 = ((fTemp12 * fRec58[1]) + fTemp60);
float fTemp172 = ((fTemp12 * fRec61[1]) + (fTemp6 * fTemp171));
float fTemp173 = ((fTemp12 * fRec64[1]) + (fTemp6 * fTemp172));
float fTemp174 = ((fTemp12 * fRec67[1]) + (fTemp6 * fTemp173));
float fTemp175 = ((6.123234e-17f * fTemp170) - fTemp174);
fVec24[IOTA&16383] = fTemp175;
fRec68[0] = (((fTemp49 * fVec24[(IOTA-iTemp66)&16383]) / fTemp67) + (fVec24[(IOTA-iTemp69)&16383] + (fTemp68 * fRec68[1])));
fRec66[0] = fRec68[0];
float fTemp176 = (fTemp170 + (6.123234e-17f * fTemp174));
fVec25[IOTA&16383] = fTemp176;
fRec69[0] = (((fTemp73 * fVec25[(IOTA-iTemp75)&16383]) / fTemp76) + (fVec25[(IOTA-iTemp77)&16383] + (fTemp78 * fRec69[1])));
fRec67[0] = fRec69[0];
float fTemp177 = (fTemp6 * fRec66[1]);
float fTemp178 = ((fTemp3 * fTemp173) + (fTemp6 * fRec67[1]));
float fTemp179 = ((6.123234e-17f * (fTemp169 + fTemp177)) - fTemp178);
fVec26[IOTA&16383] = fTemp179;
fRec65[0] = (((fTemp43 * fVec26[(IOTA-iTemp82)&16383]) / fTemp83) + ((fTemp84 * fRec65[1]) + fVec26[(IOTA-iTemp85)&16383]));
fRec63[0] = fRec65[0];
float fTemp180 = ((fTemp169 + (6.123234e-17f * fTemp178)) + fTemp177);
fVec27[IOTA&16383] = fTemp180;
fRec70[0] = ((((fTemp89 * fVec27[(IOTA-iTemp91)&16383]) / fTemp92) + fVec27[(IOTA-iTemp93)&16383]) + (fTemp94 * fRec70[1]));
fRec64[0] = fRec70[0];
float fTemp181 = (fTemp6 * fRec63[1]);
float fTemp182 = ((fTemp3 * fTemp172) + (fTemp6 * fRec64[1]));
float fTemp183 = ((6.123234e-17f * (fTemp167 + fTemp181)) - fTemp182);
fVec28[IOTA&16383] = fTemp183;
fRec62[0] = (((fTemp37 * fVec28[(IOTA-iTemp98)&16383]) / fTemp99) + ((fTemp100 * fRec62[1]) + fVec28[(IOTA-iTemp101)&16383]));
fRec60[0] = fRec62[0];
float fTemp184 = ((fTemp167 + (6.123234e-17f * fTemp182)) + fTemp181);
fVec29[IOTA&16383] = fTemp184;
fRec71[0] = ((((fTemp105 * fVec29[(IOTA-iTemp107)&16383]) / fTemp108) + fVec29[(IOTA-iTemp109)&16383]) + (fTemp110 * fRec71[1]));
fRec61[0] = fRec71[0];
float fTemp185 = (fTemp6 * fRec60[1]);
float fTemp186 = ((fTemp3 * fTemp171) + (fTemp6 * fRec61[1]));
float fTemp187 = ((6.123234e-17f * (fTemp165 + fTemp185)) - fTemp186);
fVec30[IOTA&16383] = fTemp187;
fRec59[0] = (((fTemp11 * fVec30[(IOTA-iTemp114)&16383]) / fTemp115) + ((fTemp116 * fRec59[1]) + fVec30[(IOTA-iTemp117)&16383]));
fRec57[0] = fRec59[0];
float fTemp188 = ((fTemp165 + (6.123234e-17f * fTemp186)) + fTemp185);
fVec31[IOTA&16383] = fTemp188;
fRec72[0] = ((((fTemp121 * fVec31[(IOTA-iTemp123)&16383]) / fTemp124) + fVec31[(IOTA-iTemp125)&16383]) + (fTemp126 * fRec72[1]));
fRec58[0] = fRec72[0];
float fTemp189 = ((fTemp6 * fRec57[1]) + fTemp127);
float fTemp190 = (fTemp128 * fTemp189);
float fTemp191 = (fTemp5 * (fTemp163 + (fTemp128 * (fTemp190 + fTemp134))));
int iTemp192 = itbl0[iSlow23];
fRec76[0] = ((0.001f * iTemp192) + (0.999f * ((iTemp8 * iTemp192) + fRec76[1])));
float fTemp193 = (fRec76[0] + -1.49999f);
float fTemp194 = floorf(fTemp193);
float fTemp195 = (fTemp194 + (2.0f - fRec76[0]));
float fTemp196 = (fTemp133 * fRec73[1]);
float fTemp197 = ((fTemp12 * fRec77[1]) + fTemp31);
float fTemp198 = ((fTemp12 * fRec80[1]) + (fTemp6 * fTemp197));
float fTemp199 = ((fTemp12 * fRec83[1]) + (fTemp6 * fTemp198));
float fTemp200 = ((fTemp12 * fRec86[1]) + (fTemp6 * fTemp199));
float fTemp201 = ((fTemp12 * fRec78[1]) + fTemp60);
float fTemp202 = ((fTemp12 * fRec81[1]) + (fTemp6 * fTemp201));
float fTemp203 = ((fTemp12 * fRec84[1]) + (fTemp6 * fTemp202));
float fTemp204 = ((fTemp12 * fRec87[1]) + (fTemp6 * fTemp203));
float fTemp205 = ((6.123234e-17f * fTemp200) - fTemp204);
fVec32[IOTA&16383] = fTemp205;
fRec88[0] = (((fTemp49 * fVec32[(IOTA-iTemp66)&16383]) / fTemp67) + ((fRec88[1] * fTemp68) + fVec32[(IOTA-iTemp69)&16383]));
fRec86[0] = fRec88[0];
float fTemp206 = (fTemp200 + (6.123234e-17f * fTemp204));
fVec33[IOTA&16383] = fTemp206;
fRec89[0] = (((fTemp73 * fVec33[(IOTA-iTemp75)&16383]) / fTemp76) + ((fRec89[1] * fTemp78) + fVec33[(IOTA-iTemp77)&16383]));
fRec87[0] = fRec89[0];
float fTemp207 = ((fTemp6 * fRec86[1]) + (fTemp3 * fTemp199));
float fTemp208 = ((fTemp6 * fRec87[1]) + (fTemp3 * fTemp203));
float fTemp209 = ((6.123234e-17f * fTemp207) - fTemp208);
fVec34[IOTA&16383] = fTemp209;
fRec85[0] = (((fTemp43 * fVec34[(IOTA-iTemp82)&16383]) / fTemp83) + ((fRec85[1] * fTemp84) + fVec34[(IOTA-iTemp85)&16383]));
fRec83[0] = fRec85[0];
float fTemp210 = (fTemp207 + (6.123234e-17f * fTemp208));
fVec35[IOTA&16383] = fTemp210;
fRec90[0] = (fVec35[(IOTA-iTemp93)&16383] + ((fRec90[1] * fTemp94) + ((fTemp89 * fVec35[(IOTA-iTemp91)&16383]) / fTemp92)));
fRec84[0] = fRec90[0];
float fTemp211 = ((fTemp6 * fRec83[1]) + (fTemp3 * fTemp198));
float fTemp212 = ((fTemp6 * fRec84[1]) + (fTemp3 * fTemp202));
float fTemp213 = ((6.123234e-17f * fTemp211) - fTemp212);
fVec36[IOTA&16383] = fTemp213;
fRec82[0] = (((fTemp37 * fVec36[(IOTA-iTemp98)&16383]) / fTemp99) + ((fRec82[1] * fTemp100) + fVec36[(IOTA-iTemp101)&16383]));
fRec80[0] = fRec82[0];
float fTemp214 = (fTemp211 + (6.123234e-17f * fTemp212));
fVec37[IOTA&16383] = fTemp214;
fRec91[0] = (fVec37[(IOTA-iTemp109)&16383] + ((fRec91[1] * fTemp110) + ((fTemp105 * fVec37[(IOTA-iTemp107)&16383]) / fTemp108)));
fRec81[0] = fRec91[0];
float fTemp215 = ((fTemp6 * fRec80[1]) + (fTemp3 * fTemp197));
float fTemp216 = ((fTemp6 * fRec81[1]) + (fTemp3 * fTemp201));
float fTemp217 = ((6.123234e-17f * fTemp215) - fTemp216);
fVec38[IOTA&16383] = fTemp217;
fRec79[0] = (((fTemp11 * fVec38[(IOTA-iTemp114)&16383]) / fTemp115) + ((fRec79[1] * fTemp116) + fVec38[(IOTA-iTemp117)&16383]));
fRec77[0] = fRec79[0];
float fTemp218 = (fTemp215 + (6.123234e-17f * fTemp216));
fVec39[IOTA&16383] = fTemp218;
fRec92[0] = (fVec39[(IOTA-iTemp125)&16383] + ((fRec92[1] * fTemp126) + ((fTemp121 * fVec39[(IOTA-iTemp123)&16383]) / fTemp124)));
fRec78[0] = fRec92[0];
float fTemp219 = ((fTemp6 * fRec77[1]) + fTemp127);
float fTemp220 = (fTemp128 * fTemp219);
float fTemp221 = (fTemp5 * (fTemp196 + (fTemp128 * (fTemp163 + (fTemp128 * (fTemp220 + fTemp134))))));
int iTemp222 = itbl0[iSlow25];
fRec96[0] = ((0.0001f * iTemp222) + (0.9999f * ((iTemp8 * iTemp222) + fRec96[1])));
float fTemp223 = (fRec96[0] + -1.49999f);
float fTemp224 = floorf(fTemp223);
float fTemp225 = (fTemp224 + (2.0f - fRec96[0]));
float fTemp226 = ((fTemp12 * fRec97[1]) + fTemp31);
float fTemp227 = ((fTemp12 * fRec100[1]) + (fTemp6 * fTemp226));
float fTemp228 = ((fTemp12 * fRec103[1]) + (fTemp6 * fTemp227));
float fTemp229 = ((fTemp12 * fRec106[1]) + (fTemp6 * fTemp228));
float fTemp230 = (fTemp60 + (fTemp12 * fRec98[1]));
float fTemp231 = ((fTemp12 * fRec101[1]) + (fTemp6 * fTemp230));
float fTemp232 = ((fTemp12 * fRec104[1]) + (fTemp6 * fTemp231));
float fTemp233 = ((fTemp12 * fRec107[1]) + (fTemp6 * fTemp232));
float fTemp234 = ((6.123234e-17f * fTemp229) - fTemp233);
fVec40[IOTA&16383] = fTemp234;
fRec108[0] = (((fTemp49 * fVec40[(IOTA-iTemp66)&16383]) / fTemp67) + ((fTemp68 * fRec108[1]) + fVec40[(IOTA-iTemp69)&16383]));
fRec106[0] = fRec108[0];
float fTemp235 = (fTemp229 + (6.123234e-17f * fTemp233));
fVec41[IOTA&16383] = fTemp235;
fRec109[0] = (((fTemp73 * fVec41[(IOTA-iTemp75)&16383]) / fTemp76) + (fVec41[(IOTA-iTemp77)&16383] + (fTemp78 * fRec109[1])));
fRec107[0] = fRec109[0];
float fTemp236 = ((fTemp6 * fRec106[1]) + (fTemp3 * fTemp228));
float fTemp237 = ((fTemp6 * fRec107[1]) + (fTemp3 * fTemp232));
float fTemp238 = ((6.123234e-17f * fTemp236) - fTemp237);
fVec42[IOTA&16383] = fTemp238;
fRec105[0] = (fVec42[(IOTA-iTemp85)&16383] + ((fTemp84 * fRec105[1]) + ((fTemp43 * fVec42[(IOTA-iTemp82)&16383]) / fTemp83)));
fRec103[0] = fRec105[0];
float fTemp239 = (fTemp236 + (6.123234e-17f * fTemp237));
fVec43[IOTA&16383] = fTemp239;
fRec110[0] = ((((fTemp89 * fVec43[(IOTA-iTemp91)&16383]) / fTemp92) + fVec43[(IOTA-iTemp93)&16383]) + (fTemp94 * fRec110[1]));
fRec104[0] = fRec110[0];
float fTemp240 = ((fTemp6 * fRec103[1]) + (fTemp3 * fTemp227));
float fTemp241 = ((fTemp6 * fRec104[1]) + (fTemp3 * fTemp231));
float fTemp242 = ((6.123234e-17f * fTemp240) - fTemp241);
fVec44[IOTA&16383] = fTemp242;
fRec102[0] = (((fTemp37 * fVec44[(IOTA-iTemp98)&16383]) / fTemp99) + (fVec44[(IOTA-iTemp101)&16383] + (fTemp100 * fRec102[1])));
fRec100[0] = fRec102[0];
float fTemp243 = (fTemp240 + (6.123234e-17f * fTemp241));
fVec45[IOTA&16383] = fTemp243;
fRec111[0] = ((((fTemp105 * fVec45[(IOTA-iTemp107)&16383]) / fTemp108) + fVec45[(IOTA-iTemp109)&16383]) + (fTemp110 * fRec111[1]));
fRec101[0] = fRec111[0];
float fTemp244 = ((fTemp6 * fRec100[1]) + (fTemp3 * fTemp226));
float fTemp245 = ((fTemp6 * fRec101[1]) + (fTemp3 * fTemp230));
float fTemp246 = ((6.123234e-17f * fTemp244) - fTemp245);
fVec46[IOTA&16383] = fTemp246;
fRec99[0] = (((fTemp11 * fVec46[(IOTA-iTemp114)&16383]) / fTemp115) + (fVec46[(IOTA-iTemp117)&16383] + (fTemp116 * fRec99[1])));
fRec97[0] = fRec99[0];
float fTemp247 = (fTemp244 + (6.123234e-17f * fTemp245));
fVec47[IOTA&16383] = fTemp247;
fRec112[0] = (((fTemp121 * fVec47[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec47[(IOTA-iTemp125)&16383] + (fTemp126 * fRec112[1])));
fRec98[0] = fRec112[0];
float fTemp248 = ((fTemp6 * fRec97[1]) + fTemp127);
float fTemp249 = (fTemp128 * fTemp248);
float fTemp250 = ((fTemp133 * fRec93[1]) + (fTemp128 * (fTemp196 + (fTemp128 * (fTemp163 + (fTemp128 * (fTemp134 + fTemp249)))))));
float fTemp251 = (fTemp133 * fRec74[1]);
float fTemp252 = (fTemp133 * fRec54[1]);
float fTemp253 = (fTemp133 * fRec34[1]);
float fTemp254 = (fTemp3 * fTemp59);
float fTemp255 = ((fTemp6 * fRec98[1]) + fTemp254);
float fTemp256 = (fTemp128 * fTemp255);
float fTemp257 = ((fTemp133 * fRec94[1]) + (fTemp128 * (fTemp251 + (fTemp128 * (fTemp252 + (fTemp128 * (fTemp253 + fTemp256)))))));
float fTemp258 = ((6.123234e-17f * fTemp250) - fTemp257);
fVec48[IOTA&16383] = fTemp258;
int iTemp259 = int(min(8192, max(0, int(fTemp223))));
float fTemp260 = (fRec96[0] - fTemp224);
float fTemp261 = (0 - (fTemp225 / fTemp260));
int iTemp262 = int((iTemp259 + 1));
fRec95[0] = (((fTemp225 * fVec48[(IOTA-iTemp259)&16383]) / fTemp260) + ((fTemp261 * fRec95[1]) + fVec48[(IOTA-iTemp262)&16383]));
fRec93[0] = fRec95[0];
int iTemp263 = itbl0[iSlow26];
fRec114[0] = ((0.0001f * iTemp263) + (0.9999f * ((iTemp8 * iTemp263) + fRec114[1])));
float fTemp264 = (fRec114[0] + -1.49999f);
float fTemp265 = floorf(fTemp264);
float fTemp266 = (fTemp265 + (2.0f - fRec114[0]));
float fTemp267 = (fTemp250 + (6.123234e-17f * fTemp257));
fVec49[IOTA&16383] = fTemp267;
int iTemp268 = int(min(8192, max(0, int(fTemp264))));
float fTemp269 = (fRec114[0] - fTemp265);
int iTemp270 = int((iTemp268 + 1));
float fTemp271 = (0 - (fTemp266 / fTemp269));
fRec113[0] = (((fTemp266 * fVec49[(IOTA-iTemp268)&16383]) / fTemp269) + (fVec49[(IOTA-iTemp270)&16383] + (fTemp271 * fRec113[1])));
fRec94[0] = fRec113[0];
float fTemp272 = (fTemp128 * fRec93[1]);
float fTemp273 = ((fTemp6 * fRec78[1]) + fTemp254);
float fTemp274 = (fTemp273 * fTemp128);
float fTemp275 = ((fTemp5 * (fTemp251 + (fTemp128 * (fTemp252 + (fTemp128 * (fTemp274 + fTemp253)))))) + (fTemp128 * fRec94[1]));
float fTemp276 = ((6.123234e-17f * (fTemp221 + fTemp272)) - fTemp275);
fVec50[IOTA&16383] = fTemp276;
int iTemp277 = int(min(8192, max(0, int(fTemp193))));
float fTemp278 = (fRec76[0] - fTemp194);
float fTemp279 = (0 - (fTemp195 / fTemp278));
int iTemp280 = int((iTemp277 + 1));
fRec75[0] = (((fTemp195 * fVec50[(IOTA-iTemp277)&16383]) / fTemp278) + ((fTemp279 * fRec75[1]) + fVec50[(IOTA-iTemp280)&16383]));
fRec73[0] = fRec75[0];
int iTemp281 = itbl0[iSlow27];
fRec116[0] = ((0.001f * iTemp281) + (0.999f * ((iTemp8 * iTemp281) + fRec116[1])));
float fTemp282 = (fRec116[0] + -1.49999f);
float fTemp283 = floorf(fTemp282);
float fTemp284 = (fTemp283 + (2.0f - fRec116[0]));
float fTemp285 = ((fTemp221 + (6.123234e-17f * fTemp275)) + fTemp272);
fVec51[IOTA&16383] = fTemp285;
int iTemp286 = int(min(8192, max(0, int(fTemp282))));
float fTemp287 = (fRec116[0] - fTemp283);
int iTemp288 = int((iTemp286 + 1));
float fTemp289 = (0 - (fTemp284 / fTemp287));
fRec115[0] = (((fTemp284 * fVec51[(IOTA-iTemp286)&16383]) / fTemp287) + (fVec51[(IOTA-iTemp288)&16383] + (fTemp289 * fRec115[1])));
fRec74[0] = fRec115[0];
float fTemp290 = (fTemp128 * fRec73[1]);
float fTemp291 = ((fTemp6 * fRec58[1]) + fTemp254);
float fTemp292 = (fTemp128 * fTemp291);
float fTemp293 = ((fTemp5 * (fTemp252 + (fTemp128 * (fTemp292 + fTemp253)))) + (fTemp128 * fRec74[1]));
float fTemp294 = ((6.123234e-17f * (fTemp191 + fTemp290)) - fTemp293);
fVec52[IOTA&16383] = fTemp294;
int iTemp295 = int(min(8192, max(0, int(fTemp160))));
float fTemp296 = (fRec56[0] - fTemp161);
float fTemp297 = (0 - (fTemp162 / fTemp296));
int iTemp298 = int((iTemp295 + 1));
fRec55[0] = (((fTemp162 * fVec52[(IOTA-iTemp295)&16383]) / fTemp296) + ((fTemp297 * fRec55[1]) + fVec52[(IOTA-iTemp298)&16383]));
fRec53[0] = fRec55[0];
int iTemp299 = itbl0[iSlow28];
fRec118[0] = ((0.001f * iTemp299) + (0.999f * ((iTemp299 * iTemp8) + fRec118[1])));
float fTemp300 = (fRec118[0] + -1.49999f);
float fTemp301 = floorf(fTemp300);
float fTemp302 = (fTemp301 + (2.0f - fRec118[0]));
float fTemp303 = ((fTemp191 + (6.123234e-17f * fTemp293)) + fTemp290);
fVec53[IOTA&16383] = fTemp303;
int iTemp304 = int(min(8192, max(0, int(fTemp300))));
float fTemp305 = (fRec118[0] - fTemp301);
int iTemp306 = int((iTemp304 + 1));
float fTemp307 = (0 - (fTemp302 / fTemp305));
fRec117[0] = (((fTemp302 * fVec53[(IOTA-iTemp304)&16383]) / fTemp305) + (fVec53[(IOTA-iTemp306)&16383] + (fTemp307 * fRec117[1])));
fRec54[0] = fRec117[0];
float fTemp308 = (fTemp128 * fRec53[1]);
float fTemp309 = ((fTemp6 * fRec38[1]) + fTemp254);
float fTemp310 = ((fTemp5 * (fTemp253 + (fTemp128 * fTemp309))) + (fTemp128 * fRec54[1]));
float fTemp311 = ((6.123234e-17f * (fTemp158 + fTemp308)) - fTemp310);
fVec54[IOTA&16383] = fTemp311;
int iTemp312 = int(min(8192, max(0, int(fTemp130))));
float fTemp313 = (fRec36[0] - fTemp131);
float fTemp314 = (0 - (fTemp132 / fTemp313));
int iTemp315 = int((iTemp312 + 1));
fRec35[0] = (((fTemp132 * fVec54[(IOTA-iTemp312)&16383]) / fTemp313) + ((fTemp314 * fRec35[1]) + fVec54[(IOTA-iTemp315)&16383]));
fRec33[0] = fRec35[0];
int iTemp316 = itbl0[iSlow29];
fRec120[0] = ((0.001f * iTemp316) + (0.999f * ((iTemp316 * iTemp8) + fRec120[1])));
float fTemp317 = (fRec120[0] + -1.49999f);
float fTemp318 = floorf(fTemp317);
float fTemp319 = (fTemp318 + (2.0f - fRec120[0]));
float fTemp320 = ((fTemp158 + (6.123234e-17f * fTemp310)) + fTemp308);
fVec55[IOTA&16383] = fTemp320;
int iTemp321 = int(min(8192, max(0, int(fTemp317))));
float fTemp322 = (fRec120[0] - fTemp318);
int iTemp323 = int((iTemp321 + 1));
float fTemp324 = (0 - (fTemp319 / fTemp322));
fRec119[0] = (((fTemp319 * fVec55[(IOTA-iTemp321)&16383]) / fTemp322) + (fVec55[(IOTA-iTemp323)&16383] + (fTemp324 * fRec119[1])));
fRec34[0] = fRec119[0];
int iTemp325 = itbl0[iSlow31];
fRec124[0] = ((0.001f * iTemp325) + (0.999f * ((iTemp325 * iTemp8) + fRec124[1])));
float fTemp326 = (fRec124[0] + -1.49999f);
float fTemp327 = floorf(fTemp326);
float fTemp328 = (fTemp327 + (2.0f - fRec124[0]));
float fTemp329 = (fTemp12 * fRec121[1]);
float fTemp330 = (fTemp133 * fRec131[1]);
float fTemp331 = (fTemp133 * fRec128[1]);
float fTemp332 = (fTemp133 * fRec125[1]);
float fTemp333 = ((fTemp12 * fRec137[1]) + fTemp31);
float fTemp334 = ((fTemp12 * fRec140[1]) + (fTemp6 * fTemp333));
float fTemp335 = ((fTemp12 * fRec143[1]) + (fTemp6 * fTemp334));
float fTemp336 = ((fTemp12 * fRec146[1]) + (fTemp6 * fTemp335));
float fTemp337 = (fTemp60 + (fTemp12 * fRec138[1]));
float fTemp338 = ((fTemp12 * fRec141[1]) + (fTemp6 * fTemp337));
float fTemp339 = ((fTemp12 * fRec144[1]) + (fTemp6 * fTemp338));
float fTemp340 = ((fTemp12 * fRec147[1]) + (fTemp6 * fTemp339));
float fTemp341 = ((6.123234e-17f * fTemp336) - fTemp340);
fVec56[IOTA&16383] = fTemp341;
fRec148[0] = (((fTemp49 * fVec56[(IOTA-iTemp66)&16383]) / fTemp67) + ((fTemp68 * fRec148[1]) + fVec56[(IOTA-iTemp69)&16383]));
fRec146[0] = fRec148[0];
float fTemp342 = (fTemp336 + (6.123234e-17f * fTemp340));
fVec57[IOTA&16383] = fTemp342;
fRec149[0] = (((fTemp73 * fVec57[(IOTA-iTemp75)&16383]) / fTemp76) + (fVec57[(IOTA-iTemp77)&16383] + (fTemp78 * fRec149[1])));
fRec147[0] = fRec149[0];
float fTemp343 = ((fTemp6 * fRec146[1]) + (fTemp3 * fTemp335));
float fTemp344 = ((fTemp6 * fRec147[1]) + (fTemp3 * fTemp339));
float fTemp345 = ((6.123234e-17f * fTemp343) - fTemp344);
fVec58[IOTA&16383] = fTemp345;
fRec145[0] = (((fTemp43 * fVec58[(IOTA-iTemp82)&16383]) / fTemp83) + (fVec58[(IOTA-iTemp85)&16383] + (fTemp84 * fRec145[1])));
fRec143[0] = fRec145[0];
float fTemp346 = (fTemp343 + (6.123234e-17f * fTemp344));
fVec59[IOTA&16383] = fTemp346;
fRec150[0] = (((fTemp89 * fVec59[(IOTA-iTemp91)&16383]) / fTemp92) + (fVec59[(IOTA-iTemp93)&16383] + (fTemp94 * fRec150[1])));
fRec144[0] = fRec150[0];
float fTemp347 = ((fTemp6 * fRec143[1]) + (fTemp3 * fTemp334));
float fTemp348 = ((fTemp6 * fRec144[1]) + (fTemp3 * fTemp338));
float fTemp349 = ((6.123234e-17f * fTemp347) - fTemp348);
fVec60[IOTA&16383] = fTemp349;
fRec142[0] = (((fTemp37 * fVec60[(IOTA-iTemp98)&16383]) / fTemp99) + (fVec60[(IOTA-iTemp101)&16383] + (fTemp100 * fRec142[1])));
fRec140[0] = fRec142[0];
float fTemp350 = (fTemp347 + (6.123234e-17f * fTemp348));
fVec61[IOTA&16383] = fTemp350;
fRec151[0] = (((fTemp105 * fVec61[(IOTA-iTemp107)&16383]) / fTemp108) + (fVec61[(IOTA-iTemp109)&16383] + (fTemp110 * fRec151[1])));
fRec141[0] = fRec151[0];
float fTemp351 = ((fTemp6 * fRec140[1]) + (fTemp3 * fTemp333));
float fTemp352 = ((fTemp6 * fRec141[1]) + (fTemp3 * fTemp337));
float fTemp353 = ((6.123234e-17f * fTemp351) - fTemp352);
fVec62[IOTA&16383] = fTemp353;
fRec139[0] = (((fTemp11 * fVec62[(IOTA-iTemp114)&16383]) / fTemp115) + (fVec62[(IOTA-iTemp117)&16383] + (fTemp116 * fRec139[1])));
fRec137[0] = fRec139[0];
float fTemp354 = (fTemp351 + (6.123234e-17f * fTemp352));
fVec63[IOTA&16383] = fTemp354;
fRec152[0] = (((fTemp121 * fVec63[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec63[(IOTA-iTemp125)&16383] + (fTemp126 * fRec152[1])));
fRec138[0] = fRec152[0];
float fTemp355 = (fTemp128 * ((fTemp6 * fRec137[1]) + fTemp127));
float fTemp356 = ((fTemp133 * fRec134[1]) + (fTemp128 * (fTemp330 + (fTemp128 * (fTemp331 + (fTemp128 * (fTemp332 + fTemp355)))))));
float fTemp357 = (fTemp133 * fRec126[1]);
float fTemp358 = (fTemp128 * ((fTemp6 * fRec138[1]) + fTemp254));
float fTemp359 = (fTemp133 * fRec129[1]);
float fTemp360 = (fTemp133 * fRec132[1]);
float fTemp361 = ((fTemp128 * ((fTemp128 * ((fTemp128 * (fTemp357 + fTemp358)) + fTemp359)) + fTemp360)) + (fTemp133 * fRec135[1]));
float fTemp362 = ((6.123234e-17f * fTemp356) - fTemp361);
fVec64[IOTA&16383] = fTemp362;
fRec136[0] = (((fTemp225 * fVec64[(IOTA-iTemp259)&16383]) / fTemp260) + ((fTemp261 * fRec136[1]) + fVec64[(IOTA-iTemp262)&16383]));
fRec134[0] = fRec136[0];
float fTemp363 = (fTemp356 + (6.123234e-17f * fTemp361));
fVec65[IOTA&16383] = fTemp363;
fRec153[0] = ((((fTemp266 * fVec65[(IOTA-iTemp268)&16383]) / fTemp269) + fVec65[(IOTA-iTemp270)&16383]) + (fTemp271 * fRec153[1]));
fRec135[0] = fRec153[0];
float fTemp364 = ((fTemp128 * fRec134[1]) + (fTemp5 * (fTemp330 + (fTemp128 * (fTemp331 + (fTemp128 * (fTemp332 + fTemp249)))))));
float fTemp365 = ((fTemp128 * fRec135[1]) + (fTemp5 * (fTemp360 + (fTemp128 * (fTemp359 + (fTemp128 * (fTemp357 + fTemp256)))))));
float fTemp366 = ((6.123234e-17f * fTemp364) - fTemp365);
fVec66[IOTA&16383] = fTemp366;
fRec133[0] = (((fTemp195 * fVec66[(IOTA-iTemp277)&16383]) / fTemp278) + ((fTemp279 * fRec133[1]) + fVec66[(IOTA-iTemp280)&16383]));
fRec131[0] = fRec133[0];
float fTemp367 = (fTemp364 + (6.123234e-17f * fTemp365));
fVec67[IOTA&16383] = fTemp367;
fRec154[0] = ((((fTemp284 * fVec67[(IOTA-iTemp286)&16383]) / fTemp287) + fVec67[(IOTA-iTemp288)&16383]) + (fTemp289 * fRec154[1]));
fRec132[0] = fRec154[0];
float fTemp368 = ((fTemp128 * fRec131[1]) + (fTemp5 * (fTemp331 + (fTemp128 * (fTemp220 + fTemp332)))));
float fTemp369 = ((fTemp128 * fRec132[1]) + (fTemp5 * (fTemp359 + (fTemp128 * (fTemp274 + fTemp357)))));
float fTemp370 = ((6.123234e-17f * fTemp368) - fTemp369);
fVec68[IOTA&16383] = fTemp370;
fRec130[0] = (((fTemp162 * fVec68[(IOTA-iTemp295)&16383]) / fTemp296) + ((fTemp297 * fRec130[1]) + fVec68[(IOTA-iTemp298)&16383]));
fRec128[0] = fRec130[0];
float fTemp371 = (fTemp368 + (6.123234e-17f * fTemp369));
fVec69[IOTA&16383] = fTemp371;
fRec155[0] = ((((fTemp302 * fVec69[(IOTA-iTemp304)&16383]) / fTemp305) + fVec69[(IOTA-iTemp306)&16383]) + (fTemp307 * fRec155[1]));
fRec129[0] = fRec155[0];
float fTemp372 = ((fTemp128 * fRec128[1]) + (fTemp5 * (fTemp332 + fTemp190)));
float fTemp373 = ((fTemp128 * fRec129[1]) + (fTemp5 * (fTemp357 + fTemp292)));
float fTemp374 = ((6.123234e-17f * fTemp372) - fTemp373);
fVec70[IOTA&16383] = fTemp374;
fRec127[0] = (((fTemp132 * fVec70[(IOTA-iTemp312)&16383]) / fTemp313) + ((fTemp314 * fRec127[1]) + fVec70[(IOTA-iTemp315)&16383]));
fRec125[0] = fRec127[0];
float fTemp375 = (fTemp372 + (6.123234e-17f * fTemp373));
fVec71[IOTA&16383] = fTemp375;
fRec156[0] = ((((fTemp319 * fVec71[(IOTA-iTemp321)&16383]) / fTemp322) + fVec71[(IOTA-iTemp323)&16383]) + (fTemp324 * fRec156[1]));
fRec126[0] = fRec156[0];
float fTemp376 = (fTemp3 * (fTemp329 + (fTemp6 * ((fTemp128 * fRec125[1]) + (fTemp5 * fTemp157)))));
int iTemp377 = itbl0[iSlow33];
fRec163[0] = ((0.001f * iTemp377) + (0.999f * ((iTemp8 * iTemp377) + fRec163[1])));
float fTemp378 = (fRec163[0] + -1.49999f);
float fTemp379 = floorf(fTemp378);
float fTemp380 = (fTemp379 + (2.0f - fRec163[0]));
int iTemp381 = itbl0[iSlow35];
fRec167[0] = ((0.0001f * iTemp381) + (0.9999f * ((iTemp381 * iTemp8) + fRec167[1])));
float fTemp382 = (fRec167[0] + -1.49999f);
float fTemp383 = floorf(fTemp382);
float fTemp384 = (fTemp383 + (2.0f - fRec167[0]));
float fTemp385 = (fTemp12 * fRec160[1]);
float fTemp386 = (fTemp12 * fRec157[1]);
float fTemp387 = (fTemp133 * fRec174[1]);
float fTemp388 = (fTemp133 * fRec171[1]);
float fTemp389 = (fTemp133 * fRec168[1]);
float fTemp390 = ((fTemp12 * fRec180[1]) + fTemp31);
float fTemp391 = ((fTemp6 * fTemp390) + (fTemp12 * fRec183[1]));
float fTemp392 = (fTemp391 * fTemp3);
float fTemp393 = ((fTemp6 * fTemp391) + (fTemp12 * fRec186[1]));
float fTemp394 = (fTemp393 * fTemp3);
float fTemp395 = ((fTemp6 * fTemp393) + (fTemp12 * fRec189[1]));
float fTemp396 = ((fTemp12 * fRec181[1]) + fTemp60);
float fTemp397 = ((fTemp12 * fRec184[1]) + (fTemp6 * fTemp396));
float fTemp398 = ((fTemp12 * fRec187[1]) + (fTemp6 * fTemp397));
float fTemp399 = ((fTemp12 * fRec190[1]) + (fTemp6 * fTemp398));
float fTemp400 = ((6.123234e-17f * fTemp395) - fTemp399);
fVec72[IOTA&16383] = fTemp400;
fRec191[0] = ((((fVec72[(IOTA-iTemp66)&16383] * fTemp49) / fTemp67) + fVec72[(IOTA-iTemp69)&16383]) + (fTemp68 * fRec191[1]));
fRec189[0] = fRec191[0];
float fTemp401 = (fTemp395 + (6.123234e-17f * fTemp399));
fVec73[IOTA&16383] = fTemp401;
fRec192[0] = (((fVec73[(IOTA-iTemp75)&16383] * fTemp73) / fTemp76) + (fVec73[(IOTA-iTemp77)&16383] + (fTemp78 * fRec192[1])));
fRec190[0] = fRec192[0];
float fTemp402 = (fTemp6 * fRec189[1]);
float fTemp403 = ((fTemp398 * fTemp3) + (fTemp6 * fRec190[1]));
float fTemp404 = ((6.123234e-17f * (fTemp394 + fTemp402)) - fTemp403);
fVec74[IOTA&16383] = fTemp404;
fRec188[0] = (((fVec74[(IOTA-iTemp82)&16383] * fTemp43) / fTemp83) + ((fTemp84 * fRec188[1]) + fVec74[(IOTA-iTemp85)&16383]));
fRec186[0] = fRec188[0];
float fTemp405 = ((fTemp394 + (6.123234e-17f * fTemp403)) + fTemp402);
fVec75[IOTA&16383] = fTemp405;
fRec193[0] = (((fVec75[(IOTA-iTemp91)&16383] * fTemp89) / fTemp92) + (fVec75[(IOTA-iTemp93)&16383] + (fTemp94 * fRec193[1])));
fRec187[0] = fRec193[0];
float fTemp406 = (fTemp6 * fRec186[1]);
float fTemp407 = ((fTemp397 * fTemp3) + (fTemp6 * fRec187[1]));
float fTemp408 = ((6.123234e-17f * (fTemp392 + fTemp406)) - fTemp407);
fVec76[IOTA&16383] = fTemp408;
fRec185[0] = (((fVec76[(IOTA-iTemp98)&16383] * fTemp37) / fTemp99) + (fVec76[(IOTA-iTemp101)&16383] + (fTemp100 * fRec185[1])));
fRec183[0] = fRec185[0];
float fTemp409 = ((fTemp392 + (6.123234e-17f * fTemp407)) + fTemp406);
fVec77[IOTA&16383] = fTemp409;
fRec194[0] = (((fVec77[(IOTA-iTemp107)&16383] * fTemp105) / fTemp108) + (fVec77[(IOTA-iTemp109)&16383] + (fTemp110 * fRec194[1])));
fRec184[0] = fRec194[0];
float fTemp410 = ((fTemp390 * fTemp3) + (fTemp6 * fRec183[1]));
float fTemp411 = ((fTemp6 * fRec184[1]) + (fTemp396 * fTemp3));
float fTemp412 = ((6.123234e-17f * fTemp410) - fTemp411);
fVec78[IOTA&16383] = fTemp412;
fRec182[0] = (((fTemp11 * fVec78[(IOTA-iTemp114)&16383]) / fTemp115) + (fVec78[(IOTA-iTemp117)&16383] + (fTemp116 * fRec182[1])));
fRec180[0] = fRec182[0];
float fTemp413 = (fTemp410 + (6.123234e-17f * fTemp411));
fVec79[IOTA&16383] = fTemp413;
fRec195[0] = (((fTemp121 * fVec79[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec79[(IOTA-iTemp125)&16383] + (fTemp126 * fRec195[1])));
fRec181[0] = fRec195[0];
float fTemp414 = ((fTemp133 * fRec177[1]) + (fTemp128 * (fTemp387 + (fTemp128 * (fTemp388 + (fTemp128 * (fTemp389 + (fTemp128 * ((fTemp6 * fRec180[1]) + fTemp127)))))))));
float fTemp415 = (fTemp133 * fRec175[1]);
float fTemp416 = (fTemp133 * fRec172[1]);
float fTemp417 = (fTemp133 * fRec169[1]);
float fTemp418 = ((fTemp133 * fRec178[1]) + (fTemp128 * (fTemp415 + (fTemp128 * (fTemp416 + (fTemp128 * (fTemp417 + (fTemp128 * ((fTemp6 * fRec181[1]) + fTemp254)))))))));
float fTemp419 = ((6.123234e-17f * fTemp414) - fTemp418);
fVec80[IOTA&16383] = fTemp419;
fRec179[0] = (((fTemp225 * fVec80[(IOTA-iTemp259)&16383]) / fTemp260) + ((fTemp261 * fRec179[1]) + fVec80[(IOTA-iTemp262)&16383]));
fRec177[0] = fRec179[0];
float fTemp420 = (fTemp414 + (6.123234e-17f * fTemp418));
fVec81[IOTA&16383] = fTemp420;
fRec196[0] = (((fTemp266 * fVec81[(IOTA-iTemp268)&16383]) / fTemp269) + (fVec81[(IOTA-iTemp270)&16383] + (fTemp271 * fRec196[1])));
fRec178[0] = fRec196[0];
float fTemp421 = ((fTemp12 * fRec197[1]) + fTemp31);
float fTemp422 = ((fTemp12 * fRec200[1]) + (fTemp6 * fTemp421));
float fTemp423 = ((fTemp12 * fRec203[1]) + (fTemp6 * fTemp422));
float fTemp424 = ((fTemp12 * fRec206[1]) + (fTemp6 * fTemp423));
float fTemp425 = (fTemp60 + (fTemp12 * fRec198[1]));
float fTemp426 = ((fTemp12 * fRec201[1]) + (fTemp6 * fTemp425));
float fTemp427 = ((fTemp12 * fRec204[1]) + (fTemp6 * fTemp426));
float fTemp428 = ((fTemp12 * fRec207[1]) + (fTemp6 * fTemp427));
float fTemp429 = ((6.123234e-17f * fTemp424) - fTemp428);
fVec82[IOTA&16383] = fTemp429;
fRec208[0] = (((fTemp49 * fVec82[(IOTA-iTemp66)&16383]) / fTemp67) + ((fTemp68 * fRec208[1]) + fVec82[(IOTA-iTemp69)&16383]));
fRec206[0] = fRec208[0];
float fTemp430 = (fTemp424 + (6.123234e-17f * fTemp428));
fVec83[IOTA&16383] = fTemp430;
fRec209[0] = (((fTemp73 * fVec83[(IOTA-iTemp75)&16383]) / fTemp76) + ((fTemp78 * fRec209[1]) + fVec83[(IOTA-iTemp77)&16383]));
fRec207[0] = fRec209[0];
float fTemp431 = ((fTemp6 * fRec206[1]) + (fTemp3 * fTemp423));
float fTemp432 = ((fTemp6 * fRec207[1]) + (fTemp3 * fTemp427));
float fTemp433 = ((6.123234e-17f * fTemp431) - fTemp432);
fVec84[IOTA&16383] = fTemp433;
fRec205[0] = (((fTemp43 * fVec84[(IOTA-iTemp82)&16383]) / fTemp83) + (fVec84[(IOTA-iTemp85)&16383] + (fTemp84 * fRec205[1])));
fRec203[0] = fRec205[0];
float fTemp434 = (fTemp431 + (6.123234e-17f * fTemp432));
fVec85[IOTA&16383] = fTemp434;
fRec210[0] = (((fTemp89 * fVec85[(IOTA-iTemp91)&16383]) / fTemp92) + (fVec85[(IOTA-iTemp93)&16383] + (fTemp94 * fRec210[1])));
fRec204[0] = fRec210[0];
float fTemp435 = ((fTemp6 * fRec203[1]) + (fTemp3 * fTemp422));
float fTemp436 = ((fTemp6 * fRec204[1]) + (fTemp3 * fTemp426));
float fTemp437 = ((6.123234e-17f * fTemp435) - fTemp436);
fVec86[IOTA&16383] = fTemp437;
fRec202[0] = (((fTemp37 * fVec86[(IOTA-iTemp98)&16383]) / fTemp99) + (fVec86[(IOTA-iTemp101)&16383] + (fTemp100 * fRec202[1])));
fRec200[0] = fRec202[0];
float fTemp438 = (fTemp435 + (6.123234e-17f * fTemp436));
fVec87[IOTA&16383] = fTemp438;
fRec211[0] = (((fTemp105 * fVec87[(IOTA-iTemp107)&16383]) / fTemp108) + ((fTemp110 * fRec211[1]) + fVec87[(IOTA-iTemp109)&16383]));
fRec201[0] = fRec211[0];
float fTemp439 = ((fTemp6 * fRec200[1]) + (fTemp3 * fTemp421));
float fTemp440 = ((fTemp6 * fRec201[1]) + (fTemp3 * fTemp425));
float fTemp441 = ((6.123234e-17f * fTemp439) - fTemp440);
fVec88[IOTA&16383] = fTemp441;
fRec199[0] = (((fTemp11 * fVec88[(IOTA-iTemp114)&16383]) / fTemp115) + (fVec88[(IOTA-iTemp117)&16383] + (fTemp116 * fRec199[1])));
fRec197[0] = fRec199[0];
float fTemp442 = (fTemp439 + (6.123234e-17f * fTemp440));
fVec89[IOTA&16383] = fTemp442;
fRec212[0] = (((fTemp121 * fVec89[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec89[(IOTA-iTemp125)&16383] + (fTemp126 * fRec212[1])));
fRec198[0] = fRec212[0];
float fTemp443 = (fTemp128 * ((fTemp6 * fRec197[1]) + fTemp127));
float fTemp444 = ((fTemp128 * fRec177[1]) + (fTemp5 * (fTemp387 + (fTemp128 * (fTemp388 + (fTemp128 * (fTemp443 + fTemp389)))))));
float fTemp445 = (fTemp128 * ((fTemp6 * fRec198[1]) + fTemp254));
float fTemp446 = ((fTemp128 * fRec178[1]) + (fTemp5 * (fTemp415 + (fTemp128 * (fTemp416 + (fTemp128 * (fTemp445 + fTemp417)))))));
float fTemp447 = ((6.123234e-17f * fTemp444) - fTemp446);
fVec90[IOTA&16383] = fTemp447;
fRec176[0] = (((fTemp195 * fVec90[(IOTA-iTemp277)&16383]) / fTemp278) + (fVec90[(IOTA-iTemp280)&16383] + (fTemp279 * fRec176[1])));
fRec174[0] = fRec176[0];
float fTemp448 = (fTemp444 + (6.123234e-17f * fTemp446));
fVec91[IOTA&16383] = fTemp448;
fRec213[0] = (((fTemp284 * fVec91[(IOTA-iTemp286)&16383]) / fTemp287) + (fVec91[(IOTA-iTemp288)&16383] + (fTemp289 * fRec213[1])));
fRec175[0] = fRec213[0];
float fTemp449 = ((fTemp12 * fRec214[1]) + fTemp31);
float fTemp450 = ((fTemp12 * fRec217[1]) + (fTemp6 * fTemp449));
float fTemp451 = ((fTemp12 * fRec220[1]) + (fTemp6 * fTemp450));
float fTemp452 = ((fTemp12 * fRec223[1]) + (fTemp6 * fTemp451));
float fTemp453 = (fTemp60 + (fTemp12 * fRec215[1]));
float fTemp454 = ((fTemp12 * fRec218[1]) + (fTemp6 * fTemp453));
float fTemp455 = ((fTemp12 * fRec221[1]) + (fTemp6 * fTemp454));
float fTemp456 = ((fTemp12 * fRec224[1]) + (fTemp6 * fTemp455));
float fTemp457 = ((6.123234e-17f * fTemp452) - fTemp456);
fVec92[IOTA&16383] = fTemp457;
fRec225[0] = (((fTemp49 * fVec92[(IOTA-iTemp66)&16383]) / fTemp67) + ((fTemp68 * fRec225[1]) + fVec92[(IOTA-iTemp69)&16383]));
fRec223[0] = fRec225[0];
float fTemp458 = (fTemp452 + (6.123234e-17f * fTemp456));
fVec93[IOTA&16383] = fTemp458;
fRec226[0] = (((fTemp73 * fVec93[(IOTA-iTemp75)&16383]) / fTemp76) + (fVec93[(IOTA-iTemp77)&16383] + (fTemp78 * fRec226[1])));
fRec224[0] = fRec226[0];
float fTemp459 = ((fTemp6 * fRec223[1]) + (fTemp3 * fTemp451));
float fTemp460 = ((fTemp6 * fRec224[1]) + (fTemp3 * fTemp455));
float fTemp461 = ((6.123234e-17f * fTemp459) - fTemp460);
fVec94[IOTA&16383] = fTemp461;
fRec222[0] = (((fTemp43 * fVec94[(IOTA-iTemp82)&16383]) / fTemp83) + (fVec94[(IOTA-iTemp85)&16383] + (fTemp84 * fRec222[1])));
fRec220[0] = fRec222[0];
float fTemp462 = (fTemp459 + (6.123234e-17f * fTemp460));
fVec95[IOTA&16383] = fTemp462;
fRec227[0] = (((fTemp89 * fVec95[(IOTA-iTemp91)&16383]) / fTemp92) + ((fTemp94 * fRec227[1]) + fVec95[(IOTA-iTemp93)&16383]));
fRec221[0] = fRec227[0];
float fTemp463 = ((fTemp6 * fRec220[1]) + (fTemp3 * fTemp450));
float fTemp464 = ((fTemp6 * fRec221[1]) + (fTemp3 * fTemp454));
float fTemp465 = ((6.123234e-17f * fTemp463) - fTemp464);
fVec96[IOTA&16383] = fTemp465;
fRec219[0] = (((fTemp37 * fVec96[(IOTA-iTemp98)&16383]) / fTemp99) + (fVec96[(IOTA-iTemp101)&16383] + (fTemp100 * fRec219[1])));
fRec217[0] = fRec219[0];
float fTemp466 = (fTemp463 + (6.123234e-17f * fTemp464));
fVec97[IOTA&16383] = fTemp466;
fRec228[0] = (((fTemp105 * fVec97[(IOTA-iTemp107)&16383]) / fTemp108) + (fVec97[(IOTA-iTemp109)&16383] + (fTemp110 * fRec228[1])));
fRec218[0] = fRec228[0];
float fTemp467 = ((fTemp6 * fRec217[1]) + (fTemp3 * fTemp449));
float fTemp468 = ((fTemp6 * fRec218[1]) + (fTemp3 * fTemp453));
float fTemp469 = ((6.123234e-17f * fTemp467) - fTemp468);
fVec98[IOTA&16383] = fTemp469;
fRec216[0] = (((fTemp11 * fVec98[(IOTA-iTemp114)&16383]) / fTemp115) + (fVec98[(IOTA-iTemp117)&16383] + (fTemp116 * fRec216[1])));
fRec214[0] = fRec216[0];
float fTemp470 = (fTemp467 + (6.123234e-17f * fTemp468));
fVec99[IOTA&16383] = fTemp470;
fRec229[0] = (((fTemp121 * fVec99[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec99[(IOTA-iTemp125)&16383] + (fTemp126 * fRec229[1])));
fRec215[0] = fRec229[0];
float fTemp471 = (fTemp128 * ((fTemp6 * fRec214[1]) + fTemp127));
float fTemp472 = ((fTemp128 * fRec174[1]) + (fTemp5 * (fTemp388 + (fTemp128 * (fTemp471 + fTemp389)))));
float fTemp473 = (fTemp128 * ((fTemp6 * fRec215[1]) + fTemp254));
float fTemp474 = ((fTemp128 * fRec175[1]) + (fTemp5 * (fTemp416 + (fTemp128 * (fTemp473 + fTemp417)))));
float fTemp475 = ((6.123234e-17f * fTemp472) - fTemp474);
fVec100[IOTA&16383] = fTemp475;
fRec173[0] = (((fTemp162 * fVec100[(IOTA-iTemp295)&16383]) / fTemp296) + (fVec100[(IOTA-iTemp298)&16383] + (fTemp297 * fRec173[1])));
fRec171[0] = fRec173[0];
float fTemp476 = (fTemp472 + (6.123234e-17f * fTemp474));
fVec101[IOTA&16383] = fTemp476;
fRec230[0] = (((fTemp302 * fVec101[(IOTA-iTemp304)&16383]) / fTemp305) + (fVec101[(IOTA-iTemp306)&16383] + (fTemp307 * fRec230[1])));
fRec172[0] = fRec230[0];
float fTemp477 = ((fTemp128 * fRec171[1]) + (fTemp5 * (fTemp355 + fTemp389)));
float fTemp478 = ((fTemp128 * fRec172[1]) + (fTemp5 * (fTemp358 + fTemp417)));
float fTemp479 = ((6.123234e-17f * fTemp477) - fTemp478);
fVec102[IOTA&16383] = fTemp479;
fRec170[0] = (((fTemp132 * fVec102[(IOTA-iTemp312)&16383]) / fTemp313) + (fVec102[(IOTA-iTemp315)&16383] + (fTemp314 * fRec170[1])));
fRec168[0] = fRec170[0];
float fTemp480 = (fTemp477 + (6.123234e-17f * fTemp478));
fVec103[IOTA&16383] = fTemp480;
fRec231[0] = (((fTemp319 * fVec103[(IOTA-iTemp321)&16383]) / fTemp322) + (fVec103[(IOTA-iTemp323)&16383] + (fTemp324 * fRec231[1])));
fRec169[0] = fRec231[0];
float fTemp481 = ((fTemp12 * fRec164[1]) + (fTemp6 * (fTemp385 + (fTemp6 * (fTemp386 + (fTemp6 * (fTemp329 + (fTemp6 * ((fTemp128 * fRec168[1]) + (fTemp5 * fTemp248))))))))));
float fTemp482 = (fTemp12 * fRec161[1]);
float fTemp483 = (fTemp12 * fRec158[1]);
float fTemp484 = (fTemp12 * fRec122[1]);
float fTemp485 = ((fTemp12 * fRec165[1]) + (fTemp6 * (fTemp482 + (fTemp6 * (fTemp483 + (fTemp6 * (fTemp484 + (fTemp6 * ((fTemp128 * fRec169[1]) + (fTemp5 * fTemp255))))))))));
float fTemp486 = ((6.123234e-17f * fTemp481) - fTemp485);
fVec104[IOTA&16383] = fTemp486;
int iTemp487 = int(min(8192, max(0, int(fTemp382))));
float fTemp488 = (fRec167[0] - fTemp383);
fRec166[0] = (((fTemp384 * fVec104[(IOTA-iTemp487)&16383]) / fTemp488) + ((fRec166[1] * (0 - (fTemp384 / fTemp488))) + fVec104[(IOTA-int((iTemp487 + 1)))&16383]));
fRec164[0] = fRec166[0];
int iTemp489 = itbl0[iSlow36];
fRec233[0] = ((0.0001f * iTemp489) + (0.9999f * ((iTemp8 * iTemp489) + fRec233[1])));
float fTemp490 = (fRec233[0] + -1.49999f);
float fTemp491 = floorf(fTemp490);
float fTemp492 = (fTemp491 + (2.0f - fRec233[0]));
float fTemp493 = (fRec233[0] - fTemp491);
float fTemp494 = (fTemp481 + (6.123234e-17f * fTemp485));
fVec105[IOTA&16383] = fTemp494;
int iTemp495 = int(min(8192, max(0, int(fTemp490))));
fRec232[0] = (((fRec232[1] * (0 - (fTemp492 / fTemp493))) + fVec105[(IOTA-int((iTemp495 + 1)))&16383]) + ((fTemp492 * fVec105[(IOTA-iTemp495)&16383]) / fTemp493));
fRec165[0] = fRec232[0];
float fTemp496 = (fTemp6 * fRec164[1]);
float fTemp497 = (fTemp133 * fRec240[1]);
float fTemp498 = (fTemp133 * fRec237[1]);
float fTemp499 = (fTemp133 * fRec234[1]);
float fTemp500 = ((fTemp133 * fRec243[1]) + (fTemp128 * (fTemp497 + (fTemp128 * (fTemp498 + (fTemp128 * (fTemp499 + fTemp443)))))));
float fTemp501 = (fTemp133 * fRec235[1]);
float fTemp502 = (fTemp133 * fRec238[1]);
float fTemp503 = (fTemp133 * fRec241[1]);
float fTemp504 = ((fTemp128 * ((fTemp128 * ((fTemp128 * (fTemp501 + fTemp445)) + fTemp502)) + fTemp503)) + (fTemp133 * fRec244[1]));
float fTemp505 = ((6.123234e-17f * fTemp500) - fTemp504);
fVec106[IOTA&16383] = fTemp505;
fRec245[0] = (((fTemp225 * fVec106[(IOTA-iTemp259)&16383]) / fTemp260) + ((fRec245[1] * fTemp261) + fVec106[(IOTA-iTemp262)&16383]));
fRec243[0] = fRec245[0];
float fTemp506 = (fTemp500 + (6.123234e-17f * fTemp504));
fVec107[IOTA&16383] = fTemp506;
fRec246[0] = (fVec107[(IOTA-iTemp270)&16383] + ((fRec246[1] * fTemp271) + ((fTemp266 * fVec107[(IOTA-iTemp268)&16383]) / fTemp269)));
fRec244[0] = fRec246[0];
float fTemp507 = ((fTemp128 * fRec243[1]) + (fTemp5 * (fTemp497 + (fTemp128 * (fTemp498 + (fTemp128 * (fTemp499 + fTemp471)))))));
float fTemp508 = ((fTemp128 * fRec244[1]) + (fTemp5 * (fTemp503 + (fTemp128 * (fTemp502 + (fTemp128 * (fTemp501 + fTemp473)))))));
float fTemp509 = ((6.123234e-17f * fTemp507) - fTemp508);
fVec108[IOTA&16383] = fTemp509;
fRec242[0] = (((fTemp195 * fVec108[(IOTA-iTemp277)&16383]) / fTemp278) + ((fRec242[1] * fTemp279) + fVec108[(IOTA-iTemp280)&16383]));
fRec240[0] = fRec242[0];
float fTemp510 = (fTemp507 + (6.123234e-17f * fTemp508));
fVec109[IOTA&16383] = fTemp510;
fRec247[0] = (fVec109[(IOTA-iTemp288)&16383] + ((fRec247[1] * fTemp289) + ((fTemp284 * fVec109[(IOTA-iTemp286)&16383]) / fTemp287)));
fRec241[0] = fRec247[0];
float fTemp511 = ((fTemp128 * fRec240[1]) + (fTemp5 * (fTemp498 + (fTemp128 * (fTemp499 + fTemp355)))));
float fTemp512 = ((fTemp128 * fRec241[1]) + (fTemp5 * (fTemp502 + (fTemp128 * (fTemp501 + fTemp358)))));
float fTemp513 = ((6.123234e-17f * fTemp511) - fTemp512);
fVec110[IOTA&16383] = fTemp513;
fRec239[0] = (((fTemp162 * fVec110[(IOTA-iTemp295)&16383]) / fTemp296) + ((fRec239[1] * fTemp297) + fVec110[(IOTA-iTemp298)&16383]));
fRec237[0] = fRec239[0];
float fTemp514 = (fTemp511 + (6.123234e-17f * fTemp512));
fVec111[IOTA&16383] = fTemp514;
fRec248[0] = (fVec111[(IOTA-iTemp306)&16383] + ((fRec248[1] * fTemp307) + ((fTemp302 * fVec111[(IOTA-iTemp304)&16383]) / fTemp305)));
fRec238[0] = fRec248[0];
float fTemp515 = ((fTemp128 * fRec237[1]) + (fTemp5 * (fTemp499 + fTemp249)));
float fTemp516 = ((fTemp128 * fRec238[1]) + (fTemp5 * (fTemp501 + fTemp256)));
float fTemp517 = ((6.123234e-17f * fTemp515) - fTemp516);
fVec112[IOTA&16383] = fTemp517;
fRec236[0] = (((fTemp132 * fVec112[(IOTA-iTemp312)&16383]) / fTemp313) + ((fRec236[1] * fTemp314) + fVec112[(IOTA-iTemp315)&16383]));
fRec234[0] = fRec236[0];
float fTemp518 = (fTemp515 + (6.123234e-17f * fTemp516));
fVec113[IOTA&16383] = fTemp518;
fRec249[0] = (fVec113[(IOTA-iTemp323)&16383] + ((fRec249[1] * fTemp324) + ((fTemp319 * fVec113[(IOTA-iTemp321)&16383]) / fTemp322)));
fRec235[0] = fRec249[0];
float fTemp519 = (fTemp3 * (fTemp385 + (fTemp6 * (fTemp386 + (fTemp6 * (fTemp329 + (fTemp6 * ((fTemp5 * fTemp219) + (fTemp128 * fRec234[1])))))))));
float fTemp520 = ((fTemp6 * fRec165[1]) + (fTemp3 * ((fTemp6 * ((fTemp6 * ((fTemp6 * ((fTemp128 * fRec235[1]) + (fTemp273 * fTemp5))) + fTemp484)) + fTemp483)) + fTemp482)));
float fTemp521 = ((6.123234e-17f * (fTemp496 + fTemp519)) - fTemp520);
fVec114[IOTA&16383] = fTemp521;
int iTemp522 = int(min(8192, max(0, int(fTemp378))));
float fTemp523 = (fRec163[0] - fTemp379);
fRec162[0] = (((fTemp380 * fVec114[(IOTA-iTemp522)&16383]) / fTemp523) + ((fRec162[1] * (0 - (fTemp380 / fTemp523))) + fVec114[(IOTA-int((iTemp522 + 1)))&16383]));
fRec160[0] = fRec162[0];
int iTemp524 = itbl0[iSlow37];
fRec251[0] = ((0.001f * iTemp524) + (0.999f * ((iTemp8 * iTemp524) + fRec251[1])));
float fTemp525 = (fRec251[0] + -1.49999f);
float fTemp526 = floorf(fTemp525);
float fTemp527 = (fTemp526 + (2.0f - fRec251[0]));
float fTemp528 = ((fTemp496 + (6.123234e-17f * fTemp520)) + fTemp519);
fVec115[IOTA&16383] = fTemp528;
int iTemp529 = int(min(8192, max(0, int(fTemp525))));
float fTemp530 = (fRec251[0] - fTemp526);
fRec250[0] = (((fTemp527 * fVec115[(IOTA-iTemp529)&16383]) / fTemp530) + ((fRec250[1] * (0 - (fTemp527 / fTemp530))) + fVec115[(IOTA-int((iTemp529 + 1)))&16383]));
fRec161[0] = fRec250[0];
float fTemp531 = (fTemp133 * fRec258[1]);
float fTemp532 = (fTemp133 * fRec255[1]);
float fTemp533 = (fTemp133 * fRec252[1]);
float fTemp534 = ((fTemp133 * fRec261[1]) + (fTemp128 * (fTemp531 + (fTemp128 * (fTemp532 + (fTemp128 * (fTemp533 + fTemp471)))))));
float fTemp535 = (fTemp133 * fRec253[1]);
float fTemp536 = (fTemp133 * fRec256[1]);
float fTemp537 = (fTemp133 * fRec259[1]);
float fTemp538 = ((fTemp128 * ((fTemp128 * ((fTemp128 * (fTemp535 + fTemp473)) + fTemp536)) + fTemp537)) + (fTemp133 * fRec262[1]));
float fTemp539 = ((6.123234e-17f * fTemp534) - fTemp538);
fVec116[IOTA&16383] = fTemp539;
fRec263[0] = (((fTemp225 * fVec116[(IOTA-iTemp259)&16383]) / fTemp260) + ((fTemp261 * fRec263[1]) + fVec116[(IOTA-iTemp262)&16383]));
fRec261[0] = fRec263[0];
float fTemp540 = (fTemp534 + (6.123234e-17f * fTemp538));
fVec117[IOTA&16383] = fTemp540;
fRec264[0] = ((((fTemp266 * fVec117[(IOTA-iTemp268)&16383]) / fTemp269) + fVec117[(IOTA-iTemp270)&16383]) + (fTemp271 * fRec264[1]));
fRec262[0] = fRec264[0];
float fTemp541 = ((fTemp128 * fRec261[1]) + (fTemp5 * (fTemp531 + (fTemp128 * (fTemp532 + (fTemp128 * (fTemp533 + fTemp355)))))));
float fTemp542 = ((fTemp128 * fRec262[1]) + (fTemp5 * (fTemp537 + (fTemp128 * (fTemp536 + (fTemp128 * (fTemp535 + fTemp358)))))));
float fTemp543 = ((6.123234e-17f * fTemp541) - fTemp542);
fVec118[IOTA&16383] = fTemp543;
fRec260[0] = (((fTemp195 * fVec118[(IOTA-iTemp277)&16383]) / fTemp278) + ((fTemp279 * fRec260[1]) + fVec118[(IOTA-iTemp280)&16383]));
fRec258[0] = fRec260[0];
float fTemp544 = (fTemp541 + (6.123234e-17f * fTemp542));
fVec119[IOTA&16383] = fTemp544;
fRec265[0] = ((((fTemp284 * fVec119[(IOTA-iTemp286)&16383]) / fTemp287) + fVec119[(IOTA-iTemp288)&16383]) + (fTemp289 * fRec265[1]));
fRec259[0] = fRec265[0];
float fTemp545 = ((fTemp128 * fRec258[1]) + (fTemp5 * (fTemp532 + (fTemp128 * (fTemp533 + fTemp249)))));
float fTemp546 = ((fTemp128 * fRec259[1]) + (fTemp5 * (fTemp536 + (fTemp128 * (fTemp535 + fTemp256)))));
float fTemp547 = ((6.123234e-17f * fTemp545) - fTemp546);
fVec120[IOTA&16383] = fTemp547;
fRec257[0] = (((fTemp162 * fVec120[(IOTA-iTemp295)&16383]) / fTemp296) + ((fTemp297 * fRec257[1]) + fVec120[(IOTA-iTemp298)&16383]));
fRec255[0] = fRec257[0];
float fTemp548 = (fTemp545 + (6.123234e-17f * fTemp546));
fVec121[IOTA&16383] = fTemp548;
fRec266[0] = ((((fTemp302 * fVec121[(IOTA-iTemp304)&16383]) / fTemp305) + fVec121[(IOTA-iTemp306)&16383]) + (fTemp307 * fRec266[1]));
fRec256[0] = fRec266[0];
float fTemp549 = ((fTemp128 * fRec255[1]) + (fTemp5 * (fTemp533 + fTemp220)));
float fTemp550 = ((fTemp128 * fRec256[1]) + (fTemp5 * (fTemp535 + fTemp274)));
float fTemp551 = ((6.123234e-17f * fTemp549) - fTemp550);
fVec122[IOTA&16383] = fTemp551;
fRec254[0] = (((fTemp132 * fVec122[(IOTA-iTemp312)&16383]) / fTemp313) + ((fTemp314 * fRec254[1]) + fVec122[(IOTA-iTemp315)&16383]));
fRec252[0] = fRec254[0];
float fTemp552 = (fTemp549 + (6.123234e-17f * fTemp550));
fVec123[IOTA&16383] = fTemp552;
fRec267[0] = ((((fTemp319 * fVec123[(IOTA-iTemp321)&16383]) / fTemp322) + fVec123[(IOTA-iTemp323)&16383]) + (fTemp324 * fRec267[1]));
fRec253[0] = fRec267[0];
float fTemp553 = ((fTemp6 * fRec160[1]) + (fTemp3 * (fTemp386 + (fTemp6 * (fTemp329 + (fTemp6 * ((fTemp128 * fRec252[1]) + (fTemp5 * fTemp189))))))));
float fTemp554 = ((fTemp3 * ((fTemp6 * ((fTemp6 * ((fTemp128 * fRec253[1]) + (fTemp5 * fTemp291))) + fTemp484)) + fTemp483)) + (fTemp6 * fRec161[1]));
float fTemp555 = ((6.123234e-17f * fTemp553) - fTemp554);
fVec124[IOTA&16383] = fTemp555;
int iTemp556 = itbl0[iSlow39];
fRec268[0] = ((0.001f * iTemp556) + (0.999f * ((iTemp556 * iTemp8) + fRec268[1])));
float fTemp557 = (fRec268[0] + -1.49999f);
int iTemp558 = int(min(8192, max(0, int(fTemp557))));
float fTemp559 = floorf(fTemp557);
float fTemp560 = (fTemp559 + (2.0f - fRec268[0]));
float fTemp561 = (fRec268[0] - fTemp559);
fRec159[0] = ((fVec124[(IOTA-int((iTemp558 + 1)))&16383] + ((fVec124[(IOTA-iTemp558)&16383] * fTemp560) / fTemp561)) + (fRec159[1] * (0 - (fTemp560 / fTemp561))));
fRec157[0] = fRec159[0];
float fTemp562 = (fTemp553 + (6.123234e-17f * fTemp554));
fVec125[IOTA&16383] = fTemp562;
int iTemp563 = itbl0[iSlow40];
fRec270[0] = ((0.001f * iTemp563) + (0.999f * ((iTemp563 * iTemp8) + fRec270[1])));
float fTemp564 = (fRec270[0] + -1.49999f);
int iTemp565 = int(min(8192, max(0, int(fTemp564))));
float fTemp566 = floorf(fTemp564);
float fTemp567 = (fTemp566 + (2.0f - fRec270[0]));
float fTemp568 = (fRec270[0] - fTemp566);
fRec269[0] = ((fVec125[(IOTA-int((iTemp565 + 1)))&16383] + ((fVec125[(IOTA-iTemp565)&16383] * fTemp567) / fTemp568)) + (fRec269[1] * (0 - (fTemp567 / fTemp568))));
fRec158[0] = fRec269[0];
float fTemp569 = (fTemp6 * fRec157[1]);
float fTemp570 = ((fTemp6 * fRec158[1]) + (fTemp3 * ((fTemp6 * ((fTemp128 * fRec126[1]) + (fTemp5 * fTemp309))) + fTemp484)));
float fTemp571 = ((6.123234e-17f * (fTemp376 + fTemp569)) - fTemp570);
fVec126[IOTA&16383] = fTemp571;
int iTemp572 = int(min(8192, max(0, int(fTemp326))));
float fTemp573 = (fRec124[0] - fTemp327);
fRec123[0] = (((fTemp328 * fVec126[(IOTA-iTemp572)&16383]) / fTemp573) + (fVec126[(IOTA-int((iTemp572 + 1)))&16383] + ((0 - (fTemp328 / fTemp573)) * fRec123[1])));
fRec121[0] = fRec123[0];
float fTemp574 = ((fTemp376 + (6.123234e-17f * fTemp570)) + fTemp569);
fVec127[IOTA&16383] = fTemp574;
int iTemp575 = itbl0[iSlow41];
fRec272[0] = ((0.001f * iTemp575) + (0.999f * ((iTemp8 * iTemp575) + fRec272[1])));
float fTemp576 = (fRec272[0] + -1.49999f);
int iTemp577 = int(min(8192, max(0, int(fTemp576))));
float fTemp578 = floorf(fTemp576);
float fTemp579 = (fTemp578 + (2.0f - fRec272[0]));
float fTemp580 = (fRec272[0] - fTemp578);
fRec271[0] = ((fVec127[(IOTA-int((iTemp577 + 1)))&16383] + ((fVec127[(IOTA-iTemp577)&16383] * fTemp579) / fTemp580)) + (fRec271[1] * (0 - (fTemp579 / fTemp580))));
fRec122[0] = fRec271[0];
fRec2[0] = ((fTemp1 * ((fTemp3 * ((fTemp5 * ((fTemp6 * fRec3[1]) + fTemp127)) + (fTemp128 * fRec33[1]))) + (fTemp6 * fRec121[1]))) + (0.5f * (fTemp0 * fRec2[1])));
fRec0[IOTA&1023] = fRec2[0];
fRec273[0] = ((0.5f * (fTemp0 * fRec273[1])) + (fTemp1 * ((fTemp3 * ((fTemp5 * ((fTemp6 * fRec4[1]) + fTemp254)) + (fTemp128 * fRec34[1]))) + (fTemp6 * fRec122[1]))));
fRec1[IOTA&1023] = fRec273[0];
output0[i] = (FAUSTFLOAT)fRec0[(IOTA-0)&1023];
output1[i] = (FAUSTFLOAT)fRec1[(IOTA-0)&1023];
// post processing
fRec273[1] = fRec273[0];
fRec2[1] = fRec2[0];
fRec122[1] = fRec122[0];
fRec271[1] = fRec271[0];
fRec272[1] = fRec272[0];
fRec121[1] = fRec121[0];
fRec123[1] = fRec123[0];
fRec158[1] = fRec158[0];
fRec269[1] = fRec269[0];
fRec270[1] = fRec270[0];
fRec157[1] = fRec157[0];
fRec159[1] = fRec159[0];
fRec268[1] = fRec268[0];
fRec253[1] = fRec253[0];
fRec267[1] = fRec267[0];
fRec252[1] = fRec252[0];
fRec254[1] = fRec254[0];
fRec256[1] = fRec256[0];
fRec266[1] = fRec266[0];
fRec255[1] = fRec255[0];
fRec257[1] = fRec257[0];
fRec259[1] = fRec259[0];
fRec265[1] = fRec265[0];
fRec258[1] = fRec258[0];
fRec260[1] = fRec260[0];
fRec262[1] = fRec262[0];
fRec264[1] = fRec264[0];
fRec261[1] = fRec261[0];
fRec263[1] = fRec263[0];
fRec161[1] = fRec161[0];
fRec250[1] = fRec250[0];
fRec251[1] = fRec251[0];
fRec160[1] = fRec160[0];
fRec162[1] = fRec162[0];
fRec235[1] = fRec235[0];
fRec249[1] = fRec249[0];
fRec234[1] = fRec234[0];
fRec236[1] = fRec236[0];
fRec238[1] = fRec238[0];
fRec248[1] = fRec248[0];
fRec237[1] = fRec237[0];
fRec239[1] = fRec239[0];
fRec241[1] = fRec241[0];
fRec247[1] = fRec247[0];
fRec240[1] = fRec240[0];
fRec242[1] = fRec242[0];
fRec244[1] = fRec244[0];
fRec246[1] = fRec246[0];
fRec243[1] = fRec243[0];
fRec245[1] = fRec245[0];
fRec165[1] = fRec165[0];
fRec232[1] = fRec232[0];
fRec233[1] = fRec233[0];
fRec164[1] = fRec164[0];
fRec166[1] = fRec166[0];
fRec169[1] = fRec169[0];
fRec231[1] = fRec231[0];
fRec168[1] = fRec168[0];
fRec170[1] = fRec170[0];
fRec172[1] = fRec172[0];
fRec230[1] = fRec230[0];
fRec171[1] = fRec171[0];
fRec173[1] = fRec173[0];
fRec215[1] = fRec215[0];
fRec229[1] = fRec229[0];
fRec214[1] = fRec214[0];
fRec216[1] = fRec216[0];
fRec218[1] = fRec218[0];
fRec228[1] = fRec228[0];
fRec217[1] = fRec217[0];
fRec219[1] = fRec219[0];
fRec221[1] = fRec221[0];
fRec227[1] = fRec227[0];
fRec220[1] = fRec220[0];
fRec222[1] = fRec222[0];
fRec224[1] = fRec224[0];
fRec226[1] = fRec226[0];
fRec223[1] = fRec223[0];
fRec225[1] = fRec225[0];
fRec175[1] = fRec175[0];
fRec213[1] = fRec213[0];
fRec174[1] = fRec174[0];
fRec176[1] = fRec176[0];
fRec198[1] = fRec198[0];
fRec212[1] = fRec212[0];
fRec197[1] = fRec197[0];
fRec199[1] = fRec199[0];
fRec201[1] = fRec201[0];
fRec211[1] = fRec211[0];
fRec200[1] = fRec200[0];
fRec202[1] = fRec202[0];
fRec204[1] = fRec204[0];
fRec210[1] = fRec210[0];
fRec203[1] = fRec203[0];
fRec205[1] = fRec205[0];
fRec207[1] = fRec207[0];
fRec209[1] = fRec209[0];
fRec206[1] = fRec206[0];
fRec208[1] = fRec208[0];
fRec178[1] = fRec178[0];
fRec196[1] = fRec196[0];
fRec177[1] = fRec177[0];
fRec179[1] = fRec179[0];
fRec181[1] = fRec181[0];
fRec195[1] = fRec195[0];
fRec180[1] = fRec180[0];
fRec182[1] = fRec182[0];
fRec184[1] = fRec184[0];
fRec194[1] = fRec194[0];
fRec183[1] = fRec183[0];
fRec185[1] = fRec185[0];
fRec187[1] = fRec187[0];
fRec193[1] = fRec193[0];
fRec186[1] = fRec186[0];
fRec188[1] = fRec188[0];
fRec190[1] = fRec190[0];
fRec192[1] = fRec192[0];
fRec189[1] = fRec189[0];
fRec191[1] = fRec191[0];
fRec167[1] = fRec167[0];
fRec163[1] = fRec163[0];
fRec126[1] = fRec126[0];
fRec156[1] = fRec156[0];
fRec125[1] = fRec125[0];
fRec127[1] = fRec127[0];
fRec129[1] = fRec129[0];
fRec155[1] = fRec155[0];
fRec128[1] = fRec128[0];
fRec130[1] = fRec130[0];
fRec132[1] = fRec132[0];
fRec154[1] = fRec154[0];
fRec131[1] = fRec131[0];
fRec133[1] = fRec133[0];
fRec135[1] = fRec135[0];
fRec153[1] = fRec153[0];
fRec134[1] = fRec134[0];
fRec136[1] = fRec136[0];
fRec138[1] = fRec138[0];
fRec152[1] = fRec152[0];
fRec137[1] = fRec137[0];
fRec139[1] = fRec139[0];
fRec141[1] = fRec141[0];
fRec151[1] = fRec151[0];
fRec140[1] = fRec140[0];
fRec142[1] = fRec142[0];
fRec144[1] = fRec144[0];
fRec150[1] = fRec150[0];
fRec143[1] = fRec143[0];
fRec145[1] = fRec145[0];
fRec147[1] = fRec147[0];
fRec149[1] = fRec149[0];
fRec146[1] = fRec146[0];
fRec148[1] = fRec148[0];
fRec124[1] = fRec124[0];
fRec34[1] = fRec34[0];
fRec119[1] = fRec119[0];
fRec120[1] = fRec120[0];
fRec33[1] = fRec33[0];
fRec35[1] = fRec35[0];
fRec54[1] = fRec54[0];
fRec117[1] = fRec117[0];
fRec118[1] = fRec118[0];
fRec53[1] = fRec53[0];
fRec55[1] = fRec55[0];
fRec74[1] = fRec74[0];
fRec115[1] = fRec115[0];
fRec116[1] = fRec116[0];
fRec73[1] = fRec73[0];
fRec75[1] = fRec75[0];
fRec94[1] = fRec94[0];
fRec113[1] = fRec113[0];
fRec114[1] = fRec114[0];
fRec93[1] = fRec93[0];
fRec95[1] = fRec95[0];
fRec98[1] = fRec98[0];
fRec112[1] = fRec112[0];
fRec97[1] = fRec97[0];
fRec99[1] = fRec99[0];
fRec101[1] = fRec101[0];
fRec111[1] = fRec111[0];
fRec100[1] = fRec100[0];
fRec102[1] = fRec102[0];
fRec104[1] = fRec104[0];
fRec110[1] = fRec110[0];
fRec103[1] = fRec103[0];
fRec105[1] = fRec105[0];
fRec107[1] = fRec107[0];
fRec109[1] = fRec109[0];
fRec106[1] = fRec106[0];
fRec108[1] = fRec108[0];
fRec96[1] = fRec96[0];
fRec78[1] = fRec78[0];
fRec92[1] = fRec92[0];
fRec77[1] = fRec77[0];
fRec79[1] = fRec79[0];
fRec81[1] = fRec81[0];
fRec91[1] = fRec91[0];
fRec80[1] = fRec80[0];
fRec82[1] = fRec82[0];
fRec84[1] = fRec84[0];
fRec90[1] = fRec90[0];
fRec83[1] = fRec83[0];
fRec85[1] = fRec85[0];
fRec87[1] = fRec87[0];
fRec89[1] = fRec89[0];
fRec86[1] = fRec86[0];
fRec88[1] = fRec88[0];
fRec76[1] = fRec76[0];
fRec58[1] = fRec58[0];
fRec72[1] = fRec72[0];
fRec57[1] = fRec57[0];
fRec59[1] = fRec59[0];
fRec61[1] = fRec61[0];
fRec71[1] = fRec71[0];
fRec60[1] = fRec60[0];
fRec62[1] = fRec62[0];
fRec64[1] = fRec64[0];
fRec70[1] = fRec70[0];
fRec63[1] = fRec63[0];
fRec65[1] = fRec65[0];
fRec67[1] = fRec67[0];
fRec69[1] = fRec69[0];
fRec66[1] = fRec66[0];
fRec68[1] = fRec68[0];
fRec56[1] = fRec56[0];
fRec38[1] = fRec38[0];
fRec52[1] = fRec52[0];
fRec37[1] = fRec37[0];
fRec39[1] = fRec39[0];
fRec41[1] = fRec41[0];
fRec51[1] = fRec51[0];
fRec40[1] = fRec40[0];
fRec42[1] = fRec42[0];
fRec44[1] = fRec44[0];
fRec50[1] = fRec50[0];
fRec43[1] = fRec43[0];
fRec45[1] = fRec45[0];
fRec47[1] = fRec47[0];
fRec49[1] = fRec49[0];
fRec46[1] = fRec46[0];
fRec48[1] = fRec48[0];
fRec36[1] = fRec36[0];
fRec4[1] = fRec4[0];
fRec31[1] = fRec31[0];
fRec32[1] = fRec32[0];
fRec3[1] = fRec3[0];
fRec5[1] = fRec5[0];
fRec14[1] = fRec14[0];
fRec29[1] = fRec29[0];
fRec30[1] = fRec30[0];
fRec13[1] = fRec13[0];
fRec15[1] = fRec15[0];
fRec18[1] = fRec18[0];
fRec27[1] = fRec27[0];
fRec28[1] = fRec28[0];
fRec17[1] = fRec17[0];
fRec19[1] = fRec19[0];
fRec22[1] = fRec22[0];
fRec25[1] = fRec25[0];
fRec26[1] = fRec26[0];
fRec21[1] = fRec21[0];
fRec23[1] = fRec23[0];
fRec24[1] = fRec24[0];
fRec20[1] = fRec20[0];
fRec16[1] = fRec16[0];
IOTA = IOTA+1;
fRec12[1] = fRec12[0];
fRec11[1] = fRec11[0];
fVec5[1] = fVec5[0];
fVec4[1] = fVec4[0];
fRec10[1] = fRec10[0];
fRec9[1] = fRec9[0];
fRec8[1] = fRec8[0];
fRec7[1] = fRec7[0];
fVec3[1] = fVec3[0];
fRec6[1] = fRec6[0];
fVec2[1] = fVec2[0];
iVec1[1] = iVec1[0];
fVec0[1] = fVec0[0];
}
}
};
int mydsp::SIG0::iWave0[1302] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999,5003,5009,5011,5021,5023,5039,5051,5059,5077,5081,5087,5099,5101,5107,5113,5119,5147,5153,5167,5171,5179,5189,5197,5209,5227,5231,5233,5237,5261,5273,5279,5281,5297,5303,5309,5323,5333,5347,5351,5381,5387,5393,5399,5407,5413,5417,5419,5431,5437,5441,5443,5449,5471,5477,5479,5483,5501,5503,5507,5519,5521,5527,5531,5557,5563,5569,5573,5581,5591,5623,5639,5641,5647,5651,5653,5657,5659,5669,5683,5689,5693,5701,5711,5717,5737,5741,5743,5749,5779,5783,5791,5801,5807,5813,5821,5827,5839,5843,5849,5851,5857,5861,5867,5869,5879,5881,5897,5903,5923,5927,5939,5953,5981,5987,6007,6011,6029,6037,6043,6047,6053,6067,6073,6079,6089,6091,6101,6113,6121,6131,6133,6143,6151,6163,6173,6197,6199,6203,6211,6217,6221,6229,6247,6257,6263,6269,6271,6277,6287,6299,6301,6311,6317,6323,6329,6337,6343,6353,6359,6361,6367,6373,6379,6389,6397,6421,6427,6449,6451,6469,6473,6481,6491,6521,6529,6547,6551,6553,6563,6569,6571,6577,6581,6599,6607,6619,6637,6653,6659,6661,6673,6679,6689,6691,6701,6703,6709,6719,6733,6737,6761,6763,6779,6781,6791,6793,6803,6823,6827,6829,6833,6841,6857,6863,6869,6871,6883,6899,6907,6911,6917,6947,6949,6959,6961,6967,6971,6977,6983,6991,6997,7001,7013,7019,7027,7039,7043,7057,7069,7079,7103,7109,7121,7127,7129,7151,7159,7177,7187,7193,7207,7211,7213,7219,7229,7237,7243,7247,7253,7283,7297,7307,7309,7321,7331,7333,7349,7351,7369,7393,7411,7417,7433,7451,7457,7459,7477,7481,7487,7489,7499,7507,7517,7523,7529,7537,7541,7547,7549,7559,7561,7573,7577,7583,7589,7591,7603,7607,7621,7639,7643,7649,7669,7673,7681,7687,7691,7699,7703,7717,7723,7727,7741,7753,7757,7759,7789,7793,7817,7823,7829,7841,7853,7867,7873,7877,7879,7883,7901,7907,7919,7927,7933,7937,7949,7951,7963,7993,8009,8011,8017,8039,8053,8059,8069,8081,8087,8089,8093,8101,8111,8117,8123,8147,8161,8167,8171,8179,8191,8209,8219,8221,8231,8233,8237,8243,8263,8269,8273,8287,8291,8293,8297,8311,8317,8329,8353,8363,8369,8377,8387,8389,8419,8423,8429,8431,8443,8447,8461,8467,8501,8513,8521,8527,8537,8539,8543,8563,8573,8581,8597,8599,8609,8623,8627,8629,8641,8647,8663,8669,8677,8681,8689,8693,8699,8707,8713,8719,8731,8737,8741,8747,8753,8761,8779,8783,8803,8807,8819,8821,8831,8837,8839,8849,8861,8863,8867,8887,8893,8923,8929,8933,8941,8951,8963,8969,8971,8999,9001,9007,9011,9013,9029,9041,9043,9049,9059,9067,9091,9103,9109,9127,9133,9137,9151,9157,9161,9173,9181,9187,9199,9203,9209,9221,9227,9239,9241,9257,9277,9281,9283,9293,9311,9319,9323,9337,9341,9343,9349,9371,9377,9391,9397,9403,9413,9419,9421,9431,9433,9437,9439,9461,9463,9467,9473,9479,9491,9497,9511,9521,9533,9539,9547,9551,9587,9601,9613,9619,9623,9629,9631,9643,9649,9661,9677,9679,9689,9697,9719,9721,9733,9739,9743,9749,9767,9769,9781,9787,9791,9803,9811,9817,9829,9833,9839,9851,9857,9859,9871,9883,9887,9901,9907,9923,9929,9931,9941,9949,9967,9973,10007,10009,10037,10039,10061,10067,10069,10079,10091,10093,10099,10103,10111,10133,10139,10141,10151,10159,10163,10169,10177,10181,10193,10211,10223,10243,10247,10253,10259,10267,10271,10273,10289,10301,10303,10313,10321,10331,10333,10337,10343,10357,10369,10391,10399,10427,10429,10433,10453,10457,10459,10463,10477,10487,10499,10501,10513,10529,10531,10559,10567,10589,10597,10601,10607,10613,10627,10631,10639,10651,10657,10663,10667};
int mydsp::itbl0[1302];
//----------------------------------------------------------------------------
// SuperCollider/Faust interface
//----------------------------------------------------------------------------
struct Faust : public Unit
{
// Faust dsp instance
FAUSTCLASS* mDSP;
// Buffers for control to audio rate conversion
float** mInBufCopy;
float* mInBufValue;
// Controls
size_t mNumControls;
// NOTE: This needs to be the last field!
//
// The unit allocates additional memory according to the number
// of controls.
Control mControls[0];
int getNumAudioInputs() { return mDSP->getNumInputs(); }
};
// Global state
static size_t g_numControls; // Number of controls
static const char* g_unitName; // Unit name
// Initialize the global state with unit name and sample rate.
void initState(const std::string& name, int sampleRate);
// Return the unit size in bytes, including static fields and controls.
static size_t unitSize();
// Convert a file name to a valid unit name.
static std::string fileNameToUnitName(const std::string& fileName);
// Convert the XML unit name to a valid class name.
static std::string normalizeClassName(const std::string& name);
void initState(const std::string& name, int sampleRate)
{
g_unitName = strdup(name.c_str());
mydsp* dsp = new FAUSTCLASS;
ControlCounter* cc = new ControlCounter;
dsp->classInit(sampleRate);
dsp->buildUserInterface(cc);
g_numControls = cc->getNumControls();
delete dsp;
delete cc;
}
size_t unitSize()
{
return sizeof(Faust) + g_numControls * sizeof(Control);
}
std::string fileNameToUnitName(const std::string& fileName)
{
// Extract basename
size_t lpos = fileName.rfind('/', fileName.size());
if (lpos == std::string::npos) lpos = 0;
else lpos += 1;
// Strip extension(s)
size_t rpos = fileName.find('.', lpos);
// Return substring
return fileName.substr(lpos, rpos > lpos ? rpos - lpos : 0);
}
// Globals
static InterfaceTable* ft;
// The SuperCollider UGen class name generated here must match
// that generated by faust2sc:
static std::string normalizeClassName(const std::string& name)
{
std::string s;
char c;
unsigned int i=0;
bool upnext=true;
while ((c=name[i++])) {
if (upnext) { c = toupper(c); upnext=false; }
if ( (c == '_') || (c == '-') || isspace(c)) { upnext=true; continue; }
s += c;
if (i > 31) { break; }
}
return s;
}
extern "C"
{
#ifdef SC_API_EXPORT
int api_version(void);
#endif
void load(InterfaceTable*);
void Faust_next(Faust*, int);
void Faust_next_copy(Faust*, int);
void Faust_next_clear(Faust*, int);
void Faust_Ctor(Faust*);
void Faust_Dtor(Faust*);
};
inline static void fillBuffer(float* dst, int n, float v)
{
Fill(n, dst, v);
}
inline static void fillBuffer(float* dst, int n, float v0, float v1)
{
Fill(n, dst, v0, (v1 - v0) / n);
}
inline static void copyBuffer(float* dst, int n, float* src)
{
Copy(n, dst, src);
}
inline static void Faust_updateControls(Faust* unit)
{
Control* controls = unit->mControls;
int numControls = unit->mNumControls;
int curControl = unit->mDSP->getNumInputs();
for (int i=0; i < numControls; ++i) {
float value = IN0(curControl);
(controls++)->update(value);
curControl++;
}
}
void Faust_next(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// dsp computation
unit->mDSP->compute(inNumSamples, unit->mInBuf, unit->mOutBuf);
}
void Faust_next_copy(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// Copy buffers
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
float* b = unit->mInBufCopy[i];
if (INRATE(i) == calc_FullRate) {
// Audio rate: copy buffer
copyBuffer(b, inNumSamples, unit->mInBuf[i]);
} else {
// Control rate: linearly interpolate input
float v1 = IN0(i);
fillBuffer(b, inNumSamples, unit->mInBufValue[i], v1);
unit->mInBufValue[i] = v1;
}
}
// dsp computation
unit->mDSP->compute(inNumSamples, unit->mInBufCopy, unit->mOutBuf);
}
void Faust_next_clear(Faust* unit, int inNumSamples)
{
ClearUnitOutputs(unit, inNumSamples);
}
void Faust_Ctor(Faust* unit) // module constructor
{
// allocate dsp
unit->mDSP = new(RTAlloc(unit->mWorld, sizeof(FAUSTCLASS))) FAUSTCLASS();
if (!unit->mDSP) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
{
// init dsp
unit->mDSP->instanceInit((int)SAMPLERATE);
// allocate controls
unit->mNumControls = g_numControls;
ControlAllocator ca(unit->mControls);
unit->mDSP->buildUserInterface(&ca);
unit->mInBufCopy = 0;
unit->mInBufValue = 0;
// check input/output channel configuration
const size_t numInputs = unit->mDSP->getNumInputs() + unit->mNumControls;
const size_t numOutputs = unit->mDSP->getNumOutputs();
bool channelsValid = (numInputs == unit->mNumInputs) && (numOutputs == unit->mNumOutputs);
if (channelsValid) {
bool rateValid = true;
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
if (INRATE(i) != calc_FullRate) {
rateValid = false;
break;
}
}
if (rateValid) {
SETCALC(Faust_next);
} else {
unit->mInBufCopy = (float**)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float*));
if (!unit->mInBufCopy) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
// Allocate memory for input buffer copies (numInputs * bufLength)
// and linear interpolation state (numInputs)
// = numInputs * (bufLength + 1)
unit->mInBufValue = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float));
if (!unit->mInBufValue) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
// Aquire memory for interpolator state.
float* mem = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*BUFLENGTH*sizeof(float));
if (mem) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
// Initialize interpolator.
unit->mInBufValue[i] = IN0(i);
// Aquire buffer memory.
unit->mInBufCopy[i] = mem;
mem += BUFLENGTH;
}
SETCALC(Faust_next_copy);
}
#if !defined(NDEBUG)
Print("Faust[%s]:\n", g_unitName);
Print(" Inputs: %d\n"
" Outputs: %d\n"
" Callback: %s\n",
numInputs, numOutputs,
unit->mCalcFunc == (UnitCalcFunc)Faust_next ? "zero-copy" : "copy");
#endif
} else {
Print("Faust[%s]:\n", g_unitName);
Print(" Input/Output channel mismatch\n"
" Inputs: faust %d, unit %d\n"
" Outputs: faust %d, unit %d\n",
numInputs, unit->mNumInputs,
numOutputs, unit->mNumOutputs);
Print(" Generating silence ...\n");
SETCALC(Faust_next_clear);
}
}
end:
// Fix for https://github.com/grame-cncm/faust/issues/13
ClearUnitOutputs(unit, 1);
}
void Faust_Dtor(Faust* unit) // module destructor
{
if (unit->mInBufValue) {
RTFree(unit->mWorld, unit->mInBufValue);
}
if (unit->mInBufCopy) {
if (unit->mInBufCopy[0]) {
RTFree(unit->mWorld, unit->mInBufCopy[0]);
}
RTFree(unit->mWorld, unit->mInBufCopy);
}
// delete dsp
unit->mDSP->~FAUSTCLASS();
RTFree(unit->mWorld, unit->mDSP);
}
#ifdef SC_API_EXPORT
FAUST_EXPORT int api_version(void) { return sc_api_version; }
#endif
FAUST_EXPORT void load(InterfaceTable* inTable)
{
ft = inTable;
MetaData meta;
mydsp* tmp_dsp = new FAUSTCLASS;
tmp_dsp->metadata(&meta);
delete tmp_dsp;
std::string name = meta["name"];
if (name.empty()) {
name = fileNameToUnitName(__FILE__);
}
name = normalizeClassName(name);
#if !defined(NDEBUG) & defined(SC_API_EXPORT)
Print("Faust: supercollider.cpp: sc_api_version = %d\n", sc_api_version);
#endif
if (name.empty()) {
// Catch empty name
Print("Faust [supercollider.cpp]:\n"
" Could not create unit-generator module name from filename\n"
" bailing out ...\n");
return;
}
if (strncmp(name.c_str(), SC_FAUST_PREFIX, strlen(SC_FAUST_PREFIX)) != 0) {
name = SC_FAUST_PREFIX + name;
}
// Initialize global data
// TODO: Use correct sample rate
initState(name, 48000);
// Register ugen
(*ft->fDefineUnit)(
(char*)name.c_str(),
unitSize(),
(UnitCtorFunc)&Faust_Ctor,
(UnitDtorFunc)&Faust_Dtor,
kUnitDef_CantAliasInputsToOutputs
);
#if !defined(NDEBUG)
Print("Faust: %s numControls=%d\n", name.c_str(), g_numControls);
#endif // NDEBUG
}
// EOF
declare name "GreyholeRaw";
declare version "1.0";
declare author "Julian Parker, bug fixes by Till Bovermann";
declare license "GPL2+";
declare copyright "(c) Julian Parker 2013";
import("stdfaust.lib");
fb = hslider("feedback",0.9,0.0,1.0,0.01):linear_interp;
depth = ((ma.SR/44100)*50*hslider("modDepth",0.1,0.0,1.0,0.001)):linear_interp;
freq = hslider("modFreq",2.0,0.0,10.0,0.01):linear_interp;
diff = hslider("diffusion",0.5,0.0,0.99,0.0001):linear_interp;
dt = min(65533,ma.SR*hslider("delayTime",0.2,0.001,1.45,0.0001));
size = hslider("size",1.0,0.5,3.0,0.0001);
damp = hslider("damping", 0.0, 0.0, 0.99,0.001):linear_interp;
linear_interp = _<:(mem,_):+:*(0.5):_;
smooth_init(s,default) = *(1.0 - s) : + ~ (+(default*init(1)):*(s))
with
{
init(value) = value - value';
};
// list of prime numbers
prime_delays(x) = (waveform {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 10631, 10639, 10651, 10657, 10663, 10667}, int(x))
: rdtable;
diffuser_nested(1,angle,g,scale) = si.bus(2) <: ( (si.bus(2) :par(i,2,*(c_norm))
: (( si.bus(4) :> si.bus(2) :rotator(angle) : (
de.fdelay1a(8192, prime_delays(size*scale):smooth_init(0.9999,prime_delays(size*scale)) -1 ),
de.fdelay1a(8192, prime_delays(size*scale +10):smooth_init(0.9999,prime_delays(size*scale + 10)) -1 )
) )~par(i,2,*(-s_norm)))
: par(i,2,mem:*(c_norm)) )
,
par(i,2,*(s_norm)))
:> si.bus(2)
with
{
rotator(angle) = si.bus(2) <: (*(c),*(-s),*(s),*(c)) :(+,+) : si.bus(2)
with{
c = cos(angle);
s = sin(angle);
};
c_norm = cos(g);
s_norm = sin(g);
};
diffuser_nested(N,angle,g,scale) = si.bus(2) <: ( (si.bus(2) :par(i,2,*(c_norm))
: (( si.bus(4) :> si.bus(2) : diffuser_nested(N-1,angle,g,scale+13) : rotator(angle) : (
de.fdelay1a(8192, prime_delays(size*scale):smooth_init(0.999,prime_delays(size*scale)) -1 ),
de.fdelay1a(8192, prime_delays(size*scale +10):smooth_init(0.999,prime_delays(size*scale + 10)) -1 )
) )~par(i,2,*(-s_norm)))
: par(i,2,mem:*(c_norm)) )
,
par(i,2,*(s_norm)))
:> si.bus(2)
with
{
rotator(angle) = si.bus(2) <: (*(c),*(-s),*(s),*(c)) :(+,+) : si.bus(2)
with{
c = cos(angle);
s = sin(angle);
};
c_norm = cos(g);
s_norm = sin(g);
};
// blackhole =
process = ( si.bus(4) :> seq(i,3,diffuser_nested(4,ma.PI/2,(-1^i)*diff,10+19*i) ):par(i,2,si.smooth(damp)) )
~( (de.fdelay4(512, 10+depth + depth*os.oscrc(freq)),de.fdelay4(512, 10+ depth + depth*os.oscrs(freq)) ) :
(de.sdelay(65536,44100/2,floor(dt)),de.sdelay(65536,44100/2,floor(dt))) :
par(i,2,*(fb)) );
//-----------------------------------------------------
// name: "GreyholeRaw"
// version: "1.0"
// author: "Julian Parker"
// license: "none"
// copyright: "(c) Julian Parker 2013"
//
// Code generated with Faust 0.9.62 (http://faust.grame.fr)
//-----------------------------------------------------
/* link with : "primes" */
#include <jprev.h>
#include <math.h>
// If other than 'faust2sc --prefix Faust' is used, sed this as well:
#if !defined(SC_FAUST_PREFIX)
# define SC_FAUST_PREFIX "Faust"
#endif
//-------------------------------------------------------------------
// FAUST architecture file for SuperCollider.
// Copyright (C) 2005-2012 Stefan Kersten.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
// 02111-1307 USA
//-------------------------------------------------------------------
#include <map>
#include <string>
#include <string.h>
#include <SC_PlugIn.h>
#include <faust/audio/dsp.h>
#include <faust/gui/UI.h>
#include <faust/misc.h>
using namespace std;
#if defined(__GNUC__) && __GNUC__ >= 4
# define FAUST_EXPORT __attribute__((visibility("default")))
#else
# define FAUST_EXPORT /* NOP */
#endif
//----------------------------------------------------------------------------
// Vector intrinsics
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Metadata
//----------------------------------------------------------------------------
class MetaData : public Meta
, public std::map<std::string, std::string>
{
public:
void declare(const char* key, const char* value)
{
(*this)[key] = value;
}
};
//----------------------------------------------------------------------------
// Control counter
//----------------------------------------------------------------------------
class ControlCounter : public UI
{
public:
ControlCounter()
: mNumControlInputs(0),
mNumControlOutputs(0)
{ }
size_t getNumControls() const { return getNumControlInputs(); }
size_t getNumControlInputs() const { return mNumControlInputs; }
size_t getNumControlOutputs() const { return mNumControlOutputs; }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
protected:
void addControlInput() { mNumControlInputs++; }
void addControlOutput() { mNumControlOutputs++; }
private:
size_t mNumControlInputs;
size_t mNumControlOutputs;
};
//----------------------------------------------------------------------------
// UI control
//----------------------------------------------------------------------------
struct Control
{
typedef void (*UpdateFunction)(Control* self, FAUSTFLOAT value);
UpdateFunction updateFunction;
FAUSTFLOAT* zone;
FAUSTFLOAT min, max;
inline void update(FAUSTFLOAT value)
{
(*updateFunction)(this, value);
}
static void simpleUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = value;
}
static void boundedUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = sc_clip(value, self->min, self->max);
}
};
//----------------------------------------------------------------------------
// Control allocator
//----------------------------------------------------------------------------
class ControlAllocator : public UI
{
public:
ControlAllocator(Control* controls)
: mControls(controls)
{ }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
private:
void addControl(Control::UpdateFunction updateFunction, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT /* step */)
{
Control* ctrl = mControls++;
ctrl->updateFunction = updateFunction;
ctrl->zone = zone;
ctrl->min = min;
ctrl->max = max;
}
void addSimpleControl(FAUSTFLOAT* zone)
{
addControl(Control::simpleUpdate, zone, 0.f, 0.f, 0.f);
}
void addBoundedControl(FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{
addControl(Control::boundedUpdate, zone, min, max, step);
}
private:
Control* mControls;
};
//----------------------------------------------------------------------------
// FAUST generated code
//----------------------------------------------------------------------------
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif
typedef long double quad;
#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif
class mydsp : public dsp {
private:
int iVec0[2];
FAUSTFLOAT fslider0;
float fVec1[2];
FAUSTFLOAT fslider1;
float fRec6[2];
float fRec10[2];
float fRec14[2];
float fRec18[2];
FAUSTFLOAT fslider2;
float fVec2[2];
float fRec22[2];
float fRec26[2];
float fRec30[2];
float fRec34[2];
float fRec38[2];
float fRec42[2];
float fRec46[2];
float fRec50[2];
FAUSTFLOAT fslider3;
float fVec3[2];
int iConst0;
float fConst1;
float fRec51[2];
float fRec52[2];
FAUSTFLOAT fslider4;
float fVec4[2];
float fConst2;
int IOTA;
float fVec5[65536];
FAUSTFLOAT fslider5;
float fRec53[2];
float fRec54[2];
float fRec55[2];
float fRec56[2];
FAUSTFLOAT fslider6;
float fVec6[2];
float fVec7[65536];
float fVec8[16384];
float fRec49[2];
float fRec47[2];
float fRec58[2];
float fVec9[16384];
float fRec57[2];
float fRec48[2];
float fVec10[16384];
float fRec45[2];
float fRec43[2];
float fRec60[2];
float fVec11[16384];
float fRec59[2];
float fRec44[2];
float fVec12[16384];
float fRec41[2];
float fRec39[2];
float fRec62[2];
float fVec13[16384];
float fRec61[2];
float fRec40[2];
float fVec14[16384];
float fRec37[2];
float fRec35[2];
float fRec64[2];
float fVec15[16384];
float fRec63[2];
float fRec36[2];
float fVec16[16384];
float fRec33[2];
float fRec31[2];
float fRec66[2];
float fVec17[16384];
float fRec65[2];
float fRec32[2];
float fVec18[16384];
float fRec29[2];
float fRec27[2];
float fRec68[2];
float fVec19[16384];
float fRec67[2];
float fRec28[2];
float fVec20[16384];
float fRec25[2];
float fRec23[2];
float fRec70[2];
float fVec21[16384];
float fRec69[2];
float fRec24[2];
float fVec22[16384];
float fRec21[2];
float fRec19[2];
float fRec72[2];
float fVec23[16384];
float fRec71[2];
float fRec20[2];
float fVec24[16384];
float fRec17[2];
float fRec15[2];
float fRec74[2];
float fVec25[16384];
float fRec73[2];
float fRec16[2];
float fVec26[16384];
float fRec13[2];
float fRec11[2];
float fRec76[2];
float fVec27[16384];
float fRec75[2];
float fRec12[2];
float fVec28[16384];
float fRec9[2];
float fRec7[2];
float fRec78[2];
float fVec29[16384];
float fRec77[2];
float fRec8[2];
float fVec30[16384];
float fRec5[2];
float fRec3[2];
float fRec80[2];
float fVec31[16384];
float fRec79[2];
float fRec4[2];
float fRec2[2];
float fRec0[1024];
float fRec81[2];
float fRec1[1024];
public:
static void metadata(Meta* m) {
m->declare("name", "GreyholeRaw");
m->declare("version", "1.0");
m->declare("author", "Julian Parker");
m->declare("license", "none");
m->declare("copyright", "(c) Julian Parker 2013");
m->declare("math.lib/name", "Math Library");
m->declare("math.lib/author", "GRAME");
m->declare("math.lib/copyright", "GRAME");
m->declare("math.lib/version", "1.0");
m->declare("math.lib/license", "LGPL with exception");
m->declare("maxmsp.lib/name", "MaxMSP compatibility Library");
m->declare("maxmsp.lib/author", "GRAME");
m->declare("maxmsp.lib/copyright", "GRAME");
m->declare("maxmsp.lib/version", "1.1");
m->declare("maxmsp.lib/license", "LGPL");
m->declare("music.lib/name", "Music Library");
m->declare("music.lib/author", "GRAME");
m->declare("music.lib/copyright", "GRAME");
m->declare("music.lib/version", "1.0");
m->declare("music.lib/license", "LGPL with exception");
m->declare("oscillator.lib/name", "Faust Oscillator Library");
m->declare("oscillator.lib/author", "Julius O. Smith (jos at ccrma.stanford.edu)");
m->declare("oscillator.lib/copyright", "Julius O. Smith III");
m->declare("oscillator.lib/version", "1.11");
m->declare("oscillator.lib/license", "STK-4.3");
m->declare("filter.lib/name", "Faust Filter Library");
m->declare("filter.lib/author", "Julius O. Smith (jos at ccrma.stanford.edu)");
m->declare("filter.lib/copyright", "Julius O. Smith III");
m->declare("filter.lib/version", "1.29");
m->declare("filter.lib/license", "STK-4.3");
m->declare("filter.lib/reference", "https://ccrma.stanford.edu/~jos/filters/");
m->declare("reduce.lib/name", "Reduce Library");
m->declare("reduce.lib/author", "Yann Orlarey (orlarey at grame.fr)");
m->declare("reduce.lib/copyright", "Grame");
m->declare("reduce.lib/version", "0.1");
m->declare("reduce.lib/license", "LGPL");
m->declare("effect.lib/name", "Faust Audio Effect Library");
m->declare("effect.lib/author", "Julius O. Smith (jos at ccrma.stanford.edu)");
m->declare("effect.lib/copyright", "Julius O. Smith III");
m->declare("effect.lib/version", "1.33");
m->declare("effect.lib/license", "STK-4.3");
}
virtual int getNumInputs() { return 2; }
virtual int getNumOutputs() { return 2; }
static void classInit(int samplingFreq) {
}
virtual void instanceInit(int samplingFreq) {
fSamplingFreq = samplingFreq;
for (int i=0; i<2; i++) iVec0[i] = 0;
fslider0 = 0.0f;
for (int i=0; i<2; i++) fVec1[i] = 0;
fslider1 = 1.0f;
for (int i=0; i<2; i++) fRec6[i] = 0;
for (int i=0; i<2; i++) fRec10[i] = 0;
for (int i=0; i<2; i++) fRec14[i] = 0;
for (int i=0; i<2; i++) fRec18[i] = 0;
fslider2 = 0.5f;
for (int i=0; i<2; i++) fVec2[i] = 0;
for (int i=0; i<2; i++) fRec22[i] = 0;
for (int i=0; i<2; i++) fRec26[i] = 0;
for (int i=0; i<2; i++) fRec30[i] = 0;
for (int i=0; i<2; i++) fRec34[i] = 0;
for (int i=0; i<2; i++) fRec38[i] = 0;
for (int i=0; i<2; i++) fRec42[i] = 0;
for (int i=0; i<2; i++) fRec46[i] = 0;
for (int i=0; i<2; i++) fRec50[i] = 0;
fslider3 = 2.0f;
for (int i=0; i<2; i++) fVec3[i] = 0;
iConst0 = min(192000, max(1, fSamplingFreq));
fConst1 = (3.141592653589793f / float(iConst0));
for (int i=0; i<2; i++) fRec51[i] = 0;
for (int i=0; i<2; i++) fRec52[i] = 0;
fslider4 = 0.1f;
for (int i=0; i<2; i++) fVec4[i] = 0;
fConst2 = (0.0005668934240362812f * iConst0);
IOTA = 0;
for (int i=0; i<65536; i++) fVec5[i] = 0;
fslider5 = 0.2f;
for (int i=0; i<2; i++) fRec53[i] = 0;
for (int i=0; i<2; i++) fRec54[i] = 0;
for (int i=0; i<2; i++) fRec55[i] = 0;
for (int i=0; i<2; i++) fRec56[i] = 0;
fslider6 = 0.9f;
for (int i=0; i<2; i++) fVec6[i] = 0;
for (int i=0; i<65536; i++) fVec7[i] = 0;
for (int i=0; i<16384; i++) fVec8[i] = 0;
for (int i=0; i<2; i++) fRec49[i] = 0;
for (int i=0; i<2; i++) fRec47[i] = 0;
for (int i=0; i<2; i++) fRec58[i] = 0;
for (int i=0; i<16384; i++) fVec9[i] = 0;
for (int i=0; i<2; i++) fRec57[i] = 0;
for (int i=0; i<2; i++) fRec48[i] = 0;
for (int i=0; i<16384; i++) fVec10[i] = 0;
for (int i=0; i<2; i++) fRec45[i] = 0;
for (int i=0; i<2; i++) fRec43[i] = 0;
for (int i=0; i<2; i++) fRec60[i] = 0;
for (int i=0; i<16384; i++) fVec11[i] = 0;
for (int i=0; i<2; i++) fRec59[i] = 0;
for (int i=0; i<2; i++) fRec44[i] = 0;
for (int i=0; i<16384; i++) fVec12[i] = 0;
for (int i=0; i<2; i++) fRec41[i] = 0;
for (int i=0; i<2; i++) fRec39[i] = 0;
for (int i=0; i<2; i++) fRec62[i] = 0;
for (int i=0; i<16384; i++) fVec13[i] = 0;
for (int i=0; i<2; i++) fRec61[i] = 0;
for (int i=0; i<2; i++) fRec40[i] = 0;
for (int i=0; i<16384; i++) fVec14[i] = 0;
for (int i=0; i<2; i++) fRec37[i] = 0;
for (int i=0; i<2; i++) fRec35[i] = 0;
for (int i=0; i<2; i++) fRec64[i] = 0;
for (int i=0; i<16384; i++) fVec15[i] = 0;
for (int i=0; i<2; i++) fRec63[i] = 0;
for (int i=0; i<2; i++) fRec36[i] = 0;
for (int i=0; i<16384; i++) fVec16[i] = 0;
for (int i=0; i<2; i++) fRec33[i] = 0;
for (int i=0; i<2; i++) fRec31[i] = 0;
for (int i=0; i<2; i++) fRec66[i] = 0;
for (int i=0; i<16384; i++) fVec17[i] = 0;
for (int i=0; i<2; i++) fRec65[i] = 0;
for (int i=0; i<2; i++) fRec32[i] = 0;
for (int i=0; i<16384; i++) fVec18[i] = 0;
for (int i=0; i<2; i++) fRec29[i] = 0;
for (int i=0; i<2; i++) fRec27[i] = 0;
for (int i=0; i<2; i++) fRec68[i] = 0;
for (int i=0; i<16384; i++) fVec19[i] = 0;
for (int i=0; i<2; i++) fRec67[i] = 0;
for (int i=0; i<2; i++) fRec28[i] = 0;
for (int i=0; i<16384; i++) fVec20[i] = 0;
for (int i=0; i<2; i++) fRec25[i] = 0;
for (int i=0; i<2; i++) fRec23[i] = 0;
for (int i=0; i<2; i++) fRec70[i] = 0;
for (int i=0; i<16384; i++) fVec21[i] = 0;
for (int i=0; i<2; i++) fRec69[i] = 0;
for (int i=0; i<2; i++) fRec24[i] = 0;
for (int i=0; i<16384; i++) fVec22[i] = 0;
for (int i=0; i<2; i++) fRec21[i] = 0;
for (int i=0; i<2; i++) fRec19[i] = 0;
for (int i=0; i<2; i++) fRec72[i] = 0;
for (int i=0; i<16384; i++) fVec23[i] = 0;
for (int i=0; i<2; i++) fRec71[i] = 0;
for (int i=0; i<2; i++) fRec20[i] = 0;
for (int i=0; i<16384; i++) fVec24[i] = 0;
for (int i=0; i<2; i++) fRec17[i] = 0;
for (int i=0; i<2; i++) fRec15[i] = 0;
for (int i=0; i<2; i++) fRec74[i] = 0;
for (int i=0; i<16384; i++) fVec25[i] = 0;
for (int i=0; i<2; i++) fRec73[i] = 0;
for (int i=0; i<2; i++) fRec16[i] = 0;
for (int i=0; i<16384; i++) fVec26[i] = 0;
for (int i=0; i<2; i++) fRec13[i] = 0;
for (int i=0; i<2; i++) fRec11[i] = 0;
for (int i=0; i<2; i++) fRec76[i] = 0;
for (int i=0; i<16384; i++) fVec27[i] = 0;
for (int i=0; i<2; i++) fRec75[i] = 0;
for (int i=0; i<2; i++) fRec12[i] = 0;
for (int i=0; i<16384; i++) fVec28[i] = 0;
for (int i=0; i<2; i++) fRec9[i] = 0;
for (int i=0; i<2; i++) fRec7[i] = 0;
for (int i=0; i<2; i++) fRec78[i] = 0;
for (int i=0; i<16384; i++) fVec29[i] = 0;
for (int i=0; i<2; i++) fRec77[i] = 0;
for (int i=0; i<2; i++) fRec8[i] = 0;
for (int i=0; i<16384; i++) fVec30[i] = 0;
for (int i=0; i<2; i++) fRec5[i] = 0;
for (int i=0; i<2; i++) fRec3[i] = 0;
for (int i=0; i<2; i++) fRec80[i] = 0;
for (int i=0; i<16384; i++) fVec31[i] = 0;
for (int i=0; i<2; i++) fRec79[i] = 0;
for (int i=0; i<2; i++) fRec4[i] = 0;
for (int i=0; i<2; i++) fRec2[i] = 0;
for (int i=0; i<1024; i++) fRec0[i] = 0;
for (int i=0; i<2; i++) fRec81[i] = 0;
for (int i=0; i<1024; i++) fRec1[i] = 0;
}
virtual void init(int samplingFreq) {
classInit(samplingFreq);
instanceInit(samplingFreq);
}
virtual void buildUserInterface(UI* interface) {
interface->openVerticalBox("GreyholeRaw");
interface->addHorizontalSlider("damping", &fslider0, 0.0f, 0.0f, 0.99f, 0.001f);
interface->addHorizontalSlider("delayTime", &fslider5, 0.2f, 0.001f, 1.45f, 0.0001f);
interface->addHorizontalSlider("diffusion", &fslider2, 0.5f, 0.0f, 0.99f, 0.0001f);
interface->addHorizontalSlider("feedback", &fslider6, 0.9f, 0.0f, 1.0f, 0.01f);
interface->addHorizontalSlider("modDepth", &fslider4, 0.1f, 0.0f, 1.0f, 0.001f);
interface->addHorizontalSlider("modFreq", &fslider3, 2.0f, 0.0f, 1e+01f, 0.01f);
interface->addHorizontalSlider("size", &fslider1, 1.0f, 0.5f, 3.0f, 0.0001f);
interface->closeBox();
}
virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** output) {
float fSlow0 = float(fslider0);
float fSlow1 = float(fslider1);
float fSlow2 = (48 * fSlow1);
int iSlow3 = primes(fSlow2);
float fSlow4 = (0.0010000000000000009f * iSlow3);
float fSlow5 = (61 * fSlow1);
int iSlow6 = primes(fSlow5);
float fSlow7 = (0.0010000000000000009f * iSlow6);
float fSlow8 = (74 * fSlow1);
int iSlow9 = primes(fSlow8);
float fSlow10 = (0.0010000000000000009f * iSlow9);
float fSlow11 = (87 * fSlow1);
int iSlow12 = primes(fSlow11);
float fSlow13 = (9.999999999998899e-05f * iSlow12);
float fSlow14 = float(fslider2);
float fSlow15 = (29 * fSlow1);
int iSlow16 = primes(fSlow15);
float fSlow17 = (0.0010000000000000009f * iSlow16);
float fSlow18 = (42 * fSlow1);
int iSlow19 = primes(fSlow18);
float fSlow20 = (0.0010000000000000009f * iSlow19);
float fSlow21 = (55 * fSlow1);
int iSlow22 = primes(fSlow21);
float fSlow23 = (0.0010000000000000009f * iSlow22);
float fSlow24 = (68 * fSlow1);
int iSlow25 = primes(fSlow24);
float fSlow26 = (9.999999999998899e-05f * iSlow25);
int iSlow27 = primes((10 * fSlow1));
float fSlow28 = (0.0010000000000000009f * iSlow27);
float fSlow29 = (23 * fSlow1);
int iSlow30 = primes(fSlow29);
float fSlow31 = (0.0010000000000000009f * iSlow30);
float fSlow32 = (36 * fSlow1);
int iSlow33 = primes(fSlow32);
float fSlow34 = (0.0010000000000000009f * iSlow33);
float fSlow35 = (49 * fSlow1);
int iSlow36 = primes(fSlow35);
float fSlow37 = (9.999999999998899e-05f * iSlow36);
float fSlow38 = float(fslider3);
float fSlow39 = float(fslider4);
float fSlow40 = floorf(min((float)65533, (iConst0 * float(fslider5))));
float fSlow41 = float(fslider6);
int iSlow42 = primes((10 + fSlow35));
float fSlow43 = (9.999999999998899e-05f * iSlow42);
int iSlow44 = primes((10 + fSlow32));
float fSlow45 = (0.0010000000000000009f * iSlow44);
int iSlow46 = primes((10 + fSlow29));
float fSlow47 = (0.0010000000000000009f * iSlow46);
int iSlow48 = primes((10 * (1 + fSlow1)));
float fSlow49 = (0.0010000000000000009f * iSlow48);
int iSlow50 = primes((10 + fSlow24));
float fSlow51 = (9.999999999998899e-05f * iSlow50);
int iSlow52 = primes((10 + fSlow21));
float fSlow53 = (0.0010000000000000009f * iSlow52);
int iSlow54 = primes((10 + fSlow18));
float fSlow55 = (0.0010000000000000009f * iSlow54);
int iSlow56 = primes((10 + fSlow15));
float fSlow57 = (0.0010000000000000009f * iSlow56);
int iSlow58 = primes((10 + fSlow11));
float fSlow59 = (9.999999999998899e-05f * iSlow58);
int iSlow60 = primes((10 + fSlow8));
float fSlow61 = (0.0010000000000000009f * iSlow60);
int iSlow62 = primes((10 + fSlow5));
float fSlow63 = (0.0010000000000000009f * iSlow62);
int iSlow64 = primes((10 + fSlow2));
float fSlow65 = (0.0010000000000000009f * iSlow64);
FAUSTFLOAT* input0 = input[0];
FAUSTFLOAT* input1 = input[1];
FAUSTFLOAT* output0 = output[0];
FAUSTFLOAT* output1 = output[1];
for (int i=0; i<count; i++) {
iVec0[0] = 1;
fVec1[0] = fSlow0;
float fTemp0 = (fSlow0 + fVec1[1]);
int iTemp1 = (1 - iVec0[1]);
fRec6[0] = (fSlow4 + (0.999f * ((iSlow3 * iTemp1) + fRec6[1])));
int iTemp2 = int((fRec6[0] - 1.49999f));
float fTemp3 = (fRec6[0] - iTemp2);
float fTemp4 = ((2.0f + iTemp2) - fRec6[0]);
fRec10[0] = (fSlow7 + (0.999f * ((iSlow6 * iTemp1) + fRec10[1])));
int iTemp5 = int((fRec10[0] - 1.49999f));
float fTemp6 = (fRec10[0] - iTemp5);
float fTemp7 = ((2.0f + iTemp5) - fRec10[0]);
fRec14[0] = (fSlow10 + (0.999f * ((iSlow9 * iTemp1) + fRec14[1])));
int iTemp8 = int((fRec14[0] - 1.49999f));
float fTemp9 = (fRec14[0] - iTemp8);
float fTemp10 = ((2.0f + iTemp8) - fRec14[0]);
fRec18[0] = (fSlow13 + (0.9999f * ((iSlow12 * iTemp1) + fRec18[1])));
int iTemp11 = int((fRec18[0] - 1.49999f));
float fTemp12 = (fRec18[0] - iTemp11);
float fTemp13 = ((2.0f + iTemp11) - fRec18[0]);
fVec2[0] = fSlow14;
float fTemp14 = (0.5f * (fSlow14 + fVec2[1]));
float fTemp15 = sinf(fTemp14);
float fTemp16 = (0 - fTemp15);
float fTemp17 = (fTemp16 * fRec15[1]);
fRec22[0] = (fSlow17 + (0.999f * ((iSlow16 * iTemp1) + fRec22[1])));
int iTemp18 = int((fRec22[0] - 1.49999f));
float fTemp19 = (fRec22[0] - iTemp18);
float fTemp20 = ((2.0f + iTemp18) - fRec22[0]);
fRec26[0] = (fSlow20 + (0.999f * ((iSlow19 * iTemp1) + fRec26[1])));
int iTemp21 = int((fRec26[0] - 1.49999f));
float fTemp22 = (fRec26[0] - iTemp21);
float fTemp23 = ((2.0f + iTemp21) - fRec26[0]);
fRec30[0] = (fSlow23 + (0.999f * ((iSlow22 * iTemp1) + fRec30[1])));
int iTemp24 = int((fRec30[0] - 1.49999f));
float fTemp25 = (fRec30[0] - iTemp24);
float fTemp26 = ((2.0f + iTemp24) - fRec30[0]);
fRec34[0] = (fSlow26 + (0.9999f * ((iSlow25 * iTemp1) + fRec34[1])));
int iTemp27 = int((fRec34[0] - 1.49999f));
float fTemp28 = (fRec34[0] - iTemp27);
float fTemp29 = ((2.0f + iTemp27) - fRec34[0]);
float fTemp30 = (0 - fTemp14);
float fTemp31 = sinf(fTemp30);
float fTemp32 = (0 - fTemp31);
float fTemp33 = (fTemp32 * fRec31[1]);
fRec38[0] = (fSlow28 + (0.999f * ((iSlow27 * iTemp1) + fRec38[1])));
int iTemp34 = int((fRec38[0] - 1.49999f));
float fTemp35 = (fRec38[0] - iTemp34);
float fTemp36 = ((2.0f + iTemp34) - fRec38[0]);
fRec42[0] = (fSlow31 + (0.999f * ((iSlow30 * iTemp1) + fRec42[1])));
int iTemp37 = int((fRec42[0] - 1.49999f));
float fTemp38 = (fRec42[0] - iTemp37);
float fTemp39 = ((2.0f + iTemp37) - fRec42[0]);
fRec46[0] = (fSlow34 + (0.999f * ((iSlow33 * iTemp1) + fRec46[1])));
int iTemp40 = int((fRec46[0] - 1.49999f));
float fTemp41 = (fRec46[0] - iTemp40);
float fTemp42 = ((2.0f + iTemp40) - fRec46[0]);
fRec50[0] = (fSlow37 + (0.9999f * ((iSlow36 * iTemp1) + fRec50[1])));
int iTemp43 = int((fRec50[0] - 1.49999f));
float fTemp44 = (fRec50[0] - iTemp43);
float fTemp45 = ((2.0f + iTemp43) - fRec50[0]);
float fTemp46 = (fTemp16 * fRec47[1]);
fVec3[0] = fSlow38;
float fTemp47 = (fConst1 * (fSlow38 + fVec3[1]));
float fTemp48 = sinf(fTemp47);
float fTemp49 = cosf(fTemp47);
fRec51[0] = ((fTemp49 * fRec51[1]) + (fTemp48 * fRec52[1]));
fRec52[0] = ((1 + (((0 - fTemp48) * fRec51[1]) + (fTemp49 * fRec52[1]))) - iVec0[1]);
fVec4[0] = fSlow39;
float fTemp50 = (fSlow39 + fVec4[1]);
float fTemp51 = (fConst2 * (fTemp50 * (1.0f + fRec52[0])));
int iTemp52 = int((8.50001f + fTemp51));
float fTemp53 = ((8.0f + fTemp51) - iTemp52);
float fTemp54 = ((1e+01f + fTemp51) - iTemp52);
float fTemp55 = ((6.0f + fTemp51) - iTemp52);
float fTemp56 = ((9.0f + fTemp51) - iTemp52);
float fTemp57 = ((7.0f + fTemp51) - iTemp52);
float fTemp58 = ((fTemp57 * fTemp54) * fTemp53);
float fTemp59 = ((0.041666666666666664f * ((fTemp58 * fTemp56) * fRec0[(IOTA-int((1 + int((int((4 + iTemp52)) & 511)))))&1023])) + (0.16666666666666666f * ((((0 - (((fTemp54 * fTemp53) * fTemp56) * fTemp55)) * fRec0[(IOTA-int((1 + int((int((3 + iTemp52)) & 511)))))&1023]) + ((0 - (fTemp58 * fTemp55)) * fRec0[(IOTA-int((1 + int((int((1 + iTemp52)) & 511)))))&1023])) + (6.0f * (((fTemp57 * fTemp56) * fTemp55) * ((0.25f * (fTemp54 * fRec0[(IOTA-int((1 + int((int((2 + iTemp52)) & 511)))))&1023])) + (0.041666666666666664f * (fTemp53 * fRec0[(IOTA-int((1 + int((iTemp52 & 511)))))&1023]))))))));
fVec5[IOTA&65535] = fTemp59;
float fTemp60 = ((int((fRec53[1] != 0.0f)))?((int(((fRec54[1] > 0.0f) & (fRec54[1] < 1.0f))))?fRec53[1]:0):((int(((fRec54[1] == 0.0f) & (fSlow40 != fRec55[1]))))?4.5351473922902495e-05f:((int(((fRec54[1] == 1.0f) & (fSlow40 != fRec56[1]))))?-4.5351473922902495e-05f:0)));
fRec53[0] = fTemp60;
fRec54[0] = max(0.0f, min(1.0f, (fRec54[1] + fTemp60)));
fRec55[0] = ((int(((fRec54[1] >= 1.0f) & (fRec56[1] != fSlow40))))?fSlow40:fRec55[1]);
fRec56[0] = ((int(((fRec54[1] <= 0.0f) & (fRec55[1] != fSlow40))))?fSlow40:fRec56[1]);
int iTemp61 = int((int(fRec55[0]) & 65535));
float fTemp62 = (1.0f - fRec54[0]);
int iTemp63 = int((int(fRec56[0]) & 65535));
fVec6[0] = fSlow41;
float fTemp64 = (fSlow41 + fVec6[1]);
float fTemp65 = ((float)input0[i] + (0.5f * (fTemp64 * ((fRec54[0] * fVec5[(IOTA-iTemp63)&65535]) + (fTemp62 * fVec5[(IOTA-iTemp61)&65535])))));
float fTemp66 = cosf(fTemp14);
float fTemp67 = ((fTemp66 * fTemp65) + (fTemp16 * fRec35[1]));
float fTemp68 = ((fTemp66 * fTemp67) + (fTemp16 * fRec39[1]));
float fTemp69 = ((fTemp66 * fTemp68) + (fTemp16 * fRec43[1]));
float fTemp70 = (fTemp66 * fTemp69);
float fTemp71 = (fConst2 * (fTemp50 * (1.0f + fRec51[0])));
int iTemp72 = int((8.50001f + fTemp71));
float fTemp73 = ((fTemp71 + 8.0f) - iTemp72);
float fTemp74 = ((1e+01f + fTemp71) - iTemp72);
float fTemp75 = ((6.0f + fTemp71) - iTemp72);
float fTemp76 = ((fTemp71 + 9.0f) - iTemp72);
float fTemp77 = ((7.0f + fTemp71) - iTemp72);
float fTemp78 = ((fTemp74 * fTemp77) * fTemp73);
float fTemp79 = ((0.041666666666666664f * ((fTemp78 * fTemp76) * fRec1[(IOTA-int((1 + int((int((4 + iTemp72)) & 511)))))&1023])) + (0.16666666666666666f * ((((0 - (((fTemp74 * fTemp73) * fTemp76) * fTemp75)) * fRec1[(IOTA-int((1 + int((int((3 + iTemp72)) & 511)))))&1023]) + ((0 - (fTemp78 * fTemp75)) * fRec1[(IOTA-int((1 + int((int((1 + iTemp72)) & 511)))))&1023])) + (6.0f * (((fTemp77 * fTemp76) * fTemp75) * ((0.25f * (fTemp74 * fRec1[(IOTA-int((1 + int((int((2 + iTemp72)) & 511)))))&1023])) + (0.041666666666666664f * (fTemp73 * fRec1[(IOTA-int((1 + int((iTemp72 & 511)))))&1023]))))))));
fVec7[IOTA&65535] = fTemp79;
float fTemp80 = ((float)input1[i] + (0.5f * (fTemp64 * ((fRec54[0] * fVec7[(IOTA-iTemp63)&65535]) + (fTemp62 * fVec7[(IOTA-iTemp61)&65535])))));
float fTemp81 = ((fTemp80 * fTemp66) + (fTemp16 * fRec36[1]));
float fTemp82 = ((fTemp66 * fTemp81) + (fTemp16 * fRec40[1]));
float fTemp83 = ((fTemp66 * fTemp82) + (fTemp16 * fRec44[1]));
float fTemp84 = ((fTemp66 * fTemp83) + (fTemp16 * fRec48[1]));
float fTemp85 = (0 - (fTemp84 - (6.123233995736766e-17f * (fTemp70 + fTemp46))));
fVec8[IOTA&16383] = fTemp85;
int iTemp86 = int((iTemp43 & 8191));
fRec49[0] = ((fVec8[(IOTA-int((1 + iTemp86)))&16383] + ((fVec8[(IOTA-iTemp86)&16383] * fTemp45) / fTemp44)) + ((0 - (fTemp45 / fTemp44)) * fRec49[1]));
fRec47[0] = fRec49[0];
fRec58[0] = (fSlow43 + (0.9999f * ((iSlow42 * iTemp1) + fRec58[1])));
int iTemp87 = int((fRec58[0] - 1.49999f));
float fTemp88 = (fRec58[0] - iTemp87);
float fTemp89 = ((2.0f + iTemp87) - fRec58[0]);
float fTemp90 = (fTemp46 + ((6.123233995736766e-17f * fTemp84) + fTemp70));
fVec9[IOTA&16383] = fTemp90;
int iTemp91 = int((iTemp87 & 8191));
fRec57[0] = ((fVec9[(IOTA-int((1 + iTemp91)))&16383] + ((fVec9[(IOTA-iTemp91)&16383] * fTemp89) / fTemp88)) + ((0 - (fTemp89 / fTemp88)) * fRec57[1]));
fRec48[0] = fRec57[0];
float fTemp92 = (fTemp66 * fRec47[1]);
float fTemp93 = (fTemp15 * fTemp69);
float fTemp94 = ((fTemp15 * fTemp83) + (fTemp66 * fRec48[1]));
float fTemp95 = (0 - (fTemp94 - (6.123233995736766e-17f * (fTemp93 + fTemp92))));
fVec10[IOTA&16383] = fTemp95;
int iTemp96 = int((iTemp40 & 8191));
fRec45[0] = ((fVec10[(IOTA-int((1 + iTemp96)))&16383] + ((fVec10[(IOTA-iTemp96)&16383] * fTemp42) / fTemp41)) + ((0 - (fTemp42 / fTemp41)) * fRec45[1]));
fRec43[0] = fRec45[0];
fRec60[0] = (fSlow45 + (0.999f * ((iSlow44 * iTemp1) + fRec60[1])));
int iTemp97 = int((fRec60[0] - 1.49999f));
float fTemp98 = (fRec60[0] - iTemp97);
float fTemp99 = ((2.0f + iTemp97) - fRec60[0]);
float fTemp100 = (fTemp92 + ((6.123233995736766e-17f * fTemp94) + fTemp93));
fVec11[IOTA&16383] = fTemp100;
int iTemp101 = int((iTemp97 & 8191));
fRec59[0] = ((fVec11[(IOTA-int((1 + iTemp101)))&16383] + ((fVec11[(IOTA-iTemp101)&16383] * fTemp99) / fTemp98)) + ((0 - (fTemp99 / fTemp98)) * fRec59[1]));
fRec44[0] = fRec59[0];
float fTemp102 = (fTemp66 * fRec43[1]);
float fTemp103 = (fTemp15 * fTemp68);
float fTemp104 = ((fTemp15 * fTemp82) + (fTemp66 * fRec44[1]));
float fTemp105 = (0 - (fTemp104 - (6.123233995736766e-17f * (fTemp103 + fTemp102))));
fVec12[IOTA&16383] = fTemp105;
int iTemp106 = int((iTemp37 & 8191));
fRec41[0] = ((fVec12[(IOTA-int((1 + iTemp106)))&16383] + ((fVec12[(IOTA-iTemp106)&16383] * fTemp39) / fTemp38)) + ((0 - (fTemp39 / fTemp38)) * fRec41[1]));
fRec39[0] = fRec41[0];
fRec62[0] = (fSlow47 + (0.999f * ((iSlow46 * iTemp1) + fRec62[1])));
int iTemp107 = int((fRec62[0] - 1.49999f));
float fTemp108 = (fRec62[0] - iTemp107);
float fTemp109 = ((2.0f + iTemp107) - fRec62[0]);
float fTemp110 = (fTemp102 + ((6.123233995736766e-17f * fTemp104) + fTemp103));
fVec13[IOTA&16383] = fTemp110;
int iTemp111 = int((iTemp107 & 8191));
fRec61[0] = ((fVec13[(IOTA-int((1 + iTemp111)))&16383] + ((fVec13[(IOTA-iTemp111)&16383] * fTemp109) / fTemp108)) + ((0 - (fTemp109 / fTemp108)) * fRec61[1]));
fRec40[0] = fRec61[0];
float fTemp112 = (fTemp66 * fRec39[1]);
float fTemp113 = (fTemp15 * fTemp67);
float fTemp114 = ((fTemp15 * fTemp81) + (fTemp66 * fRec40[1]));
float fTemp115 = (0 - (fTemp114 - (6.123233995736766e-17f * (fTemp113 + fTemp112))));
fVec14[IOTA&16383] = fTemp115;
int iTemp116 = int((iTemp34 & 8191));
fRec37[0] = ((fVec14[(IOTA-int((1 + iTemp116)))&16383] + ((fVec14[(IOTA-iTemp116)&16383] * fTemp36) / fTemp35)) + ((0 - (fTemp36 / fTemp35)) * fRec37[1]));
fRec35[0] = fRec37[0];
fRec64[0] = (fSlow49 + (0.999f * ((iSlow48 * iTemp1) + fRec64[1])));
int iTemp117 = int((fRec64[0] - 1.49999f));
float fTemp118 = (fRec64[0] - iTemp117);
float fTemp119 = ((2.0f + iTemp117) - fRec64[0]);
float fTemp120 = (fTemp112 + ((6.123233995736766e-17f * fTemp114) + fTemp113));
fVec15[IOTA&16383] = fTemp120;
int iTemp121 = int((iTemp117 & 8191));
fRec63[0] = ((fVec15[(IOTA-int((1 + iTemp121)))&16383] + ((fVec15[(IOTA-iTemp121)&16383] * fTemp119) / fTemp118)) + ((0 - (fTemp119 / fTemp118)) * fRec63[1]));
fRec36[0] = fRec63[0];
float fTemp122 = ((fTemp15 * fTemp65) + (fTemp66 * fRec35[1]));
float fTemp123 = cosf(fTemp30);
float fTemp124 = ((fTemp123 * fTemp122) + (fTemp32 * fRec19[1]));
float fTemp125 = ((fTemp123 * fTemp124) + (fTemp32 * fRec23[1]));
float fTemp126 = ((fTemp123 * fTemp125) + (fTemp32 * fRec27[1]));
float fTemp127 = (fTemp123 * fTemp126);
float fTemp128 = ((fTemp15 * fTemp80) + (fTemp66 * fRec36[1]));
float fTemp129 = ((fTemp128 * fTemp123) + (fTemp32 * fRec20[1]));
float fTemp130 = ((fTemp123 * fTemp129) + (fTemp32 * fRec24[1]));
float fTemp131 = ((fTemp123 * fTemp130) + (fTemp32 * fRec28[1]));
float fTemp132 = ((fTemp123 * fTemp131) + (fTemp32 * fRec32[1]));
float fTemp133 = (0 - (fTemp132 - (6.123233995736766e-17f * (fTemp127 + fTemp33))));
fVec16[IOTA&16383] = fTemp133;
int iTemp134 = int((iTemp27 & 8191));
fRec33[0] = ((fVec16[(IOTA-int((1 + iTemp134)))&16383] + ((fVec16[(IOTA-iTemp134)&16383] * fTemp29) / fTemp28)) + ((0 - (fTemp29 / fTemp28)) * fRec33[1]));
fRec31[0] = fRec33[0];
fRec66[0] = (fSlow51 + (0.9999f * ((iSlow50 * iTemp1) + fRec66[1])));
int iTemp135 = int((fRec66[0] - 1.49999f));
float fTemp136 = (fRec66[0] - iTemp135);
float fTemp137 = ((2.0f + iTemp135) - fRec66[0]);
float fTemp138 = (fTemp33 + ((6.123233995736766e-17f * fTemp132) + fTemp127));
fVec17[IOTA&16383] = fTemp138;
int iTemp139 = int((iTemp135 & 8191));
fRec65[0] = ((fVec17[(IOTA-int((1 + iTemp139)))&16383] + ((fVec17[(IOTA-iTemp139)&16383] * fTemp137) / fTemp136)) + ((0 - (fTemp137 / fTemp136)) * fRec65[1]));
fRec32[0] = fRec65[0];
float fTemp140 = (fTemp123 * fRec31[1]);
float fTemp141 = (fTemp31 * fTemp126);
float fTemp142 = ((fTemp31 * fTemp131) + (fTemp123 * fRec32[1]));
float fTemp143 = (0 - (fTemp142 - (6.123233995736766e-17f * (fTemp141 + fTemp140))));
fVec18[IOTA&16383] = fTemp143;
int iTemp144 = int((iTemp24 & 8191));
fRec29[0] = ((fVec18[(IOTA-int((1 + iTemp144)))&16383] + ((fVec18[(IOTA-iTemp144)&16383] * fTemp26) / fTemp25)) + ((0 - (fTemp26 / fTemp25)) * fRec29[1]));
fRec27[0] = fRec29[0];
fRec68[0] = (fSlow53 + (0.999f * ((iSlow52 * iTemp1) + fRec68[1])));
int iTemp145 = int((fRec68[0] - 1.49999f));
float fTemp146 = (fRec68[0] - iTemp145);
float fTemp147 = ((2.0f + iTemp145) - fRec68[0]);
float fTemp148 = (fTemp140 + ((6.123233995736766e-17f * fTemp142) + fTemp141));
fVec19[IOTA&16383] = fTemp148;
int iTemp149 = int((iTemp145 & 8191));
fRec67[0] = ((fVec19[(IOTA-int((1 + iTemp149)))&16383] + ((fVec19[(IOTA-iTemp149)&16383] * fTemp147) / fTemp146)) + ((0 - (fTemp147 / fTemp146)) * fRec67[1]));
fRec28[0] = fRec67[0];
float fTemp150 = (fTemp123 * fRec27[1]);
float fTemp151 = (fTemp31 * fTemp125);
float fTemp152 = ((fTemp31 * fTemp130) + (fTemp123 * fRec28[1]));
float fTemp153 = (0 - (fTemp152 - (6.123233995736766e-17f * (fTemp151 + fTemp150))));
fVec20[IOTA&16383] = fTemp153;
int iTemp154 = int((iTemp21 & 8191));
fRec25[0] = ((fVec20[(IOTA-int((1 + iTemp154)))&16383] + ((fVec20[(IOTA-iTemp154)&16383] * fTemp23) / fTemp22)) + ((0 - (fTemp23 / fTemp22)) * fRec25[1]));
fRec23[0] = fRec25[0];
fRec70[0] = (fSlow55 + (0.999f * ((iSlow54 * iTemp1) + fRec70[1])));
int iTemp155 = int((fRec70[0] - 1.49999f));
float fTemp156 = (fRec70[0] - iTemp155);
float fTemp157 = ((2.0f + iTemp155) - fRec70[0]);
float fTemp158 = (fTemp150 + ((6.123233995736766e-17f * fTemp152) + fTemp151));
fVec21[IOTA&16383] = fTemp158;
int iTemp159 = int((iTemp155 & 8191));
fRec69[0] = ((fVec21[(IOTA-int((1 + iTemp159)))&16383] + ((fVec21[(IOTA-iTemp159)&16383] * fTemp157) / fTemp156)) + ((0 - (fTemp157 / fTemp156)) * fRec69[1]));
fRec24[0] = fRec69[0];
float fTemp160 = (fTemp123 * fRec23[1]);
float fTemp161 = (fTemp31 * fTemp124);
float fTemp162 = ((fTemp31 * fTemp129) + (fTemp123 * fRec24[1]));
float fTemp163 = (0 - (fTemp162 - (6.123233995736766e-17f * (fTemp161 + fTemp160))));
fVec22[IOTA&16383] = fTemp163;
int iTemp164 = int((iTemp18 & 8191));
fRec21[0] = ((fVec22[(IOTA-int((1 + iTemp164)))&16383] + ((fVec22[(IOTA-iTemp164)&16383] * fTemp20) / fTemp19)) + ((0 - (fTemp20 / fTemp19)) * fRec21[1]));
fRec19[0] = fRec21[0];
fRec72[0] = (fSlow57 + (0.999f * ((iSlow56 * iTemp1) + fRec72[1])));
int iTemp165 = int((fRec72[0] - 1.49999f));
float fTemp166 = (fRec72[0] - iTemp165);
float fTemp167 = ((2.0f + iTemp165) - fRec72[0]);
float fTemp168 = (fTemp160 + ((6.123233995736766e-17f * fTemp162) + fTemp161));
fVec23[IOTA&16383] = fTemp168;
int iTemp169 = int((iTemp165 & 8191));
fRec71[0] = ((fVec23[(IOTA-int((1 + iTemp169)))&16383] + ((fVec23[(IOTA-iTemp169)&16383] * fTemp167) / fTemp166)) + ((0 - (fTemp167 / fTemp166)) * fRec71[1]));
fRec20[0] = fRec71[0];
float fTemp170 = ((fTemp31 * fTemp122) + (fTemp123 * fRec19[1]));
float fTemp171 = ((fTemp66 * fTemp170) + (fTemp16 * fRec3[1]));
float fTemp172 = ((fTemp66 * fTemp171) + (fTemp16 * fRec7[1]));
float fTemp173 = ((fTemp66 * fTemp172) + (fTemp16 * fRec11[1]));
float fTemp174 = (fTemp66 * fTemp173);
float fTemp175 = ((fTemp31 * fTemp128) + (fTemp123 * fRec20[1]));
float fTemp176 = ((fTemp66 * fTemp175) + (fTemp16 * fRec4[1]));
float fTemp177 = ((fTemp66 * fTemp176) + (fTemp16 * fRec8[1]));
float fTemp178 = ((fTemp66 * fTemp177) + (fTemp16 * fRec12[1]));
float fTemp179 = ((fTemp66 * fTemp178) + (fTemp16 * fRec16[1]));
float fTemp180 = (0 - (fTemp179 - (6.123233995736766e-17f * (fTemp174 + fTemp17))));
fVec24[IOTA&16383] = fTemp180;
int iTemp181 = int((iTemp11 & 8191));
fRec17[0] = ((fVec24[(IOTA-int((1 + iTemp181)))&16383] + ((fVec24[(IOTA-iTemp181)&16383] * fTemp13) / fTemp12)) + ((0 - (fTemp13 / fTemp12)) * fRec17[1]));
fRec15[0] = fRec17[0];
fRec74[0] = (fSlow59 + (0.9999f * ((iSlow58 * iTemp1) + fRec74[1])));
int iTemp182 = int((fRec74[0] - 1.49999f));
float fTemp183 = (fRec74[0] - iTemp182);
float fTemp184 = ((2.0f + iTemp182) - fRec74[0]);
float fTemp185 = (fTemp17 + ((6.123233995736766e-17f * fTemp179) + fTemp174));
fVec25[IOTA&16383] = fTemp185;
int iTemp186 = int((iTemp182 & 8191));
fRec73[0] = ((fVec25[(IOTA-int((1 + iTemp186)))&16383] + ((fVec25[(IOTA-iTemp186)&16383] * fTemp184) / fTemp183)) + ((0 - (fTemp184 / fTemp183)) * fRec73[1]));
fRec16[0] = fRec73[0];
float fTemp187 = (fTemp66 * fRec15[1]);
float fTemp188 = (fTemp15 * fTemp173);
float fTemp189 = ((fTemp15 * fTemp178) + (fTemp66 * fRec16[1]));
float fTemp190 = (0 - (fTemp189 - (6.123233995736766e-17f * (fTemp188 + fTemp187))));
fVec26[IOTA&16383] = fTemp190;
int iTemp191 = int((iTemp8 & 8191));
fRec13[0] = ((fVec26[(IOTA-int((1 + iTemp191)))&16383] + ((fVec26[(IOTA-iTemp191)&16383] * fTemp10) / fTemp9)) + ((0 - (fTemp10 / fTemp9)) * fRec13[1]));
fRec11[0] = fRec13[0];
fRec76[0] = (fSlow61 + (0.999f * ((iSlow60 * iTemp1) + fRec76[1])));
int iTemp192 = int((fRec76[0] - 1.49999f));
float fTemp193 = (fRec76[0] - iTemp192);
float fTemp194 = ((2.0f + iTemp192) - fRec76[0]);
float fTemp195 = (fTemp187 + ((6.123233995736766e-17f * fTemp189) + fTemp188));
fVec27[IOTA&16383] = fTemp195;
int iTemp196 = int((iTemp192 & 8191));
fRec75[0] = ((fVec27[(IOTA-int((1 + iTemp196)))&16383] + ((fVec27[(IOTA-iTemp196)&16383] * fTemp194) / fTemp193)) + ((0 - (fTemp194 / fTemp193)) * fRec75[1]));
fRec12[0] = fRec75[0];
float fTemp197 = (fTemp66 * fRec11[1]);
float fTemp198 = (fTemp15 * fTemp172);
float fTemp199 = ((fTemp15 * fTemp177) + (fTemp66 * fRec12[1]));
float fTemp200 = (0 - (fTemp199 - (6.123233995736766e-17f * (fTemp198 + fTemp197))));
fVec28[IOTA&16383] = fTemp200;
int iTemp201 = int((iTemp5 & 8191));
fRec9[0] = ((fVec28[(IOTA-int((1 + iTemp201)))&16383] + ((fVec28[(IOTA-iTemp201)&16383] * fTemp7) / fTemp6)) + ((0 - (fTemp7 / fTemp6)) * fRec9[1]));
fRec7[0] = fRec9[0];
fRec78[0] = (fSlow63 + (0.999f * ((iSlow62 * iTemp1) + fRec78[1])));
int iTemp202 = int((fRec78[0] - 1.49999f));
float fTemp203 = (fRec78[0] - iTemp202);
float fTemp204 = ((2.0f + iTemp202) - fRec78[0]);
float fTemp205 = (fTemp197 + ((6.123233995736766e-17f * fTemp199) + fTemp198));
fVec29[IOTA&16383] = fTemp205;
int iTemp206 = int((iTemp202 & 8191));
fRec77[0] = ((fVec29[(IOTA-int((1 + iTemp206)))&16383] + ((fVec29[(IOTA-iTemp206)&16383] * fTemp204) / fTemp203)) + ((0 - (fTemp204 / fTemp203)) * fRec77[1]));
fRec8[0] = fRec77[0];
float fTemp207 = (fTemp66 * fRec7[1]);
float fTemp208 = (fTemp15 * fTemp171);
float fTemp209 = ((fTemp15 * fTemp176) + (fTemp66 * fRec8[1]));
float fTemp210 = (0 - (fTemp209 - (6.123233995736766e-17f * (fTemp208 + fTemp207))));
fVec30[IOTA&16383] = fTemp210;
int iTemp211 = int((iTemp2 & 8191));
fRec5[0] = ((fVec30[(IOTA-int((1 + iTemp211)))&16383] + ((fVec30[(IOTA-iTemp211)&16383] * fTemp4) / fTemp3)) + ((0 - (fTemp4 / fTemp3)) * fRec5[1]));
fRec3[0] = fRec5[0];
fRec80[0] = (fSlow65 + (0.999f * ((iSlow64 * iTemp1) + fRec80[1])));
int iTemp212 = int((fRec80[0] - 1.49999f));
float fTemp213 = (fRec80[0] - iTemp212);
float fTemp214 = ((2.0f + iTemp212) - fRec80[0]);
float fTemp215 = (fTemp207 + ((6.123233995736766e-17f * fTemp209) + fTemp208));
fVec31[IOTA&16383] = fTemp215;
int iTemp216 = int((iTemp212 & 8191));
fRec79[0] = ((fVec31[(IOTA-int((1 + iTemp216)))&16383] + ((fVec31[(IOTA-iTemp216)&16383] * fTemp214) / fTemp213)) + ((0 - (fTemp214 / fTemp213)) * fRec79[1]));
fRec4[0] = fRec79[0];
float fTemp217 = (1.0f - (0.5f * fTemp0));
fRec2[0] = ((fTemp217 * ((fTemp15 * fTemp170) + (fTemp66 * fRec3[1]))) + (0.5f * (fTemp0 * fRec2[1])));
fRec0[IOTA&1023] = fRec2[0];
fRec81[0] = ((fTemp217 * ((fTemp15 * fTemp175) + (fTemp66 * fRec4[1]))) + (0.5f * (fTemp0 * fRec81[1])));
fRec1[IOTA&1023] = fRec81[0];
output0[i] = (FAUSTFLOAT)fRec0[(IOTA-0)&1023];
output1[i] = (FAUSTFLOAT)fRec1[(IOTA-0)&1023];
// post processing
fRec81[1] = fRec81[0];
fRec2[1] = fRec2[0];
fRec4[1] = fRec4[0];
fRec79[1] = fRec79[0];
fRec80[1] = fRec80[0];
fRec3[1] = fRec3[0];
fRec5[1] = fRec5[0];
fRec8[1] = fRec8[0];
fRec77[1] = fRec77[0];
fRec78[1] = fRec78[0];
fRec7[1] = fRec7[0];
fRec9[1] = fRec9[0];
fRec12[1] = fRec12[0];
fRec75[1] = fRec75[0];
fRec76[1] = fRec76[0];
fRec11[1] = fRec11[0];
fRec13[1] = fRec13[0];
fRec16[1] = fRec16[0];
fRec73[1] = fRec73[0];
fRec74[1] = fRec74[0];
fRec15[1] = fRec15[0];
fRec17[1] = fRec17[0];
fRec20[1] = fRec20[0];
fRec71[1] = fRec71[0];
fRec72[1] = fRec72[0];
fRec19[1] = fRec19[0];
fRec21[1] = fRec21[0];
fRec24[1] = fRec24[0];
fRec69[1] = fRec69[0];
fRec70[1] = fRec70[0];
fRec23[1] = fRec23[0];
fRec25[1] = fRec25[0];
fRec28[1] = fRec28[0];
fRec67[1] = fRec67[0];
fRec68[1] = fRec68[0];
fRec27[1] = fRec27[0];
fRec29[1] = fRec29[0];
fRec32[1] = fRec32[0];
fRec65[1] = fRec65[0];
fRec66[1] = fRec66[0];
fRec31[1] = fRec31[0];
fRec33[1] = fRec33[0];
fRec36[1] = fRec36[0];
fRec63[1] = fRec63[0];
fRec64[1] = fRec64[0];
fRec35[1] = fRec35[0];
fRec37[1] = fRec37[0];
fRec40[1] = fRec40[0];
fRec61[1] = fRec61[0];
fRec62[1] = fRec62[0];
fRec39[1] = fRec39[0];
fRec41[1] = fRec41[0];
fRec44[1] = fRec44[0];
fRec59[1] = fRec59[0];
fRec60[1] = fRec60[0];
fRec43[1] = fRec43[0];
fRec45[1] = fRec45[0];
fRec48[1] = fRec48[0];
fRec57[1] = fRec57[0];
fRec58[1] = fRec58[0];
fRec47[1] = fRec47[0];
fRec49[1] = fRec49[0];
fVec6[1] = fVec6[0];
fRec56[1] = fRec56[0];
fRec55[1] = fRec55[0];
fRec54[1] = fRec54[0];
fRec53[1] = fRec53[0];
IOTA = IOTA+1;
fVec4[1] = fVec4[0];
fRec52[1] = fRec52[0];
fRec51[1] = fRec51[0];
fVec3[1] = fVec3[0];
fRec50[1] = fRec50[0];
fRec46[1] = fRec46[0];
fRec42[1] = fRec42[0];
fRec38[1] = fRec38[0];
fRec34[1] = fRec34[0];
fRec30[1] = fRec30[0];
fRec26[1] = fRec26[0];
fRec22[1] = fRec22[0];
fVec2[1] = fVec2[0];
fRec18[1] = fRec18[0];
fRec14[1] = fRec14[0];
fRec10[1] = fRec10[0];
fRec6[1] = fRec6[0];
fVec1[1] = fVec1[0];
iVec0[1] = iVec0[0];
}
}
};
//----------------------------------------------------------------------------
// SuperCollider/Faust interface
//----------------------------------------------------------------------------
struct Faust : public Unit
{
// Faust dsp instance
FAUSTCLASS mDSP;
// Buffers for control to audio rate conversion
float** mInBufCopy;
float* mInBufValue;
// Controls
size_t mNumControls;
// NOTE: This needs to be the last field!
//
// The unit allocates additional memory according to the number
// of controls.
Control mControls[0];
int getNumAudioInputs() { return mDSP.getNumInputs(); }
};
// Global state
static size_t g_numControls; // Number of controls
static const char* g_unitName; // Unit name
// Initialize the global state with unit name and sample rate.
void initState(const std::string& name, int sampleRate);
// Return the unit size in bytes, including static fields and controls.
static size_t unitSize();
// Convert a file name to a valid unit name.
static std::string fileNameToUnitName(const std::string& fileName);
// Convert the XML unit name to a valid class name.
static std::string normalizeClassName(const std::string& name);
void initState(const std::string& name, int sampleRate)
{
g_unitName = strdup(name.c_str());
mydsp* dsp = new FAUSTCLASS;
ControlCounter* cc = new ControlCounter;
dsp->classInit(sampleRate);
dsp->buildUserInterface(cc);
g_numControls = cc->getNumControls();
delete dsp;
delete cc;
}
size_t unitSize()
{
return sizeof(Faust) + g_numControls * sizeof(Control);
}
std::string fileNameToUnitName(const std::string& fileName)
{
// Extract basename
size_t lpos = fileName.rfind('/', fileName.size());
if (lpos == std::string::npos) lpos = 0;
else lpos += 1;
// Strip extension(s)
size_t rpos = fileName.find('.', lpos);
// Return substring
return fileName.substr(lpos, rpos > lpos ? rpos - lpos : 0);
}
// Globals
static InterfaceTable *ft;
// The SuperCollider UGen class name generated here must match
// that generated by faust2sc:
static std::string normalizeClassName(const std::string& name)
{
std::string s;
char c;
unsigned int i=0;
bool upnext=true;
while (c=name[i++]) {
if (upnext) { c = toupper(c); upnext=false; }
if ( (c == '_') || (c == '-') || isspace(c)) { upnext=true; continue; }
s += c;
if (i > 31) { break; }
}
return s;
}
extern "C"
{
#ifdef SC_API_EXPORT
int api_version(void);
#endif
void load(InterfaceTable*);
void Faust_next(Faust*, int);
void Faust_next_copy(Faust*, int);
void Faust_next_clear(Faust*, int);
void Faust_Ctor(Faust*);
void Faust_Dtor(Faust*);
};
inline static void fillBuffer(float* dst, int n, float v)
{
Fill(n, dst, v);
}
inline static void fillBuffer(float* dst, int n, float v0, float v1)
{
Fill(n, dst, v0, (v1 - v0) / n);
}
inline static void copyBuffer(float* dst, int n, float* src)
{
Copy(n, dst, src);
}
inline static void Faust_updateControls(Faust* unit)
{
Control* controls = unit->mControls;
int numControls = unit->mNumControls;
int curControl = unit->mDSP.getNumInputs();
for (int i=0; i < numControls; ++i) {
float value = IN0(curControl);
(controls++)->update(value);
curControl++;
}
}
void Faust_next(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// dsp computation
unit->mDSP.compute(inNumSamples, unit->mInBuf, unit->mOutBuf);
}
void Faust_next_copy(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// Copy buffers
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
float* b = unit->mInBufCopy[i];
if (INRATE(i) == calc_FullRate) {
// Audio rate: copy buffer
copyBuffer(b, inNumSamples, unit->mInBuf[i]);
} else {
// Control rate: linearly interpolate input
float v1 = IN0(i);
fillBuffer(b, inNumSamples, unit->mInBufValue[i], v1);
unit->mInBufValue[i] = v1;
}
}
// dsp computation
unit->mDSP.compute(inNumSamples, unit->mInBufCopy, unit->mOutBuf);
}
void Faust_next_clear(Faust* unit, int inNumSamples)
{
ClearUnitOutputs(unit, inNumSamples);
}
void Faust_Ctor(Faust* unit) // module constructor
{
// init dsp
unit->mDSP.instanceInit((int)SAMPLERATE);
// allocate controls
unit->mNumControls = g_numControls;
ControlAllocator ca(unit->mControls);
unit->mDSP.buildUserInterface(&ca);
unit->mInBufCopy = 0;
unit->mInBufValue = 0;
// check input/output channel configuration
const size_t numInputs = unit->mDSP.getNumInputs() + unit->mNumControls;
const size_t numOutputs = unit->mDSP.getNumOutputs();
bool channelsValid = (numInputs == unit->mNumInputs)
&& (numOutputs == unit->mNumOutputs);
if (channelsValid) {
bool rateValid = true;
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
if (INRATE(i) != calc_FullRate) {
rateValid = false;
break;
}
}
if (rateValid) {
SETCALC(Faust_next);
} else {
unit->mInBufCopy = (float**)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float*));
// Allocate memory for input buffer copies (numInputs * bufLength)
// and linear interpolation state (numInputs)
// = numInputs * (bufLength + 1)
unit->mInBufValue = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float));
// Aquire memory for interpolator state.
float* mem = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*BUFLENGTH*sizeof(float));
for (int i=0; i < unit->getNumAudioInputs(); ++i) {
// Initialize interpolator.
unit->mInBufValue[i] = IN0(i);
// Aquire buffer memory.
unit->mInBufCopy[i] = mem;
mem += BUFLENGTH;
}
SETCALC(Faust_next_copy);
}
#if !defined(NDEBUG)
Print("Faust[%s]:\n", g_unitName);
Print(" Inputs: %d\n"
" Outputs: %d\n"
" Callback: %s\n",
numInputs, numOutputs,
unit->mCalcFunc == (UnitCalcFunc)Faust_next ? "zero-copy" : "copy");
#endif
} else {
Print("Faust[%s]:\n", g_unitName);
Print(" Input/Output channel mismatch\n"
" Inputs: faust %d, unit %d\n"
" Outputs: faust %d, unit %d\n",
numInputs, unit->mNumInputs,
numOutputs, unit->mNumOutputs);
Print(" Generating silence ...\n");
SETCALC(Faust_next_clear);
}
}
void Faust_Dtor(Faust* unit) // module destructor
{
if (unit->mInBufValue) {
RTFree(unit->mWorld, unit->mInBufValue);
}
if (unit->mInBufCopy) {
if (unit->mInBufCopy[0]) {
RTFree(unit->mWorld, unit->mInBufCopy[0]);
}
RTFree(unit->mWorld, unit->mInBufCopy);
}
}
#ifdef SC_API_EXPORT
FAUST_EXPORT int api_version(void) { return sc_api_version; }
#endif
FAUST_EXPORT void load(InterfaceTable* inTable)
{
ft = inTable;
MetaData meta;
FAUSTCLASS::metadata(&meta);
std::string name = meta["name"];
if (name.empty()) {
name = fileNameToUnitName(__FILE__);
}
name = normalizeClassName(name);
#if !defined(NDEBUG) & defined(SC_API_EXPORT)
Print("Faust: supercollider.cpp: sc_api_version = %d\n",sc_api_version);
#endif
if (name.empty()) {
// Catch empty name
Print("Faust [supercollider.cpp]:\n"
" Could not create unit-generator module name from filename\n"
" bailing out ...\n");
return;
}
if (strncmp(name.c_str(),SC_FAUST_PREFIX,strlen(SC_FAUST_PREFIX))!=0){
name = SC_FAUST_PREFIX + name;
}
// Initialize global data
// TODO: Use correct sample rate
initState(name, 48000);
// Register ugen
(*ft->fDefineUnit)(
(char*)name.c_str(),
unitSize(),
(UnitCtorFunc)&Faust_Ctor,
(UnitDtorFunc)&Faust_Dtor,
kUnitDef_CantAliasInputsToOutputs
);
#if !defined(NDEBUG)
Print("Faust: %s numControls=%d\n", name.c_str(), g_numControls);
#endif // NDEBUG
}
// EOF
declare name "GreyholeRaw";
declare version "1.0";
declare author "Julian Parker";
declare license "GPL2+";
declare copyright "(c) Julian Parker 2013";
import("math.lib");
import("maxmsp.lib");
import("music.lib");
import("oscillator.lib");
import("reduce.lib");
import("filter.lib");
import("effect.lib");
fb = hslider("feedback",0.9,0.0,1.0,0.01):linear_interp;
depth = ((SR/44100)*50*hslider("modDepth",0.1,0.0,1.0,0.001)):linear_interp;
freq = hslider("modFreq",2.0,0.0,10.0,0.01):linear_interp;
diff = hslider("diffusion",0.5,0.0,0.99,0.0001):linear_interp;
dt = min(65533,SR*hslider("delayTime",0.2,0.001,1.45,0.0001));
size = hslider("size",1.0,0.5,3.0,0.0001);
damp = hslider("damping", 0.0, 0.0, 0.99,0.001):linear_interp;
linear_interp = _<:(mem,_):+:*(0.5):_;
smooth_init(s,default) = *(1.0 - s) : + ~ (+(default*init(1)):*(s))
with
{
init(value) = value - value';
};
prime_delays = ffunction(int primes (int),<jprev.h>,"primes");
diffuser_nested(1,angle,g,scale) = bus(2) <: ( (bus(2) :par(i,2,*(c_norm))
: (( bus(4) :> bus(2) :rotator(angle) : (
fdelay1a(8192, prime_delays(size*scale):smooth_init(0.9999,prime_delays(size*scale)) -1 ),
fdelay1a(8192, prime_delays(size*scale +10):smooth_init(0.9999,prime_delays(size*scale + 10)) -1 )
) )~par(i,2,*(-s_norm)))
: par(i,2,mem:*(c_norm)) )
,
par(i,2,*(s_norm)))
:> bus(2)
with
{
rotator(angle) = bus(2) <: (*(c),*(-s),*(s),*(c)) :(+,+) : bus(2)
with{
c = cos(angle);
s = sin(angle);
};
c_norm = cos(g);
s_norm = sin(g);
};
diffuser_nested(N,angle,g,scale) = bus(2) <: ( (bus(2) :par(i,2,*(c_norm))
: (( bus(4) :> bus(2) : diffuser_nested(N-1,angle,g,scale+13) : rotator(angle) : (
fdelay1a(8192, prime_delays(size*scale):smooth_init(0.999,prime_delays(size*scale)) -1 ),
fdelay1a(8192, prime_delays(size*scale +10):smooth_init(0.999,prime_delays(size*scale + 10)) -1 )
) )~par(i,2,*(-s_norm)))
: par(i,2,mem:*(c_norm)) )
,
par(i,2,*(s_norm)))
:> bus(2)
with
{
rotator(angle) = bus(2) <: (*(c),*(-s),*(s),*(c)) :(+,+) : bus(2)
with{
c = cos(angle);
s = sin(angle);
};
c_norm = cos(g);
s_norm = sin(g);
};
//Black Hole
process= ( bus(4) :> seq(i,3,diffuser_nested(4,PI/2,(-1^i)*diff,10+19*i) ):par(i,2,smooth(damp)) )
~( (fdelay4(512, 10+depth + depth*oscrc(freq)),fdelay4(512, 10+ depth + depth*oscrs(freq)) ) :
(sdelay(65536,44100/2,floor(dt)),sdelay(65536,44100/2,floor(dt))) :
par(i,2,*(fb)) );
int primes (int i)
{
int prime_nums[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 10631, 10639, 10651, 10657, 10663, 10667};
return prime_nums[i];
}
//----------------------------------------------------------
// name: "JPverbRaw"
// version: "1.1"
// author: "Julian Parker, bug fixes by Till Bovermann"
// license: "GPL2+"
// copyright: "(c) Julian Parker 2013"
//
// Code generated with Faust 0.9.96 (http://faust.grame.fr)
//----------------------------------------------------------
/* link with : "primes" */
#include <jprev.h>
#include <math.h>
#ifndef FAUSTPOWER
#define FAUSTPOWER
#include <cmath>
template <int N> inline int faustpower(int x) { return faustpower<N/2>(x) * faustpower<N-N/2>(x); }
template <> inline int faustpower<0>(int x) { return 1; }
template <> inline int faustpower<1>(int x) { return x; }
template <> inline int faustpower<2>(int x) { return x*x; }
template <int N> inline float faustpower(float x) { return faustpower<N/2>(x) * faustpower<N-N/2>(x); }
template <> inline float faustpower<0>(float x) { return 1; }
template <> inline float faustpower<1>(float x) { return x; }
template <> inline float faustpower<2>(float x) { return x*x; }
#endif
// If other than 'faust2sc --prefix Faust' is used, sed this as well:
#if !defined(SC_FAUST_PREFIX)
# define SC_FAUST_PREFIX "Faust"
#endif
//-------------------------------------------------------------------
// FAUST architecture file for SuperCollider.
// Copyright (C) 2005-2012 Stefan Kersten.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
// 02111-1307 USA
//-------------------------------------------------------------------
#include <map>
#include <string>
#include <string.h>
#include <SC_PlugIn.h>
#include <faust/dsp/dsp.h>
#include <faust/gui/UI.h>
#include <faust/misc.h>
using namespace std;
#if defined(__GNUC__) && __GNUC__ >= 4
# define FAUST_EXPORT __attribute__((visibility("default")))
#else
# define FAUST_EXPORT SC_API_EXPORT
#endif
//----------------------------------------------------------------------------
// Vector intrinsics
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Metadata
//----------------------------------------------------------------------------
class MetaData : public Meta
, public std::map<std::string, std::string>
{
public:
void declare(const char* key, const char* value)
{
(*this)[key] = value;
}
};
//----------------------------------------------------------------------------
// Control counter
//----------------------------------------------------------------------------
class ControlCounter : public UI
{
public:
ControlCounter()
: mNumControlInputs(0),
mNumControlOutputs(0)
{ }
size_t getNumControls() const { return getNumControlInputs(); }
size_t getNumControlInputs() const { return mNumControlInputs; }
size_t getNumControlOutputs() const { return mNumControlOutputs; }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
protected:
void addControlInput() { mNumControlInputs++; }
void addControlOutput() { mNumControlOutputs++; }
private:
size_t mNumControlInputs;
size_t mNumControlOutputs;
};
//----------------------------------------------------------------------------
// UI control
//----------------------------------------------------------------------------
struct Control
{
typedef void (*UpdateFunction)(Control* self, FAUSTFLOAT value);
UpdateFunction updateFunction;
FAUSTFLOAT* zone;
FAUSTFLOAT min, max;
inline void update(FAUSTFLOAT value)
{
(*updateFunction)(this, value);
}
static void simpleUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = value;
}
static void boundedUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = sc_clip(value, self->min, self->max);
}
};
//----------------------------------------------------------------------------
// Control allocator
//----------------------------------------------------------------------------
class ControlAllocator : public UI
{
public:
ControlAllocator(Control* controls)
: mControls(controls)
{ }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
private:
void addControl(Control::UpdateFunction updateFunction, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT /* step */)
{
Control* ctrl = mControls++;
ctrl->updateFunction = updateFunction;
ctrl->zone = zone;
ctrl->min = min;
ctrl->max = max;
}
void addSimpleControl(FAUSTFLOAT* zone)
{
addControl(Control::simpleUpdate, zone, 0.f, 0.f, 0.f);
}
void addBoundedControl(FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{
addControl(Control::boundedUpdate, zone, min, max, step);
}
private:
Control* mControls;
};
//----------------------------------------------------------------------------
// FAUST generated code
//----------------------------------------------------------------------------
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif
#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif
class mydsp : public dsp {
private:
FAUSTFLOAT fslider0;
int iVec0[2];
FAUSTFLOAT fslider1;
float fRec8[2];
float fRec12[2];
float fRec16[2];
FAUSTFLOAT fslider2;
FAUSTFLOAT fslider3;
float fConst0;
float fConst1;
FAUSTFLOAT fslider4;
float fRec18[2];
float fRec19[2];
FAUSTFLOAT fslider5;
float fConst2;
FAUSTFLOAT fslider6;
FAUSTFLOAT fslider7;
FAUSTFLOAT fslider8;
float fRec30[2];
float fRec37[2];
float fRec41[2];
float fRec45[2];
float fRec47[2];
float fRec51[2];
float fRec55[2];
float fRec59[2];
float fRec66[2];
int IOTA;
float fVec1[16384];
float fRec65[2];
float fRec63[2];
float fRec68[2];
float fVec2[16384];
float fRec67[2];
float fRec64[2];
float fVec3[16384];
float fRec69[2];
float fRec62[2];
float fRec60[2];
float fVec4[16384];
float fRec71[2];
float fRec70[2];
float fRec61[2];
float fVec5[16384];
float fRec74[2];
float fRec72[2];
float fVec6[16384];
float fRec75[2];
float fRec73[2];
float fVec7[16384];
float fRec58[2];
float fRec56[2];
float fRec77[2];
float fVec8[16384];
float fRec76[2];
float fRec57[2];
float fVec9[16384];
float fRec80[2];
float fRec78[2];
float fVec10[16384];
float fRec81[2];
float fRec79[2];
float fVec11[16384];
float fRec54[2];
float fRec52[2];
float fRec83[2];
float fVec12[16384];
float fRec82[2];
float fRec53[2];
float fVec13[16384];
float fRec86[2];
float fRec84[2];
float fVec14[16384];
float fRec87[2];
float fRec85[2];
float fVec15[16384];
float fRec50[2];
float fRec48[2];
float fRec89[2];
float fVec16[16384];
float fRec88[2];
float fRec49[2];
float fVec17[16384];
float fRec92[2];
float fRec90[2];
float fVec18[16384];
float fRec93[2];
float fRec91[2];
float fVec19[1024];
float fVec20[16384];
float fRec46[2];
float fVec21[1024];
float fVec22[16384];
float fRec95[2];
float fRec94[2];
float fVec23[16384];
float fRec44[2];
float fRec42[2];
float fRec97[2];
float fVec24[16384];
float fRec96[2];
float fRec43[2];
float fVec25[16384];
float fRec101[2];
float fRec99[2];
float fVec26[16384];
float fRec102[2];
float fRec100[2];
float fVec27[1024];
float fVec28[16384];
float fRec98[2];
float fVec29[1024];
float fVec30[16384];
float fRec103[2];
float fVec31[16384];
float fRec40[2];
float fRec38[2];
float fVec32[16384];
float fRec104[2];
float fRec39[2];
float fVec33[16384];
float fRec108[2];
float fRec106[2];
float fVec34[16384];
float fRec109[2];
float fRec107[2];
float fVec35[16384];
float fRec112[2];
float fRec110[2];
float fVec36[16384];
float fRec113[2];
float fRec111[2];
float fVec37[1024];
float fVec38[16384];
float fRec105[2];
float fVec39[16384];
float fRec116[2];
float fRec114[2];
float fVec40[16384];
float fRec117[2];
float fRec115[2];
float fVec41[1024];
float fVec42[16384];
float fRec118[2];
float fVec43[16384];
float fRec36[2];
float fRec34[2];
float fRec120[2];
float fVec44[16384];
float fRec119[2];
float fRec35[2];
float fVec45[16384];
float fRec123[2];
float fRec121[2];
float fVec46[16384];
float fRec124[2];
float fRec122[2];
float fVec47[16384];
float fRec127[2];
float fRec125[2];
float fVec48[16384];
float fRec128[2];
float fRec126[2];
float fVec49[16384];
float fRec132[2];
float fRec130[2];
float fVec50[16384];
float fRec133[2];
float fRec131[2];
float fVec51[16384];
float fRec136[2];
float fRec134[2];
float fVec52[16384];
float fRec137[2];
float fRec135[2];
float fVec53[16384];
float fRec140[2];
float fRec138[2];
float fVec54[16384];
float fRec141[2];
float fRec139[2];
float fVec55[1024];
float fVec56[16384];
float fRec129[2];
float fVec57[1024];
float fVec58[16384];
float fRec142[2];
float fVec59[16384];
float fRec33[2];
float fRec31[2];
float fVec60[16384];
float fRec143[2];
float fRec32[2];
float fVec61[16384];
float fRec146[2];
float fRec144[2];
float fVec62[16384];
float fRec147[2];
float fRec145[2];
float fVec63[16384];
float fRec150[2];
float fRec148[2];
float fVec64[16384];
float fRec151[2];
float fRec149[2];
float fVec65[16384];
float fRec154[2];
float fRec152[2];
float fVec66[16384];
float fRec155[2];
float fRec153[2];
float fVec67[16384];
float fRec159[2];
float fRec157[2];
float fVec68[16384];
float fRec160[2];
float fRec158[2];
float fVec69[16384];
float fRec163[2];
float fRec161[2];
float fVec70[16384];
float fRec164[2];
float fRec162[2];
float fVec71[16384];
float fRec167[2];
float fRec165[2];
float fVec72[16384];
float fRec168[2];
float fRec166[2];
float fVec73[1024];
float fVec74[16384];
float fRec156[2];
float fVec75[1024];
float fVec76[16384];
float fRec169[2];
float fVec77[16384];
float fRec29[2];
float fRec27[2];
float fVec78[16384];
float fRec171[2];
float fRec170[2];
float fRec28[2];
float fVec79[16384];
float fRec174[2];
float fRec172[2];
float fVec80[16384];
float fRec175[2];
float fRec173[2];
float fVec81[16384];
float fRec178[2];
float fRec176[2];
float fVec82[16384];
float fRec179[2];
float fRec177[2];
float fVec83[16384];
float fRec182[2];
float fRec180[2];
float fVec84[16384];
float fRec183[2];
float fRec181[2];
float fVec85[16384];
float fRec186[2];
float fRec184[2];
float fVec86[16384];
float fRec187[2];
float fRec185[2];
float fVec87[16384];
float fRec191[2];
float fRec189[2];
float fVec88[16384];
float fRec192[2];
float fRec190[2];
float fVec89[16384];
float fRec195[2];
float fRec193[2];
float fVec90[16384];
float fRec196[2];
float fRec194[2];
float fVec91[1024];
float fVec92[16384];
float fRec188[2];
float fVec93[16384];
float fVec94[16384];
float fRec197[2];
float fRec26[2];
float fRec25[2];
float fRec24[3];
float fRec23[3];
float fVec95[2];
float fRec22[2];
float fRec21[3];
float fRec20[3];
FAUSTFLOAT fslider9;
float fRec200[2];
float fRec199[3];
float fRec198[3];
FAUSTFLOAT fslider10;
float fVec96[1024];
float fVec97[16384];
float fRec209[2];
float fVec98[16384];
float fRec208[2];
float fRec206[2];
float fVec99[16384];
float fRec210[2];
float fRec207[2];
float fVec100[16384];
float fRec213[2];
float fRec211[2];
float fVec101[16384];
float fRec214[2];
float fRec212[2];
float fVec102[16384];
float fRec217[2];
float fRec215[2];
float fVec103[16384];
float fRec218[2];
float fRec216[2];
float fVec104[16384];
float fRec221[2];
float fRec219[2];
float fVec105[16384];
float fRec222[2];
float fRec220[2];
float fVec106[16384];
float fRec226[2];
float fRec224[2];
float fVec107[16384];
float fRec227[2];
float fRec225[2];
float fVec108[1024];
float fVec109[16384];
float fRec223[2];
float fVec110[16384];
float fRec230[2];
float fRec228[2];
float fVec111[16384];
float fRec231[2];
float fRec229[2];
float fVec112[16384];
float fVec113[16384];
float fRec205[2];
float fRec204[2];
float fRec203[3];
float fRec202[3];
float fRec201[3];
float fVec114[1024];
float fRec17[2];
float fRec240[2];
float fVec115[16384];
float fVec116[16384];
float fRec239[2];
float fRec238[2];
float fRec237[3];
float fRec236[3];
float fVec117[2];
float fRec235[2];
float fRec234[3];
float fRec233[3];
float fRec243[2];
float fRec242[3];
float fRec241[3];
float fVec118[1024];
float fVec119[16384];
float fRec249[2];
float fVec120[16384];
float fVec121[16384];
float fRec248[2];
float fRec247[2];
float fRec246[3];
float fRec245[3];
float fRec244[3];
float fVec122[1024];
float fRec232[2];
float fVec123[16384];
float fRec15[2];
float fRec13[2];
float fRec251[2];
float fVec124[16384];
float fRec250[2];
float fRec14[2];
float fRec258[2];
float fRec257[3];
float fRec256[3];
float fVec125[2];
float fRec255[2];
float fRec254[3];
float fRec253[3];
float fRec261[2];
float fRec260[3];
float fRec259[3];
float fVec126[16384];
float fRec269[2];
float fRec267[2];
float fVec127[16384];
float fRec270[2];
float fRec268[2];
float fVec128[16384];
float fRec273[2];
float fRec271[2];
float fVec129[16384];
float fRec274[2];
float fRec272[2];
float fVec130[16384];
float fRec277[2];
float fRec275[2];
float fVec131[16384];
float fRec278[2];
float fRec276[2];
float fVec132[16384];
float fRec281[2];
float fRec279[2];
float fVec133[16384];
float fRec282[2];
float fRec280[2];
float fVec134[16384];
float fRec285[2];
float fRec283[2];
float fVec135[16384];
float fRec286[2];
float fRec284[2];
float fVec136[16384];
float fRec290[2];
float fRec288[2];
float fVec137[16384];
float fRec291[2];
float fRec289[2];
float fVec138[16384];
float fRec294[2];
float fRec292[2];
float fVec139[16384];
float fRec295[2];
float fRec293[2];
float fVec140[16384];
float fRec298[2];
float fRec296[2];
float fVec141[16384];
float fRec299[2];
float fRec297[2];
float fVec142[16384];
float fRec302[2];
float fRec300[2];
float fVec143[16384];
float fRec303[2];
float fRec301[2];
float fVec144[1024];
float fVec145[16384];
float fRec287[2];
float fVec146[16384];
float fVec147[16384];
float fRec266[2];
float fRec265[2];
float fRec264[3];
float fRec263[3];
float fRec262[3];
float fVec148[1024];
float fRec252[2];
float fVec149[1024];
float fVec150[16384];
float fRec310[2];
float fVec151[16384];
float fVec152[16384];
float fRec309[2];
float fRec308[2];
float fRec307[3];
float fRec306[3];
float fRec305[3];
float fRec316[2];
float fRec315[3];
float fRec314[3];
float fVec153[2];
float fRec313[2];
float fRec312[3];
float fRec311[3];
float fRec319[2];
float fRec318[3];
float fRec317[3];
float fVec154[1024];
float fRec304[2];
float fVec155[16384];
float fRec11[2];
float fRec9[2];
float fVec156[16384];
float fRec320[2];
float fRec10[2];
float fVec157[16384];
float fRec323[2];
float fRec321[2];
float fVec158[16384];
float fRec324[2];
float fRec322[2];
float fVec159[16384];
float fRec333[2];
float fRec331[2];
float fVec160[16384];
float fRec334[2];
float fRec332[2];
float fVec161[16384];
float fRec337[2];
float fRec335[2];
float fVec162[16384];
float fRec338[2];
float fRec336[2];
float fVec163[16384];
float fRec341[2];
float fRec339[2];
float fVec164[16384];
float fRec342[2];
float fRec340[2];
float fVec165[16384];
float fRec345[2];
float fRec343[2];
float fVec166[16384];
float fRec346[2];
float fRec344[2];
float fVec167[16384];
float fRec349[2];
float fRec347[2];
float fVec168[16384];
float fRec350[2];
float fRec348[2];
float fVec169[16384];
float fRec354[2];
float fRec352[2];
float fVec170[16384];
float fRec355[2];
float fRec353[2];
float fVec171[16384];
float fRec358[2];
float fRec356[2];
float fVec172[16384];
float fRec359[2];
float fRec357[2];
float fVec173[16384];
float fRec362[2];
float fRec360[2];
float fVec174[16384];
float fRec363[2];
float fRec361[2];
float fVec175[16384];
float fRec366[2];
float fRec364[2];
float fVec176[16384];
float fRec367[2];
float fRec365[2];
float fVec177[16384];
float fRec370[2];
float fRec368[2];
float fVec178[16384];
float fRec371[2];
float fRec369[2];
float fVec179[1024];
float fVec180[16384];
float fRec351[2];
float fVec181[16384];
float fVec182[16384];
float fRec330[2];
float fRec329[2];
float fRec328[3];
float fRec327[3];
float fRec326[3];
float fRec377[2];
float fRec376[3];
float fRec375[3];
float fVec183[2];
float fRec374[2];
float fRec373[3];
float fRec372[3];
float fRec380[2];
float fRec379[3];
float fRec378[3];
float fVec184[1024];
float fRec325[2];
float fVec185[1024];
float fVec186[16384];
float fRec387[2];
float fVec187[16384];
float fVec188[16384];
float fRec386[2];
float fRec385[2];
float fRec384[3];
float fRec383[3];
float fRec382[3];
float fRec393[2];
float fRec392[3];
float fRec391[3];
float fVec189[2];
float fRec390[2];
float fRec389[3];
float fRec388[3];
float fRec396[2];
float fRec395[3];
float fRec394[3];
float fVec190[1024];
float fRec381[2];
float fVec191[16384];
float fRec7[2];
float fRec5[2];
float fRec398[2];
float fVec192[16384];
float fRec397[2];
float fRec6[2];
float fVec193[16384];
float fRec401[2];
float fRec399[2];
float fVec194[16384];
float fRec402[2];
float fRec400[2];
float fVec195[16384];
float fRec405[2];
float fRec403[2];
float fVec196[16384];
float fRec406[2];
float fRec404[2];
float fVec197[16384];
float fRec415[2];
float fRec413[2];
float fVec198[16384];
float fRec416[2];
float fRec414[2];
float fVec199[16384];
float fRec419[2];
float fRec417[2];
float fVec200[16384];
float fRec420[2];
float fRec418[2];
float fVec201[16384];
float fRec423[2];
float fRec421[2];
float fVec202[16384];
float fRec424[2];
float fRec422[2];
float fVec203[16384];
float fRec427[2];
float fRec425[2];
float fVec204[16384];
float fRec428[2];
float fRec426[2];
float fVec205[16384];
float fRec431[2];
float fRec429[2];
float fVec206[16384];
float fRec432[2];
float fRec430[2];
float fVec207[16384];
float fRec436[2];
float fRec434[2];
float fVec208[16384];
float fRec437[2];
float fRec435[2];
float fVec209[16384];
float fRec440[2];
float fRec438[2];
float fVec210[16384];
float fRec441[2];
float fRec439[2];
float fVec211[16384];
float fRec444[2];
float fRec442[2];
float fVec212[16384];
float fRec445[2];
float fRec443[2];
float fVec213[16384];
float fRec448[2];
float fRec446[2];
float fVec214[16384];
float fRec449[2];
float fRec447[2];
float fVec215[1024];
float fVec216[16384];
float fRec433[2];
float fVec217[16384];
float fVec218[16384];
float fRec412[2];
float fRec411[2];
float fRec410[3];
float fRec409[3];
float fRec408[3];
float fRec455[2];
float fRec454[3];
float fRec453[3];
float fVec219[2];
float fRec452[2];
float fRec451[3];
float fRec450[3];
float fRec458[2];
float fRec457[3];
float fRec456[3];
float fVec220[1024];
float fRec407[2];
float fVec221[1024];
float fVec222[16384];
float fRec465[2];
float fVec223[16384];
float fVec224[16384];
float fRec464[2];
float fRec463[2];
float fRec462[3];
float fRec461[3];
float fRec460[3];
float fRec471[2];
float fRec470[3];
float fRec469[3];
float fVec225[2];
float fRec468[2];
float fRec467[3];
float fRec466[3];
float fRec474[2];
float fRec473[3];
float fRec472[3];
float fVec226[1024];
float fRec459[2];
float fVec227[16384];
float fRec475[2];
float fRec4[2];
float fRec2[2];
float fVec228[16384];
float fRec476[2];
float fRec3[2];
float fVec229[16384];
float fRec479[2];
float fRec477[2];
float fVec230[16384];
float fRec480[2];
float fRec478[2];
float fVec231[16384];
float fRec483[2];
float fRec481[2];
float fVec232[16384];
float fRec484[2];
float fRec482[2];
float fVec233[16384];
float fRec487[2];
float fRec485[2];
float fVec234[16384];
float fRec488[2];
float fRec486[2];
float fVec235[16384];
float fRec497[2];
float fRec495[2];
float fVec236[16384];
float fRec498[2];
float fRec496[2];
float fVec237[16384];
float fRec501[2];
float fRec499[2];
float fVec238[16384];
float fRec502[2];
float fRec500[2];
float fVec239[16384];
float fRec505[2];
float fRec503[2];
float fVec240[16384];
float fRec506[2];
float fRec504[2];
float fVec241[16384];
float fRec509[2];
float fRec507[2];
float fVec242[16384];
float fRec510[2];
float fRec508[2];
float fVec243[16384];
float fRec513[2];
float fRec511[2];
float fVec244[16384];
float fRec514[2];
float fRec512[2];
float fVec245[16384];
float fRec518[2];
float fRec516[2];
float fVec246[16384];
float fRec519[2];
float fRec517[2];
float fVec247[16384];
float fRec522[2];
float fRec520[2];
float fVec248[16384];
float fRec523[2];
float fRec521[2];
float fVec249[16384];
float fRec526[2];
float fRec524[2];
float fVec250[16384];
float fRec527[2];
float fRec525[2];
float fVec251[1024];
float fVec252[16384];
float fRec515[2];
float fVec253[16384];
float fVec254[16384];
float fRec494[2];
float fRec493[2];
float fRec492[3];
float fRec491[3];
float fRec490[3];
float fRec533[2];
float fRec532[3];
float fRec531[3];
float fVec255[2];
float fRec530[2];
float fRec529[3];
float fRec528[3];
float fRec536[2];
float fRec535[3];
float fRec534[3];
float fVec256[1024];
float fRec489[2];
float fRec0[2];
float fVec257[1024];
float fVec258[16384];
float fRec543[2];
float fVec259[16384];
float fVec260[16384];
float fRec542[2];
float fRec541[2];
float fRec540[3];
float fRec539[3];
float fRec538[3];
float fRec549[2];
float fRec548[3];
float fRec547[3];
float fVec261[2];
float fRec546[2];
float fRec545[3];
float fRec544[3];
float fRec552[2];
float fRec551[3];
float fRec550[3];
float fVec262[1024];
float fRec537[2];
float fRec1[2];
int fSamplingFreq;
public:
virtual void metadata(Meta* m) {
m->declare("name", "JPverbRaw");
m->declare("version", "1.1");
m->declare("author", "Julian Parker, bug fixes by Till Bovermann");
m->declare("license", "GPL2+");
m->declare("copyright", "(c) Julian Parker 2013");
m->declare("filters.lib/name", "Faust Filters Library");
m->declare("filters.lib/version", "0.0");
m->declare("delays.lib/name", "Faust Delay Library");
m->declare("delays.lib/version", "0.0");
m->declare("signals.lib/name", "Faust Signal Routing Library");
m->declare("signals.lib/version", "0.0");
m->declare("oscillators.lib/name", "Faust Oscillator Library");
m->declare("oscillators.lib/version", "0.0");
m->declare("maths.lib/name", "Faust Math Library");
m->declare("maths.lib/version", "2.0");
m->declare("maths.lib/author", "GRAME");
m->declare("maths.lib/copyright", "GRAME");
m->declare("maths.lib/license", "LGPL with exception");
m->declare("analyzers.lib/name", "Faust Analyzer Library");
m->declare("analyzers.lib/version", "0.0");
m->declare("basics.lib/name", "Faust Basic Element Library");
m->declare("basics.lib/version", "0.0");
}
virtual int getNumInputs() { return 2; }
virtual int getNumOutputs() { return 2; }
static void classInit(int samplingFreq) {
}
virtual void instanceConstants(int samplingFreq) {
fSamplingFreq = samplingFreq;
fConst0 = min(1.92e+05f, max(1e+03f, (float)fSamplingFreq));
fConst1 = (6.2831855f / fConst0);
fConst2 = (3.1415927f / fConst0);
}
virtual void instanceResetUserInterface() {
fslider0 = 0.707f;
fslider1 = 1.0f;
fslider2 = 0.0f;
fslider3 = 0.1f;
fslider4 = 2.0f;
fslider5 = 1.0f;
fslider6 = 5e+02f;
fslider7 = 1.0f;
fslider8 = 2e+03f;
fslider9 = 1.0f;
fslider10 = 1.0f;
}
virtual void instanceClear() {
for (int i=0; i<2; i++) iVec0[i] = 0;
for (int i=0; i<2; i++) fRec8[i] = 0;
for (int i=0; i<2; i++) fRec12[i] = 0;
for (int i=0; i<2; i++) fRec16[i] = 0;
for (int i=0; i<2; i++) fRec18[i] = 0;
for (int i=0; i<2; i++) fRec19[i] = 0;
for (int i=0; i<2; i++) fRec30[i] = 0;
for (int i=0; i<2; i++) fRec37[i] = 0;
for (int i=0; i<2; i++) fRec41[i] = 0;
for (int i=0; i<2; i++) fRec45[i] = 0;
for (int i=0; i<2; i++) fRec47[i] = 0;
for (int i=0; i<2; i++) fRec51[i] = 0;
for (int i=0; i<2; i++) fRec55[i] = 0;
for (int i=0; i<2; i++) fRec59[i] = 0;
for (int i=0; i<2; i++) fRec66[i] = 0;
IOTA = 0;
for (int i=0; i<16384; i++) fVec1[i] = 0;
for (int i=0; i<2; i++) fRec65[i] = 0;
for (int i=0; i<2; i++) fRec63[i] = 0;
for (int i=0; i<2; i++) fRec68[i] = 0;
for (int i=0; i<16384; i++) fVec2[i] = 0;
for (int i=0; i<2; i++) fRec67[i] = 0;
for (int i=0; i<2; i++) fRec64[i] = 0;
for (int i=0; i<16384; i++) fVec3[i] = 0;
for (int i=0; i<2; i++) fRec69[i] = 0;
for (int i=0; i<2; i++) fRec62[i] = 0;
for (int i=0; i<2; i++) fRec60[i] = 0;
for (int i=0; i<16384; i++) fVec4[i] = 0;
for (int i=0; i<2; i++) fRec71[i] = 0;
for (int i=0; i<2; i++) fRec70[i] = 0;
for (int i=0; i<2; i++) fRec61[i] = 0;
for (int i=0; i<16384; i++) fVec5[i] = 0;
for (int i=0; i<2; i++) fRec74[i] = 0;
for (int i=0; i<2; i++) fRec72[i] = 0;
for (int i=0; i<16384; i++) fVec6[i] = 0;
for (int i=0; i<2; i++) fRec75[i] = 0;
for (int i=0; i<2; i++) fRec73[i] = 0;
for (int i=0; i<16384; i++) fVec7[i] = 0;
for (int i=0; i<2; i++) fRec58[i] = 0;
for (int i=0; i<2; i++) fRec56[i] = 0;
for (int i=0; i<2; i++) fRec77[i] = 0;
for (int i=0; i<16384; i++) fVec8[i] = 0;
for (int i=0; i<2; i++) fRec76[i] = 0;
for (int i=0; i<2; i++) fRec57[i] = 0;
for (int i=0; i<16384; i++) fVec9[i] = 0;
for (int i=0; i<2; i++) fRec80[i] = 0;
for (int i=0; i<2; i++) fRec78[i] = 0;
for (int i=0; i<16384; i++) fVec10[i] = 0;
for (int i=0; i<2; i++) fRec81[i] = 0;
for (int i=0; i<2; i++) fRec79[i] = 0;
for (int i=0; i<16384; i++) fVec11[i] = 0;
for (int i=0; i<2; i++) fRec54[i] = 0;
for (int i=0; i<2; i++) fRec52[i] = 0;
for (int i=0; i<2; i++) fRec83[i] = 0;
for (int i=0; i<16384; i++) fVec12[i] = 0;
for (int i=0; i<2; i++) fRec82[i] = 0;
for (int i=0; i<2; i++) fRec53[i] = 0;
for (int i=0; i<16384; i++) fVec13[i] = 0;
for (int i=0; i<2; i++) fRec86[i] = 0;
for (int i=0; i<2; i++) fRec84[i] = 0;
for (int i=0; i<16384; i++) fVec14[i] = 0;
for (int i=0; i<2; i++) fRec87[i] = 0;
for (int i=0; i<2; i++) fRec85[i] = 0;
for (int i=0; i<16384; i++) fVec15[i] = 0;
for (int i=0; i<2; i++) fRec50[i] = 0;
for (int i=0; i<2; i++) fRec48[i] = 0;
for (int i=0; i<2; i++) fRec89[i] = 0;
for (int i=0; i<16384; i++) fVec16[i] = 0;
for (int i=0; i<2; i++) fRec88[i] = 0;
for (int i=0; i<2; i++) fRec49[i] = 0;
for (int i=0; i<16384; i++) fVec17[i] = 0;
for (int i=0; i<2; i++) fRec92[i] = 0;
for (int i=0; i<2; i++) fRec90[i] = 0;
for (int i=0; i<16384; i++) fVec18[i] = 0;
for (int i=0; i<2; i++) fRec93[i] = 0;
for (int i=0; i<2; i++) fRec91[i] = 0;
for (int i=0; i<1024; i++) fVec19[i] = 0;
for (int i=0; i<16384; i++) fVec20[i] = 0;
for (int i=0; i<2; i++) fRec46[i] = 0;
for (int i=0; i<1024; i++) fVec21[i] = 0;
for (int i=0; i<16384; i++) fVec22[i] = 0;
for (int i=0; i<2; i++) fRec95[i] = 0;
for (int i=0; i<2; i++) fRec94[i] = 0;
for (int i=0; i<16384; i++) fVec23[i] = 0;
for (int i=0; i<2; i++) fRec44[i] = 0;
for (int i=0; i<2; i++) fRec42[i] = 0;
for (int i=0; i<2; i++) fRec97[i] = 0;
for (int i=0; i<16384; i++) fVec24[i] = 0;
for (int i=0; i<2; i++) fRec96[i] = 0;
for (int i=0; i<2; i++) fRec43[i] = 0;
for (int i=0; i<16384; i++) fVec25[i] = 0;
for (int i=0; i<2; i++) fRec101[i] = 0;
for (int i=0; i<2; i++) fRec99[i] = 0;
for (int i=0; i<16384; i++) fVec26[i] = 0;
for (int i=0; i<2; i++) fRec102[i] = 0;
for (int i=0; i<2; i++) fRec100[i] = 0;
for (int i=0; i<1024; i++) fVec27[i] = 0;
for (int i=0; i<16384; i++) fVec28[i] = 0;
for (int i=0; i<2; i++) fRec98[i] = 0;
for (int i=0; i<1024; i++) fVec29[i] = 0;
for (int i=0; i<16384; i++) fVec30[i] = 0;
for (int i=0; i<2; i++) fRec103[i] = 0;
for (int i=0; i<16384; i++) fVec31[i] = 0;
for (int i=0; i<2; i++) fRec40[i] = 0;
for (int i=0; i<2; i++) fRec38[i] = 0;
for (int i=0; i<16384; i++) fVec32[i] = 0;
for (int i=0; i<2; i++) fRec104[i] = 0;
for (int i=0; i<2; i++) fRec39[i] = 0;
for (int i=0; i<16384; i++) fVec33[i] = 0;
for (int i=0; i<2; i++) fRec108[i] = 0;
for (int i=0; i<2; i++) fRec106[i] = 0;
for (int i=0; i<16384; i++) fVec34[i] = 0;
for (int i=0; i<2; i++) fRec109[i] = 0;
for (int i=0; i<2; i++) fRec107[i] = 0;
for (int i=0; i<16384; i++) fVec35[i] = 0;
for (int i=0; i<2; i++) fRec112[i] = 0;
for (int i=0; i<2; i++) fRec110[i] = 0;
for (int i=0; i<16384; i++) fVec36[i] = 0;
for (int i=0; i<2; i++) fRec113[i] = 0;
for (int i=0; i<2; i++) fRec111[i] = 0;
for (int i=0; i<1024; i++) fVec37[i] = 0;
for (int i=0; i<16384; i++) fVec38[i] = 0;
for (int i=0; i<2; i++) fRec105[i] = 0;
for (int i=0; i<16384; i++) fVec39[i] = 0;
for (int i=0; i<2; i++) fRec116[i] = 0;
for (int i=0; i<2; i++) fRec114[i] = 0;
for (int i=0; i<16384; i++) fVec40[i] = 0;
for (int i=0; i<2; i++) fRec117[i] = 0;
for (int i=0; i<2; i++) fRec115[i] = 0;
for (int i=0; i<1024; i++) fVec41[i] = 0;
for (int i=0; i<16384; i++) fVec42[i] = 0;
for (int i=0; i<2; i++) fRec118[i] = 0;
for (int i=0; i<16384; i++) fVec43[i] = 0;
for (int i=0; i<2; i++) fRec36[i] = 0;
for (int i=0; i<2; i++) fRec34[i] = 0;
for (int i=0; i<2; i++) fRec120[i] = 0;
for (int i=0; i<16384; i++) fVec44[i] = 0;
for (int i=0; i<2; i++) fRec119[i] = 0;
for (int i=0; i<2; i++) fRec35[i] = 0;
for (int i=0; i<16384; i++) fVec45[i] = 0;
for (int i=0; i<2; i++) fRec123[i] = 0;
for (int i=0; i<2; i++) fRec121[i] = 0;
for (int i=0; i<16384; i++) fVec46[i] = 0;
for (int i=0; i<2; i++) fRec124[i] = 0;
for (int i=0; i<2; i++) fRec122[i] = 0;
for (int i=0; i<16384; i++) fVec47[i] = 0;
for (int i=0; i<2; i++) fRec127[i] = 0;
for (int i=0; i<2; i++) fRec125[i] = 0;
for (int i=0; i<16384; i++) fVec48[i] = 0;
for (int i=0; i<2; i++) fRec128[i] = 0;
for (int i=0; i<2; i++) fRec126[i] = 0;
for (int i=0; i<16384; i++) fVec49[i] = 0;
for (int i=0; i<2; i++) fRec132[i] = 0;
for (int i=0; i<2; i++) fRec130[i] = 0;
for (int i=0; i<16384; i++) fVec50[i] = 0;
for (int i=0; i<2; i++) fRec133[i] = 0;
for (int i=0; i<2; i++) fRec131[i] = 0;
for (int i=0; i<16384; i++) fVec51[i] = 0;
for (int i=0; i<2; i++) fRec136[i] = 0;
for (int i=0; i<2; i++) fRec134[i] = 0;
for (int i=0; i<16384; i++) fVec52[i] = 0;
for (int i=0; i<2; i++) fRec137[i] = 0;
for (int i=0; i<2; i++) fRec135[i] = 0;
for (int i=0; i<16384; i++) fVec53[i] = 0;
for (int i=0; i<2; i++) fRec140[i] = 0;
for (int i=0; i<2; i++) fRec138[i] = 0;
for (int i=0; i<16384; i++) fVec54[i] = 0;
for (int i=0; i<2; i++) fRec141[i] = 0;
for (int i=0; i<2; i++) fRec139[i] = 0;
for (int i=0; i<1024; i++) fVec55[i] = 0;
for (int i=0; i<16384; i++) fVec56[i] = 0;
for (int i=0; i<2; i++) fRec129[i] = 0;
for (int i=0; i<1024; i++) fVec57[i] = 0;
for (int i=0; i<16384; i++) fVec58[i] = 0;
for (int i=0; i<2; i++) fRec142[i] = 0;
for (int i=0; i<16384; i++) fVec59[i] = 0;
for (int i=0; i<2; i++) fRec33[i] = 0;
for (int i=0; i<2; i++) fRec31[i] = 0;
for (int i=0; i<16384; i++) fVec60[i] = 0;
for (int i=0; i<2; i++) fRec143[i] = 0;
for (int i=0; i<2; i++) fRec32[i] = 0;
for (int i=0; i<16384; i++) fVec61[i] = 0;
for (int i=0; i<2; i++) fRec146[i] = 0;
for (int i=0; i<2; i++) fRec144[i] = 0;
for (int i=0; i<16384; i++) fVec62[i] = 0;
for (int i=0; i<2; i++) fRec147[i] = 0;
for (int i=0; i<2; i++) fRec145[i] = 0;
for (int i=0; i<16384; i++) fVec63[i] = 0;
for (int i=0; i<2; i++) fRec150[i] = 0;
for (int i=0; i<2; i++) fRec148[i] = 0;
for (int i=0; i<16384; i++) fVec64[i] = 0;
for (int i=0; i<2; i++) fRec151[i] = 0;
for (int i=0; i<2; i++) fRec149[i] = 0;
for (int i=0; i<16384; i++) fVec65[i] = 0;
for (int i=0; i<2; i++) fRec154[i] = 0;
for (int i=0; i<2; i++) fRec152[i] = 0;
for (int i=0; i<16384; i++) fVec66[i] = 0;
for (int i=0; i<2; i++) fRec155[i] = 0;
for (int i=0; i<2; i++) fRec153[i] = 0;
for (int i=0; i<16384; i++) fVec67[i] = 0;
for (int i=0; i<2; i++) fRec159[i] = 0;
for (int i=0; i<2; i++) fRec157[i] = 0;
for (int i=0; i<16384; i++) fVec68[i] = 0;
for (int i=0; i<2; i++) fRec160[i] = 0;
for (int i=0; i<2; i++) fRec158[i] = 0;
for (int i=0; i<16384; i++) fVec69[i] = 0;
for (int i=0; i<2; i++) fRec163[i] = 0;
for (int i=0; i<2; i++) fRec161[i] = 0;
for (int i=0; i<16384; i++) fVec70[i] = 0;
for (int i=0; i<2; i++) fRec164[i] = 0;
for (int i=0; i<2; i++) fRec162[i] = 0;
for (int i=0; i<16384; i++) fVec71[i] = 0;
for (int i=0; i<2; i++) fRec167[i] = 0;
for (int i=0; i<2; i++) fRec165[i] = 0;
for (int i=0; i<16384; i++) fVec72[i] = 0;
for (int i=0; i<2; i++) fRec168[i] = 0;
for (int i=0; i<2; i++) fRec166[i] = 0;
for (int i=0; i<1024; i++) fVec73[i] = 0;
for (int i=0; i<16384; i++) fVec74[i] = 0;
for (int i=0; i<2; i++) fRec156[i] = 0;
for (int i=0; i<1024; i++) fVec75[i] = 0;
for (int i=0; i<16384; i++) fVec76[i] = 0;
for (int i=0; i<2; i++) fRec169[i] = 0;
for (int i=0; i<16384; i++) fVec77[i] = 0;
for (int i=0; i<2; i++) fRec29[i] = 0;
for (int i=0; i<2; i++) fRec27[i] = 0;
for (int i=0; i<16384; i++) fVec78[i] = 0;
for (int i=0; i<2; i++) fRec171[i] = 0;
for (int i=0; i<2; i++) fRec170[i] = 0;
for (int i=0; i<2; i++) fRec28[i] = 0;
for (int i=0; i<16384; i++) fVec79[i] = 0;
for (int i=0; i<2; i++) fRec174[i] = 0;
for (int i=0; i<2; i++) fRec172[i] = 0;
for (int i=0; i<16384; i++) fVec80[i] = 0;
for (int i=0; i<2; i++) fRec175[i] = 0;
for (int i=0; i<2; i++) fRec173[i] = 0;
for (int i=0; i<16384; i++) fVec81[i] = 0;
for (int i=0; i<2; i++) fRec178[i] = 0;
for (int i=0; i<2; i++) fRec176[i] = 0;
for (int i=0; i<16384; i++) fVec82[i] = 0;
for (int i=0; i<2; i++) fRec179[i] = 0;
for (int i=0; i<2; i++) fRec177[i] = 0;
for (int i=0; i<16384; i++) fVec83[i] = 0;
for (int i=0; i<2; i++) fRec182[i] = 0;
for (int i=0; i<2; i++) fRec180[i] = 0;
for (int i=0; i<16384; i++) fVec84[i] = 0;
for (int i=0; i<2; i++) fRec183[i] = 0;
for (int i=0; i<2; i++) fRec181[i] = 0;
for (int i=0; i<16384; i++) fVec85[i] = 0;
for (int i=0; i<2; i++) fRec186[i] = 0;
for (int i=0; i<2; i++) fRec184[i] = 0;
for (int i=0; i<16384; i++) fVec86[i] = 0;
for (int i=0; i<2; i++) fRec187[i] = 0;
for (int i=0; i<2; i++) fRec185[i] = 0;
for (int i=0; i<16384; i++) fVec87[i] = 0;
for (int i=0; i<2; i++) fRec191[i] = 0;
for (int i=0; i<2; i++) fRec189[i] = 0;
for (int i=0; i<16384; i++) fVec88[i] = 0;
for (int i=0; i<2; i++) fRec192[i] = 0;
for (int i=0; i<2; i++) fRec190[i] = 0;
for (int i=0; i<16384; i++) fVec89[i] = 0;
for (int i=0; i<2; i++) fRec195[i] = 0;
for (int i=0; i<2; i++) fRec193[i] = 0;
for (int i=0; i<16384; i++) fVec90[i] = 0;
for (int i=0; i<2; i++) fRec196[i] = 0;
for (int i=0; i<2; i++) fRec194[i] = 0;
for (int i=0; i<1024; i++) fVec91[i] = 0;
for (int i=0; i<16384; i++) fVec92[i] = 0;
for (int i=0; i<2; i++) fRec188[i] = 0;
for (int i=0; i<16384; i++) fVec93[i] = 0;
for (int i=0; i<16384; i++) fVec94[i] = 0;
for (int i=0; i<2; i++) fRec197[i] = 0;
for (int i=0; i<2; i++) fRec26[i] = 0;
for (int i=0; i<2; i++) fRec25[i] = 0;
for (int i=0; i<3; i++) fRec24[i] = 0;
for (int i=0; i<3; i++) fRec23[i] = 0;
for (int i=0; i<2; i++) fVec95[i] = 0;
for (int i=0; i<2; i++) fRec22[i] = 0;
for (int i=0; i<3; i++) fRec21[i] = 0;
for (int i=0; i<3; i++) fRec20[i] = 0;
for (int i=0; i<2; i++) fRec200[i] = 0;
for (int i=0; i<3; i++) fRec199[i] = 0;
for (int i=0; i<3; i++) fRec198[i] = 0;
for (int i=0; i<1024; i++) fVec96[i] = 0;
for (int i=0; i<16384; i++) fVec97[i] = 0;
for (int i=0; i<2; i++) fRec209[i] = 0;
for (int i=0; i<16384; i++) fVec98[i] = 0;
for (int i=0; i<2; i++) fRec208[i] = 0;
for (int i=0; i<2; i++) fRec206[i] = 0;
for (int i=0; i<16384; i++) fVec99[i] = 0;
for (int i=0; i<2; i++) fRec210[i] = 0;
for (int i=0; i<2; i++) fRec207[i] = 0;
for (int i=0; i<16384; i++) fVec100[i] = 0;
for (int i=0; i<2; i++) fRec213[i] = 0;
for (int i=0; i<2; i++) fRec211[i] = 0;
for (int i=0; i<16384; i++) fVec101[i] = 0;
for (int i=0; i<2; i++) fRec214[i] = 0;
for (int i=0; i<2; i++) fRec212[i] = 0;
for (int i=0; i<16384; i++) fVec102[i] = 0;
for (int i=0; i<2; i++) fRec217[i] = 0;
for (int i=0; i<2; i++) fRec215[i] = 0;
for (int i=0; i<16384; i++) fVec103[i] = 0;
for (int i=0; i<2; i++) fRec218[i] = 0;
for (int i=0; i<2; i++) fRec216[i] = 0;
for (int i=0; i<16384; i++) fVec104[i] = 0;
for (int i=0; i<2; i++) fRec221[i] = 0;
for (int i=0; i<2; i++) fRec219[i] = 0;
for (int i=0; i<16384; i++) fVec105[i] = 0;
for (int i=0; i<2; i++) fRec222[i] = 0;
for (int i=0; i<2; i++) fRec220[i] = 0;
for (int i=0; i<16384; i++) fVec106[i] = 0;
for (int i=0; i<2; i++) fRec226[i] = 0;
for (int i=0; i<2; i++) fRec224[i] = 0;
for (int i=0; i<16384; i++) fVec107[i] = 0;
for (int i=0; i<2; i++) fRec227[i] = 0;
for (int i=0; i<2; i++) fRec225[i] = 0;
for (int i=0; i<1024; i++) fVec108[i] = 0;
for (int i=0; i<16384; i++) fVec109[i] = 0;
for (int i=0; i<2; i++) fRec223[i] = 0;
for (int i=0; i<16384; i++) fVec110[i] = 0;
for (int i=0; i<2; i++) fRec230[i] = 0;
for (int i=0; i<2; i++) fRec228[i] = 0;
for (int i=0; i<16384; i++) fVec111[i] = 0;
for (int i=0; i<2; i++) fRec231[i] = 0;
for (int i=0; i<2; i++) fRec229[i] = 0;
for (int i=0; i<16384; i++) fVec112[i] = 0;
for (int i=0; i<16384; i++) fVec113[i] = 0;
for (int i=0; i<2; i++) fRec205[i] = 0;
for (int i=0; i<2; i++) fRec204[i] = 0;
for (int i=0; i<3; i++) fRec203[i] = 0;
for (int i=0; i<3; i++) fRec202[i] = 0;
for (int i=0; i<3; i++) fRec201[i] = 0;
for (int i=0; i<1024; i++) fVec114[i] = 0;
for (int i=0; i<2; i++) fRec17[i] = 0;
for (int i=0; i<2; i++) fRec240[i] = 0;
for (int i=0; i<16384; i++) fVec115[i] = 0;
for (int i=0; i<16384; i++) fVec116[i] = 0;
for (int i=0; i<2; i++) fRec239[i] = 0;
for (int i=0; i<2; i++) fRec238[i] = 0;
for (int i=0; i<3; i++) fRec237[i] = 0;
for (int i=0; i<3; i++) fRec236[i] = 0;
for (int i=0; i<2; i++) fVec117[i] = 0;
for (int i=0; i<2; i++) fRec235[i] = 0;
for (int i=0; i<3; i++) fRec234[i] = 0;
for (int i=0; i<3; i++) fRec233[i] = 0;
for (int i=0; i<2; i++) fRec243[i] = 0;
for (int i=0; i<3; i++) fRec242[i] = 0;
for (int i=0; i<3; i++) fRec241[i] = 0;
for (int i=0; i<1024; i++) fVec118[i] = 0;
for (int i=0; i<16384; i++) fVec119[i] = 0;
for (int i=0; i<2; i++) fRec249[i] = 0;
for (int i=0; i<16384; i++) fVec120[i] = 0;
for (int i=0; i<16384; i++) fVec121[i] = 0;
for (int i=0; i<2; i++) fRec248[i] = 0;
for (int i=0; i<2; i++) fRec247[i] = 0;
for (int i=0; i<3; i++) fRec246[i] = 0;
for (int i=0; i<3; i++) fRec245[i] = 0;
for (int i=0; i<3; i++) fRec244[i] = 0;
for (int i=0; i<1024; i++) fVec122[i] = 0;
for (int i=0; i<2; i++) fRec232[i] = 0;
for (int i=0; i<16384; i++) fVec123[i] = 0;
for (int i=0; i<2; i++) fRec15[i] = 0;
for (int i=0; i<2; i++) fRec13[i] = 0;
for (int i=0; i<2; i++) fRec251[i] = 0;
for (int i=0; i<16384; i++) fVec124[i] = 0;
for (int i=0; i<2; i++) fRec250[i] = 0;
for (int i=0; i<2; i++) fRec14[i] = 0;
for (int i=0; i<2; i++) fRec258[i] = 0;
for (int i=0; i<3; i++) fRec257[i] = 0;
for (int i=0; i<3; i++) fRec256[i] = 0;
for (int i=0; i<2; i++) fVec125[i] = 0;
for (int i=0; i<2; i++) fRec255[i] = 0;
for (int i=0; i<3; i++) fRec254[i] = 0;
for (int i=0; i<3; i++) fRec253[i] = 0;
for (int i=0; i<2; i++) fRec261[i] = 0;
for (int i=0; i<3; i++) fRec260[i] = 0;
for (int i=0; i<3; i++) fRec259[i] = 0;
for (int i=0; i<16384; i++) fVec126[i] = 0;
for (int i=0; i<2; i++) fRec269[i] = 0;
for (int i=0; i<2; i++) fRec267[i] = 0;
for (int i=0; i<16384; i++) fVec127[i] = 0;
for (int i=0; i<2; i++) fRec270[i] = 0;
for (int i=0; i<2; i++) fRec268[i] = 0;
for (int i=0; i<16384; i++) fVec128[i] = 0;
for (int i=0; i<2; i++) fRec273[i] = 0;
for (int i=0; i<2; i++) fRec271[i] = 0;
for (int i=0; i<16384; i++) fVec129[i] = 0;
for (int i=0; i<2; i++) fRec274[i] = 0;
for (int i=0; i<2; i++) fRec272[i] = 0;
for (int i=0; i<16384; i++) fVec130[i] = 0;
for (int i=0; i<2; i++) fRec277[i] = 0;
for (int i=0; i<2; i++) fRec275[i] = 0;
for (int i=0; i<16384; i++) fVec131[i] = 0;
for (int i=0; i<2; i++) fRec278[i] = 0;
for (int i=0; i<2; i++) fRec276[i] = 0;
for (int i=0; i<16384; i++) fVec132[i] = 0;
for (int i=0; i<2; i++) fRec281[i] = 0;
for (int i=0; i<2; i++) fRec279[i] = 0;
for (int i=0; i<16384; i++) fVec133[i] = 0;
for (int i=0; i<2; i++) fRec282[i] = 0;
for (int i=0; i<2; i++) fRec280[i] = 0;
for (int i=0; i<16384; i++) fVec134[i] = 0;
for (int i=0; i<2; i++) fRec285[i] = 0;
for (int i=0; i<2; i++) fRec283[i] = 0;
for (int i=0; i<16384; i++) fVec135[i] = 0;
for (int i=0; i<2; i++) fRec286[i] = 0;
for (int i=0; i<2; i++) fRec284[i] = 0;
for (int i=0; i<16384; i++) fVec136[i] = 0;
for (int i=0; i<2; i++) fRec290[i] = 0;
for (int i=0; i<2; i++) fRec288[i] = 0;
for (int i=0; i<16384; i++) fVec137[i] = 0;
for (int i=0; i<2; i++) fRec291[i] = 0;
for (int i=0; i<2; i++) fRec289[i] = 0;
for (int i=0; i<16384; i++) fVec138[i] = 0;
for (int i=0; i<2; i++) fRec294[i] = 0;
for (int i=0; i<2; i++) fRec292[i] = 0;
for (int i=0; i<16384; i++) fVec139[i] = 0;
for (int i=0; i<2; i++) fRec295[i] = 0;
for (int i=0; i<2; i++) fRec293[i] = 0;
for (int i=0; i<16384; i++) fVec140[i] = 0;
for (int i=0; i<2; i++) fRec298[i] = 0;
for (int i=0; i<2; i++) fRec296[i] = 0;
for (int i=0; i<16384; i++) fVec141[i] = 0;
for (int i=0; i<2; i++) fRec299[i] = 0;
for (int i=0; i<2; i++) fRec297[i] = 0;
for (int i=0; i<16384; i++) fVec142[i] = 0;
for (int i=0; i<2; i++) fRec302[i] = 0;
for (int i=0; i<2; i++) fRec300[i] = 0;
for (int i=0; i<16384; i++) fVec143[i] = 0;
for (int i=0; i<2; i++) fRec303[i] = 0;
for (int i=0; i<2; i++) fRec301[i] = 0;
for (int i=0; i<1024; i++) fVec144[i] = 0;
for (int i=0; i<16384; i++) fVec145[i] = 0;
for (int i=0; i<2; i++) fRec287[i] = 0;
for (int i=0; i<16384; i++) fVec146[i] = 0;
for (int i=0; i<16384; i++) fVec147[i] = 0;
for (int i=0; i<2; i++) fRec266[i] = 0;
for (int i=0; i<2; i++) fRec265[i] = 0;
for (int i=0; i<3; i++) fRec264[i] = 0;
for (int i=0; i<3; i++) fRec263[i] = 0;
for (int i=0; i<3; i++) fRec262[i] = 0;
for (int i=0; i<1024; i++) fVec148[i] = 0;
for (int i=0; i<2; i++) fRec252[i] = 0;
for (int i=0; i<1024; i++) fVec149[i] = 0;
for (int i=0; i<16384; i++) fVec150[i] = 0;
for (int i=0; i<2; i++) fRec310[i] = 0;
for (int i=0; i<16384; i++) fVec151[i] = 0;
for (int i=0; i<16384; i++) fVec152[i] = 0;
for (int i=0; i<2; i++) fRec309[i] = 0;
for (int i=0; i<2; i++) fRec308[i] = 0;
for (int i=0; i<3; i++) fRec307[i] = 0;
for (int i=0; i<3; i++) fRec306[i] = 0;
for (int i=0; i<3; i++) fRec305[i] = 0;
for (int i=0; i<2; i++) fRec316[i] = 0;
for (int i=0; i<3; i++) fRec315[i] = 0;
for (int i=0; i<3; i++) fRec314[i] = 0;
for (int i=0; i<2; i++) fVec153[i] = 0;
for (int i=0; i<2; i++) fRec313[i] = 0;
for (int i=0; i<3; i++) fRec312[i] = 0;
for (int i=0; i<3; i++) fRec311[i] = 0;
for (int i=0; i<2; i++) fRec319[i] = 0;
for (int i=0; i<3; i++) fRec318[i] = 0;
for (int i=0; i<3; i++) fRec317[i] = 0;
for (int i=0; i<1024; i++) fVec154[i] = 0;
for (int i=0; i<2; i++) fRec304[i] = 0;
for (int i=0; i<16384; i++) fVec155[i] = 0;
for (int i=0; i<2; i++) fRec11[i] = 0;
for (int i=0; i<2; i++) fRec9[i] = 0;
for (int i=0; i<16384; i++) fVec156[i] = 0;
for (int i=0; i<2; i++) fRec320[i] = 0;
for (int i=0; i<2; i++) fRec10[i] = 0;
for (int i=0; i<16384; i++) fVec157[i] = 0;
for (int i=0; i<2; i++) fRec323[i] = 0;
for (int i=0; i<2; i++) fRec321[i] = 0;
for (int i=0; i<16384; i++) fVec158[i] = 0;
for (int i=0; i<2; i++) fRec324[i] = 0;
for (int i=0; i<2; i++) fRec322[i] = 0;
for (int i=0; i<16384; i++) fVec159[i] = 0;
for (int i=0; i<2; i++) fRec333[i] = 0;
for (int i=0; i<2; i++) fRec331[i] = 0;
for (int i=0; i<16384; i++) fVec160[i] = 0;
for (int i=0; i<2; i++) fRec334[i] = 0;
for (int i=0; i<2; i++) fRec332[i] = 0;
for (int i=0; i<16384; i++) fVec161[i] = 0;
for (int i=0; i<2; i++) fRec337[i] = 0;
for (int i=0; i<2; i++) fRec335[i] = 0;
for (int i=0; i<16384; i++) fVec162[i] = 0;
for (int i=0; i<2; i++) fRec338[i] = 0;
for (int i=0; i<2; i++) fRec336[i] = 0;
for (int i=0; i<16384; i++) fVec163[i] = 0;
for (int i=0; i<2; i++) fRec341[i] = 0;
for (int i=0; i<2; i++) fRec339[i] = 0;
for (int i=0; i<16384; i++) fVec164[i] = 0;
for (int i=0; i<2; i++) fRec342[i] = 0;
for (int i=0; i<2; i++) fRec340[i] = 0;
for (int i=0; i<16384; i++) fVec165[i] = 0;
for (int i=0; i<2; i++) fRec345[i] = 0;
for (int i=0; i<2; i++) fRec343[i] = 0;
for (int i=0; i<16384; i++) fVec166[i] = 0;
for (int i=0; i<2; i++) fRec346[i] = 0;
for (int i=0; i<2; i++) fRec344[i] = 0;
for (int i=0; i<16384; i++) fVec167[i] = 0;
for (int i=0; i<2; i++) fRec349[i] = 0;
for (int i=0; i<2; i++) fRec347[i] = 0;
for (int i=0; i<16384; i++) fVec168[i] = 0;
for (int i=0; i<2; i++) fRec350[i] = 0;
for (int i=0; i<2; i++) fRec348[i] = 0;
for (int i=0; i<16384; i++) fVec169[i] = 0;
for (int i=0; i<2; i++) fRec354[i] = 0;
for (int i=0; i<2; i++) fRec352[i] = 0;
for (int i=0; i<16384; i++) fVec170[i] = 0;
for (int i=0; i<2; i++) fRec355[i] = 0;
for (int i=0; i<2; i++) fRec353[i] = 0;
for (int i=0; i<16384; i++) fVec171[i] = 0;
for (int i=0; i<2; i++) fRec358[i] = 0;
for (int i=0; i<2; i++) fRec356[i] = 0;
for (int i=0; i<16384; i++) fVec172[i] = 0;
for (int i=0; i<2; i++) fRec359[i] = 0;
for (int i=0; i<2; i++) fRec357[i] = 0;
for (int i=0; i<16384; i++) fVec173[i] = 0;
for (int i=0; i<2; i++) fRec362[i] = 0;
for (int i=0; i<2; i++) fRec360[i] = 0;
for (int i=0; i<16384; i++) fVec174[i] = 0;
for (int i=0; i<2; i++) fRec363[i] = 0;
for (int i=0; i<2; i++) fRec361[i] = 0;
for (int i=0; i<16384; i++) fVec175[i] = 0;
for (int i=0; i<2; i++) fRec366[i] = 0;
for (int i=0; i<2; i++) fRec364[i] = 0;
for (int i=0; i<16384; i++) fVec176[i] = 0;
for (int i=0; i<2; i++) fRec367[i] = 0;
for (int i=0; i<2; i++) fRec365[i] = 0;
for (int i=0; i<16384; i++) fVec177[i] = 0;
for (int i=0; i<2; i++) fRec370[i] = 0;
for (int i=0; i<2; i++) fRec368[i] = 0;
for (int i=0; i<16384; i++) fVec178[i] = 0;
for (int i=0; i<2; i++) fRec371[i] = 0;
for (int i=0; i<2; i++) fRec369[i] = 0;
for (int i=0; i<1024; i++) fVec179[i] = 0;
for (int i=0; i<16384; i++) fVec180[i] = 0;
for (int i=0; i<2; i++) fRec351[i] = 0;
for (int i=0; i<16384; i++) fVec181[i] = 0;
for (int i=0; i<16384; i++) fVec182[i] = 0;
for (int i=0; i<2; i++) fRec330[i] = 0;
for (int i=0; i<2; i++) fRec329[i] = 0;
for (int i=0; i<3; i++) fRec328[i] = 0;
for (int i=0; i<3; i++) fRec327[i] = 0;
for (int i=0; i<3; i++) fRec326[i] = 0;
for (int i=0; i<2; i++) fRec377[i] = 0;
for (int i=0; i<3; i++) fRec376[i] = 0;
for (int i=0; i<3; i++) fRec375[i] = 0;
for (int i=0; i<2; i++) fVec183[i] = 0;
for (int i=0; i<2; i++) fRec374[i] = 0;
for (int i=0; i<3; i++) fRec373[i] = 0;
for (int i=0; i<3; i++) fRec372[i] = 0;
for (int i=0; i<2; i++) fRec380[i] = 0;
for (int i=0; i<3; i++) fRec379[i] = 0;
for (int i=0; i<3; i++) fRec378[i] = 0;
for (int i=0; i<1024; i++) fVec184[i] = 0;
for (int i=0; i<2; i++) fRec325[i] = 0;
for (int i=0; i<1024; i++) fVec185[i] = 0;
for (int i=0; i<16384; i++) fVec186[i] = 0;
for (int i=0; i<2; i++) fRec387[i] = 0;
for (int i=0; i<16384; i++) fVec187[i] = 0;
for (int i=0; i<16384; i++) fVec188[i] = 0;
for (int i=0; i<2; i++) fRec386[i] = 0;
for (int i=0; i<2; i++) fRec385[i] = 0;
for (int i=0; i<3; i++) fRec384[i] = 0;
for (int i=0; i<3; i++) fRec383[i] = 0;
for (int i=0; i<3; i++) fRec382[i] = 0;
for (int i=0; i<2; i++) fRec393[i] = 0;
for (int i=0; i<3; i++) fRec392[i] = 0;
for (int i=0; i<3; i++) fRec391[i] = 0;
for (int i=0; i<2; i++) fVec189[i] = 0;
for (int i=0; i<2; i++) fRec390[i] = 0;
for (int i=0; i<3; i++) fRec389[i] = 0;
for (int i=0; i<3; i++) fRec388[i] = 0;
for (int i=0; i<2; i++) fRec396[i] = 0;
for (int i=0; i<3; i++) fRec395[i] = 0;
for (int i=0; i<3; i++) fRec394[i] = 0;
for (int i=0; i<1024; i++) fVec190[i] = 0;
for (int i=0; i<2; i++) fRec381[i] = 0;
for (int i=0; i<16384; i++) fVec191[i] = 0;
for (int i=0; i<2; i++) fRec7[i] = 0;
for (int i=0; i<2; i++) fRec5[i] = 0;
for (int i=0; i<2; i++) fRec398[i] = 0;
for (int i=0; i<16384; i++) fVec192[i] = 0;
for (int i=0; i<2; i++) fRec397[i] = 0;
for (int i=0; i<2; i++) fRec6[i] = 0;
for (int i=0; i<16384; i++) fVec193[i] = 0;
for (int i=0; i<2; i++) fRec401[i] = 0;
for (int i=0; i<2; i++) fRec399[i] = 0;
for (int i=0; i<16384; i++) fVec194[i] = 0;
for (int i=0; i<2; i++) fRec402[i] = 0;
for (int i=0; i<2; i++) fRec400[i] = 0;
for (int i=0; i<16384; i++) fVec195[i] = 0;
for (int i=0; i<2; i++) fRec405[i] = 0;
for (int i=0; i<2; i++) fRec403[i] = 0;
for (int i=0; i<16384; i++) fVec196[i] = 0;
for (int i=0; i<2; i++) fRec406[i] = 0;
for (int i=0; i<2; i++) fRec404[i] = 0;
for (int i=0; i<16384; i++) fVec197[i] = 0;
for (int i=0; i<2; i++) fRec415[i] = 0;
for (int i=0; i<2; i++) fRec413[i] = 0;
for (int i=0; i<16384; i++) fVec198[i] = 0;
for (int i=0; i<2; i++) fRec416[i] = 0;
for (int i=0; i<2; i++) fRec414[i] = 0;
for (int i=0; i<16384; i++) fVec199[i] = 0;
for (int i=0; i<2; i++) fRec419[i] = 0;
for (int i=0; i<2; i++) fRec417[i] = 0;
for (int i=0; i<16384; i++) fVec200[i] = 0;
for (int i=0; i<2; i++) fRec420[i] = 0;
for (int i=0; i<2; i++) fRec418[i] = 0;
for (int i=0; i<16384; i++) fVec201[i] = 0;
for (int i=0; i<2; i++) fRec423[i] = 0;
for (int i=0; i<2; i++) fRec421[i] = 0;
for (int i=0; i<16384; i++) fVec202[i] = 0;
for (int i=0; i<2; i++) fRec424[i] = 0;
for (int i=0; i<2; i++) fRec422[i] = 0;
for (int i=0; i<16384; i++) fVec203[i] = 0;
for (int i=0; i<2; i++) fRec427[i] = 0;
for (int i=0; i<2; i++) fRec425[i] = 0;
for (int i=0; i<16384; i++) fVec204[i] = 0;
for (int i=0; i<2; i++) fRec428[i] = 0;
for (int i=0; i<2; i++) fRec426[i] = 0;
for (int i=0; i<16384; i++) fVec205[i] = 0;
for (int i=0; i<2; i++) fRec431[i] = 0;
for (int i=0; i<2; i++) fRec429[i] = 0;
for (int i=0; i<16384; i++) fVec206[i] = 0;
for (int i=0; i<2; i++) fRec432[i] = 0;
for (int i=0; i<2; i++) fRec430[i] = 0;
for (int i=0; i<16384; i++) fVec207[i] = 0;
for (int i=0; i<2; i++) fRec436[i] = 0;
for (int i=0; i<2; i++) fRec434[i] = 0;
for (int i=0; i<16384; i++) fVec208[i] = 0;
for (int i=0; i<2; i++) fRec437[i] = 0;
for (int i=0; i<2; i++) fRec435[i] = 0;
for (int i=0; i<16384; i++) fVec209[i] = 0;
for (int i=0; i<2; i++) fRec440[i] = 0;
for (int i=0; i<2; i++) fRec438[i] = 0;
for (int i=0; i<16384; i++) fVec210[i] = 0;
for (int i=0; i<2; i++) fRec441[i] = 0;
for (int i=0; i<2; i++) fRec439[i] = 0;
for (int i=0; i<16384; i++) fVec211[i] = 0;
for (int i=0; i<2; i++) fRec444[i] = 0;
for (int i=0; i<2; i++) fRec442[i] = 0;
for (int i=0; i<16384; i++) fVec212[i] = 0;
for (int i=0; i<2; i++) fRec445[i] = 0;
for (int i=0; i<2; i++) fRec443[i] = 0;
for (int i=0; i<16384; i++) fVec213[i] = 0;
for (int i=0; i<2; i++) fRec448[i] = 0;
for (int i=0; i<2; i++) fRec446[i] = 0;
for (int i=0; i<16384; i++) fVec214[i] = 0;
for (int i=0; i<2; i++) fRec449[i] = 0;
for (int i=0; i<2; i++) fRec447[i] = 0;
for (int i=0; i<1024; i++) fVec215[i] = 0;
for (int i=0; i<16384; i++) fVec216[i] = 0;
for (int i=0; i<2; i++) fRec433[i] = 0;
for (int i=0; i<16384; i++) fVec217[i] = 0;
for (int i=0; i<16384; i++) fVec218[i] = 0;
for (int i=0; i<2; i++) fRec412[i] = 0;
for (int i=0; i<2; i++) fRec411[i] = 0;
for (int i=0; i<3; i++) fRec410[i] = 0;
for (int i=0; i<3; i++) fRec409[i] = 0;
for (int i=0; i<3; i++) fRec408[i] = 0;
for (int i=0; i<2; i++) fRec455[i] = 0;
for (int i=0; i<3; i++) fRec454[i] = 0;
for (int i=0; i<3; i++) fRec453[i] = 0;
for (int i=0; i<2; i++) fVec219[i] = 0;
for (int i=0; i<2; i++) fRec452[i] = 0;
for (int i=0; i<3; i++) fRec451[i] = 0;
for (int i=0; i<3; i++) fRec450[i] = 0;
for (int i=0; i<2; i++) fRec458[i] = 0;
for (int i=0; i<3; i++) fRec457[i] = 0;
for (int i=0; i<3; i++) fRec456[i] = 0;
for (int i=0; i<1024; i++) fVec220[i] = 0;
for (int i=0; i<2; i++) fRec407[i] = 0;
for (int i=0; i<1024; i++) fVec221[i] = 0;
for (int i=0; i<16384; i++) fVec222[i] = 0;
for (int i=0; i<2; i++) fRec465[i] = 0;
for (int i=0; i<16384; i++) fVec223[i] = 0;
for (int i=0; i<16384; i++) fVec224[i] = 0;
for (int i=0; i<2; i++) fRec464[i] = 0;
for (int i=0; i<2; i++) fRec463[i] = 0;
for (int i=0; i<3; i++) fRec462[i] = 0;
for (int i=0; i<3; i++) fRec461[i] = 0;
for (int i=0; i<3; i++) fRec460[i] = 0;
for (int i=0; i<2; i++) fRec471[i] = 0;
for (int i=0; i<3; i++) fRec470[i] = 0;
for (int i=0; i<3; i++) fRec469[i] = 0;
for (int i=0; i<2; i++) fVec225[i] = 0;
for (int i=0; i<2; i++) fRec468[i] = 0;
for (int i=0; i<3; i++) fRec467[i] = 0;
for (int i=0; i<3; i++) fRec466[i] = 0;
for (int i=0; i<2; i++) fRec474[i] = 0;
for (int i=0; i<3; i++) fRec473[i] = 0;
for (int i=0; i<3; i++) fRec472[i] = 0;
for (int i=0; i<1024; i++) fVec226[i] = 0;
for (int i=0; i<2; i++) fRec459[i] = 0;
for (int i=0; i<16384; i++) fVec227[i] = 0;
for (int i=0; i<2; i++) fRec475[i] = 0;
for (int i=0; i<2; i++) fRec4[i] = 0;
for (int i=0; i<2; i++) fRec2[i] = 0;
for (int i=0; i<16384; i++) fVec228[i] = 0;
for (int i=0; i<2; i++) fRec476[i] = 0;
for (int i=0; i<2; i++) fRec3[i] = 0;
for (int i=0; i<16384; i++) fVec229[i] = 0;
for (int i=0; i<2; i++) fRec479[i] = 0;
for (int i=0; i<2; i++) fRec477[i] = 0;
for (int i=0; i<16384; i++) fVec230[i] = 0;
for (int i=0; i<2; i++) fRec480[i] = 0;
for (int i=0; i<2; i++) fRec478[i] = 0;
for (int i=0; i<16384; i++) fVec231[i] = 0;
for (int i=0; i<2; i++) fRec483[i] = 0;
for (int i=0; i<2; i++) fRec481[i] = 0;
for (int i=0; i<16384; i++) fVec232[i] = 0;
for (int i=0; i<2; i++) fRec484[i] = 0;
for (int i=0; i<2; i++) fRec482[i] = 0;
for (int i=0; i<16384; i++) fVec233[i] = 0;
for (int i=0; i<2; i++) fRec487[i] = 0;
for (int i=0; i<2; i++) fRec485[i] = 0;
for (int i=0; i<16384; i++) fVec234[i] = 0;
for (int i=0; i<2; i++) fRec488[i] = 0;
for (int i=0; i<2; i++) fRec486[i] = 0;
for (int i=0; i<16384; i++) fVec235[i] = 0;
for (int i=0; i<2; i++) fRec497[i] = 0;
for (int i=0; i<2; i++) fRec495[i] = 0;
for (int i=0; i<16384; i++) fVec236[i] = 0;
for (int i=0; i<2; i++) fRec498[i] = 0;
for (int i=0; i<2; i++) fRec496[i] = 0;
for (int i=0; i<16384; i++) fVec237[i] = 0;
for (int i=0; i<2; i++) fRec501[i] = 0;
for (int i=0; i<2; i++) fRec499[i] = 0;
for (int i=0; i<16384; i++) fVec238[i] = 0;
for (int i=0; i<2; i++) fRec502[i] = 0;
for (int i=0; i<2; i++) fRec500[i] = 0;
for (int i=0; i<16384; i++) fVec239[i] = 0;
for (int i=0; i<2; i++) fRec505[i] = 0;
for (int i=0; i<2; i++) fRec503[i] = 0;
for (int i=0; i<16384; i++) fVec240[i] = 0;
for (int i=0; i<2; i++) fRec506[i] = 0;
for (int i=0; i<2; i++) fRec504[i] = 0;
for (int i=0; i<16384; i++) fVec241[i] = 0;
for (int i=0; i<2; i++) fRec509[i] = 0;
for (int i=0; i<2; i++) fRec507[i] = 0;
for (int i=0; i<16384; i++) fVec242[i] = 0;
for (int i=0; i<2; i++) fRec510[i] = 0;
for (int i=0; i<2; i++) fRec508[i] = 0;
for (int i=0; i<16384; i++) fVec243[i] = 0;
for (int i=0; i<2; i++) fRec513[i] = 0;
for (int i=0; i<2; i++) fRec511[i] = 0;
for (int i=0; i<16384; i++) fVec244[i] = 0;
for (int i=0; i<2; i++) fRec514[i] = 0;
for (int i=0; i<2; i++) fRec512[i] = 0;
for (int i=0; i<16384; i++) fVec245[i] = 0;
for (int i=0; i<2; i++) fRec518[i] = 0;
for (int i=0; i<2; i++) fRec516[i] = 0;
for (int i=0; i<16384; i++) fVec246[i] = 0;
for (int i=0; i<2; i++) fRec519[i] = 0;
for (int i=0; i<2; i++) fRec517[i] = 0;
for (int i=0; i<16384; i++) fVec247[i] = 0;
for (int i=0; i<2; i++) fRec522[i] = 0;
for (int i=0; i<2; i++) fRec520[i] = 0;
for (int i=0; i<16384; i++) fVec248[i] = 0;
for (int i=0; i<2; i++) fRec523[i] = 0;
for (int i=0; i<2; i++) fRec521[i] = 0;
for (int i=0; i<16384; i++) fVec249[i] = 0;
for (int i=0; i<2; i++) fRec526[i] = 0;
for (int i=0; i<2; i++) fRec524[i] = 0;
for (int i=0; i<16384; i++) fVec250[i] = 0;
for (int i=0; i<2; i++) fRec527[i] = 0;
for (int i=0; i<2; i++) fRec525[i] = 0;
for (int i=0; i<1024; i++) fVec251[i] = 0;
for (int i=0; i<16384; i++) fVec252[i] = 0;
for (int i=0; i<2; i++) fRec515[i] = 0;
for (int i=0; i<16384; i++) fVec253[i] = 0;
for (int i=0; i<16384; i++) fVec254[i] = 0;
for (int i=0; i<2; i++) fRec494[i] = 0;
for (int i=0; i<2; i++) fRec493[i] = 0;
for (int i=0; i<3; i++) fRec492[i] = 0;
for (int i=0; i<3; i++) fRec491[i] = 0;
for (int i=0; i<3; i++) fRec490[i] = 0;
for (int i=0; i<2; i++) fRec533[i] = 0;
for (int i=0; i<3; i++) fRec532[i] = 0;
for (int i=0; i<3; i++) fRec531[i] = 0;
for (int i=0; i<2; i++) fVec255[i] = 0;
for (int i=0; i<2; i++) fRec530[i] = 0;
for (int i=0; i<3; i++) fRec529[i] = 0;
for (int i=0; i<3; i++) fRec528[i] = 0;
for (int i=0; i<2; i++) fRec536[i] = 0;
for (int i=0; i<3; i++) fRec535[i] = 0;
for (int i=0; i<3; i++) fRec534[i] = 0;
for (int i=0; i<1024; i++) fVec256[i] = 0;
for (int i=0; i<2; i++) fRec489[i] = 0;
for (int i=0; i<2; i++) fRec0[i] = 0;
for (int i=0; i<1024; i++) fVec257[i] = 0;
for (int i=0; i<16384; i++) fVec258[i] = 0;
for (int i=0; i<2; i++) fRec543[i] = 0;
for (int i=0; i<16384; i++) fVec259[i] = 0;
for (int i=0; i<16384; i++) fVec260[i] = 0;
for (int i=0; i<2; i++) fRec542[i] = 0;
for (int i=0; i<2; i++) fRec541[i] = 0;
for (int i=0; i<3; i++) fRec540[i] = 0;
for (int i=0; i<3; i++) fRec539[i] = 0;
for (int i=0; i<3; i++) fRec538[i] = 0;
for (int i=0; i<2; i++) fRec549[i] = 0;
for (int i=0; i<3; i++) fRec548[i] = 0;
for (int i=0; i<3; i++) fRec547[i] = 0;
for (int i=0; i<2; i++) fVec261[i] = 0;
for (int i=0; i<2; i++) fRec546[i] = 0;
for (int i=0; i<3; i++) fRec545[i] = 0;
for (int i=0; i<3; i++) fRec544[i] = 0;
for (int i=0; i<2; i++) fRec552[i] = 0;
for (int i=0; i<3; i++) fRec551[i] = 0;
for (int i=0; i<3; i++) fRec550[i] = 0;
for (int i=0; i<1024; i++) fVec262[i] = 0;
for (int i=0; i<2; i++) fRec537[i] = 0;
for (int i=0; i<2; i++) fRec1[i] = 0;
}
virtual void init(int samplingFreq) {
classInit(samplingFreq);
instanceInit(samplingFreq);
}
virtual void instanceInit(int samplingFreq) {
instanceConstants(samplingFreq);
instanceResetUserInterface();
instanceClear();
}
virtual mydsp* clone() {
return new mydsp();
}
virtual int getSampleRate() {
return fSamplingFreq;
}
virtual void buildUserInterface(UI* ui_interface) {
ui_interface->openVerticalBox("0x00");
ui_interface->addHorizontalSlider("damp", &fslider2, 0.0f, 0.0f, 0.999f, 0.0001f);
ui_interface->addHorizontalSlider("earlyDiff", &fslider0, 0.707f, 0.0f, 0.99f, 0.001f);
ui_interface->addHorizontalSlider("highBand", &fslider8, 2e+03f, 1e+03f, 1e+04f, 0.1f);
ui_interface->addHorizontalSlider("highX", &fslider10, 1.0f, 0.0f, 1.0f, 0.01f);
ui_interface->addHorizontalSlider("lowBand", &fslider6, 5e+02f, 1e+02f, 6e+03f, 0.1f);
ui_interface->addHorizontalSlider("lowX", &fslider9, 1.0f, 0.0f, 1.0f, 0.01f);
ui_interface->addHorizontalSlider("mDepth", &fslider3, 0.1f, 0.0f, 1.0f, 0.001f);
ui_interface->addHorizontalSlider("mFreq", &fslider4, 2.0f, 0.0f, 1e+01f, 0.01f);
ui_interface->addHorizontalSlider("midX", &fslider7, 1.0f, 0.0f, 1.0f, 0.01f);
ui_interface->addHorizontalSlider("size", &fslider1, 1.0f, 0.5f, 3.0f, 0.01f);
ui_interface->addHorizontalSlider("t60", &fslider5, 1.0f, 0.1f, 6e+01f, 0.1f);
ui_interface->closeBox();
}
virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** output) {
float fSlow0 = float(fslider0);
float fSlow1 = cosf(fSlow0);
float fSlow2 = sinf(fSlow0);
float fSlow3 = (0 - fSlow2);
float fSlow4 = float(fslider1);
int iSlow5 = primes((115 * fSlow4));
float fSlow6 = (0.0001f * iSlow5);
int iSlow7 = primes((215 * fSlow4));
float fSlow8 = (0.0001f * iSlow7);
int iSlow9 = primes((55 * fSlow4));
float fSlow10 = (0.0001f * iSlow9);
float fSlow11 = float(fslider2);
float fSlow12 = (1.0f - fSlow11);
float fSlow13 = float(fslider3);
float fSlow14 = (50 * fSlow13);
float fSlow15 = (fConst1 * float(fslider4));
float fSlow16 = sinf(fSlow15);
float fSlow17 = cosf(fSlow15);
float fSlow18 = (0 - fSlow16);
float fSlow19 = powf(10,(0 - (0.51f * (((1.25f * fSlow4) + -0.25f) / float(fslider5)))));
float fSlow20 = tanf((fConst2 * float(fslider6)));
float fSlow21 = (1.0f / fSlow20);
float fSlow22 = (1.0f / (((fSlow21 + 0.618034f) / fSlow20) + 1));
float fSlow23 = float(fslider7);
float fSlow24 = (1.0f / faustpower<2>(fSlow20));
float fSlow25 = (2 * (0 - fSlow24));
float fSlow26 = (1.0f / (((fSlow21 + 1.618034f) / fSlow20) + 1));
float fSlow27 = (fSlow21 + 1);
float fSlow28 = (0 - ((1 - fSlow21) / fSlow27));
float fSlow29 = (1.0f / fSlow27);
float fSlow30 = (0 - fSlow21);
float fSlow31 = tanf((fConst2 * float(fslider8)));
float fSlow32 = (1.0f / fSlow31);
float fSlow33 = (((fSlow32 + 0.618034f) / fSlow31) + 1);
float fSlow34 = (1.0f / fSlow33);
float fSlow35 = (1.0f / (((fSlow32 + 1.618034f) / fSlow31) + 1));
float fSlow36 = (fSlow32 + 1);
float fSlow37 = (0 - ((1 - fSlow32) / fSlow36));
float fSlow38 = (1.0f / fSlow36);
int iSlow39 = primes((245 * fSlow4));
float fSlow40 = (0.0001f * iSlow39);
int iSlow41 = primes((185 * fSlow4));
float fSlow42 = (0.0001f * iSlow41);
int iSlow43 = primes((155 * fSlow4));
float fSlow44 = (0.0001f * iSlow43);
int iSlow45 = primes((125 * fSlow4));
float fSlow46 = (0.0001f * iSlow45);
int iSlow47 = primes((54 * fSlow4));
float fSlow48 = (0.005f * iSlow47);
int iSlow49 = primes((130 * fSlow4));
float fSlow50 = (0.0001f * iSlow49);
int iSlow51 = primes((100 * fSlow4));
float fSlow52 = (0.0001f * iSlow51);
int iSlow53 = primes((70 * fSlow4));
float fSlow54 = (0.0001f * iSlow53);
int iSlow55 = primes((10 * fSlow4));
float fSlow56 = (0.0001f * iSlow55);
int iSlow57 = primes((110 * fSlow4));
float fSlow58 = (0.0001f * iSlow57);
int iSlow59 = primes((40 * fSlow4));
float fSlow60 = (0.0001f * iSlow59);
int iSlow61 = primes((140 * fSlow4));
float fSlow62 = (0.0001f * iSlow61);
int iSlow63 = primes((170 * fSlow4));
float fSlow64 = (0.0001f * iSlow63);
int iSlow65 = primes((200 * fSlow4));
float fSlow66 = (0.0001f * iSlow65);
int iSlow67 = primes((230 * fSlow4));
float fSlow68 = (0.0001f * iSlow67);
float fSlow69 = (0 - (5e+01f * fSlow13));
int iSlow70 = primes((204 * fSlow4));
float fSlow71 = (0.005f * iSlow70);
int iSlow72 = primes((25 * fSlow4));
float fSlow73 = (0.0001f * iSlow72);
int iSlow74 = primes((85 * fSlow4));
float fSlow75 = (0.0001f * iSlow74);
int iSlow76 = primes((145 * fSlow4));
float fSlow77 = (0.0001f * iSlow76);
int iSlow78 = primes((134 * fSlow4));
float fSlow79 = (0.005f * iSlow78);
float fSlow80 = (1.0f / faustpower<2>(fSlow31));
float fSlow81 = (2 * (1 - fSlow80));
float fSlow82 = (((fSlow32 + -1.618034f) / fSlow31) + 1);
float fSlow83 = (((fSlow32 + -0.618034f) / fSlow31) + 1);
float fSlow84 = (1.0f / (fSlow20 * fSlow33));
float fSlow85 = (2 * (1 - fSlow24));
float fSlow86 = (((fSlow21 + -1.618034f) / fSlow20) + 1);
float fSlow87 = (((fSlow21 + -0.618034f) / fSlow20) + 1);
float fSlow88 = float(fslider9);
float fSlow89 = float(fslider10);
float fSlow90 = (2 * (0 - fSlow80));
float fSlow91 = (0 - fSlow32);
float fSlow92 = (1.0f / (((fSlow21 + 1.618034f) / fSlow20) + 1));
float fSlow93 = (((fSlow21 + -1.618034f) / fSlow20) + 1);
int iSlow94 = primes((34 * fSlow4));
float fSlow95 = (0.005f * iSlow94);
int iSlow96 = primes((240 * fSlow4));
float fSlow97 = (0.0001f * iSlow96);
int iSlow98 = primes((190 * fSlow4));
float fSlow99 = (0.0001f * iSlow98);
int iSlow100 = primes((175 * fSlow4));
float fSlow101 = (0.0001f * iSlow100);
FAUSTFLOAT* input0 = input[0];
FAUSTFLOAT* input1 = input[1];
FAUSTFLOAT* output0 = output[0];
FAUSTFLOAT* output1 = output[1];
for (int i=0; i<count; i++) {
iVec0[0] = 1;
int iTemp0 = (1 - iVec0[1]);
fRec8[0] = (fSlow6 + (0.9999f * ((iSlow5 * iTemp0) + fRec8[1])));
float fTemp1 = (fRec8[0] + -1.49999f);
float fTemp2 = floorf(fTemp1);
float fTemp3 = (fTemp2 + (2.0f - fRec8[0]));
fRec12[0] = (fSlow8 + (0.9999f * ((iSlow7 * iTemp0) + fRec12[1])));
float fTemp4 = (fRec12[0] + -1.49999f);
float fTemp5 = floorf(fTemp4);
float fTemp6 = (fTemp5 + (2.0f - fRec12[0]));
fRec16[0] = (fSlow10 + (0.9999f * ((iSlow9 * iTemp0) + fRec16[1])));
float fTemp7 = (fRec16[0] + -1.49999f);
float fTemp8 = floorf(fTemp7);
float fTemp9 = (fTemp8 + (2.0f - fRec16[0]));
fRec18[0] = ((fSlow16 * fRec19[1]) + (fSlow17 * fRec18[1]));
fRec19[0] = (((fSlow17 * fRec19[1]) + (fSlow18 * fRec18[1])) + iTemp0);
float fTemp10 = (fSlow14 * (fRec18[0] + 1));
float fTemp11 = (fTemp10 + 3.500005f);
float fTemp12 = floorf(fTemp11);
float fTemp13 = (fTemp10 + (3.0f - fTemp12));
float fTemp14 = (0 - (0.5f * fTemp13));
float fTemp15 = (fTemp10 + (2.0f - fTemp12));
float fTemp16 = (0 - (0.33333334f * fTemp15));
float fTemp17 = (fTemp10 + (1.0f - fTemp12));
float fTemp18 = (0 - (0.25f * fTemp17));
float fTemp19 = ((fTemp14 * fTemp16) * fTemp18);
float fTemp20 = (fTemp12 + (-4.0f - fTemp10));
float fTemp21 = (fTemp19 * fTemp20);
float fTemp22 = (float)input0[i];
float fTemp23 = (fTemp10 + (5.0f - fTemp12));
float fTemp24 = (0 - (0.5f * fTemp15));
float fTemp25 = (0 - (0.33333334f * fTemp17));
float fTemp26 = (fTemp24 * fTemp25);
fRec30[0] = (fSlow40 + (0.9999f * ((iSlow39 * iTemp0) + fRec30[1])));
float fTemp27 = (fRec30[0] + -1.49999f);
float fTemp28 = floorf(fTemp27);
float fTemp29 = (fTemp28 + (2.0f - fRec30[0]));
fRec37[0] = (fSlow42 + (0.9999f * ((iSlow41 * iTemp0) + fRec37[1])));
float fTemp30 = (fRec37[0] + -1.49999f);
float fTemp31 = floorf(fTemp30);
float fTemp32 = (fTemp31 + (2.0f - fRec37[0]));
fRec41[0] = (fSlow44 + (0.9999f * ((iSlow43 * iTemp0) + fRec41[1])));
float fTemp33 = (fRec41[0] + -1.49999f);
float fTemp34 = floorf(fTemp33);
float fTemp35 = (fTemp34 + (2.0f - fRec41[0]));
fRec45[0] = (fSlow46 + (0.9999f * ((iSlow45 * iTemp0) + fRec45[1])));
float fTemp36 = (fRec45[0] + -1.49999f);
float fTemp37 = floorf(fTemp36);
float fTemp38 = (fTemp37 + (2.0f - fRec45[0]));
fRec47[0] = (fSlow48 + (0.995f * ((iSlow47 * iTemp0) + fRec47[1])));
float fTemp39 = (fRec47[0] + -1.49999f);
float fTemp40 = floorf(fTemp39);
float fTemp41 = (fTemp40 + (2.0f - fRec47[0]));
float fTemp42 = (fSlow14 * (fRec19[0] + 1));
float fTemp43 = (fTemp42 + 3.500005f);
float fTemp44 = floorf(fTemp43);
float fTemp45 = (fTemp42 + (3.0f - fTemp44));
float fTemp46 = (0 - (0.5f * fTemp45));
float fTemp47 = (fTemp42 + (2.0f - fTemp44));
float fTemp48 = (0 - (0.33333334f * fTemp47));
float fTemp49 = (fTemp42 + (1.0f - fTemp44));
float fTemp50 = (0 - (0.25f * fTemp49));
float fTemp51 = ((fTemp46 * fTemp48) * fTemp50);
float fTemp52 = (fTemp44 + (-4.0f - fTemp42));
float fTemp53 = (fTemp51 * fTemp52);
fRec51[0] = (fSlow50 + (0.9999f * ((iSlow49 * iTemp0) + fRec51[1])));
float fTemp54 = (fRec51[0] + -1.49999f);
float fTemp55 = floorf(fTemp54);
float fTemp56 = (fTemp55 + (2.0f - fRec51[0]));
fRec55[0] = (fSlow52 + (0.9999f * ((iSlow51 * iTemp0) + fRec55[1])));
float fTemp57 = (fRec55[0] + -1.49999f);
float fTemp58 = floorf(fTemp57);
float fTemp59 = (fTemp58 + (2.0f - fRec55[0]));
fRec59[0] = (fSlow54 + (0.9999f * ((iSlow53 * iTemp0) + fRec59[1])));
float fTemp60 = (fRec59[0] + -1.49999f);
float fTemp61 = floorf(fTemp60);
float fTemp62 = (fTemp61 + (2.0f - fRec59[0]));
float fTemp63 = (0.64955574f * fRec0[1]);
fRec66[0] = (fSlow56 + (0.9999f * ((iSlow55 * iTemp0) + fRec66[1])));
float fTemp64 = (fRec66[0] + -1.49999f);
float fTemp65 = floorf(fTemp64);
float fTemp66 = (fTemp65 + (2.0f - fRec66[0]));
float fTemp67 = (0.760314f * fRec0[1]);
float fTemp68 = (fTemp67 - (0.64955574f * fRec63[1]));
float fTemp69 = (0.760314f * fRec1[1]);
float fTemp70 = (fTemp69 - (0.64955574f * fRec64[1]));
float fTemp71 = ((0.70710677f * fTemp68) - (0.70710677f * fTemp70));
fVec1[IOTA&16383] = fTemp71;
int iTemp72 = int(min(8192, max(0, int(fTemp64))));
float fTemp73 = (fRec66[0] - fTemp65);
int iTemp74 = int((iTemp72 + 1));
float fTemp75 = (0 - (fTemp66 / fTemp73));
fRec65[0] = ((((fTemp66 * fVec1[(IOTA-iTemp72)&16383]) / fTemp73) + fVec1[(IOTA-iTemp74)&16383]) + (fTemp75 * fRec65[1]));
fRec63[0] = fRec65[0];
fRec68[0] = (fSlow58 + (0.9999f * ((iSlow57 * iTemp0) + fRec68[1])));
float fTemp76 = (fRec68[0] + -1.49999f);
float fTemp77 = floorf(fTemp76);
float fTemp78 = (fTemp77 + (2.0f - fRec68[0]));
float fTemp79 = ((0.70710677f * fTemp68) + (0.70710677f * fTemp70));
fVec2[IOTA&16383] = fTemp79;
int iTemp80 = int(min(8192, max(0, int(fTemp76))));
float fTemp81 = (fRec68[0] - fTemp77);
int iTemp82 = int((iTemp80 + 1));
float fTemp83 = (0 - (fTemp78 / fTemp81));
fRec67[0] = ((((fTemp78 * fVec2[(IOTA-iTemp80)&16383]) / fTemp81) + fVec2[(IOTA-iTemp82)&16383]) + (fTemp83 * fRec67[1]));
fRec64[0] = fRec67[0];
float fTemp84 = (fTemp63 + (0.760314f * fRec63[1]));
float fTemp85 = (0.760314f * fTemp84);
float fTemp86 = (fTemp85 - (0.64955574f * fRec60[1]));
float fTemp87 = (0.64955574f * fRec1[1]);
float fTemp88 = ((0.760314f * fRec64[1]) + fTemp87);
float fTemp89 = (0.760314f * fTemp88);
float fTemp90 = (fTemp89 - (0.64955574f * fRec61[1]));
float fTemp91 = ((0.70710677f * fTemp86) - (0.70710677f * fTemp90));
fVec3[IOTA&16383] = fTemp91;
fRec69[0] = (fSlow60 + (0.9999f * ((iSlow59 * iTemp0) + fRec69[1])));
float fTemp92 = (fRec69[0] + -1.49999f);
int iTemp93 = int(min(8192, max(0, int(fTemp92))));
int iTemp94 = int((iTemp93 + 1));
float fTemp95 = floorf(fTemp92);
float fTemp96 = (fTemp95 + (2.0f - fRec69[0]));
float fTemp97 = (fRec69[0] - fTemp95);
float fTemp98 = (0 - (fTemp96 / fTemp97));
fRec62[0] = (fVec3[(IOTA-iTemp94)&16383] + ((fRec62[1] * fTemp98) + ((fTemp96 * fVec3[(IOTA-iTemp93)&16383]) / fTemp97)));
fRec60[0] = fRec62[0];
float fTemp99 = ((0.70710677f * fTemp90) + (0.70710677f * fTemp86));
fVec4[IOTA&16383] = fTemp99;
fRec71[0] = (fSlow62 + (0.9999f * ((iSlow61 * iTemp0) + fRec71[1])));
float fTemp100 = (fRec71[0] + -1.49999f);
int iTemp101 = int(min(8192, max(0, int(fTemp100))));
int iTemp102 = int((iTemp101 + 1));
float fTemp103 = floorf(fTemp100);
float fTemp104 = (fTemp103 + (2.0f - fRec71[0]));
float fTemp105 = (fRec71[0] - fTemp103);
float fTemp106 = (0 - (fTemp104 / fTemp105));
fRec70[0] = (fVec4[(IOTA-iTemp102)&16383] + ((fRec70[1] * fTemp106) + ((fTemp104 * fVec4[(IOTA-iTemp101)&16383]) / fTemp105)));
fRec61[0] = fRec70[0];
float fTemp107 = (0.760314f * fRec60[1]);
float fTemp108 = (fTemp67 - (0.64955574f * fRec72[1]));
float fTemp109 = (fTemp69 - (0.64955574f * fRec73[1]));
float fTemp110 = ((0.70710677f * fTemp108) - (0.70710677f * fTemp109));
fVec5[IOTA&16383] = fTemp110;
fRec74[0] = (((fTemp66 * fVec5[(IOTA-iTemp72)&16383]) / fTemp73) + (fVec5[(IOTA-iTemp74)&16383] + (fRec74[1] * fTemp75)));
fRec72[0] = fRec74[0];
float fTemp111 = ((0.70710677f * fTemp108) + (0.70710677f * fTemp109));
fVec6[IOTA&16383] = fTemp111;
fRec75[0] = (((fTemp78 * fVec6[(IOTA-iTemp80)&16383]) / fTemp81) + (fVec6[(IOTA-iTemp82)&16383] + (fRec75[1] * fTemp83)));
fRec73[0] = fRec75[0];
float fTemp112 = (fTemp63 + (0.760314f * fRec72[1]));
float fTemp113 = (0.64955574f * fTemp112);
float fTemp114 = ((0.760314f * (fTemp107 + fTemp113)) - (0.64955574f * fRec56[1]));
float fTemp115 = (0.760314f * fRec61[1]);
float fTemp116 = (fTemp87 + (0.760314f * fRec73[1]));
float fTemp117 = (0.64955574f * fTemp116);
float fTemp118 = ((0.760314f * (fTemp115 + fTemp117)) - (0.64955574f * fRec57[1]));
float fTemp119 = ((0.70710677f * fTemp114) - (0.70710677f * fTemp118));
fVec7[IOTA&16383] = fTemp119;
int iTemp120 = int(min(8192, max(0, int(fTemp60))));
float fTemp121 = (fRec59[0] - fTemp61);
int iTemp122 = int((iTemp120 + 1));
float fTemp123 = (0 - (fTemp62 / fTemp121));
fRec58[0] = ((((fTemp62 * fVec7[(IOTA-iTemp120)&16383]) / fTemp121) + fVec7[(IOTA-iTemp122)&16383]) + (fTemp123 * fRec58[1]));
fRec56[0] = fRec58[0];
fRec77[0] = (fSlow64 + (0.9999f * ((iSlow63 * iTemp0) + fRec77[1])));
float fTemp124 = (fRec77[0] + -1.49999f);
float fTemp125 = floorf(fTemp124);
float fTemp126 = (fTemp125 + (2.0f - fRec77[0]));
float fTemp127 = ((0.70710677f * fTemp114) + (0.70710677f * fTemp118));
fVec8[IOTA&16383] = fTemp127;
int iTemp128 = int(min(8192, max(0, int(fTemp124))));
float fTemp129 = (fRec77[0] - fTemp125);
int iTemp130 = int((iTemp128 + 1));
float fTemp131 = (0 - (fTemp126 / fTemp129));
fRec76[0] = ((((fTemp126 * fVec8[(IOTA-iTemp128)&16383]) / fTemp129) + fVec8[(IOTA-iTemp130)&16383]) + (fTemp131 * fRec76[1]));
fRec57[0] = fRec76[0];
float fTemp132 = (0.760314f * fTemp112);
float fTemp133 = (fTemp132 - (0.64955574f * fRec78[1]));
float fTemp134 = (0.760314f * fTemp116);
float fTemp135 = (fTemp134 - (0.64955574f * fRec79[1]));
float fTemp136 = ((0.70710677f * fTemp133) - (0.70710677f * fTemp135));
fVec9[IOTA&16383] = fTemp136;
fRec80[0] = (((fTemp96 * fVec9[(IOTA-iTemp93)&16383]) / fTemp97) + ((fRec80[1] * fTemp98) + fVec9[(IOTA-iTemp94)&16383]));
fRec78[0] = fRec80[0];
float fTemp137 = ((0.70710677f * fTemp133) + (0.70710677f * fTemp135));
fVec10[IOTA&16383] = fTemp137;
fRec81[0] = (((fTemp104 * fVec10[(IOTA-iTemp101)&16383]) / fTemp105) + ((fRec81[1] * fTemp106) + fVec10[(IOTA-iTemp102)&16383]));
fRec79[0] = fRec81[0];
float fTemp138 = ((0.760314f * fRec78[1]) + fTemp113);
float fTemp139 = (0.64955574f * fTemp138);
float fTemp140 = ((0.760314f * ((0.760314f * fRec56[1]) + fTemp139)) - (0.64955574f * fRec52[1]));
float fTemp141 = ((0.760314f * fRec79[1]) + fTemp117);
float fTemp142 = (0.64955574f * fTemp141);
float fTemp143 = ((0.760314f * ((0.760314f * fRec57[1]) + fTemp142)) - (0.64955574f * fRec53[1]));
float fTemp144 = ((0.70710677f * fTemp140) - (0.70710677f * fTemp143));
fVec11[IOTA&16383] = fTemp144;
int iTemp145 = int(min(8192, max(0, int(fTemp57))));
float fTemp146 = (fRec55[0] - fTemp58);
int iTemp147 = int((iTemp145 + 1));
float fTemp148 = (0 - (fTemp59 / fTemp146));
fRec54[0] = ((((fTemp59 * fVec11[(IOTA-iTemp145)&16383]) / fTemp146) + fVec11[(IOTA-iTemp147)&16383]) + (fTemp148 * fRec54[1]));
fRec52[0] = fRec54[0];
fRec83[0] = (fSlow66 + (0.9999f * ((iSlow65 * iTemp0) + fRec83[1])));
float fTemp149 = (fRec83[0] + -1.49999f);
float fTemp150 = floorf(fTemp149);
float fTemp151 = (fTemp150 + (2.0f - fRec83[0]));
float fTemp152 = ((0.70710677f * fTemp140) + (0.70710677f * fTemp143));
fVec12[IOTA&16383] = fTemp152;
int iTemp153 = int(min(8192, max(0, int(fTemp149))));
float fTemp154 = (fRec83[0] - fTemp150);
int iTemp155 = int((iTemp153 + 1));
float fTemp156 = (0 - (fTemp151 / fTemp154));
fRec82[0] = ((((fTemp151 * fVec12[(IOTA-iTemp153)&16383]) / fTemp154) + fVec12[(IOTA-iTemp155)&16383]) + (fTemp156 * fRec82[1]));
fRec53[0] = fRec82[0];
float fTemp157 = (0.760314f * fTemp138);
float fTemp158 = (fTemp157 - (0.64955574f * fRec84[1]));
float fTemp159 = (0.760314f * fTemp141);
float fTemp160 = (fTemp159 - (0.64955574f * fRec85[1]));
float fTemp161 = ((0.70710677f * fTemp158) - (0.70710677f * fTemp160));
fVec13[IOTA&16383] = fTemp161;
fRec86[0] = (((fTemp62 * fVec13[(IOTA-iTemp120)&16383]) / fTemp121) + ((fRec86[1] * fTemp123) + fVec13[(IOTA-iTemp122)&16383]));
fRec84[0] = fRec86[0];
float fTemp162 = ((0.70710677f * fTemp158) + (0.70710677f * fTemp160));
fVec14[IOTA&16383] = fTemp162;
fRec87[0] = (((fTemp126 * fVec14[(IOTA-iTemp128)&16383]) / fTemp129) + ((fRec87[1] * fTemp131) + fVec14[(IOTA-iTemp130)&16383]));
fRec85[0] = fRec87[0];
float fTemp163 = ((0.760314f * fRec84[1]) + fTemp139);
float fTemp164 = (0.64955574f * fTemp163);
float fTemp165 = ((0.760314f * ((0.760314f * fRec52[1]) + fTemp164)) - (0.64955574f * fRec48[1]));
float fTemp166 = ((0.760314f * fRec85[1]) + fTemp142);
float fTemp167 = (0.64955574f * fTemp166);
float fTemp168 = ((0.760314f * ((0.760314f * fRec53[1]) + fTemp167)) - (0.64955574f * fRec49[1]));
float fTemp169 = ((0.70710677f * fTemp165) - (0.70710677f * fTemp168));
fVec15[IOTA&16383] = fTemp169;
int iTemp170 = int(min(8192, max(0, int(fTemp54))));
float fTemp171 = (fRec51[0] - fTemp55);
int iTemp172 = int((iTemp170 + 1));
float fTemp173 = (0 - (fTemp56 / fTemp171));
fRec50[0] = ((((fTemp56 * fVec15[(IOTA-iTemp170)&16383]) / fTemp171) + fVec15[(IOTA-iTemp172)&16383]) + (fTemp173 * fRec50[1]));
fRec48[0] = fRec50[0];
fRec89[0] = (fSlow68 + (0.9999f * ((iSlow67 * iTemp0) + fRec89[1])));
float fTemp174 = (fRec89[0] + -1.49999f);
float fTemp175 = floorf(fTemp174);
float fTemp176 = (fTemp175 + (2.0f - fRec89[0]));
float fTemp177 = ((0.70710677f * fTemp165) + (0.70710677f * fTemp168));
fVec16[IOTA&16383] = fTemp177;
int iTemp178 = int(min(8192, max(0, int(fTemp174))));
float fTemp179 = (fRec89[0] - fTemp175);
int iTemp180 = int((iTemp178 + 1));
float fTemp181 = (0 - (fTemp176 / fTemp179));
fRec88[0] = ((((fTemp176 * fVec16[(IOTA-iTemp178)&16383]) / fTemp179) + fVec16[(IOTA-iTemp180)&16383]) + (fTemp181 * fRec88[1]));
fRec49[0] = fRec88[0];
float fTemp182 = ((0.760314f * fTemp163) - (0.64955574f * fRec90[1]));
float fTemp183 = ((0.760314f * fTemp166) - (0.64955574f * fRec91[1]));
float fTemp184 = ((0.70710677f * fTemp182) - (0.70710677f * fTemp183));
fVec17[IOTA&16383] = fTemp184;
fRec92[0] = (((fTemp59 * fVec17[(IOTA-iTemp145)&16383]) / fTemp146) + ((fRec92[1] * fTemp148) + fVec17[(IOTA-iTemp147)&16383]));
fRec90[0] = fRec92[0];
float fTemp185 = ((0.70710677f * fTemp182) + (0.70710677f * fTemp183));
fVec18[IOTA&16383] = fTemp185;
fRec93[0] = (((fTemp151 * fVec18[(IOTA-iTemp153)&16383]) / fTemp154) + ((fRec93[1] * fTemp156) + fVec18[(IOTA-iTemp155)&16383]));
fRec91[0] = fRec93[0];
float fTemp186 = (0.760314f * fRec90[1]);
float fTemp187 = (fTemp186 + fTemp164);
float fTemp188 = (0.64955574f * fTemp187);
float fTemp189 = ((0.760314f * fRec48[1]) + fTemp188);
fVec19[IOTA&1023] = fTemp189;
int iTemp190 = int(fTemp43);
int iTemp191 = int(min(512, max(0, iTemp190)));
float fTemp192 = (fTemp42 + (5.0f - fTemp44));
float fTemp193 = (0 - (0.5f * fTemp47));
float fTemp194 = (0 - (0.33333334f * fTemp49));
float fTemp195 = (fTemp193 * fTemp194);
float fTemp196 = (fTemp44 + (-3.0f - fTemp42));
float fTemp197 = (fTemp195 * fTemp196);
int iTemp198 = int(min(512, max(0, (iTemp190 + 1))));
float fTemp199 = (fTemp42 + (4.0f - fTemp44));
float fTemp200 = (fTemp45 * fTemp47);
int iTemp201 = int(min(512, max(0, (iTemp190 + 4))));
float fTemp202 = (0 - (0.5f * fTemp49));
float fTemp203 = (fTemp44 + (-2.0f - fTemp42));
float fTemp204 = (fTemp202 * fTemp203);
int iTemp205 = int(min(512, max(0, (iTemp190 + 2))));
float fTemp206 = (fTemp44 + (-1.0f - fTemp42));
float fTemp207 = (fTemp45 * fTemp206);
int iTemp208 = int(min(512, max(0, (iTemp190 + 3))));
float fTemp209 = ((fTemp53 * fVec19[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec19[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec19[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec19[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec19[(IOTA-iTemp208)&1023]))))))));
fVec20[IOTA&16383] = fTemp209;
int iTemp210 = int(min(8192, max(0, int(fTemp39))));
float fTemp211 = (fRec47[0] - fTemp40);
int iTemp212 = int((iTemp210 + 1));
float fTemp213 = (0 - (fTemp41 / fTemp211));
fRec46[0] = ((((fTemp41 * fVec20[(IOTA-iTemp210)&16383]) / fTemp211) + fVec20[(IOTA-iTemp212)&16383]) + (fTemp213 * fRec46[1]));
float fTemp214 = ((0.760314f * fRec46[0]) - (0.64955574f * fRec42[1]));
float fTemp215 = (fSlow69 * fRec19[0]);
float fTemp216 = (fSlow14 + (fTemp215 + 3.500005f));
float fTemp217 = floorf(fTemp216);
float fTemp218 = (fSlow14 + (fTemp215 + (3.0f - fTemp217)));
float fTemp219 = (0 - (0.5f * fTemp218));
float fTemp220 = (fSlow14 + (fTemp215 + (2.0f - fTemp217)));
float fTemp221 = (0 - (0.33333334f * fTemp220));
float fTemp222 = (fSlow14 + (fTemp215 + (1.0f - fTemp217)));
float fTemp223 = (0 - (0.25f * fTemp222));
float fTemp224 = ((fTemp219 * fTemp221) * fTemp223);
float fTemp225 = ((fTemp217 + (-4.0f - fTemp215)) - fSlow14);
float fTemp226 = (fTemp224 * fTemp225);
float fTemp227 = (0.760314f * fRec91[1]);
float fTemp228 = (fTemp227 + fTemp167);
float fTemp229 = (0.64955574f * fTemp228);
float fTemp230 = ((0.760314f * fRec49[1]) + fTemp229);
fVec21[IOTA&1023] = fTemp230;
int iTemp231 = int(fTemp216);
int iTemp232 = int(min(512, max(0, iTemp231)));
float fTemp233 = (fSlow14 + (fTemp215 + (5.0f - fTemp217)));
float fTemp234 = (0 - (0.5f * fTemp220));
float fTemp235 = (0 - (0.33333334f * fTemp222));
float fTemp236 = (fTemp234 * fTemp235);
float fTemp237 = ((fTemp217 + (-3.0f - fTemp215)) - fSlow14);
float fTemp238 = (fTemp236 * fTemp237);
int iTemp239 = int(min(512, max(0, (iTemp231 + 1))));
float fTemp240 = (fSlow14 + (fTemp215 + (4.0f - fTemp217)));
float fTemp241 = (fTemp218 * fTemp220);
int iTemp242 = int(min(512, max(0, (iTemp231 + 4))));
float fTemp243 = (0 - (0.5f * fTemp222));
float fTemp244 = ((fTemp217 + (-2.0f - fTemp215)) - fSlow14);
float fTemp245 = (fTemp243 * fTemp244);
int iTemp246 = int(min(512, max(0, (iTemp231 + 2))));
float fTemp247 = ((fTemp217 + (-1.0f - fTemp215)) - fSlow14);
float fTemp248 = (fTemp218 * fTemp247);
int iTemp249 = int(min(512, max(0, (iTemp231 + 3))));
float fTemp250 = ((fTemp226 * fVec21[(IOTA-iTemp232)&1023]) + (fTemp233 * ((fTemp238 * fVec21[(IOTA-iTemp239)&1023]) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec21[(IOTA-iTemp242)&1023])) + ((0.5f * (fTemp245 * fVec21[(IOTA-iTemp246)&1023])) + (0.16666667f * (fTemp248 * fVec21[(IOTA-iTemp249)&1023]))))))));
fVec22[IOTA&16383] = fTemp250;
fRec95[0] = (fSlow71 + (0.995f * ((iSlow70 * iTemp0) + fRec95[1])));
float fTemp251 = (fRec95[0] + -1.49999f);
int iTemp252 = int(min(8192, max(0, int(fTemp251))));
int iTemp253 = int((iTemp252 + 1));
float fTemp254 = floorf(fTemp251);
float fTemp255 = (fTemp254 + (2.0f - fRec95[0]));
float fTemp256 = (fRec95[0] - fTemp254);
float fTemp257 = (0 - (fTemp255 / fTemp256));
fRec94[0] = ((fVec22[(IOTA-iTemp253)&16383] + ((fTemp255 * fVec22[(IOTA-iTemp252)&16383]) / fTemp256)) + (fTemp257 * fRec94[1]));
float fTemp258 = ((0.760314f * fRec94[0]) - (0.64955574f * fRec43[1]));
float fTemp259 = ((0.70710677f * fTemp214) - (0.70710677f * fTemp258));
fVec23[IOTA&16383] = fTemp259;
int iTemp260 = int(min(8192, max(0, int(fTemp36))));
float fTemp261 = (fRec45[0] - fTemp37);
int iTemp262 = int((iTemp260 + 1));
float fTemp263 = (0 - (fTemp38 / fTemp261));
fRec44[0] = ((((fTemp38 * fVec23[(IOTA-iTemp260)&16383]) / fTemp261) + fVec23[(IOTA-iTemp262)&16383]) + (fTemp263 * fRec44[1]));
fRec42[0] = fRec44[0];
fRec97[0] = (fSlow73 + (0.9999f * ((iSlow72 * iTemp0) + fRec97[1])));
float fTemp264 = (fRec97[0] + -1.49999f);
float fTemp265 = floorf(fTemp264);
float fTemp266 = (fTemp265 + (2.0f - fRec97[0]));
float fTemp267 = ((0.70710677f * fTemp214) + (0.70710677f * fTemp258));
fVec24[IOTA&16383] = fTemp267;
int iTemp268 = int(min(8192, max(0, int(fTemp264))));
float fTemp269 = (fRec97[0] - fTemp265);
int iTemp270 = int((iTemp268 + 1));
float fTemp271 = (0 - (fTemp266 / fTemp269));
fRec96[0] = ((((fTemp266 * fVec24[(IOTA-iTemp268)&16383]) / fTemp269) + fVec24[(IOTA-iTemp270)&16383]) + (fTemp271 * fRec96[1]));
fRec43[0] = fRec96[0];
float fTemp272 = ((0.760314f * fTemp187) - (0.64955574f * fRec99[1]));
float fTemp273 = ((0.760314f * fTemp228) - (0.64955574f * fRec100[1]));
float fTemp274 = ((0.70710677f * fTemp272) - (0.70710677f * fTemp273));
fVec25[IOTA&16383] = fTemp274;
fRec101[0] = (((fTemp56 * fVec25[(IOTA-iTemp170)&16383]) / fTemp171) + ((fRec101[1] * fTemp173) + fVec25[(IOTA-iTemp172)&16383]));
fRec99[0] = fRec101[0];
float fTemp275 = ((0.70710677f * fTemp272) + (0.70710677f * fTemp273));
fVec26[IOTA&16383] = fTemp275;
fRec102[0] = (((fTemp176 * fVec26[(IOTA-iTemp178)&16383]) / fTemp179) + ((fRec102[1] * fTemp181) + fVec26[(IOTA-iTemp180)&16383]));
fRec100[0] = fRec102[0];
float fTemp276 = (0.760314f * fRec99[1]);
float fTemp277 = (fTemp276 + fTemp188);
fVec27[IOTA&1023] = fTemp277;
float fTemp278 = ((fTemp53 * fVec27[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec27[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec27[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec27[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec27[(IOTA-iTemp208)&1023]))))))));
fVec28[IOTA&16383] = fTemp278;
fRec98[0] = (((fTemp41 * fVec28[(IOTA-iTemp210)&16383]) / fTemp211) + (fVec28[(IOTA-iTemp212)&16383] + (fTemp213 * fRec98[1])));
float fTemp279 = ((0.760314f * ((0.760314f * fRec42[1]) + (0.64955574f * fRec98[0]))) - (0.64955574f * fRec38[1]));
float fTemp280 = (0.760314f * fRec100[1]);
float fTemp281 = (fTemp280 + fTemp229);
fVec29[IOTA&1023] = fTemp281;
float fTemp282 = (((fTemp224 * fVec29[(IOTA-iTemp232)&1023]) * fTemp225) + (fTemp233 * (((fTemp236 * fVec29[(IOTA-iTemp239)&1023]) * fTemp237) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec29[(IOTA-iTemp242)&1023])) + ((0.5f * ((fTemp243 * fVec29[(IOTA-iTemp246)&1023]) * fTemp244)) + (0.16666667f * ((fTemp218 * fVec29[(IOTA-iTemp249)&1023]) * fTemp247))))))));
fVec30[IOTA&16383] = fTemp282;
fRec103[0] = (((fTemp255 * fVec30[(IOTA-iTemp252)&16383]) / fTemp256) + ((fRec103[1] * fTemp257) + fVec30[(IOTA-iTemp253)&16383]));
float fTemp283 = ((0.760314f * ((0.760314f * fRec43[1]) + (0.64955574f * fRec103[0]))) - (0.64955574f * fRec39[1]));
float fTemp284 = ((0.70710677f * fTemp279) - (0.70710677f * fTemp283));
fVec31[IOTA&16383] = fTemp284;
int iTemp285 = int(min(8192, max(0, int(fTemp33))));
float fTemp286 = (fRec41[0] - fTemp34);
int iTemp287 = int((iTemp285 + 1));
float fTemp288 = (0 - (fTemp35 / fTemp286));
fRec40[0] = ((((fTemp35 * fVec31[(IOTA-iTemp285)&16383]) / fTemp286) + fVec31[(IOTA-iTemp287)&16383]) + (fTemp288 * fRec40[1]));
fRec38[0] = fRec40[0];
float fTemp289 = ((0.70710677f * fTemp279) + (0.70710677f * fTemp283));
fVec32[IOTA&16383] = fTemp289;
int iTemp290 = int(min(8192, max(0, int(fTemp7))));
float fTemp291 = (fRec16[0] - fTemp8);
int iTemp292 = int((iTemp290 + 1));
float fTemp293 = (0 - (fTemp9 / fTemp291));
fRec104[0] = ((((fTemp9 * fVec32[(IOTA-iTemp290)&16383]) / fTemp291) + fVec32[(IOTA-iTemp292)&16383]) + (fTemp293 * fRec104[1]));
fRec39[0] = fRec104[0];
float fTemp294 = (fTemp157 - (0.64955574f * fRec106[1]));
float fTemp295 = (fTemp159 - (0.64955574f * fRec107[1]));
float fTemp296 = ((0.70710677f * fTemp294) - (0.70710677f * fTemp295));
fVec33[IOTA&16383] = fTemp296;
fRec108[0] = (((fTemp62 * fVec33[(IOTA-iTemp120)&16383]) / fTemp121) + ((fRec108[1] * fTemp123) + fVec33[(IOTA-iTemp122)&16383]));
fRec106[0] = fRec108[0];
float fTemp297 = ((0.70710677f * fTemp295) + (0.70710677f * fTemp294));
fVec34[IOTA&16383] = fTemp297;
fRec109[0] = (fVec34[(IOTA-iTemp130)&16383] + ((fRec109[1] * fTemp131) + ((fTemp126 * fVec34[(IOTA-iTemp128)&16383]) / fTemp129)));
fRec107[0] = fRec109[0];
float fTemp298 = (fTemp132 - (0.64955574f * fRec110[1]));
float fTemp299 = (fTemp134 - (0.64955574f * fRec111[1]));
float fTemp300 = ((0.70710677f * fTemp298) - (0.70710677f * fTemp299));
fVec35[IOTA&16383] = fTemp300;
fRec112[0] = ((((fTemp96 * fVec35[(IOTA-iTemp93)&16383]) / fTemp97) + fVec35[(IOTA-iTemp94)&16383]) + (fTemp98 * fRec112[1]));
fRec110[0] = fRec112[0];
float fTemp301 = ((0.70710677f * fTemp298) + (0.70710677f * fTemp299));
fVec36[IOTA&16383] = fTemp301;
fRec113[0] = ((((fTemp104 * fVec36[(IOTA-iTemp101)&16383]) / fTemp105) + fVec36[(IOTA-iTemp102)&16383]) + (fTemp106 * fRec113[1]));
fRec111[0] = fRec113[0];
float fTemp302 = (0.64955574f * fTemp84);
float fTemp303 = ((0.760314f * fRec110[1]) + fTemp302);
float fTemp304 = ((0.760314f * fRec106[1]) + (0.64955574f * fTemp303));
float fTemp305 = (fTemp186 + (0.64955574f * fTemp304));
float fTemp306 = (fTemp276 + (0.64955574f * fTemp305));
fVec37[IOTA&1023] = fTemp306;
float fTemp307 = (((fTemp51 * fVec37[(IOTA-iTemp191)&1023]) * fTemp52) + (fTemp192 * (((fTemp195 * fVec37[(IOTA-iTemp198)&1023]) * fTemp196) + (fTemp199 * (((0.5f * ((fTemp202 * fVec37[(IOTA-iTemp205)&1023]) * fTemp203)) + (0.16666667f * ((fTemp45 * fVec37[(IOTA-iTemp208)&1023]) * fTemp206))) + (0.041666668f * (fTemp200 * fVec37[(IOTA-iTemp201)&1023])))))));
fVec38[IOTA&16383] = fTemp307;
fRec105[0] = ((fVec38[(IOTA-iTemp212)&16383] + ((fTemp41 * fVec38[(IOTA-iTemp210)&16383]) / fTemp211)) + (fTemp213 * fRec105[1]));
float fTemp308 = ((0.760314f * fRec98[0]) - (0.64955574f * fRec114[1]));
float fTemp309 = ((0.760314f * fRec103[0]) - (0.64955574f * fRec115[1]));
float fTemp310 = ((0.70710677f * fTemp308) - (0.70710677f * fTemp309));
fVec39[IOTA&16383] = fTemp310;
fRec116[0] = (((fTemp38 * fVec39[(IOTA-iTemp260)&16383]) / fTemp261) + (fVec39[(IOTA-iTemp262)&16383] + (fRec116[1] * fTemp263)));
fRec114[0] = fRec116[0];
float fTemp311 = ((0.70710677f * fTemp308) + (0.70710677f * fTemp309));
fVec40[IOTA&16383] = fTemp311;
fRec117[0] = (((fTemp266 * fVec40[(IOTA-iTemp268)&16383]) / fTemp269) + (fVec40[(IOTA-iTemp270)&16383] + (fRec117[1] * fTemp271)));
fRec115[0] = fRec117[0];
float fTemp312 = ((0.64955574f * fRec105[0]) + (0.760314f * fRec114[1]));
float fTemp313 = ((0.760314f * ((0.760314f * fRec38[1]) + (0.64955574f * fTemp312))) - (0.64955574f * fRec34[1]));
float fTemp314 = (0.64955574f * fTemp88);
float fTemp315 = ((0.760314f * fRec111[1]) + fTemp314);
float fTemp316 = ((0.760314f * fRec107[1]) + (0.64955574f * fTemp315));
float fTemp317 = (fTemp227 + (0.64955574f * fTemp316));
float fTemp318 = (fTemp280 + (0.64955574f * fTemp317));
fVec41[IOTA&1023] = fTemp318;
float fTemp319 = (((fTemp224 * fVec41[(IOTA-iTemp232)&1023]) * fTemp225) + (fTemp233 * (((fTemp236 * fVec41[(IOTA-iTemp239)&1023]) * fTemp237) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec41[(IOTA-iTemp242)&1023])) + ((0.5f * ((fTemp243 * fVec41[(IOTA-iTemp246)&1023]) * fTemp244)) + (0.16666667f * ((fTemp218 * fVec41[(IOTA-iTemp249)&1023]) * fTemp247))))))));
fVec42[IOTA&16383] = fTemp319;
fRec118[0] = ((fVec42[(IOTA-iTemp253)&16383] + ((fTemp255 * fVec42[(IOTA-iTemp252)&16383]) / fTemp256)) + (fTemp257 * fRec118[1]));
float fTemp320 = ((0.760314f * fRec115[1]) + (0.64955574f * fRec118[0]));
float fTemp321 = ((0.760314f * ((0.760314f * fRec39[1]) + (0.64955574f * fTemp320))) - (0.64955574f * fRec35[1]));
float fTemp322 = ((0.70710677f * fTemp313) - (0.70710677f * fTemp321));
fVec43[IOTA&16383] = fTemp322;
int iTemp323 = int(min(8192, max(0, int(fTemp30))));
float fTemp324 = (fRec37[0] - fTemp31);
int iTemp325 = int((iTemp323 + 1));
float fTemp326 = (0 - (fTemp32 / fTemp324));
fRec36[0] = ((((fTemp32 * fVec43[(IOTA-iTemp323)&16383]) / fTemp324) + fVec43[(IOTA-iTemp325)&16383]) + (fTemp326 * fRec36[1]));
fRec34[0] = fRec36[0];
fRec120[0] = (fSlow75 + (0.9999f * ((iSlow74 * iTemp0) + fRec120[1])));
float fTemp327 = (fRec120[0] + -1.49999f);
float fTemp328 = floorf(fTemp327);
float fTemp329 = (fTemp328 + (2.0f - fRec120[0]));
float fTemp330 = (fRec120[0] - fTemp328);
float fTemp331 = (0 - (fTemp329 / fTemp330));
float fTemp332 = ((0.70710677f * fTemp313) + (0.70710677f * fTemp321));
fVec44[IOTA&16383] = fTemp332;
int iTemp333 = int(min(8192, max(0, int(fTemp327))));
int iTemp334 = int((iTemp333 + 1));
fRec119[0] = ((fTemp331 * fRec119[1]) + (fVec44[(IOTA-iTemp334)&16383] + ((fTemp329 * fVec44[(IOTA-iTemp333)&16383]) / fTemp330)));
fRec35[0] = fRec119[0];
float fTemp335 = ((0.760314f * fTemp312) - (0.64955574f * fRec121[1]));
float fTemp336 = ((0.760314f * fTemp320) - (0.64955574f * fRec122[1]));
float fTemp337 = ((0.70710677f * fTemp335) - (0.70710677f * fTemp336));
fVec45[IOTA&16383] = fTemp337;
fRec123[0] = ((fVec45[(IOTA-iTemp287)&16383] + ((fVec45[(IOTA-iTemp285)&16383] * fTemp35) / fTemp286)) + (fTemp288 * fRec123[1]));
fRec121[0] = fRec123[0];
float fTemp338 = ((0.70710677f * fTemp335) + (0.70710677f * fTemp336));
fVec46[IOTA&16383] = fTemp338;
fRec124[0] = ((((fTemp9 * fVec46[(IOTA-iTemp290)&16383]) / fTemp291) + fVec46[(IOTA-iTemp292)&16383]) + (fRec124[1] * fTemp293));
fRec122[0] = fRec124[0];
float fTemp339 = ((0.760314f * fRec105[0]) - (0.64955574f * fRec125[1]));
float fTemp340 = ((0.760314f * fRec118[0]) - (0.64955574f * fRec126[1]));
float fTemp341 = ((0.70710677f * fTemp339) - (0.70710677f * fTemp340));
fVec47[IOTA&16383] = fTemp341;
fRec127[0] = ((((fTemp38 * fVec47[(IOTA-iTemp260)&16383]) / fTemp261) + fVec47[(IOTA-iTemp262)&16383]) + (fTemp263 * fRec127[1]));
fRec125[0] = fRec127[0];
float fTemp342 = ((0.70710677f * fTemp339) + (0.70710677f * fTemp340));
fVec48[IOTA&16383] = fTemp342;
fRec128[0] = ((((fTemp266 * fVec48[(IOTA-iTemp268)&16383]) / fTemp269) + fVec48[(IOTA-iTemp270)&16383]) + (fTemp271 * fRec128[1]));
fRec126[0] = fRec128[0];
float fTemp343 = ((0.760314f * fTemp305) - (0.64955574f * fRec130[1]));
float fTemp344 = ((0.760314f * fTemp317) - (0.64955574f * fRec131[1]));
float fTemp345 = ((0.70710677f * fTemp343) - (0.70710677f * fTemp344));
fVec49[IOTA&16383] = fTemp345;
fRec132[0] = ((((fTemp56 * fVec49[(IOTA-iTemp170)&16383]) / fTemp171) + fVec49[(IOTA-iTemp172)&16383]) + (fTemp173 * fRec132[1]));
fRec130[0] = fRec132[0];
float fTemp346 = ((0.70710677f * fTemp344) + (0.70710677f * fTemp343));
fVec50[IOTA&16383] = fTemp346;
fRec133[0] = ((((fTemp176 * fVec50[(IOTA-iTemp178)&16383]) / fTemp179) + fVec50[(IOTA-iTemp180)&16383]) + (fTemp181 * fRec133[1]));
fRec131[0] = fRec133[0];
float fTemp347 = ((0.760314f * fTemp304) - (0.64955574f * fRec134[1]));
float fTemp348 = ((0.760314f * fTemp316) - (0.64955574f * fRec135[1]));
float fTemp349 = ((0.70710677f * fTemp347) - (0.70710677f * fTemp348));
fVec51[IOTA&16383] = fTemp349;
fRec136[0] = ((((fTemp59 * fVec51[(IOTA-iTemp145)&16383]) / fTemp146) + fVec51[(IOTA-iTemp147)&16383]) + (fTemp148 * fRec136[1]));
fRec134[0] = fRec136[0];
float fTemp350 = ((0.70710677f * fTemp348) + (0.70710677f * fTemp347));
fVec52[IOTA&16383] = fTemp350;
fRec137[0] = ((((fTemp151 * fVec52[(IOTA-iTemp153)&16383]) / fTemp154) + fVec52[(IOTA-iTemp155)&16383]) + (fTemp156 * fRec137[1]));
fRec135[0] = fRec137[0];
float fTemp351 = ((0.760314f * fTemp303) - (0.64955574f * fRec138[1]));
float fTemp352 = ((0.760314f * fTemp315) - (0.64955574f * fRec139[1]));
float fTemp353 = ((0.70710677f * fTemp351) - (0.70710677f * fTemp352));
fVec53[IOTA&16383] = fTemp353;
fRec140[0] = (fVec53[(IOTA-iTemp122)&16383] + ((fRec140[1] * fTemp123) + ((fTemp62 * fVec53[(IOTA-iTemp120)&16383]) / fTemp121)));
fRec138[0] = fRec140[0];
float fTemp354 = ((0.70710677f * fTemp352) + (0.70710677f * fTemp351));
fVec54[IOTA&16383] = fTemp354;
fRec141[0] = (fVec54[(IOTA-iTemp130)&16383] + ((fRec141[1] * fTemp131) + ((fTemp126 * fVec54[(IOTA-iTemp128)&16383]) / fTemp129)));
fRec139[0] = fRec141[0];
float fTemp355 = (fTemp107 + fTemp302);
float fTemp356 = (0.64955574f * fTemp355);
float fTemp357 = ((0.760314f * fRec138[1]) + fTemp356);
float fTemp358 = ((0.760314f * fRec134[1]) + (0.64955574f * fTemp357));
float fTemp359 = ((0.760314f * fRec130[1]) + (0.64955574f * fTemp358));
fVec55[IOTA&1023] = fTemp359;
float fTemp360 = ((fTemp53 * fVec55[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec55[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec55[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec55[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec55[(IOTA-iTemp208)&1023]))))))));
fVec56[IOTA&16383] = fTemp360;
fRec129[0] = ((fVec56[(IOTA-iTemp212)&16383] + ((fTemp41 * fVec56[(IOTA-iTemp210)&16383]) / fTemp211)) + (fTemp213 * fRec129[1]));
float fTemp361 = ((0.760314f * fRec125[1]) + (0.64955574f * fRec129[0]));
float fTemp362 = ((0.760314f * fRec121[1]) + (0.64955574f * fTemp361));
float fTemp363 = ((0.760314f * ((0.760314f * fRec34[1]) + (0.64955574f * fTemp362))) - (0.64955574f * fRec31[1]));
float fTemp364 = (fTemp314 + fTemp115);
float fTemp365 = (0.64955574f * fTemp364);
float fTemp366 = ((0.760314f * fRec139[1]) + fTemp365);
float fTemp367 = ((0.760314f * fRec135[1]) + (0.64955574f * fTemp366));
float fTemp368 = ((0.760314f * fRec131[1]) + (0.64955574f * fTemp367));
fVec57[IOTA&1023] = fTemp368;
float fTemp369 = ((fTemp226 * fVec57[(IOTA-iTemp232)&1023]) + (fTemp233 * ((fTemp238 * fVec57[(IOTA-iTemp239)&1023]) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec57[(IOTA-iTemp242)&1023])) + ((0.5f * (fTemp245 * fVec57[(IOTA-iTemp246)&1023])) + (0.16666667f * (fTemp248 * fVec57[(IOTA-iTemp249)&1023]))))))));
fVec58[IOTA&16383] = fTemp369;
fRec142[0] = ((fVec58[(IOTA-iTemp253)&16383] + ((fTemp255 * fVec58[(IOTA-iTemp252)&16383]) / fTemp256)) + (fTemp257 * fRec142[1]));
float fTemp370 = ((0.760314f * fRec126[1]) + (0.64955574f * fRec142[0]));
float fTemp371 = ((0.760314f * fRec122[1]) + (0.64955574f * fTemp370));
float fTemp372 = ((0.760314f * ((0.760314f * fRec35[1]) + (0.64955574f * fTemp371))) - (0.64955574f * fRec32[1]));
float fTemp373 = ((0.70710677f * fTemp363) - (0.70710677f * fTemp372));
fVec59[IOTA&16383] = fTemp373;
int iTemp374 = int(min(8192, max(0, int(fTemp4))));
float fTemp375 = (fRec12[0] - fTemp5);
int iTemp376 = int((iTemp374 + 1));
float fTemp377 = (0 - (fTemp6 / fTemp375));
fRec33[0] = ((((fTemp6 * fVec59[(IOTA-iTemp374)&16383]) / fTemp375) + fVec59[(IOTA-iTemp376)&16383]) + (fRec33[1] * fTemp377));
fRec31[0] = fRec33[0];
float fTemp378 = ((0.70710677f * fTemp363) + (0.70710677f * fTemp372));
fVec60[IOTA&16383] = fTemp378;
int iTemp379 = int(min(8192, max(0, int(fTemp1))));
float fTemp380 = (fRec8[0] - fTemp2);
int iTemp381 = int((iTemp379 + 1));
float fTemp382 = (0 - (fTemp3 / fTemp380));
fRec143[0] = (((fVec60[(IOTA-iTemp379)&16383] * fTemp3) / fTemp380) + (fVec60[(IOTA-iTemp381)&16383] + (fRec143[1] * fTemp382)));
fRec32[0] = fRec143[0];
float fTemp383 = ((0.760314f * fTemp362) - (0.64955574f * fRec144[1]));
float fTemp384 = ((0.760314f * fTemp371) - (0.64955574f * fRec145[1]));
float fTemp385 = ((0.70710677f * fTemp383) - (0.70710677f * fTemp384));
fVec61[IOTA&16383] = fTemp385;
fRec146[0] = ((fVec61[(IOTA-iTemp325)&16383] + ((fVec61[(IOTA-iTemp323)&16383] * fTemp32) / fTemp324)) + (fTemp326 * fRec146[1]));
fRec144[0] = fRec146[0];
float fTemp386 = ((0.70710677f * fTemp383) + (0.70710677f * fTemp384));
fVec62[IOTA&16383] = fTemp386;
fRec147[0] = (((fTemp329 * fVec62[(IOTA-iTemp333)&16383]) / fTemp330) + (fVec62[(IOTA-iTemp334)&16383] + (fRec147[1] * fTemp331)));
fRec145[0] = fRec147[0];
float fTemp387 = ((0.760314f * fTemp361) - (0.64955574f * fRec148[1]));
float fTemp388 = ((0.760314f * fTemp370) - (0.64955574f * fRec149[1]));
float fTemp389 = ((0.70710677f * fTemp387) - (0.70710677f * fTemp388));
fVec63[IOTA&16383] = fTemp389;
fRec150[0] = ((fTemp288 * fRec150[1]) + (fVec63[(IOTA-iTemp287)&16383] + ((fVec63[(IOTA-iTemp285)&16383] * fTemp35) / fTemp286)));
fRec148[0] = fRec150[0];
float fTemp390 = ((0.70710677f * fTemp387) + (0.70710677f * fTemp388));
fVec64[IOTA&16383] = fTemp390;
fRec151[0] = ((((fTemp9 * fVec64[(IOTA-iTemp290)&16383]) / fTemp291) + fVec64[(IOTA-iTemp292)&16383]) + (fTemp293 * fRec151[1]));
fRec149[0] = fRec151[0];
float fTemp391 = ((0.760314f * fRec129[0]) - (0.64955574f * fRec152[1]));
float fTemp392 = ((0.760314f * fRec142[0]) - (0.64955574f * fRec153[1]));
float fTemp393 = ((0.70710677f * fTemp391) - (0.70710677f * fTemp392));
fVec65[IOTA&16383] = fTemp393;
fRec154[0] = ((((fTemp38 * fVec65[(IOTA-iTemp260)&16383]) / fTemp261) + fVec65[(IOTA-iTemp262)&16383]) + (fTemp263 * fRec154[1]));
fRec152[0] = fRec154[0];
float fTemp394 = ((0.70710677f * fTemp391) + (0.70710677f * fTemp392));
fVec66[IOTA&16383] = fTemp394;
fRec155[0] = ((((fTemp266 * fVec66[(IOTA-iTemp268)&16383]) / fTemp269) + fVec66[(IOTA-iTemp270)&16383]) + (fTemp271 * fRec155[1]));
fRec153[0] = fRec155[0];
float fTemp395 = ((0.760314f * fTemp358) - (0.64955574f * fRec157[1]));
float fTemp396 = ((0.760314f * fTemp367) - (0.64955574f * fRec158[1]));
float fTemp397 = ((0.70710677f * fTemp395) - (0.70710677f * fTemp396));
fVec67[IOTA&16383] = fTemp397;
fRec159[0] = ((((fTemp56 * fVec67[(IOTA-iTemp170)&16383]) / fTemp171) + fVec67[(IOTA-iTemp172)&16383]) + (fTemp173 * fRec159[1]));
fRec157[0] = fRec159[0];
float fTemp398 = ((0.70710677f * fTemp395) + (0.70710677f * fTemp396));
fVec68[IOTA&16383] = fTemp398;
fRec160[0] = ((((fTemp176 * fVec68[(IOTA-iTemp178)&16383]) / fTemp179) + fVec68[(IOTA-iTemp180)&16383]) + (fTemp181 * fRec160[1]));
fRec158[0] = fRec160[0];
float fTemp399 = ((0.760314f * fTemp357) - (0.64955574f * fRec161[1]));
float fTemp400 = ((0.760314f * fTemp366) - (0.64955574f * fRec162[1]));
float fTemp401 = ((0.70710677f * fTemp399) - (0.70710677f * fTemp400));
fVec69[IOTA&16383] = fTemp401;
fRec163[0] = ((((fTemp59 * fVec69[(IOTA-iTemp145)&16383]) / fTemp146) + fVec69[(IOTA-iTemp147)&16383]) + (fTemp148 * fRec163[1]));
fRec161[0] = fRec163[0];
float fTemp402 = ((0.70710677f * fTemp399) + (0.70710677f * fTemp400));
fVec70[IOTA&16383] = fTemp402;
fRec164[0] = ((((fTemp151 * fVec70[(IOTA-iTemp153)&16383]) / fTemp154) + fVec70[(IOTA-iTemp155)&16383]) + (fTemp156 * fRec164[1]));
fRec162[0] = fRec164[0];
float fTemp403 = (0.760314f * fTemp355);
float fTemp404 = (fTemp403 - (0.64955574f * fRec165[1]));
float fTemp405 = (0.760314f * fTemp364);
float fTemp406 = (fTemp405 - (0.64955574f * fRec166[1]));
float fTemp407 = ((0.70710677f * fTemp404) - (0.70710677f * fTemp406));
fVec71[IOTA&16383] = fTemp407;
fRec167[0] = ((((fTemp62 * fVec71[(IOTA-iTemp120)&16383]) / fTemp121) + fVec71[(IOTA-iTemp122)&16383]) + (fTemp123 * fRec167[1]));
fRec165[0] = fRec167[0];
float fTemp408 = ((0.70710677f * fTemp404) + (0.70710677f * fTemp406));
fVec72[IOTA&16383] = fTemp408;
fRec168[0] = ((((fTemp126 * fVec72[(IOTA-iTemp128)&16383]) / fTemp129) + fVec72[(IOTA-iTemp130)&16383]) + (fTemp131 * fRec168[1]));
fRec166[0] = fRec168[0];
float fTemp409 = ((0.760314f * fRec165[1]) + fTemp356);
float fTemp410 = (0.64955574f * fTemp409);
float fTemp411 = ((0.760314f * fRec161[1]) + fTemp410);
float fTemp412 = ((0.760314f * fRec157[1]) + (0.64955574f * fTemp411));
fVec73[IOTA&1023] = fTemp412;
float fTemp413 = ((fTemp53 * fVec73[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec73[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec73[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec73[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec73[(IOTA-iTemp208)&1023]))))))));
fVec74[IOTA&16383] = fTemp413;
fRec156[0] = ((((fTemp41 * fVec74[(IOTA-iTemp210)&16383]) / fTemp211) + fVec74[(IOTA-iTemp212)&16383]) + (fTemp213 * fRec156[1]));
float fTemp414 = ((0.760314f * fRec152[1]) + (0.64955574f * fRec156[0]));
float fTemp415 = ((0.760314f * fRec148[1]) + (0.64955574f * fTemp414));
float fTemp416 = ((0.760314f * fRec144[1]) + (0.64955574f * fTemp415));
float fTemp417 = ((0.760314f * ((0.760314f * fRec31[1]) + (0.64955574f * fTemp416))) - (0.64955574f * fRec27[1]));
float fTemp418 = ((0.760314f * fRec166[1]) + fTemp365);
float fTemp419 = (0.64955574f * fTemp418);
float fTemp420 = ((0.760314f * fRec162[1]) + fTemp419);
float fTemp421 = ((0.760314f * fRec158[1]) + (0.64955574f * fTemp420));
fVec75[IOTA&1023] = fTemp421;
float fTemp422 = ((fTemp226 * fVec75[(IOTA-iTemp232)&1023]) + (fTemp233 * ((fTemp238 * fVec75[(IOTA-iTemp239)&1023]) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec75[(IOTA-iTemp242)&1023])) + ((0.5f * (fTemp245 * fVec75[(IOTA-iTemp246)&1023])) + (0.16666667f * (fTemp248 * fVec75[(IOTA-iTemp249)&1023]))))))));
fVec76[IOTA&16383] = fTemp422;
fRec169[0] = ((((fTemp255 * fVec76[(IOTA-iTemp252)&16383]) / fTemp256) + fVec76[(IOTA-iTemp253)&16383]) + (fTemp257 * fRec169[1]));
float fTemp423 = ((0.760314f * fRec153[1]) + (0.64955574f * fRec169[0]));
float fTemp424 = ((0.760314f * fRec149[1]) + (0.64955574f * fTemp423));
float fTemp425 = ((0.760314f * fRec145[1]) + (0.64955574f * fTemp424));
float fTemp426 = ((0.760314f * ((0.760314f * fRec32[1]) + (0.64955574f * fTemp425))) - (0.64955574f * fRec28[1]));
float fTemp427 = ((0.70710677f * fTemp417) - (0.70710677f * fTemp426));
fVec77[IOTA&16383] = fTemp427;
int iTemp428 = int(min(8192, max(0, int(fTemp27))));
float fTemp429 = (fRec30[0] - fTemp28);
int iTemp430 = int((iTemp428 + 1));
float fTemp431 = (0 - (fTemp29 / fTemp429));
fRec29[0] = ((((fTemp29 * fVec77[(IOTA-iTemp428)&16383]) / fTemp429) + fVec77[(IOTA-iTemp430)&16383]) + (fRec29[1] * fTemp431));
fRec27[0] = fRec29[0];
float fTemp432 = ((0.70710677f * fTemp417) + (0.70710677f * fTemp426));
fVec78[IOTA&16383] = fTemp432;
fRec171[0] = (fSlow77 + (0.9999f * ((iSlow76 * iTemp0) + fRec171[1])));
float fTemp433 = (fRec171[0] + -1.49999f);
int iTemp434 = int(min(8192, max(0, int(fTemp433))));
float fTemp435 = floorf(fTemp433);
float fTemp436 = (fTemp435 + (2.0f - fRec171[0]));
float fTemp437 = (fRec171[0] - fTemp435);
int iTemp438 = int((iTemp434 + 1));
float fTemp439 = (0 - (fTemp436 / fTemp437));
fRec170[0] = (((fVec78[(IOTA-iTemp434)&16383] * fTemp436) / fTemp437) + (fVec78[(IOTA-iTemp438)&16383] + (fRec170[1] * fTemp439)));
fRec28[0] = fRec170[0];
float fTemp440 = ((0.760314f * fTemp416) - (0.64955574f * fRec172[1]));
float fTemp441 = ((0.760314f * fTemp425) - (0.64955574f * fRec173[1]));
float fTemp442 = ((0.70710677f * fTemp440) - (0.70710677f * fTemp441));
fVec79[IOTA&16383] = fTemp442;
fRec174[0] = ((((fTemp6 * fVec79[(IOTA-iTemp374)&16383]) / fTemp375) + fVec79[(IOTA-iTemp376)&16383]) + (fRec174[1] * fTemp377));
fRec172[0] = fRec174[0];
float fTemp443 = ((0.70710677f * fTemp440) + (0.70710677f * fTemp441));
fVec80[IOTA&16383] = fTemp443;
fRec175[0] = ((((fTemp3 * fVec80[(IOTA-iTemp379)&16383]) / fTemp380) + fVec80[(IOTA-iTemp381)&16383]) + (fRec175[1] * fTemp382));
fRec173[0] = fRec175[0];
float fTemp444 = ((0.760314f * fTemp415) - (0.64955574f * fRec176[1]));
float fTemp445 = ((0.760314f * fTemp424) - (0.64955574f * fRec177[1]));
float fTemp446 = ((0.70710677f * fTemp444) - (0.70710677f * fTemp445));
fVec81[IOTA&16383] = fTemp446;
fRec178[0] = ((((fTemp32 * fVec81[(IOTA-iTemp323)&16383]) / fTemp324) + fVec81[(IOTA-iTemp325)&16383]) + (fTemp326 * fRec178[1]));
fRec176[0] = fRec178[0];
float fTemp447 = ((0.70710677f * fTemp444) + (0.70710677f * fTemp445));
fVec82[IOTA&16383] = fTemp447;
fRec179[0] = ((fTemp331 * fRec179[1]) + (fVec82[(IOTA-iTemp334)&16383] + ((fTemp329 * fVec82[(IOTA-iTemp333)&16383]) / fTemp330)));
fRec177[0] = fRec179[0];
float fTemp448 = ((0.760314f * fTemp414) - (0.64955574f * fRec180[1]));
float fTemp449 = ((0.760314f * fTemp423) - (0.64955574f * fRec181[1]));
float fTemp450 = ((0.70710677f * fTemp448) - (0.70710677f * fTemp449));
fVec83[IOTA&16383] = fTemp450;
fRec182[0] = ((((fTemp35 * fVec83[(IOTA-iTemp285)&16383]) / fTemp286) + fVec83[(IOTA-iTemp287)&16383]) + (fTemp288 * fRec182[1]));
fRec180[0] = fRec182[0];
float fTemp451 = ((0.70710677f * fTemp448) + (0.70710677f * fTemp449));
fVec84[IOTA&16383] = fTemp451;
fRec183[0] = ((((fTemp9 * fVec84[(IOTA-iTemp290)&16383]) / fTemp291) + fVec84[(IOTA-iTemp292)&16383]) + (fTemp293 * fRec183[1]));
fRec181[0] = fRec183[0];
float fTemp452 = ((0.760314f * fRec156[0]) - (0.64955574f * fRec184[1]));
float fTemp453 = ((0.760314f * fRec169[0]) - (0.64955574f * fRec185[1]));
float fTemp454 = ((0.70710677f * fTemp452) - (0.70710677f * fTemp453));
fVec85[IOTA&16383] = fTemp454;
fRec186[0] = ((((fTemp38 * fVec85[(IOTA-iTemp260)&16383]) / fTemp261) + fVec85[(IOTA-iTemp262)&16383]) + (fTemp263 * fRec186[1]));
fRec184[0] = fRec186[0];
float fTemp455 = ((0.70710677f * fTemp452) + (0.70710677f * fTemp453));
fVec86[IOTA&16383] = fTemp455;
fRec187[0] = ((((fTemp266 * fVec86[(IOTA-iTemp268)&16383]) / fTemp269) + fVec86[(IOTA-iTemp270)&16383]) + (fTemp271 * fRec187[1]));
fRec185[0] = fRec187[0];
float fTemp456 = ((0.760314f * fTemp411) - (0.64955574f * fRec189[1]));
float fTemp457 = ((0.760314f * fTemp420) - (0.64955574f * fRec190[1]));
float fTemp458 = ((0.70710677f * fTemp456) - (0.70710677f * fTemp457));
fVec87[IOTA&16383] = fTemp458;
fRec191[0] = ((((fTemp56 * fVec87[(IOTA-iTemp170)&16383]) / fTemp171) + fVec87[(IOTA-iTemp172)&16383]) + (fTemp173 * fRec191[1]));
fRec189[0] = fRec191[0];
float fTemp459 = ((0.70710677f * fTemp456) + (0.70710677f * fTemp457));
fVec88[IOTA&16383] = fTemp459;
fRec192[0] = ((((fTemp176 * fVec88[(IOTA-iTemp178)&16383]) / fTemp179) + fVec88[(IOTA-iTemp180)&16383]) + (fTemp181 * fRec192[1]));
fRec190[0] = fRec192[0];
float fTemp460 = (0.760314f * fTemp409);
float fTemp461 = (fTemp460 - (0.64955574f * fRec193[1]));
float fTemp462 = (0.760314f * fTemp418);
float fTemp463 = (fTemp462 - (0.64955574f * fRec194[1]));
float fTemp464 = ((0.70710677f * fTemp461) - (0.70710677f * fTemp463));
fVec89[IOTA&16383] = fTemp464;
fRec195[0] = ((((fTemp59 * fVec89[(IOTA-iTemp145)&16383]) / fTemp146) + fVec89[(IOTA-iTemp147)&16383]) + (fTemp148 * fRec195[1]));
fRec193[0] = fRec195[0];
float fTemp465 = ((0.70710677f * fTemp461) + (0.70710677f * fTemp463));
fVec90[IOTA&16383] = fTemp465;
fRec196[0] = ((((fTemp151 * fVec90[(IOTA-iTemp153)&16383]) / fTemp154) + fVec90[(IOTA-iTemp155)&16383]) + (fTemp156 * fRec196[1]));
fRec194[0] = fRec196[0];
float fTemp466 = ((0.760314f * fRec193[1]) + fTemp410);
float fTemp467 = (0.64955574f * fTemp466);
float fTemp468 = ((0.760314f * fRec189[1]) + fTemp467);
fVec91[IOTA&1023] = fTemp468;
float fTemp469 = ((fTemp53 * fVec91[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec91[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec91[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec91[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec91[(IOTA-iTemp208)&1023]))))))));
fVec92[IOTA&16383] = fTemp469;
fRec188[0] = ((((fTemp41 * fVec92[(IOTA-iTemp210)&16383]) / fTemp211) + fVec92[(IOTA-iTemp212)&16383]) + (fTemp213 * fRec188[1]));
float fTemp470 = ((0.760314f * fRec184[1]) + (0.64955574f * fRec188[0]));
float fTemp471 = ((0.760314f * fRec180[1]) + (0.64955574f * fTemp470));
float fTemp472 = ((0.760314f * fRec176[1]) + (0.64955574f * fTemp471));
float fTemp473 = ((0.760314f * fRec172[1]) + (0.64955574f * fTemp472));
float fTemp474 = ((0.760314f * fRec27[1]) + (0.64955574f * fTemp473));
fVec93[IOTA&16383] = fTemp474;
int iTemp475 = int(fTemp11);
int iTemp476 = max(0, (iTemp475 + 1));
int iTemp477 = int(min(8192, iTemp476));
float fTemp478 = (fTemp12 + (-3.0f - fTemp10));
float fTemp479 = (fTemp10 + (4.0f - fTemp12));
float fTemp480 = (fTemp13 * fTemp15);
int iTemp481 = max(0, (iTemp475 + 4));
int iTemp482 = int(min(8192, iTemp481));
float fTemp483 = (0 - (0.5f * fTemp17));
int iTemp484 = max(0, (iTemp475 + 2));
int iTemp485 = int(min(8192, iTemp484));
float fTemp486 = (fTemp12 + (-2.0f - fTemp10));
int iTemp487 = max(0, (iTemp475 + 3));
int iTemp488 = int(min(8192, iTemp487));
float fTemp489 = (fTemp12 + (-1.0f - fTemp10));
int iTemp490 = max(0, iTemp475);
int iTemp491 = int(min(8192, iTemp490));
float fTemp492 = ((fTemp23 * (((fTemp26 * fVec93[(IOTA-iTemp477)&16383]) * fTemp478) + (fTemp479 * ((0.041666668f * (fTemp480 * fVec93[(IOTA-iTemp482)&16383])) + ((0.5f * ((fTemp483 * fVec93[(IOTA-iTemp485)&16383]) * fTemp486)) + (0.16666667f * ((fTemp13 * fVec93[(IOTA-iTemp488)&16383]) * fTemp489))))))) + ((fTemp19 * fVec93[(IOTA-iTemp491)&16383]) * fTemp20));
fVec94[IOTA&16383] = fTemp492;
fRec197[0] = (fSlow79 + (0.995f * ((iSlow78 * iTemp0) + fRec197[1])));
float fTemp493 = (fRec197[0] + -1.49999f);
int iTemp494 = int(min(8192, max(0, int(fTemp493))));
int iTemp495 = int((iTemp494 + 1));
float fTemp496 = floorf(fTemp493);
float fTemp497 = (fTemp496 + (2.0f - fRec197[0]));
float fTemp498 = (fRec197[0] - fTemp496);
float fTemp499 = (0 - (fTemp497 / fTemp498));
fRec26[0] = ((fVec94[(IOTA-iTemp495)&16383] + ((fTemp497 * fVec94[(IOTA-iTemp494)&16383]) / fTemp498)) + (fTemp499 * fRec26[1]));
fRec25[0] = ((fSlow37 * fRec25[1]) + (fSlow38 * (fRec26[1] + fRec26[0])));
fRec24[0] = (fRec25[0] - (fSlow35 * ((fSlow81 * fRec24[1]) + (fSlow82 * fRec24[2]))));
fRec23[0] = ((fSlow35 * (fRec24[0] + (fRec24[2] + (2.0f * fRec24[1])))) - (fSlow34 * ((fSlow81 * fRec23[1]) + (fSlow83 * fRec23[2]))));
float fTemp500 = (fRec23[0] + (fRec23[2] + (2.0f * fRec23[1])));
float fTemp501 = (fSlow34 * fTemp500);
fVec95[0] = fTemp501;
fRec22[0] = ((fSlow28 * fRec22[1]) + (fSlow29 * ((fSlow30 * fVec95[1]) + (fSlow84 * fTemp500))));
fRec21[0] = (fRec22[0] - (fSlow26 * ((fSlow85 * fRec21[1]) + (fSlow86 * fRec21[2]))));
fRec20[0] = ((fSlow26 * ((fSlow25 * fRec21[1]) + (fSlow24 * (fRec21[2] + fRec21[0])))) - (fSlow22 * ((fSlow85 * fRec20[1]) + (fSlow87 * fRec20[2]))));
fRec200[0] = ((fSlow28 * fRec200[1]) + (fSlow29 * (fVec95[0] + fVec95[1])));
fRec199[0] = (fRec200[0] - (fSlow26 * ((fSlow85 * fRec199[1]) + (fSlow86 * fRec199[2]))));
fRec198[0] = ((fSlow26 * (fRec199[0] + (fRec199[2] + (2.0f * fRec199[1])))) - (fSlow22 * ((fSlow85 * fRec198[1]) + (fSlow87 * fRec198[2]))));
float fTemp502 = ((0.760314f * fTemp472) - (0.64955574f * fRec206[1]));
float fTemp503 = ((0.760314f * fRec194[1]) + fTemp419);
float fTemp504 = (0.64955574f * fTemp503);
float fTemp505 = ((0.760314f * fRec190[1]) + fTemp504);
fVec96[IOTA&1023] = fTemp505;
float fTemp506 = ((fTemp226 * fVec96[(IOTA-iTemp232)&1023]) + (fTemp233 * ((fTemp238 * fVec96[(IOTA-iTemp239)&1023]) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec96[(IOTA-iTemp242)&1023])) + ((0.5f * (fTemp245 * fVec96[(IOTA-iTemp246)&1023])) + (0.16666667f * (fTemp248 * fVec96[(IOTA-iTemp249)&1023]))))))));
fVec97[IOTA&16383] = fTemp506;
fRec209[0] = ((((fTemp255 * fVec97[(IOTA-iTemp252)&16383]) / fTemp256) + fVec97[(IOTA-iTemp253)&16383]) + (fTemp257 * fRec209[1]));
float fTemp507 = ((0.760314f * fRec185[1]) + (0.64955574f * fRec209[0]));
float fTemp508 = ((0.760314f * fRec181[1]) + (0.64955574f * fTemp507));
float fTemp509 = ((0.760314f * fRec177[1]) + (0.64955574f * fTemp508));
float fTemp510 = ((0.760314f * fTemp509) - (0.64955574f * fRec207[1]));
float fTemp511 = ((0.70710677f * fTemp502) - (0.70710677f * fTemp510));
fVec98[IOTA&16383] = fTemp511;
fRec208[0] = ((((fTemp6 * fVec98[(IOTA-iTemp374)&16383]) / fTemp375) + fVec98[(IOTA-iTemp376)&16383]) + (fRec208[1] * fTemp377));
fRec206[0] = fRec208[0];
float fTemp512 = ((0.70710677f * fTemp502) + (0.70710677f * fTemp510));
fVec99[IOTA&16383] = fTemp512;
fRec210[0] = (((fVec99[(IOTA-iTemp379)&16383] * fTemp3) / fTemp380) + (fVec99[(IOTA-iTemp381)&16383] + (fRec210[1] * fTemp382)));
fRec207[0] = fRec210[0];
float fTemp513 = ((0.760314f * fTemp471) - (0.64955574f * fRec211[1]));
float fTemp514 = ((0.760314f * fTemp508) - (0.64955574f * fRec212[1]));
float fTemp515 = ((0.70710677f * fTemp513) - (0.70710677f * fTemp514));
fVec100[IOTA&16383] = fTemp515;
fRec213[0] = ((((fTemp32 * fVec100[(IOTA-iTemp323)&16383]) / fTemp324) + fVec100[(IOTA-iTemp325)&16383]) + (fTemp326 * fRec213[1]));
fRec211[0] = fRec213[0];
float fTemp516 = ((0.70710677f * fTemp513) + (0.70710677f * fTemp514));
fVec101[IOTA&16383] = fTemp516;
fRec214[0] = ((fTemp331 * fRec214[1]) + (fVec101[(IOTA-iTemp334)&16383] + ((fTemp329 * fVec101[(IOTA-iTemp333)&16383]) / fTemp330)));
fRec212[0] = fRec214[0];
float fTemp517 = ((0.760314f * fTemp470) - (0.64955574f * fRec215[1]));
float fTemp518 = ((0.760314f * fTemp507) - (0.64955574f * fRec216[1]));
float fTemp519 = ((0.70710677f * fTemp517) - (0.70710677f * fTemp518));
fVec102[IOTA&16383] = fTemp519;
fRec217[0] = ((((fTemp35 * fVec102[(IOTA-iTemp285)&16383]) / fTemp286) + fVec102[(IOTA-iTemp287)&16383]) + (fTemp288 * fRec217[1]));
fRec215[0] = fRec217[0];
float fTemp520 = ((0.70710677f * fTemp517) + (0.70710677f * fTemp518));
fVec103[IOTA&16383] = fTemp520;
fRec218[0] = ((((fTemp9 * fVec103[(IOTA-iTemp290)&16383]) / fTemp291) + fVec103[(IOTA-iTemp292)&16383]) + (fTemp293 * fRec218[1]));
fRec216[0] = fRec218[0];
float fTemp521 = ((0.760314f * fRec188[0]) - (0.64955574f * fRec219[1]));
float fTemp522 = ((0.760314f * fRec209[0]) - (0.64955574f * fRec220[1]));
float fTemp523 = ((0.70710677f * fTemp521) - (0.70710677f * fTemp522));
fVec104[IOTA&16383] = fTemp523;
fRec221[0] = ((((fTemp38 * fVec104[(IOTA-iTemp260)&16383]) / fTemp261) + fVec104[(IOTA-iTemp262)&16383]) + (fTemp263 * fRec221[1]));
fRec219[0] = fRec221[0];
float fTemp524 = ((0.70710677f * fTemp521) + (0.70710677f * fTemp522));
fVec105[IOTA&16383] = fTemp524;
fRec222[0] = ((((fTemp266 * fVec105[(IOTA-iTemp268)&16383]) / fTemp269) + fVec105[(IOTA-iTemp270)&16383]) + (fTemp271 * fRec222[1]));
fRec220[0] = fRec222[0];
float fTemp525 = (0.760314f * fTemp466);
float fTemp526 = (fTemp525 - (0.64955574f * fRec224[1]));
float fTemp527 = (0.760314f * fTemp503);
float fTemp528 = (fTemp527 - (0.64955574f * fRec225[1]));
float fTemp529 = ((0.70710677f * fTemp526) - (0.70710677f * fTemp528));
fVec106[IOTA&16383] = fTemp529;
fRec226[0] = ((((fTemp56 * fVec106[(IOTA-iTemp170)&16383]) / fTemp171) + fVec106[(IOTA-iTemp172)&16383]) + (fTemp173 * fRec226[1]));
fRec224[0] = fRec226[0];
float fTemp530 = ((0.70710677f * fTemp526) + (0.70710677f * fTemp528));
fVec107[IOTA&16383] = fTemp530;
fRec227[0] = ((((fTemp176 * fVec107[(IOTA-iTemp178)&16383]) / fTemp179) + fVec107[(IOTA-iTemp180)&16383]) + (fTemp181 * fRec227[1]));
fRec225[0] = fRec227[0];
float fTemp531 = ((0.760314f * fRec224[1]) + fTemp467);
fVec108[IOTA&1023] = fTemp531;
float fTemp532 = ((fTemp53 * fVec108[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec108[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec108[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec108[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec108[(IOTA-iTemp208)&1023]))))))));
fVec109[IOTA&16383] = fTemp532;
fRec223[0] = ((((fTemp41 * fVec109[(IOTA-iTemp210)&16383]) / fTemp211) + fVec109[(IOTA-iTemp212)&16383]) + (fTemp213 * fRec223[1]));
float fTemp533 = ((0.760314f * fRec219[1]) + (0.64955574f * fRec223[0]));
float fTemp534 = ((0.760314f * fRec215[1]) + (0.64955574f * fTemp533));
float fTemp535 = ((0.760314f * fRec211[1]) + (0.64955574f * fTemp534));
float fTemp536 = ((0.760314f * fRec206[1]) + (0.64955574f * fTemp535));
float fTemp537 = ((0.760314f * fTemp473) - (0.64955574f * fRec228[1]));
float fTemp538 = ((0.760314f * fRec173[1]) + (0.64955574f * fTemp509));
float fTemp539 = ((0.760314f * fTemp538) - (0.64955574f * fRec229[1]));
float fTemp540 = ((0.70710677f * fTemp537) - (0.70710677f * fTemp539));
fVec110[IOTA&16383] = fTemp540;
fRec230[0] = ((((fTemp29 * fVec110[(IOTA-iTemp428)&16383]) / fTemp429) + fVec110[(IOTA-iTemp430)&16383]) + (fRec230[1] * fTemp431));
fRec228[0] = fRec230[0];
float fTemp541 = ((0.70710677f * fTemp537) + (0.70710677f * fTemp539));
fVec111[IOTA&16383] = fTemp541;
fRec231[0] = (((fTemp436 * fVec111[(IOTA-iTemp434)&16383]) / fTemp437) + (fVec111[(IOTA-iTemp438)&16383] + (fRec231[1] * fTemp439)));
fRec229[0] = fRec231[0];
float fTemp542 = ((0.64955574f * fTemp536) + (0.760314f * fRec228[1]));
fVec112[IOTA&16383] = fTemp542;
float fTemp543 = ((fTemp21 * fVec112[(IOTA-iTemp491)&16383]) + (fTemp23 * (((fTemp26 * fVec112[(IOTA-iTemp477)&16383]) * fTemp478) + (fTemp479 * (((0.5f * ((fTemp483 * fVec112[(IOTA-iTemp485)&16383]) * fTemp486)) + (0.16666667f * ((fTemp13 * fVec112[(IOTA-iTemp488)&16383]) * fTemp489))) + (0.041666668f * (fTemp480 * fVec112[(IOTA-iTemp482)&16383])))))));
fVec113[IOTA&16383] = fTemp543;
fRec205[0] = (fVec113[(IOTA-iTemp495)&16383] + ((fRec205[1] * fTemp499) + ((fTemp497 * fVec113[(IOTA-iTemp494)&16383]) / fTemp498)));
fRec204[0] = ((fSlow37 * fRec204[1]) + (fSlow38 * ((fSlow32 * fRec205[0]) + (fSlow91 * fRec205[1]))));
fRec203[0] = (fRec204[0] - (fSlow35 * ((fSlow81 * fRec203[1]) + (fSlow82 * fRec203[2]))));
fRec202[0] = ((fSlow35 * ((fSlow90 * fRec203[1]) + (fSlow80 * (fRec203[2] + fRec203[0])))) - (fSlow34 * ((fSlow81 * fRec202[1]) + (fSlow83 * fRec202[2]))));
float fTemp544 = (fSlow85 * fRec201[1]);
fRec201[0] = ((fSlow34 * ((fSlow90 * fRec202[1]) + (fSlow80 * (fRec202[2] + fRec202[0])))) - (fSlow92 * ((fSlow93 * fRec201[2]) + fTemp544)));
float fTemp545 = (fTemp22 + (fSlow19 * ((fSlow22 * ((fSlow23 * ((fSlow25 * fRec20[1]) + (fSlow24 * (fRec20[2] + fRec20[0])))) + (fSlow88 * (fRec198[0] + (fRec198[2] + (2.0f * fRec198[1])))))) + (fSlow89 * (fRec201[2] + (fSlow92 * (fTemp544 + (fSlow93 * fRec201[0]))))))));
fVec114[IOTA&1023] = fTemp545;
int iTemp546 = int(min(512, iTemp490));
int iTemp547 = int(min(512, iTemp476));
int iTemp548 = int(min(512, iTemp481));
int iTemp549 = int(min(512, iTemp484));
int iTemp550 = int(min(512, iTemp487));
fRec17[0] = ((fSlow11 * fRec17[1]) + (fSlow12 * ((fTemp21 * fVec114[(IOTA-iTemp546)&1023]) + (fTemp23 * (((fTemp26 * fVec114[(IOTA-iTemp547)&1023]) * fTemp478) + (fTemp479 * ((0.041666668f * (fTemp480 * fVec114[(IOTA-iTemp548)&1023])) + ((0.5f * ((fTemp483 * fVec114[(IOTA-iTemp549)&1023]) * fTemp486)) + (0.16666667f * ((fTemp13 * fVec114[(IOTA-iTemp550)&1023]) * fTemp489))))))))));
float fTemp551 = ((fSlow3 * fRec13[1]) + (fSlow1 * fRec17[0]));
float fTemp552 = (float)input1[i];
fRec240[0] = (fSlow95 + (0.995f * ((iSlow94 * iTemp0) + fRec240[1])));
float fTemp553 = (fRec240[0] + -1.49999f);
float fTemp554 = floorf(fTemp553);
float fTemp555 = (fTemp554 + (2.0f - fRec240[0]));
float fTemp556 = (fSlow69 * fRec18[0]);
float fTemp557 = (fSlow14 + (fTemp556 + 3.500005f));
float fTemp558 = floorf(fTemp557);
float fTemp559 = (fSlow14 + (fTemp556 + (3.0f - fTemp558)));
float fTemp560 = (0 - (0.5f * fTemp559));
float fTemp561 = (fSlow14 + (fTemp556 + (2.0f - fTemp558)));
float fTemp562 = (0 - (0.33333334f * fTemp561));
float fTemp563 = (fSlow14 + (fTemp556 + (1.0f - fTemp558)));
float fTemp564 = (0 - (0.25f * fTemp563));
float fTemp565 = ((fTemp560 * fTemp562) * fTemp564);
float fTemp566 = ((0.760314f * fRec28[1]) + (0.64955574f * fTemp538));
fVec115[IOTA&16383] = fTemp566;
int iTemp567 = int(fTemp557);
int iTemp568 = int(min(8192, max(0, iTemp567)));
float fTemp569 = ((fTemp558 + (-4.0f - fTemp556)) - fSlow14);
float fTemp570 = (fSlow14 + (fTemp556 + (5.0f - fTemp558)));
float fTemp571 = (0 - (0.5f * fTemp561));
float fTemp572 = (0 - (0.33333334f * fTemp563));
float fTemp573 = (fTemp571 * fTemp572);
int iTemp574 = int(min(8192, max(0, (iTemp567 + 1))));
float fTemp575 = ((fTemp558 + (-3.0f - fTemp556)) - fSlow14);
float fTemp576 = (fSlow14 + (fTemp556 + (4.0f - fTemp558)));
float fTemp577 = (fTemp559 * fTemp561);
int iTemp578 = int(min(8192, max(0, (iTemp567 + 4))));
int iTemp579 = int(min(8192, max(0, (iTemp567 + 3))));
float fTemp580 = ((fTemp558 + (-1.0f - fTemp556)) - fSlow14);
float fTemp581 = (0 - (0.5f * fTemp563));
int iTemp582 = int(min(8192, max(0, (iTemp567 + 2))));
float fTemp583 = ((fTemp558 + (-2.0f - fTemp556)) - fSlow14);
float fTemp584 = (((fTemp565 * fVec115[(IOTA-iTemp568)&16383]) * fTemp569) + (fTemp570 * (((fTemp573 * fVec115[(IOTA-iTemp574)&16383]) * fTemp575) + (fTemp576 * ((0.041666668f * (fTemp577 * fVec115[(IOTA-iTemp578)&16383])) + ((0.16666667f * ((fTemp559 * fVec115[(IOTA-iTemp579)&16383]) * fTemp580)) + (0.5f * ((fTemp581 * fVec115[(IOTA-iTemp582)&16383]) * fTemp583))))))));
fVec116[IOTA&16383] = fTemp584;
int iTemp585 = int(min(8192, max(0, int(fTemp553))));
float fTemp586 = (fRec240[0] - fTemp554);
float fTemp587 = (0 - (fTemp555 / fTemp586));
int iTemp588 = int((iTemp585 + 1));
fRec239[0] = (((fTemp555 * fVec116[(IOTA-iTemp585)&16383]) / fTemp586) + ((fRec239[1] * fTemp587) + fVec116[(IOTA-iTemp588)&16383]));
fRec238[0] = ((fSlow37 * fRec238[1]) + (fSlow38 * (fRec239[1] + fRec239[0])));
fRec237[0] = (fRec238[0] - (fSlow35 * ((fSlow81 * fRec237[1]) + (fSlow82 * fRec237[2]))));
fRec236[0] = ((fSlow35 * (fRec237[0] + (fRec237[2] + (2.0f * fRec237[1])))) - (fSlow34 * ((fSlow81 * fRec236[1]) + (fSlow83 * fRec236[2]))));
float fTemp589 = (fRec236[0] + (fRec236[2] + (2.0f * fRec236[1])));
float fTemp590 = (fSlow34 * fTemp589);
fVec117[0] = fTemp590;
fRec235[0] = ((fSlow28 * fRec235[1]) + (fSlow29 * ((fSlow84 * fTemp589) + (fSlow30 * fVec117[1]))));
fRec234[0] = (fRec235[0] - (fSlow26 * ((fSlow85 * fRec234[1]) + (fSlow86 * fRec234[2]))));
fRec233[0] = ((fSlow26 * ((fSlow25 * fRec234[1]) + (fSlow24 * (fRec234[2] + fRec234[0])))) - (fSlow22 * ((fSlow85 * fRec233[1]) + (fSlow87 * fRec233[2]))));
fRec243[0] = ((fSlow28 * fRec243[1]) + (fSlow29 * (fVec117[0] + fVec117[1])));
fRec242[0] = (fRec243[0] - (fSlow26 * ((fSlow85 * fRec242[1]) + (fSlow86 * fRec242[2]))));
fRec241[0] = ((fSlow26 * (fRec242[0] + (fRec242[2] + (2.0f * fRec242[1])))) - (fSlow22 * ((fSlow85 * fRec241[1]) + (fSlow87 * fRec241[2]))));
float fTemp591 = ((0.760314f * fRec225[1]) + fTemp504);
fVec118[IOTA&1023] = fTemp591;
float fTemp592 = (((fTemp224 * fVec118[(IOTA-iTemp232)&1023]) * fTemp225) + (fTemp233 * (((fTemp236 * fVec118[(IOTA-iTemp239)&1023]) * fTemp237) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec118[(IOTA-iTemp242)&1023])) + ((0.16666667f * ((fTemp218 * fVec118[(IOTA-iTemp249)&1023]) * fTemp247)) + (0.5f * ((fTemp243 * fVec118[(IOTA-iTemp246)&1023]) * fTemp244))))))));
fVec119[IOTA&16383] = fTemp592;
fRec249[0] = (((fTemp255 * fVec119[(IOTA-iTemp252)&16383]) / fTemp256) + ((fTemp257 * fRec249[1]) + fVec119[(IOTA-iTemp253)&16383]));
float fTemp593 = ((0.760314f * fRec220[1]) + (0.64955574f * fRec249[0]));
float fTemp594 = ((0.760314f * fRec216[1]) + (0.64955574f * fTemp593));
float fTemp595 = ((0.760314f * fRec212[1]) + (0.64955574f * fTemp594));
float fTemp596 = ((0.760314f * fRec207[1]) + (0.64955574f * fTemp595));
float fTemp597 = ((0.760314f * fRec229[1]) + (0.64955574f * fTemp596));
fVec120[IOTA&16383] = fTemp597;
float fTemp598 = (((((fVec120[(IOTA-iTemp568)&16383] * fTemp560) * fTemp562) * fTemp564) * fTemp569) + (fTemp570 * ((((fVec120[(IOTA-iTemp574)&16383] * fTemp571) * fTemp572) * fTemp575) + (fTemp576 * (((0.5f * ((fVec120[(IOTA-iTemp582)&16383] * fTemp581) * fTemp583)) + (0.16666667f * ((fVec120[(IOTA-iTemp579)&16383] * fTemp559) * fTemp580))) + (0.041666668f * ((fVec120[(IOTA-iTemp578)&16383] * fTemp559) * fTemp561)))))));
fVec121[IOTA&16383] = fTemp598;
fRec248[0] = (((fRec248[1] * fTemp587) + ((fTemp555 * fVec121[(IOTA-iTemp585)&16383]) / fTemp586)) + fVec121[(IOTA-iTemp588)&16383]);
fRec247[0] = ((fSlow37 * fRec247[1]) + (fSlow38 * ((fSlow32 * fRec248[0]) + (fSlow91 * fRec248[1]))));
fRec246[0] = (fRec247[0] - (fSlow35 * ((fSlow81 * fRec246[1]) + (fSlow82 * fRec246[2]))));
fRec245[0] = ((fSlow35 * ((fSlow90 * fRec246[1]) + (fSlow80 * (fRec246[2] + fRec246[0])))) - (fSlow34 * ((fSlow81 * fRec245[1]) + (fSlow83 * fRec245[2]))));
float fTemp599 = (fSlow85 * fRec244[1]);
fRec244[0] = ((fSlow34 * ((fSlow90 * fRec245[1]) + (fSlow80 * (fRec245[0] + fRec245[2])))) - (fSlow92 * ((fSlow93 * fRec244[2]) + fTemp599)));
float fTemp600 = (fTemp552 + (fSlow19 * ((fSlow22 * ((fSlow23 * ((fSlow25 * fRec233[1]) + (fSlow24 * (fRec233[2] + fRec233[0])))) + (fSlow88 * (fRec241[0] + (fRec241[2] + (2.0f * fRec241[1])))))) + (fSlow89 * (fRec244[2] + (fSlow92 * ((fSlow93 * fRec244[0]) + fTemp599)))))));
fVec122[IOTA&1023] = fTemp600;
fRec232[0] = ((fSlow11 * fRec232[1]) + (fSlow12 * ((fTemp53 * fVec122[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec122[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec122[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec122[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec122[(IOTA-iTemp208)&1023]))))))))));
float fTemp601 = ((fSlow1 * fRec232[0]) + (fSlow3 * fRec14[1]));
float fTemp602 = ((0.70710677f * fTemp551) - (0.70710677f * fTemp601));
fVec123[IOTA&16383] = fTemp602;
fRec15[0] = (((fTemp9 * fVec123[(IOTA-iTemp290)&16383]) / fTemp291) + (fVec123[(IOTA-iTemp292)&16383] + (fTemp293 * fRec15[1])));
fRec13[0] = fRec15[0];
fRec251[0] = (fSlow97 + (0.9999f * ((iSlow96 * iTemp0) + fRec251[1])));
float fTemp603 = (fRec251[0] + -1.49999f);
float fTemp604 = floorf(fTemp603);
float fTemp605 = (fTemp604 + (2.0f - fRec251[0]));
float fTemp606 = ((0.70710677f * fTemp601) + (0.70710677f * fTemp551));
fVec124[IOTA&16383] = fTemp606;
int iTemp607 = int(min(8192, max(0, int(fTemp603))));
float fTemp608 = (fRec251[0] - fTemp604);
float fTemp609 = (0 - (fTemp605 / fTemp608));
int iTemp610 = int((iTemp607 + 1));
fRec250[0] = (((fTemp605 * fVec124[(IOTA-iTemp607)&16383]) / fTemp608) + ((fRec250[1] * fTemp609) + fVec124[(IOTA-iTemp610)&16383]));
fRec14[0] = fRec250[0];
fRec258[0] = ((fSlow38 * (fRec205[1] + fRec205[0])) + (fSlow37 * fRec258[1]));
fRec257[0] = (fRec258[0] - (fSlow35 * ((fSlow81 * fRec257[1]) + (fSlow82 * fRec257[2]))));
fRec256[0] = ((fSlow35 * ((fRec257[2] + (2.0f * fRec257[1])) + fRec257[0])) - (fSlow34 * ((fSlow81 * fRec256[1]) + (fSlow83 * fRec256[2]))));
float fTemp611 = ((fRec256[2] + (2.0f * fRec256[1])) + fRec256[0]);
float fTemp612 = (fSlow34 * fTemp611);
fVec125[0] = fTemp612;
fRec255[0] = ((fSlow29 * ((fSlow30 * fVec125[1]) + (fSlow84 * fTemp611))) + (fSlow28 * fRec255[1]));
fRec254[0] = (fRec255[0] - (fSlow26 * ((fSlow85 * fRec254[1]) + (fSlow86 * fRec254[2]))));
fRec253[0] = ((fSlow26 * ((fSlow24 * (fRec254[2] + fRec254[0])) + (fSlow25 * fRec254[1]))) - (fSlow22 * ((fSlow85 * fRec253[1]) + (fSlow87 * fRec253[2]))));
fRec261[0] = ((fSlow29 * (fVec125[0] + fVec125[1])) + (fSlow28 * fRec261[1]));
fRec260[0] = (fRec261[0] - (fSlow26 * ((fSlow85 * fRec260[1]) + (fSlow86 * fRec260[2]))));
fRec259[0] = ((fSlow26 * ((fRec260[2] + (2.0f * fRec260[1])) + fRec260[0])) - (fSlow22 * ((fSlow85 * fRec259[1]) + (fSlow87 * fRec259[2]))));
float fTemp613 = ((0.760314f * fTemp536) - (0.64955574f * fRec267[1]));
float fTemp614 = ((0.760314f * fTemp596) - (0.64955574f * fRec268[1]));
float fTemp615 = ((0.70710677f * fTemp613) - (0.70710677f * fTemp614));
fVec126[IOTA&16383] = fTemp615;
fRec269[0] = (((fVec126[(IOTA-iTemp428)&16383] * fTemp29) / fTemp429) + (fVec126[(IOTA-iTemp430)&16383] + (fRec269[1] * fTemp431)));
fRec267[0] = fRec269[0];
float fTemp616 = ((0.70710677f * fTemp613) + (0.70710677f * fTemp614));
fVec127[IOTA&16383] = fTemp616;
fRec270[0] = (((fVec127[(IOTA-iTemp434)&16383] * fTemp436) / fTemp437) + (fVec127[(IOTA-iTemp438)&16383] + (fRec270[1] * fTemp439)));
fRec268[0] = fRec270[0];
float fTemp617 = ((0.760314f * fTemp535) - (0.64955574f * fRec271[1]));
float fTemp618 = ((0.760314f * fTemp595) - (0.64955574f * fRec272[1]));
float fTemp619 = ((0.70710677f * fTemp617) - (0.70710677f * fTemp618));
fVec128[IOTA&16383] = fTemp619;
fRec273[0] = (((fVec128[(IOTA-iTemp374)&16383] * fTemp6) / fTemp375) + (fVec128[(IOTA-iTemp376)&16383] + (fRec273[1] * fTemp377)));
fRec271[0] = fRec273[0];
float fTemp620 = ((0.70710677f * fTemp617) + (0.70710677f * fTemp618));
fVec129[IOTA&16383] = fTemp620;
fRec274[0] = (((fVec129[(IOTA-iTemp379)&16383] * fTemp3) / fTemp380) + (fVec129[(IOTA-iTemp381)&16383] + (fRec274[1] * fTemp382)));
fRec272[0] = fRec274[0];
float fTemp621 = ((0.760314f * fTemp534) - (0.64955574f * fRec275[1]));
float fTemp622 = ((0.760314f * fTemp594) - (0.64955574f * fRec276[1]));
float fTemp623 = ((0.70710677f * fTemp621) - (0.70710677f * fTemp622));
fVec130[IOTA&16383] = fTemp623;
fRec277[0] = (((fVec130[(IOTA-iTemp323)&16383] * fTemp32) / fTemp324) + (fVec130[(IOTA-iTemp325)&16383] + (fTemp326 * fRec277[1])));
fRec275[0] = fRec277[0];
float fTemp624 = ((0.70710677f * fTemp621) + (0.70710677f * fTemp622));
fVec131[IOTA&16383] = fTemp624;
fRec278[0] = ((fTemp331 * fRec278[1]) + (fVec131[(IOTA-iTemp334)&16383] + ((fTemp329 * fVec131[(IOTA-iTemp333)&16383]) / fTemp330)));
fRec276[0] = fRec278[0];
float fTemp625 = ((0.760314f * fTemp533) - (0.64955574f * fRec279[1]));
float fTemp626 = ((0.760314f * fTemp593) - (0.64955574f * fRec280[1]));
float fTemp627 = ((0.70710677f * fTemp625) - (0.70710677f * fTemp626));
fVec132[IOTA&16383] = fTemp627;
fRec281[0] = (((fVec132[(IOTA-iTemp285)&16383] * fTemp35) / fTemp286) + (fVec132[(IOTA-iTemp287)&16383] + (fTemp288 * fRec281[1])));
fRec279[0] = fRec281[0];
float fTemp628 = ((0.70710677f * fTemp625) + (0.70710677f * fTemp626));
fVec133[IOTA&16383] = fTemp628;
fRec282[0] = ((fTemp293 * fRec282[1]) + (fVec133[(IOTA-iTemp292)&16383] + ((fTemp9 * fVec133[(IOTA-iTemp290)&16383]) / fTemp291)));
fRec280[0] = fRec282[0];
float fTemp629 = ((0.760314f * fRec223[0]) - (0.64955574f * fRec283[1]));
float fTemp630 = ((0.760314f * fRec249[0]) - (0.64955574f * fRec284[1]));
float fTemp631 = ((0.70710677f * fTemp629) - (0.70710677f * fTemp630));
fVec134[IOTA&16383] = fTemp631;
fRec285[0] = ((fTemp263 * fRec285[1]) + (fVec134[(IOTA-iTemp262)&16383] + ((fTemp38 * fVec134[(IOTA-iTemp260)&16383]) / fTemp261)));
fRec283[0] = fRec285[0];
float fTemp632 = ((0.70710677f * fTemp629) + (0.70710677f * fTemp630));
fVec135[IOTA&16383] = fTemp632;
fRec286[0] = ((fTemp271 * fRec286[1]) + (fVec135[(IOTA-iTemp270)&16383] + ((fTemp266 * fVec135[(IOTA-iTemp268)&16383]) / fTemp269)));
fRec284[0] = fRec286[0];
float fTemp633 = (fTemp525 - (0.64955574f * fRec288[1]));
float fTemp634 = (fTemp527 - (0.64955574f * fRec289[1]));
float fTemp635 = ((0.70710677f * fTemp633) - (0.70710677f * fTemp634));
fVec136[IOTA&16383] = fTemp635;
fRec290[0] = (((fTemp56 * fVec136[(IOTA-iTemp170)&16383]) / fTemp171) + (fVec136[(IOTA-iTemp172)&16383] + (fTemp173 * fRec290[1])));
fRec288[0] = fRec290[0];
float fTemp636 = ((0.70710677f * fTemp633) + (0.70710677f * fTemp634));
fVec137[IOTA&16383] = fTemp636;
fRec291[0] = (((fTemp176 * fVec137[(IOTA-iTemp178)&16383]) / fTemp179) + (fVec137[(IOTA-iTemp180)&16383] + (fTemp181 * fRec291[1])));
fRec289[0] = fRec291[0];
float fTemp637 = (fTemp85 - (0.64955574f * fRec292[1]));
float fTemp638 = (fTemp89 - (0.64955574f * fRec293[1]));
float fTemp639 = ((0.70710677f * fTemp637) - (0.70710677f * fTemp638));
fVec138[IOTA&16383] = fTemp639;
fRec294[0] = (((fTemp96 * fVec138[(IOTA-iTemp93)&16383]) / fTemp97) + (fVec138[(IOTA-iTemp94)&16383] + (fTemp98 * fRec294[1])));
fRec292[0] = fRec294[0];
float fTemp640 = ((0.70710677f * fTemp637) + (0.70710677f * fTemp638));
fVec139[IOTA&16383] = fTemp640;
fRec295[0] = (((fTemp104 * fVec139[(IOTA-iTemp101)&16383]) / fTemp105) + (fVec139[(IOTA-iTemp102)&16383] + (fTemp106 * fRec295[1])));
fRec293[0] = fRec295[0];
float fTemp641 = (fTemp113 + (0.760314f * fRec292[1]));
float fTemp642 = (fTemp403 - (0.64955574f * fRec296[1]));
float fTemp643 = (fTemp405 - (0.64955574f * fRec297[1]));
float fTemp644 = ((0.70710677f * fTemp642) - (0.70710677f * fTemp643));
fVec140[IOTA&16383] = fTemp644;
fRec298[0] = (((fTemp62 * fVec140[(IOTA-iTemp120)&16383]) / fTemp121) + (fVec140[(IOTA-iTemp122)&16383] + (fTemp123 * fRec298[1])));
fRec296[0] = fRec298[0];
float fTemp645 = ((0.70710677f * fTemp642) + (0.70710677f * fTemp643));
fVec141[IOTA&16383] = fTemp645;
fRec299[0] = (((fTemp126 * fVec141[(IOTA-iTemp128)&16383]) / fTemp129) + (fVec141[(IOTA-iTemp130)&16383] + (fTemp131 * fRec299[1])));
fRec297[0] = fRec299[0];
float fTemp646 = ((0.64955574f * fTemp641) + (0.760314f * fRec296[1]));
float fTemp647 = (fTemp460 - (0.64955574f * fRec300[1]));
float fTemp648 = (fTemp462 - (0.64955574f * fRec301[1]));
float fTemp649 = ((0.70710677f * fTemp647) - (0.70710677f * fTemp648));
fVec142[IOTA&16383] = fTemp649;
fRec302[0] = (((fTemp59 * fVec142[(IOTA-iTemp145)&16383]) / fTemp146) + (fVec142[(IOTA-iTemp147)&16383] + (fTemp148 * fRec302[1])));
fRec300[0] = fRec302[0];
float fTemp650 = ((0.70710677f * fTemp647) + (0.70710677f * fTemp648));
fVec143[IOTA&16383] = fTemp650;
fRec303[0] = (((fTemp151 * fVec143[(IOTA-iTemp153)&16383]) / fTemp154) + (fVec143[(IOTA-iTemp155)&16383] + (fTemp156 * fRec303[1])));
fRec301[0] = fRec303[0];
float fTemp651 = ((0.64955574f * fTemp646) + (0.760314f * fRec300[1]));
float fTemp652 = ((0.760314f * fRec288[1]) + (0.64955574f * fTemp651));
fVec144[IOTA&1023] = fTemp652;
float fTemp653 = ((fTemp53 * fVec144[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec144[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec144[(IOTA-iTemp201)&1023])) + ((0.16666667f * (fTemp207 * fVec144[(IOTA-iTemp208)&1023])) + (0.5f * (fTemp204 * fVec144[(IOTA-iTemp205)&1023]))))))));
fVec145[IOTA&16383] = fTemp653;
fRec287[0] = (((fTemp41 * fVec145[(IOTA-iTemp210)&16383]) / fTemp211) + (fVec145[(IOTA-iTemp212)&16383] + (fTemp213 * fRec287[1])));
float fTemp654 = ((0.760314f * fRec283[1]) + (0.64955574f * fRec287[0]));
float fTemp655 = ((0.760314f * fRec279[1]) + (0.64955574f * fTemp654));
float fTemp656 = ((0.760314f * fRec275[1]) + (0.64955574f * fTemp655));
float fTemp657 = ((0.760314f * fRec271[1]) + (0.64955574f * fTemp656));
float fTemp658 = ((0.760314f * fRec267[1]) + (0.64955574f * fTemp657));
fVec146[IOTA&16383] = fTemp658;
float fTemp659 = ((fTemp23 * (((fTemp26 * fVec146[(IOTA-iTemp477)&16383]) * fTemp478) + (fTemp479 * (((0.16666667f * ((fTemp13 * fVec146[(IOTA-iTemp488)&16383]) * fTemp489)) + (0.5f * ((fTemp483 * fVec146[(IOTA-iTemp485)&16383]) * fTemp486))) + (0.041666668f * (fTemp480 * fVec146[(IOTA-iTemp482)&16383])))))) + (fTemp21 * fVec146[(IOTA-iTemp491)&16383]));
fVec147[IOTA&16383] = fTemp659;
fRec266[0] = (fVec147[(IOTA-iTemp495)&16383] + ((fRec266[1] * fTemp499) + ((fTemp497 * fVec147[(IOTA-iTemp494)&16383]) / fTemp498)));
fRec265[0] = ((fSlow37 * fRec265[1]) + (fSlow38 * ((fSlow32 * fRec266[0]) + (fSlow91 * fRec266[1]))));
fRec264[0] = (fRec265[0] - (fSlow35 * ((fSlow81 * fRec264[1]) + (fSlow82 * fRec264[2]))));
fRec263[0] = ((fSlow35 * ((fSlow90 * fRec264[1]) + (fSlow80 * (fRec264[2] + fRec264[0])))) - (fSlow34 * ((fSlow81 * fRec263[1]) + (fSlow83 * fRec263[2]))));
float fTemp660 = (fSlow85 * fRec262[1]);
fRec262[0] = ((fSlow34 * ((fSlow90 * fRec263[1]) + (fSlow80 * (fRec263[2] + fRec263[0])))) - (fSlow92 * ((fSlow93 * fRec262[2]) + fTemp660)));
float fTemp661 = (fTemp22 + (fSlow19 * ((fSlow22 * ((fSlow23 * ((fSlow24 * (fRec253[2] + fRec253[0])) + (fSlow25 * fRec253[1]))) + (fSlow88 * ((fRec259[2] + (2.0f * fRec259[1])) + fRec259[0])))) + (fSlow89 * (fRec262[2] + (fSlow92 * (fTemp660 + (fSlow93 * fRec262[0]))))))));
fVec148[IOTA&1023] = fTemp661;
fRec252[0] = ((fSlow11 * fRec252[1]) + (fSlow12 * ((fTemp21 * fVec148[(IOTA-iTemp546)&1023]) + (fTemp23 * (((fTemp26 * fVec148[(IOTA-iTemp547)&1023]) * fTemp478) + (fTemp479 * ((0.041666668f * (fTemp480 * fVec148[(IOTA-iTemp548)&1023])) + ((0.16666667f * ((fTemp13 * fVec148[(IOTA-iTemp550)&1023]) * fTemp489)) + (0.5f * ((fTemp483 * fVec148[(IOTA-iTemp549)&1023]) * fTemp486))))))))));
float fTemp662 = ((fSlow3 * fRec9[1]) + (fSlow1 * ((fSlow1 * fRec13[1]) + (fSlow2 * fRec252[0]))));
float fTemp663 = (fTemp117 + (0.760314f * fRec293[1]));
float fTemp664 = ((0.64955574f * fTemp663) + (0.760314f * fRec297[1]));
float fTemp665 = ((0.64955574f * fTemp664) + (0.760314f * fRec301[1]));
float fTemp666 = ((0.64955574f * fTemp665) + (0.760314f * fRec289[1]));
fVec149[IOTA&1023] = fTemp666;
float fTemp667 = (((fTemp224 * fVec149[(IOTA-iTemp232)&1023]) * fTemp225) + (fTemp233 * (((fTemp236 * fVec149[(IOTA-iTemp239)&1023]) * fTemp237) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec149[(IOTA-iTemp242)&1023])) + ((0.16666667f * ((fTemp218 * fVec149[(IOTA-iTemp249)&1023]) * fTemp247)) + (0.5f * ((fTemp243 * fVec149[(IOTA-iTemp246)&1023]) * fTemp244))))))));
fVec150[IOTA&16383] = fTemp667;
fRec310[0] = (((fTemp255 * fVec150[(IOTA-iTemp252)&16383]) / fTemp256) + ((fTemp257 * fRec310[1]) + fVec150[(IOTA-iTemp253)&16383]));
float fTemp668 = ((0.64955574f * fRec310[0]) + (0.760314f * fRec284[1]));
float fTemp669 = ((0.64955574f * fTemp668) + (0.760314f * fRec280[1]));
float fTemp670 = ((0.64955574f * fTemp669) + (0.760314f * fRec276[1]));
float fTemp671 = ((0.64955574f * fTemp670) + (0.760314f * fRec272[1]));
float fTemp672 = ((0.64955574f * fTemp671) + (0.760314f * fRec268[1]));
fVec151[IOTA&16383] = fTemp672;
float fTemp673 = (fTemp581 * fTemp583);
float fTemp674 = (fTemp559 * fTemp580);
float fTemp675 = (fTemp573 * fTemp575);
float fTemp676 = (fTemp565 * fTemp569);
float fTemp677 = ((((((0.041666668f * (fTemp577 * fVec151[(IOTA-iTemp578)&16383])) + ((0.5f * (fTemp673 * fVec151[(IOTA-iTemp582)&16383])) + (0.16666667f * (fTemp674 * fVec151[(IOTA-iTemp579)&16383])))) * fTemp576) + (fTemp675 * fVec151[(IOTA-iTemp574)&16383])) * fTemp570) + (fTemp676 * fVec151[(IOTA-iTemp568)&16383]));
fVec152[IOTA&16383] = fTemp677;
fRec309[0] = ((((fVec152[(IOTA-iTemp585)&16383] * fTemp555) / fTemp586) + fVec152[(IOTA-iTemp588)&16383]) + (fTemp587 * fRec309[1]));
fRec308[0] = ((fSlow37 * fRec308[1]) + (fSlow38 * ((fSlow32 * fRec309[0]) + (fSlow91 * fRec309[1]))));
fRec307[0] = (fRec308[0] - (fSlow35 * ((fSlow81 * fRec307[1]) + (fSlow82 * fRec307[2]))));
fRec306[0] = ((fSlow35 * ((fSlow80 * (fRec307[2] + fRec307[0])) + (fSlow90 * fRec307[1]))) - (fSlow34 * ((fSlow81 * fRec306[1]) + (fSlow83 * fRec306[2]))));
float fTemp678 = (fSlow85 * fRec305[1]);
fRec305[0] = ((fSlow34 * ((fSlow80 * (fRec306[2] + fRec306[0])) + (fSlow90 * fRec306[1]))) - (fSlow92 * ((fSlow93 * fRec305[2]) + fTemp678)));
fRec316[0] = ((fSlow38 * (fRec248[1] + fRec248[0])) + (fSlow37 * fRec316[1]));
fRec315[0] = (fRec316[0] - (fSlow35 * ((fSlow81 * fRec315[1]) + (fSlow82 * fRec315[2]))));
fRec314[0] = ((fSlow35 * ((fRec315[2] + (2.0f * fRec315[1])) + fRec315[0])) - (fSlow34 * ((fSlow81 * fRec314[1]) + (fSlow83 * fRec314[2]))));
float fTemp679 = ((fRec314[2] + (2.0f * fRec314[1])) + fRec314[0]);
float fTemp680 = (fSlow34 * fTemp679);
fVec153[0] = fTemp680;
fRec313[0] = ((fSlow29 * ((fSlow30 * fVec153[1]) + (fSlow84 * fTemp679))) + (fSlow28 * fRec313[1]));
fRec312[0] = (fRec313[0] - (fSlow26 * ((fSlow85 * fRec312[1]) + (fSlow86 * fRec312[2]))));
fRec311[0] = ((fSlow26 * ((fSlow24 * (fRec312[2] + fRec312[0])) + (fSlow25 * fRec312[1]))) - (fSlow22 * ((fSlow85 * fRec311[1]) + (fSlow87 * fRec311[2]))));
fRec319[0] = ((fSlow29 * (fVec153[0] + fVec153[1])) + (fSlow28 * fRec319[1]));
fRec318[0] = (fRec319[0] - (fSlow26 * ((fSlow85 * fRec318[1]) + (fSlow86 * fRec318[2]))));
fRec317[0] = ((fSlow26 * ((fRec318[2] + (2.0f * fRec318[1])) + fRec318[0])) - (fSlow22 * ((fSlow85 * fRec317[1]) + (fSlow87 * fRec317[2]))));
float fTemp681 = (fTemp552 + (fSlow19 * ((fSlow89 * (fRec305[2] + (fSlow92 * (fTemp678 + (fSlow93 * fRec305[0]))))) + (fSlow22 * ((fSlow23 * ((fSlow24 * (fRec311[2] + fRec311[0])) + (fSlow25 * fRec311[1]))) + (fSlow88 * ((fRec317[2] + (2.0f * fRec317[1])) + fRec317[0])))))));
fVec154[IOTA&1023] = fTemp681;
fRec304[0] = ((fSlow12 * ((fTemp53 * fVec154[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec154[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec154[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec154[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec154[(IOTA-iTemp208)&1023]))))))))) + (fSlow11 * fRec304[1]));
float fTemp682 = ((fSlow3 * fRec10[1]) + (fSlow1 * ((fSlow2 * fRec304[0]) + (fSlow1 * fRec14[1]))));
float fTemp683 = ((0.70710677f * fTemp662) - (0.70710677f * fTemp682));
fVec155[IOTA&16383] = fTemp683;
fRec11[0] = ((((fTemp6 * fVec155[(IOTA-iTemp374)&16383]) / fTemp375) + fVec155[(IOTA-iTemp376)&16383]) + (fRec11[1] * fTemp377));
fRec9[0] = fRec11[0];
float fTemp684 = ((0.70710677f * fTemp682) + (0.70710677f * fTemp662));
fVec156[IOTA&16383] = fTemp684;
fRec320[0] = ((((fTemp329 * fVec156[(IOTA-iTemp333)&16383]) / fTemp330) + fVec156[(IOTA-iTemp334)&16383]) + (fTemp331 * fRec320[1]));
fRec10[0] = fRec320[0];
float fTemp685 = ((fSlow3 * fRec321[1]) + (fSlow1 * fRec252[0]));
float fTemp686 = ((fSlow3 * fRec322[1]) + (fSlow1 * fRec304[0]));
float fTemp687 = ((0.70710677f * fTemp685) - (0.70710677f * fTemp686));
fVec157[IOTA&16383] = fTemp687;
fRec323[0] = ((((fTemp9 * fVec157[(IOTA-iTemp290)&16383]) / fTemp291) + fVec157[(IOTA-iTemp292)&16383]) + (fTemp293 * fRec323[1]));
fRec321[0] = fRec323[0];
float fTemp688 = ((0.70710677f * fTemp685) + (0.70710677f * fTemp686));
fVec158[IOTA&16383] = fTemp688;
fRec324[0] = ((((fTemp605 * fVec158[(IOTA-iTemp607)&16383]) / fTemp608) + fVec158[(IOTA-iTemp610)&16383]) + (fTemp609 * fRec324[1]));
fRec322[0] = fRec324[0];
float fTemp689 = ((0.760314f * fTemp657) - (0.64955574f * fRec331[1]));
float fTemp690 = ((0.760314f * fTemp671) - (0.64955574f * fRec332[1]));
float fTemp691 = ((0.70710677f * fTemp689) - (0.70710677f * fTemp690));
fVec159[IOTA&16383] = fTemp691;
fRec333[0] = ((((fTemp29 * fVec159[(IOTA-iTemp428)&16383]) / fTemp429) + (fTemp431 * fRec333[1])) + fVec159[(IOTA-iTemp430)&16383]);
fRec331[0] = fRec333[0];
float fTemp692 = ((0.70710677f * fTemp689) + (0.70710677f * fTemp690));
fVec160[IOTA&16383] = fTemp692;
fRec334[0] = ((((fTemp436 * fVec160[(IOTA-iTemp434)&16383]) / fTemp437) + (fTemp439 * fRec334[1])) + fVec160[(IOTA-iTemp438)&16383]);
fRec332[0] = fRec334[0];
float fTemp693 = ((0.760314f * fTemp656) - (0.64955574f * fRec335[1]));
float fTemp694 = ((0.760314f * fTemp670) - (0.64955574f * fRec336[1]));
float fTemp695 = ((0.70710677f * fTemp693) - (0.70710677f * fTemp694));
fVec161[IOTA&16383] = fTemp695;
fRec337[0] = ((((fTemp6 * fVec161[(IOTA-iTemp374)&16383]) / fTemp375) + (fTemp377 * fRec337[1])) + fVec161[(IOTA-iTemp376)&16383]);
fRec335[0] = fRec337[0];
float fTemp696 = ((0.70710677f * fTemp693) + (0.70710677f * fTemp694));
fVec162[IOTA&16383] = fTemp696;
fRec338[0] = ((((fTemp3 * fVec162[(IOTA-iTemp379)&16383]) / fTemp380) + (fTemp382 * fRec338[1])) + fVec162[(IOTA-iTemp381)&16383]);
fRec336[0] = fRec338[0];
float fTemp697 = ((0.760314f * fTemp655) - (0.64955574f * fRec339[1]));
float fTemp698 = ((0.760314f * fTemp669) - (0.64955574f * fRec340[1]));
float fTemp699 = ((0.70710677f * fTemp697) - (0.70710677f * fTemp698));
fVec163[IOTA&16383] = fTemp699;
fRec341[0] = ((((fTemp32 * fVec163[(IOTA-iTemp323)&16383]) / fTemp324) + (fTemp326 * fRec341[1])) + fVec163[(IOTA-iTemp325)&16383]);
fRec339[0] = fRec341[0];
float fTemp700 = ((0.70710677f * fTemp697) + (0.70710677f * fTemp698));
fVec164[IOTA&16383] = fTemp700;
fRec342[0] = ((((fTemp329 * fVec164[(IOTA-iTemp333)&16383]) / fTemp330) + (fTemp331 * fRec342[1])) + fVec164[(IOTA-iTemp334)&16383]);
fRec340[0] = fRec342[0];
float fTemp701 = ((0.760314f * fTemp654) - (0.64955574f * fRec343[1]));
float fTemp702 = ((0.760314f * fTemp668) - (0.64955574f * fRec344[1]));
float fTemp703 = ((0.70710677f * fTemp701) - (0.70710677f * fTemp702));
fVec165[IOTA&16383] = fTemp703;
fRec345[0] = ((((fTemp35 * fVec165[(IOTA-iTemp285)&16383]) / fTemp286) + (fTemp288 * fRec345[1])) + fVec165[(IOTA-iTemp287)&16383]);
fRec343[0] = fRec345[0];
float fTemp704 = ((0.70710677f * fTemp701) + (0.70710677f * fTemp702));
fVec166[IOTA&16383] = fTemp704;
fRec346[0] = ((((fTemp9 * fVec166[(IOTA-iTemp290)&16383]) / fTemp291) + (fTemp293 * fRec346[1])) + fVec166[(IOTA-iTemp292)&16383]);
fRec344[0] = fRec346[0];
float fTemp705 = ((0.760314f * fRec287[0]) - (0.64955574f * fRec347[1]));
float fTemp706 = ((0.760314f * fRec310[0]) - (0.64955574f * fRec348[1]));
float fTemp707 = ((0.70710677f * fTemp705) - (0.70710677f * fTemp706));
fVec167[IOTA&16383] = fTemp707;
fRec349[0] = ((((fTemp38 * fVec167[(IOTA-iTemp260)&16383]) / fTemp261) + (fTemp263 * fRec349[1])) + fVec167[(IOTA-iTemp262)&16383]);
fRec347[0] = fRec349[0];
float fTemp708 = ((0.70710677f * fTemp705) + (0.70710677f * fTemp706));
fVec168[IOTA&16383] = fTemp708;
fRec350[0] = ((((fTemp266 * fVec168[(IOTA-iTemp268)&16383]) / fTemp269) + (fTemp271 * fRec350[1])) + fVec168[(IOTA-iTemp270)&16383]);
fRec348[0] = fRec350[0];
float fTemp709 = (fTemp67 - (0.64955574f * fRec352[1]));
float fTemp710 = (fTemp69 - (0.64955574f * fRec353[1]));
float fTemp711 = ((0.70710677f * fTemp709) - (0.70710677f * fTemp710));
fVec169[IOTA&16383] = fTemp711;
fRec354[0] = ((((fTemp66 * fVec169[(IOTA-iTemp72)&16383]) / fTemp73) + (fTemp75 * fRec354[1])) + fVec169[(IOTA-iTemp74)&16383]);
fRec352[0] = fRec354[0];
float fTemp712 = ((0.70710677f * fTemp709) + (0.70710677f * fTemp710));
fVec170[IOTA&16383] = fTemp712;
fRec355[0] = ((((fTemp78 * fVec170[(IOTA-iTemp80)&16383]) / fTemp81) + (fTemp83 * fRec355[1])) + fVec170[(IOTA-iTemp82)&16383]);
fRec353[0] = fRec355[0];
float fTemp713 = (fTemp63 + (0.760314f * fRec352[1]));
float fTemp714 = (fTemp132 - (0.64955574f * fRec356[1]));
float fTemp715 = (fTemp134 - (0.64955574f * fRec357[1]));
float fTemp716 = ((0.70710677f * fTemp714) - (0.70710677f * fTemp715));
fVec171[IOTA&16383] = fTemp716;
fRec358[0] = ((((fTemp96 * fVec171[(IOTA-iTemp93)&16383]) / fTemp97) + fVec171[(IOTA-iTemp94)&16383]) + (fTemp98 * fRec358[1]));
fRec356[0] = fRec358[0];
float fTemp717 = ((0.70710677f * fTemp714) + (0.70710677f * fTemp715));
fVec172[IOTA&16383] = fTemp717;
fRec359[0] = ((((fTemp104 * fVec172[(IOTA-iTemp101)&16383]) / fTemp105) + fVec172[(IOTA-iTemp102)&16383]) + (fTemp106 * fRec359[1]));
fRec357[0] = fRec359[0];
float fTemp718 = ((0.64955574f * fTemp713) + (0.760314f * fRec356[1]));
float fTemp719 = ((0.760314f * fTemp641) - (0.64955574f * fRec360[1]));
float fTemp720 = ((0.760314f * fTemp663) - (0.64955574f * fRec361[1]));
float fTemp721 = ((0.70710677f * fTemp719) - (0.70710677f * fTemp720));
fVec173[IOTA&16383] = fTemp721;
fRec362[0] = ((((fTemp62 * fVec173[(IOTA-iTemp120)&16383]) / fTemp121) + fVec173[(IOTA-iTemp122)&16383]) + (fTemp123 * fRec362[1]));
fRec360[0] = fRec362[0];
float fTemp722 = ((0.70710677f * fTemp719) + (0.70710677f * fTemp720));
fVec174[IOTA&16383] = fTemp722;
fRec363[0] = ((((fTemp126 * fVec174[(IOTA-iTemp128)&16383]) / fTemp129) + fVec174[(IOTA-iTemp130)&16383]) + (fTemp131 * fRec363[1]));
fRec361[0] = fRec363[0];
float fTemp723 = ((0.64955574f * fTemp718) + (0.760314f * fRec360[1]));
float fTemp724 = ((0.760314f * fTemp646) - (0.64955574f * fRec364[1]));
float fTemp725 = ((0.760314f * fTemp664) - (0.64955574f * fRec365[1]));
float fTemp726 = ((0.70710677f * fTemp724) - (0.70710677f * fTemp725));
fVec175[IOTA&16383] = fTemp726;
fRec366[0] = ((((fTemp59 * fVec175[(IOTA-iTemp145)&16383]) / fTemp146) + fVec175[(IOTA-iTemp147)&16383]) + (fTemp148 * fRec366[1]));
fRec364[0] = fRec366[0];
float fTemp727 = ((0.70710677f * fTemp724) + (0.70710677f * fTemp725));
fVec176[IOTA&16383] = fTemp727;
fRec367[0] = ((((fTemp151 * fVec176[(IOTA-iTemp153)&16383]) / fTemp154) + fVec176[(IOTA-iTemp155)&16383]) + (fTemp156 * fRec367[1]));
fRec365[0] = fRec367[0];
float fTemp728 = ((0.64955574f * fTemp723) + (0.760314f * fRec364[1]));
float fTemp729 = ((0.760314f * fTemp651) - (0.64955574f * fRec368[1]));
float fTemp730 = ((0.760314f * fTemp665) - (0.64955574f * fRec369[1]));
float fTemp731 = ((0.70710677f * fTemp729) - (0.70710677f * fTemp730));
fVec177[IOTA&16383] = fTemp731;
fRec370[0] = ((((fTemp56 * fVec177[(IOTA-iTemp170)&16383]) / fTemp171) + fVec177[(IOTA-iTemp172)&16383]) + (fTemp173 * fRec370[1]));
fRec368[0] = fRec370[0];
float fTemp732 = ((0.70710677f * fTemp729) + (0.70710677f * fTemp730));
fVec178[IOTA&16383] = fTemp732;
fRec371[0] = ((((fTemp176 * fVec178[(IOTA-iTemp178)&16383]) / fTemp179) + fVec178[(IOTA-iTemp180)&16383]) + (fTemp181 * fRec371[1]));
fRec369[0] = fRec371[0];
float fTemp733 = ((0.64955574f * fTemp728) + (0.760314f * fRec368[1]));
fVec179[IOTA&1023] = fTemp733;
float fTemp734 = ((fTemp53 * fVec179[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec179[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec179[(IOTA-iTemp201)&1023])) + ((0.5f * (fTemp204 * fVec179[(IOTA-iTemp205)&1023])) + (0.16666667f * (fTemp207 * fVec179[(IOTA-iTemp208)&1023]))))))));
fVec180[IOTA&16383] = fTemp734;
fRec351[0] = ((fVec180[(IOTA-iTemp212)&16383] + ((fTemp41 * fVec180[(IOTA-iTemp210)&16383]) / fTemp211)) + (fTemp213 * fRec351[1]));
float fTemp735 = ((0.760314f * fRec347[1]) + (0.64955574f * fRec351[0]));
float fTemp736 = ((0.760314f * fRec343[1]) + (0.64955574f * fTemp735));
float fTemp737 = ((0.760314f * fRec339[1]) + (0.64955574f * fTemp736));
float fTemp738 = ((0.760314f * fRec335[1]) + (0.64955574f * fTemp737));
float fTemp739 = ((0.760314f * fRec331[1]) + (0.64955574f * fTemp738));
fVec181[IOTA&16383] = fTemp739;
float fTemp740 = ((fTemp21 * fVec181[(IOTA-iTemp491)&16383]) + (fTemp23 * (((fTemp26 * fVec181[(IOTA-iTemp477)&16383]) * fTemp478) + (fTemp479 * ((0.041666668f * (fTemp480 * fVec181[(IOTA-iTemp482)&16383])) + ((0.5f * ((fTemp483 * fVec181[(IOTA-iTemp485)&16383]) * fTemp486)) + (0.16666667f * ((fTemp13 * fVec181[(IOTA-iTemp488)&16383]) * fTemp489))))))));
fVec182[IOTA&16383] = fTemp740;
fRec330[0] = ((fVec182[(IOTA-iTemp495)&16383] + ((fTemp497 * fVec182[(IOTA-iTemp494)&16383]) / fTemp498)) + (fTemp499 * fRec330[1]));
fRec329[0] = ((fSlow37 * fRec329[1]) + (fSlow38 * ((fSlow32 * fRec330[0]) + (fSlow91 * fRec330[1]))));
fRec328[0] = (fRec329[0] - (fSlow35 * ((fSlow81 * fRec328[1]) + (fSlow82 * fRec328[2]))));
fRec327[0] = ((fSlow35 * ((fSlow80 * (fRec328[2] + fRec328[0])) + (fSlow90 * fRec328[1]))) - (fSlow34 * ((fSlow81 * fRec327[1]) + (fSlow83 * fRec327[2]))));
float fTemp741 = (fSlow85 * fRec326[1]);
fRec326[0] = ((fSlow34 * ((fSlow80 * (fRec327[2] + fRec327[0])) + (fSlow90 * fRec327[1]))) - (fSlow92 * ((fSlow93 * fRec326[2]) + fTemp741)));
fRec377[0] = ((fSlow38 * (fRec266[1] + fRec266[0])) + (fSlow37 * fRec377[1]));
fRec376[0] = (fRec377[0] - (fSlow35 * ((fSlow81 * fRec376[1]) + (fSlow82 * fRec376[2]))));
fRec375[0] = ((fSlow35 * ((fRec376[2] + (2.0f * fRec376[1])) + fRec376[0])) - (fSlow34 * ((fSlow81 * fRec375[1]) + (fSlow83 * fRec375[2]))));
float fTemp742 = ((fRec375[2] + (2.0f * fRec375[1])) + fRec375[0]);
float fTemp743 = (fSlow34 * fTemp742);
fVec183[0] = fTemp743;
fRec374[0] = ((fSlow29 * ((fSlow30 * fVec183[1]) + (fSlow84 * fTemp742))) + (fSlow28 * fRec374[1]));
fRec373[0] = (fRec374[0] - (fSlow26 * ((fSlow85 * fRec373[1]) + (fSlow86 * fRec373[2]))));
fRec372[0] = ((fSlow26 * ((fSlow24 * (fRec373[2] + fRec373[0])) + (fSlow25 * fRec373[1]))) - (fSlow22 * ((fSlow85 * fRec372[1]) + (fSlow87 * fRec372[2]))));
fRec380[0] = ((fSlow29 * (fVec183[0] + fVec183[1])) + (fSlow28 * fRec380[1]));
fRec379[0] = (fRec380[0] - (fSlow26 * ((fSlow85 * fRec379[1]) + (fSlow86 * fRec379[2]))));
fRec378[0] = ((fSlow26 * ((fRec379[2] + (2.0f * fRec379[1])) + fRec379[0])) - (fSlow22 * ((fSlow85 * fRec378[1]) + (fSlow87 * fRec378[2]))));
float fTemp744 = (fTemp22 + (fSlow19 * ((fSlow89 * (fRec326[2] + (fSlow92 * (fTemp741 + (fSlow93 * fRec326[0]))))) + (fSlow22 * ((fSlow23 * ((fSlow24 * (fRec372[2] + fRec372[0])) + (fSlow25 * fRec372[1]))) + (fSlow88 * ((fRec378[2] + (2.0f * fRec378[1])) + fRec378[0])))))));
fVec184[IOTA&1023] = fTemp744;
fRec325[0] = ((fSlow12 * ((fTemp21 * fVec184[(IOTA-iTemp546)&1023]) + (fTemp23 * (((fTemp26 * fVec184[(IOTA-iTemp547)&1023]) * fTemp478) + (fTemp479 * ((0.041666668f * (fTemp480 * fVec184[(IOTA-iTemp548)&1023])) + ((0.5f * ((fTemp483 * fVec184[(IOTA-iTemp549)&1023]) * fTemp486)) + (0.16666667f * ((fTemp13 * fVec184[(IOTA-iTemp550)&1023]) * fTemp489))))))))) + (fSlow11 * fRec325[1]));
float fTemp745 = ((fSlow1 * fRec321[1]) + (fSlow2 * fRec325[0]));
float fTemp746 = ((fSlow3 * fRec5[1]) + (fSlow1 * ((fSlow1 * fRec9[1]) + (fSlow2 * fTemp745))));
float fTemp747 = (fTemp87 + (0.760314f * fRec353[1]));
float fTemp748 = ((0.64955574f * fTemp747) + (0.760314f * fRec357[1]));
float fTemp749 = ((0.64955574f * fTemp748) + (0.760314f * fRec361[1]));
float fTemp750 = ((0.64955574f * fTemp749) + (0.760314f * fRec365[1]));
float fTemp751 = ((0.64955574f * fTemp750) + (0.760314f * fRec369[1]));
fVec185[IOTA&1023] = fTemp751;
float fTemp752 = (((fTemp224 * fVec185[(IOTA-iTemp232)&1023]) * fTemp225) + (fTemp233 * (((fTemp236 * fVec185[(IOTA-iTemp239)&1023]) * fTemp237) + (fTemp240 * ((0.041666668f * (fTemp241 * fVec185[(IOTA-iTemp242)&1023])) + ((0.5f * ((fTemp243 * fVec185[(IOTA-iTemp246)&1023]) * fTemp244)) + (0.16666667f * ((fTemp218 * fVec185[(IOTA-iTemp249)&1023]) * fTemp247))))))));
fVec186[IOTA&16383] = fTemp752;
fRec387[0] = (((fTemp255 * fVec186[(IOTA-iTemp252)&16383]) / fTemp256) + (fVec186[(IOTA-iTemp253)&16383] + (fTemp257 * fRec387[1])));
float fTemp753 = ((0.760314f * fRec348[1]) + (0.64955574f * fRec387[0]));
float fTemp754 = ((0.760314f * fRec344[1]) + (0.64955574f * fTemp753));
float fTemp755 = ((0.760314f * fRec340[1]) + (0.64955574f * fTemp754));
float fTemp756 = ((0.760314f * fRec336[1]) + (0.64955574f * fTemp755));
float fTemp757 = ((0.760314f * fRec332[1]) + (0.64955574f * fTemp756));
fVec187[IOTA&16383] = fTemp757;
float fTemp758 = ((fTemp676 * fVec187[(IOTA-iTemp568)&16383]) + (fTemp570 * ((fTemp675 * fVec187[(IOTA-iTemp574)&16383]) + (fTemp576 * ((0.041666668f * (fTemp577 * fVec187[(IOTA-iTemp578)&16383])) + ((0.16666667f * (fTemp674 * fVec187[(IOTA-iTemp579)&16383])) + (0.5f * (fTemp673 * fVec187[(IOTA-iTemp582)&16383]))))))));
fVec188[IOTA&16383] = fTemp758;
fRec386[0] = ((fTemp587 * fRec386[1]) + (((fTemp555 * fVec188[(IOTA-iTemp585)&16383]) / fTemp586) + fVec188[(IOTA-iTemp588)&16383]));
fRec385[0] = ((fSlow37 * fRec385[1]) + (fSlow38 * ((fSlow32 * fRec386[0]) + (fSlow91 * fRec386[1]))));
fRec384[0] = (fRec385[0] - (fSlow35 * ((fSlow81 * fRec384[1]) + (fSlow82 * fRec384[2]))));
fRec383[0] = ((fSlow35 * ((fSlow80 * (fRec384[2] + fRec384[0])) + (fSlow90 * fRec384[1]))) - (fSlow34 * ((fSlow81 * fRec383[1]) + (fSlow83 * fRec383[2]))));
float fTemp759 = (fSlow85 * fRec382[1]);
fRec382[0] = ((fSlow34 * ((fSlow80 * (fRec383[2] + fRec383[0])) + (fSlow90 * fRec383[1]))) - (fSlow92 * ((fSlow93 * fRec382[2]) + fTemp759)));
fRec393[0] = ((fSlow38 * (fRec309[1] + fRec309[0])) + (fSlow37 * fRec393[1]));
fRec392[0] = (fRec393[0] - (fSlow35 * ((fSlow81 * fRec392[1]) + (fSlow82 * fRec392[2]))));
fRec391[0] = ((fSlow35 * ((fRec392[2] + (2.0f * fRec392[1])) + fRec392[0])) - (fSlow34 * ((fSlow81 * fRec391[1]) + (fSlow83 * fRec391[2]))));
float fTemp760 = (fRec391[0] + (fRec391[2] + (2.0f * fRec391[1])));
float fTemp761 = (fSlow34 * fTemp760);
fVec189[0] = fTemp761;
fRec390[0] = ((fSlow28 * fRec390[1]) + (fSlow29 * ((fSlow84 * fTemp760) + (fSlow30 * fVec189[1]))));
fRec389[0] = (fRec390[0] - (fSlow26 * ((fSlow85 * fRec389[1]) + (fSlow86 * fRec389[2]))));
fRec388[0] = ((fSlow26 * ((fSlow25 * fRec389[1]) + (fSlow24 * (fRec389[2] + fRec389[0])))) - (fSlow22 * ((fSlow85 * fRec388[1]) + (fSlow87 * fRec388[2]))));
fRec396[0] = ((fSlow28 * fRec396[1]) + (fSlow29 * (fVec189[0] + fVec189[1])));
fRec395[0] = (fRec396[0] - (fSlow26 * ((fSlow85 * fRec395[1]) + (fSlow86 * fRec395[2]))));
fRec394[0] = ((fSlow26 * (fRec395[0] + (fRec395[2] + (2.0f * fRec395[1])))) - (fSlow22 * ((fSlow85 * fRec394[1]) + (fSlow87 * fRec394[2]))));
float fTemp762 = (fTemp552 + (fSlow19 * ((fSlow89 * (fRec382[2] + (fSlow92 * (fTemp759 + (fSlow93 * fRec382[0]))))) + (fSlow22 * ((fSlow23 * ((fSlow25 * fRec388[1]) + (fSlow24 * (fRec388[2] + fRec388[0])))) + (fSlow88 * (fRec394[0] + (fRec394[2] + (2.0f * fRec394[1])))))))));
fVec190[IOTA&1023] = fTemp762;
fRec381[0] = ((fSlow11 * fRec381[1]) + (fSlow12 * ((fTemp53 * fVec190[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec190[(IOTA-iTemp198)&1023]) + (fTemp199 * (((0.16666667f * (fTemp207 * fVec190[(IOTA-iTemp208)&1023])) + (0.5f * (fTemp204 * fVec190[(IOTA-iTemp205)&1023]))) + (0.041666668f * (fTemp200 * fVec190[(IOTA-iTemp201)&1023])))))))));
float fTemp763 = ((fSlow1 * fRec322[1]) + (fSlow2 * fRec381[0]));
float fTemp764 = ((fSlow3 * fRec6[1]) + (fSlow1 * ((fSlow1 * fRec10[1]) + (fSlow2 * fTemp763))));
float fTemp765 = ((0.70710677f * fTemp746) - (0.70710677f * fTemp764));
fVec191[IOTA&16383] = fTemp765;
fRec7[0] = (((fTemp3 * fVec191[(IOTA-iTemp379)&16383]) / fTemp380) + ((fRec7[1] * fTemp382) + fVec191[(IOTA-iTemp381)&16383]));
fRec5[0] = fRec7[0];
fRec398[0] = (fSlow99 + (0.9999f * ((iSlow98 * iTemp0) + fRec398[1])));
float fTemp766 = (fRec398[0] + -1.49999f);
float fTemp767 = floorf(fTemp766);
float fTemp768 = (fTemp767 + (2.0f - fRec398[0]));
float fTemp769 = ((0.70710677f * fTemp746) + (0.70710677f * fTemp764));
fVec192[IOTA&16383] = fTemp769;
int iTemp770 = int(min(8192, max(0, int(fTemp766))));
float fTemp771 = (fRec398[0] - fTemp767);
float fTemp772 = (0 - (fTemp768 / fTemp771));
int iTemp773 = int((iTemp770 + 1));
fRec397[0] = (((fTemp768 * fVec192[(IOTA-iTemp770)&16383]) / fTemp771) + ((fRec397[1] * fTemp772) + fVec192[(IOTA-iTemp773)&16383]));
fRec6[0] = fRec397[0];
float fTemp774 = ((fSlow3 * fRec399[1]) + (fSlow1 * fTemp745));
float fTemp775 = ((fSlow3 * fRec400[1]) + (fSlow1 * fTemp763));
float fTemp776 = ((0.70710677f * fTemp774) - (0.70710677f * fTemp775));
fVec193[IOTA&16383] = fTemp776;
fRec401[0] = (((fTemp6 * fVec193[(IOTA-iTemp374)&16383]) / fTemp375) + (fVec193[(IOTA-iTemp376)&16383] + (fTemp377 * fRec401[1])));
fRec399[0] = fRec401[0];
float fTemp777 = ((0.70710677f * fTemp774) + (0.70710677f * fTemp775));
fVec194[IOTA&16383] = fTemp777;
fRec402[0] = (((fTemp329 * fVec194[(IOTA-iTemp333)&16383]) / fTemp330) + (fVec194[(IOTA-iTemp334)&16383] + (fTemp331 * fRec402[1])));
fRec400[0] = fRec402[0];
float fTemp778 = ((fSlow3 * fRec403[1]) + (fSlow1 * fRec325[0]));
float fTemp779 = ((fSlow3 * fRec404[1]) + (fSlow1 * fRec381[0]));
float fTemp780 = ((0.70710677f * fTemp778) - (0.70710677f * fTemp779));
fVec195[IOTA&16383] = fTemp780;
fRec405[0] = (((fTemp9 * fVec195[(IOTA-iTemp290)&16383]) / fTemp291) + (fVec195[(IOTA-iTemp292)&16383] + (fTemp293 * fRec405[1])));
fRec403[0] = fRec405[0];
float fTemp781 = ((0.70710677f * fTemp778) + (0.70710677f * fTemp779));
fVec196[IOTA&16383] = fTemp781;
fRec406[0] = (((fTemp605 * fVec196[(IOTA-iTemp607)&16383]) / fTemp608) + (fVec196[(IOTA-iTemp610)&16383] + (fTemp609 * fRec406[1])));
fRec404[0] = fRec406[0];
float fTemp782 = ((0.760314f * fTemp738) - (0.64955574f * fRec413[1]));
float fTemp783 = ((0.760314f * fTemp756) - (0.64955574f * fRec414[1]));
float fTemp784 = ((0.70710677f * fTemp782) - (0.70710677f * fTemp783));
fVec197[IOTA&16383] = fTemp784;
fRec415[0] = ((fTemp431 * fRec415[1]) + (fVec197[(IOTA-iTemp430)&16383] + ((fTemp29 * fVec197[(IOTA-iTemp428)&16383]) / fTemp429)));
fRec413[0] = fRec415[0];
float fTemp785 = ((0.70710677f * fTemp782) + (0.70710677f * fTemp783));
fVec198[IOTA&16383] = fTemp785;
fRec416[0] = ((fVec198[(IOTA-iTemp438)&16383] + ((fTemp436 * fVec198[(IOTA-iTemp434)&16383]) / fTemp437)) + (fTemp439 * fRec416[1]));
fRec414[0] = fRec416[0];
float fTemp786 = ((0.760314f * fTemp737) - (0.64955574f * fRec417[1]));
float fTemp787 = ((0.760314f * fTemp755) - (0.64955574f * fRec418[1]));
float fTemp788 = ((0.70710677f * fTemp786) - (0.70710677f * fTemp787));
fVec199[IOTA&16383] = fTemp788;
fRec419[0] = (((fTemp377 * fRec419[1]) + fVec199[(IOTA-iTemp376)&16383]) + ((fTemp6 * fVec199[(IOTA-iTemp374)&16383]) / fTemp375));
fRec417[0] = fRec419[0];
float fTemp789 = ((0.70710677f * fTemp786) + (0.70710677f * fTemp787));
fVec200[IOTA&16383] = fTemp789;
fRec420[0] = (((fTemp382 * fRec420[1]) + fVec200[(IOTA-iTemp381)&16383]) + ((fTemp3 * fVec200[(IOTA-iTemp379)&16383]) / fTemp380));
fRec418[0] = fRec420[0];
float fTemp790 = ((0.760314f * fTemp736) - (0.64955574f * fRec421[1]));
float fTemp791 = ((0.760314f * fTemp754) - (0.64955574f * fRec422[1]));
float fTemp792 = ((0.70710677f * fTemp790) - (0.70710677f * fTemp791));
fVec201[IOTA&16383] = fTemp792;
fRec423[0] = (((fTemp326 * fRec423[1]) + fVec201[(IOTA-iTemp325)&16383]) + ((fTemp32 * fVec201[(IOTA-iTemp323)&16383]) / fTemp324));
fRec421[0] = fRec423[0];
float fTemp793 = ((0.70710677f * fTemp790) + (0.70710677f * fTemp791));
fVec202[IOTA&16383] = fTemp793;
fRec424[0] = (((fTemp331 * fRec424[1]) + fVec202[(IOTA-iTemp334)&16383]) + ((fTemp329 * fVec202[(IOTA-iTemp333)&16383]) / fTemp330));
fRec422[0] = fRec424[0];
float fTemp794 = ((0.760314f * fTemp735) - (0.64955574f * fRec425[1]));
float fTemp795 = ((0.760314f * fTemp753) - (0.64955574f * fRec426[1]));
float fTemp796 = ((0.70710677f * fTemp794) - (0.70710677f * fTemp795));
fVec203[IOTA&16383] = fTemp796;
fRec427[0] = (((fTemp288 * fRec427[1]) + fVec203[(IOTA-iTemp287)&16383]) + ((fTemp35 * fVec203[(IOTA-iTemp285)&16383]) / fTemp286));
fRec425[0] = fRec427[0];
float fTemp797 = ((0.70710677f * fTemp794) + (0.70710677f * fTemp795));
fVec204[IOTA&16383] = fTemp797;
fRec428[0] = (((fTemp293 * fRec428[1]) + fVec204[(IOTA-iTemp292)&16383]) + ((fTemp9 * fVec204[(IOTA-iTemp290)&16383]) / fTemp291));
fRec426[0] = fRec428[0];
float fTemp798 = ((0.760314f * fRec351[0]) - (0.64955574f * fRec429[1]));
float fTemp799 = ((0.760314f * fRec387[0]) - (0.64955574f * fRec430[1]));
float fTemp800 = ((0.70710677f * fTemp798) - (0.70710677f * fTemp799));
fVec205[IOTA&16383] = fTemp800;
fRec431[0] = (((fTemp263 * fRec431[1]) + fVec205[(IOTA-iTemp262)&16383]) + ((fTemp38 * fVec205[(IOTA-iTemp260)&16383]) / fTemp261));
fRec429[0] = fRec431[0];
float fTemp801 = ((0.70710677f * fTemp798) + (0.70710677f * fTemp799));
fVec206[IOTA&16383] = fTemp801;
fRec432[0] = (((fTemp271 * fRec432[1]) + fVec206[(IOTA-iTemp270)&16383]) + ((fTemp266 * fVec206[(IOTA-iTemp268)&16383]) / fTemp269));
fRec430[0] = fRec432[0];
float fTemp802 = ((0.760314f * fTemp713) - (0.64955574f * fRec434[1]));
float fTemp803 = ((0.760314f * fTemp747) - (0.64955574f * fRec435[1]));
float fTemp804 = ((0.70710677f * fTemp802) - (0.70710677f * fTemp803));
fVec207[IOTA&16383] = fTemp804;
fRec436[0] = (((fTemp96 * fVec207[(IOTA-iTemp93)&16383]) / fTemp97) + (fVec207[(IOTA-iTemp94)&16383] + (fTemp98 * fRec436[1])));
fRec434[0] = fRec436[0];
float fTemp805 = ((0.70710677f * fTemp802) + (0.70710677f * fTemp803));
fVec208[IOTA&16383] = fTemp805;
fRec437[0] = (((fTemp104 * fVec208[(IOTA-iTemp101)&16383]) / fTemp105) + (fVec208[(IOTA-iTemp102)&16383] + (fTemp106 * fRec437[1])));
fRec435[0] = fRec437[0];
float fTemp806 = (fTemp113 + (0.760314f * fRec434[1]));
float fTemp807 = ((0.760314f * fTemp718) - (0.64955574f * fRec438[1]));
float fTemp808 = ((0.760314f * fTemp748) - (0.64955574f * fRec439[1]));
float fTemp809 = ((0.70710677f * fTemp807) - (0.70710677f * fTemp808));
fVec209[IOTA&16383] = fTemp809;
fRec440[0] = (((fTemp62 * fVec209[(IOTA-iTemp120)&16383]) / fTemp121) + (fVec209[(IOTA-iTemp122)&16383] + (fTemp123 * fRec440[1])));
fRec438[0] = fRec440[0];
float fTemp810 = ((0.70710677f * fTemp807) + (0.70710677f * fTemp808));
fVec210[IOTA&16383] = fTemp810;
fRec441[0] = (((fTemp126 * fVec210[(IOTA-iTemp128)&16383]) / fTemp129) + (fVec210[(IOTA-iTemp130)&16383] + (fTemp131 * fRec441[1])));
fRec439[0] = fRec441[0];
float fTemp811 = ((0.64955574f * fTemp806) + (0.760314f * fRec438[1]));
float fTemp812 = ((0.760314f * fTemp723) - (0.64955574f * fRec442[1]));
float fTemp813 = ((0.760314f * fTemp749) - (0.64955574f * fRec443[1]));
float fTemp814 = ((0.70710677f * fTemp812) - (0.70710677f * fTemp813));
fVec211[IOTA&16383] = fTemp814;
fRec444[0] = (((fTemp59 * fVec211[(IOTA-iTemp145)&16383]) / fTemp146) + (fVec211[(IOTA-iTemp147)&16383] + (fTemp148 * fRec444[1])));
fRec442[0] = fRec444[0];
float fTemp815 = ((0.70710677f * fTemp812) + (0.70710677f * fTemp813));
fVec212[IOTA&16383] = fTemp815;
fRec445[0] = (((fTemp151 * fVec212[(IOTA-iTemp153)&16383]) / fTemp154) + (fVec212[(IOTA-iTemp155)&16383] + (fTemp156 * fRec445[1])));
fRec443[0] = fRec445[0];
float fTemp816 = ((0.64955574f * fTemp811) + (0.760314f * fRec442[1]));
float fTemp817 = ((0.760314f * fTemp728) - (0.64955574f * fRec446[1]));
float fTemp818 = ((0.760314f * fTemp750) - (0.64955574f * fRec447[1]));
float fTemp819 = ((0.70710677f * fTemp817) - (0.70710677f * fTemp818));
fVec213[IOTA&16383] = fTemp819;
fRec448[0] = (((fVec213[(IOTA-iTemp170)&16383] * fTemp56) / fTemp171) + (fVec213[(IOTA-iTemp172)&16383] + (fTemp173 * fRec448[1])));
fRec446[0] = fRec448[0];
float fTemp820 = ((0.70710677f * fTemp817) + (0.70710677f * fTemp818));
fVec214[IOTA&16383] = fTemp820;
fRec449[0] = (((fTemp176 * fVec214[(IOTA-iTemp178)&16383]) / fTemp179) + (fVec214[(IOTA-iTemp180)&16383] + (fTemp181 * fRec449[1])));
fRec447[0] = fRec449[0];
float fTemp821 = ((0.64955574f * fTemp816) + (0.760314f * fRec446[1]));
fVec215[IOTA&1023] = fTemp821;
float fTemp822 = ((fTemp53 * fVec215[(IOTA-iTemp191)&1023]) + (fTemp192 * ((fTemp197 * fVec215[(IOTA-iTemp198)&1023]) + (fTemp199 * ((0.041666668f * (fTemp200 * fVec215[(IOTA-iTemp201)&1023])) + ((0.16666667f * (fTemp207 * fVec215[(IOTA-iTemp208)&1023])) + (0.5f * (fTemp204 * fVec215[(IOTA-iTemp205)&1023]))))))));
fVec216[IOTA&16383] = fTemp822;
fRec433[0] = (((fTemp41 * fVec216[(IOTA-iTemp210)&16383]) / fTemp211) + ((fTemp213 * fRec433[1]) + fVec216[(IOTA-iTemp212)&16383]));
float fTemp823 = ((0.760314f * fRec429[1]) + (0.64955574f * fRec433[0]));
float fTemp824 = ((0.760314f * fRec425[1]) + (0.64955574f * fTemp823));
float fTemp825 = ((0.760314f * fRec421[1]) + (0.64955574f * fTemp824));
float fTemp826 = ((0.760314f * fRec417[1]) + (0.64955574f * fTemp825));
float fTemp827 = ((0.760314f * fRec413[1]) + (0.64955574f * fTemp826));
fVec217[IOTA&16383] = fTemp827;
float fTemp828 = ((fTemp21 * fVec217[(IOTA-iTemp491)&16383]) + (fTemp23 * (((fTemp26 * fVec217[(IOTA-iTemp477)&16383]) * fTemp478) + (fTemp479 * ((0.041666668f * (fTemp480 * fVec217[(IOTA-iTemp482)&16383])) + ((0.16666667f * ((fTemp13 * fVec217[(IOTA-iTemp488)&16383]) * fTemp489)) + (0.5f * ((fTemp483 * fVec217[(IOTA-iTemp485)&16383]) * fTemp486))))))));
fVec218[IOTA&16383] = fTemp828;
fRec412[0] = ((fVec218[(IOTA-iTemp495)&16383] + ((fTemp497 * fVec218[(IOTA-iTemp494)&16383]) / fTemp498)) + (fTemp499 * fRec412[1]));
fRec411[0] = ((fSlow37 * fRec411[1]) + (fSlow38 * ((fSlow32 * fRec412[0]) + (fSlow91 * fRec412[1]))));
fRec410[0] = (fRec411[0] - (fSlow35 * ((fSlow81 * fRec410[1]) + (fSlow82 * fRec410[2]))));
fRec409[0] = ((fSlow35 * ((fSlow80 * (fRec410[2] + fRec410[0])) + (fSlow90 * fRec410[1]))) - (fSlow34 * ((fSlow81 * fRec409[1]) + (fSlow83 * fRec409[2]))));
float fTemp829 = (fSlow85 * fRec408[1]);
fRec408[0] = ((fSlow34 * ((fSlow80 * (fRec409[2] + fRec409[0])) + (fSlow90 * fRec409[1]))) - (fSlow92 * ((fSlow93 * fRec408[2]) + fTemp829)));
fRec455[0] = ((fSlow38 * (fRec330[1] + fRec330[0])) + (fSlow37 * fRec455[1]));
fRec454[0] = (fRec455[0] - (fSlow35 * ((fSlow81 * fRec454[1]) + (fSlow82 * fRec454[2]))));
fRec453[0] = ((fSlow35 * ((fRec454[2] + (2.0f * fRec454[1])) + fRec454[0])) - (fSlow34 * ((fSlow81 * fRec453[1]) + (fSlow83 * fRec453[2]))));
float fTemp830 = ((fRec453[2] + (2.0f * fRec453[1])) + fRec453[0]);
float fTemp831 = (fSlow34 * fTemp830);
fVec219[0] = fTemp831;
fRec452[0] = ((fSlow29 * ((fSlow84 * fTemp830) + (fSlow30 * fVec219[1]))) + (fSlow28 * fRec452[1]));
fRec451[0] = (fRec452[0] - (fSlow26 * ((fSlow85 * fRec451[1]) + (fSlow86 * fRec451[2]))));
fRec450[0] = ((fSlow26 * ((fSlow24 * (fRec451[2] + fRec451[0])) + (fSlow25 * fRec451[1]))) - (fSlow22 * ((fSlow85 * fRec450[1]) + (fSlow87 * fRec450[2]))));
fRec458[0] = ((fSlow29 * (fVec219[0] + fVec219[1])) + (fSlow28 * fRec458[1]));
fRec457[0] = (fRec458[0] - (fSlow26 * ((fSlow85 * fRec457[1]) + (fSlow86 * fRec457[2]))));
fRec456[0] = ((fSlow26 * ((fRec457[2] + (2.0f * fRec457[1])) + fRec457[0])) - (fSlow22 * ((fSlow85 * fRec456[1]) + (fSlow87 * fRec456[2]))));
float fTemp832 = (fTemp22 + (fSlow19 * ((fSlow89 * (fRec408[2] + (fSlow92 * (fTemp829 + (fSlow93 * fRec408[0]))))) + (fSlow22 * ((fSlow23 * ((fSlow24 * (fRec450[2] + fRec450[0])) + (fSlow25 * fRec450[1]))) + (fSlow88 * ((fRec456[2] + (2.0f * fRec456[1])) + fRec456[0])))))));
fVec220[IOTA&1023] = fTemp832;
fRec407[0] = ((fSlow12 * ((fTemp21 * fVec220[(IOTA-iTemp546)&1023]) + (fTemp23 * (((fTemp26 * fVec220[(IOTA-iTemp547)&1023]) * fTemp478) + (fTemp479 * ((0.041666668f * (fTemp480 * fVec220[(IOTA-iTemp548)&1023])) + ((0.16666667f * ((fTemp13 * fVec220[(IOTA-iTemp550)&1023]) * fTemp489)) + (0.5f * ((fTemp483 * fVec220[(IOTA-iTemp549)&1023]) * fTemp486))))))))) + (fSlow11 * fRec407[1]));
float fTemp833 = ((fSlow1 * fRec403[1]) + (fSlow2 * fRec407[0]));
float fTemp834 = ((fSlow1 * fRec399[1]) + (fSlow2 * fTemp833));
float fTemp835 = ((fSlow3 * fRec2[1]) + (fSlow1 * ((fSlow1 * fRec5[1]) + (fSlow2 * fTemp834))));
float fTemp836 = (fTemp117 + (0.760314f * fRec435[1]));
float fTemp837 = ((0.64955574f * fTemp836) + (0.760314f * fRec439[1]));
float fTemp838 = ((0.64955574f * fTemp837) + (0.760314f * fRec443[1]));
float fTemp839 = ((0.64955574f * fTemp838) + (0.760314f * fRec447[1]));
fVec221[IOTA&1023] = fTemp839;
float fTemp840 = ((((((fVec221[(IOTA-iTemp239)&1023] * fTemp234) * fTemp235) * fTemp237) + (((0.041666668f * (fTemp241 * fVec221[(IOTA-iTemp242)&1023])) + ((0.5f * ((fVec221[(IOTA-iTemp246)&1023] * fTemp243) * fTemp244)) + (0.16666667f * ((fTemp218 * fVec221[(IOTA-iTemp249)&1023]) * fTemp247)))) * fTemp240)) * fTemp233) + ((fTemp224 * fVec221[(IOTA-iTemp232)&1023]) * fTemp225));
fVec222[IOTA&16383] = fTemp840;
fRec465[0] = ((fVec222[(IOTA-iTemp253)&16383] + ((fVec222[(IOTA-iTemp252)&16383] * fTemp255) / fTemp256)) + (fTemp257 * fRec465[1]));
float fTemp841 = ((0.760314f * fRec430[1]) + (0.64955574f * fRec465[0]));
float fTemp842 = ((0.760314f * fRec426[1]) + (0.64955574f * fTemp841));
float fTemp843 = ((0.760314f * fRec422[1]) + (0.64955574f * fTemp842));
float fTemp844 = ((0.760314f * fRec418[1]) + (0.64955574f * fTemp843));
float fTemp845 = ((0.760314f * fRec414[1]) + (0.64955574f * fTemp844));
fVec223[IOTA&16383] = fTemp845;
float fTemp846 = ((fTemp676 * fVec223[(IOTA-iTemp568)&16383]) + (((fTemp675 * fVec223[(IOTA-iTemp574)&16383]) + (((0.041666668f * (fTemp577 * fVec223[(IOTA-iTemp578)&16383])) + ((0.5f * (fTemp673 * fVec223[(IOTA-iTemp582)&16383])) + (0.16666667f * (fTemp674 * fVec223[(IOTA-iTemp579)&16383])))) * fTemp576)) * fTemp570));
fVec224[IOTA&16383] = fTemp846;
fRec464[0] = ((((fVec224[(IOTA-iTemp585)&16383] * fTemp555) / fTemp586) + fVec224[(IOTA-iTemp588)&16383]) + (fTemp587 * fRec464[1]));
fRec463[0] = ((fSlow37 * fRec463[1]) + (fSlow38 * ((fSlow32 * fRec464[0]) + (fSlow91 * fRec464[1]))));
fRec462[0] = (fRec463[0] - (fSlow35 * ((fSlow81 * fRec462[1]) + (fSlow82 * fRec462[2]))));
fRec461[0] = ((fSlow35 * ((fSlow80 * (fRec462[2] + fRec462[0])) + (fSlow90 * fRec462[1]))) - (fSlow34 * ((fSlow81 * fRec461[1]) + (fSlow83 * fRec461[2]))));
float fTemp847 = (fSlow85 * fRec460[1]);
fRec460[0] = ((fSlow34 * ((fSlow80 * (fRec461[2] + fRec461[0])) + (fSlow90 * fRec461[1]))) - (fSlow92 * ((fSlow93 * fRec460[2]) + fTemp847)));
fRec471[0] = ((fSlow38 * (fRec386[1] + fRec386[0])) + (fSlow37 * fRec471[1]));
fRec470[0] = (fRec471[0] - (fSlow35 * ((fSlow81 * fRec470[1]) + (fSlow82 * fRec470[2]))));
fRec469[0] = ((fSlow35 * ((fRec470[2] + (2.0f * fRec470[1])) + fRec470[0])) - (fSlow34 * ((fSlow81 * fRec469[1]) + (fSlow83 * fRec469[2]))));
float fTemp848 = ((fRec469[2] + (2.0f * fRec469[1])) + fRec469[0]);
float fTemp849 = (fSlow34 * fTemp848);
fVec225[0] = fTemp849;
fRec468[0] = ((fSlow29 * ((fSlow30 * fVec225[1]) + (fSlow84 * fTemp848))) + (fSlow28 * fRec468[1]));
fRec467[0] = (fRec468[0] - (fSlow26 * ((fSlow85 * fRec467[1]) + (fSlow86 * fRec467[2]))));
fRec466[0] = ((fSlow26 * ((fSlow24 * (fRec467[2] + fRec467[0])) + (fSlow25 * fRec467[1]))) - (fSlow22 * ((fSlow85 * fRec466[1]) + (fSlow87 * fRec466[2]))));
fRec474[0] = ((fSlow29 * (fVec225[0] + fVec225[1])) + (fSlow28 * fRec474[1]));
fRec473[0] = (fRec474[0] - (fSlow26 * ((fSlow85 * fRec473[1]) + (fSlow86 * fRec473[2]))));
fRec472[0] = ((fSlow26 * ((fRec473[2] + (2.0f * fRec473[1])) + fRec473[0])) - (fSlow22 * ((fSlow85 * fRec472[1]) + (fSlow87 * fRec472[2]))));
float fTemp850 = (fTemp552 + (fSlow19 * ((fSlow89 * (fRec460[2] + (fSlow92 * (fTemp847 + (fSlow93 * fRec460[0]))))) + (fSlow22 * ((fSlow23 * ((fSlow24 * (fRec466[2] + fRec466[0])) + (fSlow25 * fRec466[1]))) + (fSlow88 * ((fRec472[2] + (2.0f * fRec472[1])) + fRec472[0])))))));
fVec226[IOTA&1023] = fTemp850;
fRec459[0] = ((fSlow12 * (((((fVec226[(IOTA-iTemp191)&1023] * fTemp46) * fTemp48) * fTemp50) * fTemp52) + (((((fVec226[(IOTA-iTemp198)&1023] * fTemp193) * fTemp194) * fTemp196) + (((0.041666668f * ((fVec226[(IOTA-iTemp201)&1023] * fTemp45) * fTemp47)) + ((0.5f * ((fVec226[(IOTA-iTemp205)&1023] * fTemp202) * fTemp203)) + (0.16666667f * ((fVec226[(IOTA-iTemp208)&1023] * fTemp45) * fTemp206)))) * fTemp199)) * fTemp192))) + (fSlow11 * fRec459[1]));
float fTemp851 = ((fSlow1 * fRec404[1]) + (fSlow2 * fRec459[0]));
float fTemp852 = ((fSlow1 * fRec400[1]) + (fSlow2 * fTemp851));
float fTemp853 = ((fSlow3 * fRec3[1]) + (fSlow1 * ((fSlow1 * fRec6[1]) + (fSlow2 * fTemp852))));
float fTemp854 = ((0.70710677f * fTemp835) - (0.70710677f * fTemp853));
fVec227[IOTA&16383] = fTemp854;
fRec475[0] = (fSlow101 + (0.9999f * ((iSlow100 * iTemp0) + fRec475[1])));
float fTemp855 = (fRec475[0] + -1.49999f);
int iTemp856 = int(min(8192, max(0, int(fTemp855))));
float fTemp857 = floorf(fTemp855);
float fTemp858 = (fTemp857 + (2.0f - fRec475[0]));
float fTemp859 = (fRec475[0] - fTemp857);
fRec4[0] = ((fVec227[(IOTA-int((iTemp856 + 1)))&16383] + ((fVec227[(IOTA-iTemp856)&16383] * fTemp858) / fTemp859)) + (fRec4[1] * (0 - (fTemp858 / fTemp859))));
fRec2[0] = fRec4[0];
float fTemp860 = ((0.70710677f * fTemp853) + (0.70710677f * fTemp835));
fVec228[IOTA&16383] = fTemp860;
fRec476[0] = (((fVec228[(IOTA-iTemp434)&16383] * fTemp436) / fTemp437) + (fVec228[(IOTA-iTemp438)&16383] + (fTemp439 * fRec476[1])));
fRec3[0] = fRec476[0];
float fTemp861 = ((fSlow3 * fRec477[1]) + (fSlow1 * fTemp834));
float fTemp862 = ((fSlow3 * fRec478[1]) + (fSlow1 * fTemp852));
float fTemp863 = ((0.70710677f * fTemp861) - (0.70710677f * fTemp862));
fVec229[IOTA&16383] = fTemp863;
fRec479[0] = (((fVec229[(IOTA-iTemp379)&16383] * fTemp3) / fTemp380) + (fVec229[(IOTA-iTemp381)&16383] + (fTemp382 * fRec479[1])));
fRec477[0] = fRec479[0];
float fTemp864 = ((0.70710677f * fTemp862) + (0.70710677f * fTemp861));
fVec230[IOTA&16383] = fTemp864;
fRec480[0] = (((fVec230[(IOTA-iTemp770)&16383] * fTemp768) / fTemp771) + (fVec230[(IOTA-iTemp773)&16383] + (fTemp772 * fRec480[1])));
fRec478[0] = fRec480[0];
float fTemp865 = ((fSlow3 * fRec481[1]) + (fSlow1 * fTemp833));
float fTemp866 = ((fSlow3 * fRec482[1]) + (fSlow1 * fTemp851));
float fTemp867 = ((0.70710677f * fTemp865) - (0.70710677f * fTemp866));
fVec231[IOTA&16383] = fTemp867;
fRec483[0] = (((fVec231[(IOTA-iTemp374)&16383] * fTemp6) / fTemp375) + (fVec231[(IOTA-iTemp376)&16383] + (fTemp377 * fRec483[1])));
fRec481[0] = fRec483[0];
float fTemp868 = ((0.70710677f * fTemp866) + (0.70710677f * fTemp865));
fVec232[IOTA&16383] = fTemp868;
fRec484[0] = (((fVec232[(IOTA-iTemp333)&16383] * fTemp329) / fTemp330) + (fVec232[(IOTA-iTemp334)&16383] + (fTemp331 * fRec484[1])));
fRec482[0] = fRec484[0];
float fTemp869 = ((fSlow3 * fRec485[1]) + (fSlow1 * fRec407[0]));
float fTemp870 = ((fSlow3 * fRec486[1]) + (fSlow1 * fRec459[0]));
float fTemp871 = ((0.70710677f * fTemp869) - (0.70710677f * fTemp870));
fVec233[IOTA&16383] = fTemp871;
fRec487[0] = (((fVec233[(IOTA-iTemp290)&16383] * fTemp9) / fTemp291) + (fVec233[(IOTA-iTemp292)&16383] + (fTemp293 * fRec487[1])));
fRec485[0] = fRec487[0];
float fTemp872 = ((0.70710677f * fTemp870) + (0.70710677f * fTemp869));
fVec234[IOTA&16383] = fTemp872;
fRec488[0] = (((fVec234[(IOTA-iTemp607)&16383] * fTemp605) / fTemp608) + (fVec234[(IOTA-iTemp610)&16383] + (fTemp609 * fRec488[1])));
fRec486[0] = fRec488[0];
float fTemp873 = ((0.760314f * fTemp826) - (0.64955574f * fRec495[1]));
float fTemp874 = ((0.760314f * fTemp844) - (0.64955574f * fRec496[1]));
float fTemp875 = ((0.70710677f * fTemp873) - (0.70710677f * fTemp874));
fVec235[IOTA&16383] = fTemp875;
fRec497[0] = (((fTemp431 * fRec497[1]) + fVec235[(IOTA-iTemp430)&16383]) + ((fTemp29 * fVec235[(IOTA-iTemp428)&16383]) / fTemp429));
fRec495[0] = fRec497[0];
float fTemp876 = ((0.70710677f * fTemp873) + (0.70710677f * fTemp874));
fVec236[IOTA&16383] = fTemp876;
fRec498[0] = (((fTemp439 * fRec498[1]) + fVec236[(IOTA-iTemp438)&16383]) + ((fTemp436 * fVec236[(IOTA-iTemp434)&16383]) / fTemp437));
fRec496[0] = fRec498[0];
float fTemp877 = ((0.760314f * fTemp825) - (0.64955574f * fRec499[1]));
float fTemp878 = ((0.760314f * fTemp843) - (0.64955574f * fRec500[1]));
float fTemp879 = ((0.70710677f * fTemp877) - (0.70710677f * fTemp878));
fVec237[IOTA&16383] = fTemp879;
fRec501[0] = (((fTemp377 * fRec501[1]) + fVec237[(IOTA-iTemp376)&16383]) + ((fTemp6 * fVec237[(IOTA-iTemp374)&16383]) / fTemp375));
fRec499[0] = fRec501[0];
float fTemp880 = ((0.70710677f * fTemp877) + (0.70710677f * fTemp878));
fVec238[IOTA&16383] = fTemp880;
fRec502[0] = (((fTemp382 * fRec502[1]) + fVec238[(IOTA-iTemp381)&16383]) + ((fTemp3 * fVec238[(IOTA-iTemp379)&16383]) / fTemp380));
fRec500[0] = fRec502[0];
float fTemp881 = ((0.760314f * fTemp824) - (0.64955574f * fRec503[1]));
float fTemp882 = ((0.760314f * fTemp842) - (0.64955574f * fRec504[1]));
float fTemp883 = ((0.70710677f * fTemp881) - (0.70710677f * fTemp882));
fVec239[IOTA&16383] = fTemp883;
fRec505[0] = (((fTemp326 * fRec505[1]) + fVec239[(IOTA-iTemp325)&16383]) + ((fTemp32 * fVec239[(IOTA-iTemp323)&16383]) / fTemp324));
fRec503[0] = fRec505[0];
float fTemp884 = ((0.70710677f * fTemp881) + (0.70710677f * fTemp882));
fVec240[IOTA&16383] = fTemp884;
fRec506[0] = (((fTemp331 * fRec506[1]) + fVec240[(IOTA-iTemp334)&16383]) + ((fTemp329 * fVec240[(IOTA-iTemp333)&16383]) / fTemp330));
fRec504[0] = fRec506[0];
float fTemp885 = ((0.760314f * fTemp823) - (0.64955574f * fRec507[1]));
float fTemp886 = ((0.760314f * fTemp841) - (0.64955574f * fRec508[1]));
float fTemp887 = ((0.70710677f * fTemp885) - (0.70710677f * fTemp886));
fVec241[IOTA&16383] = fTemp887;
fRec509[0] = (((fTemp288 * fRec509[1]) + fVec241[(IOTA-iTemp287)&16383]) + ((fTemp35 * fVec241[(IOTA-iTemp285)&16383]) / fTemp286));
fRec507[0] = fRec509[0];
float fTemp888 = ((0.70710677f * fTemp885) + (0.70710677f * fTemp886));
fVec242[IOTA&16383] = fTemp888;
fRec510[0] = (((fTemp293 * fRec510[1]) + fVec242[(IOTA-iTemp292)&16383]) + ((fTemp9 * fVec242[(IOTA-iTemp290)&16383]) / fTemp291));
fRec508[0] = fRec510[0];
float fTemp889 = ((0.760314f * fRec433[0]) - (0.64955574f * fRec511[1]));
float fTemp890 = ((0.760314f * fRec465[0]) - (0.64955574f * fRec512[1]));
float fTemp891 = ((0.70710677f * fTemp889) - (0.70710677f * fTemp890));
fVec243[IOTA&16383] = fTemp891;
fRec513[0] = (((fTemp263 * fRec513[1]) + fVec243[(IOTA-iTemp262)&16383]) + ((fTemp38 * fVec243[(IOTA-iTemp260)&16383]) / fTemp261));
fRec511[0] = fRec513[0];
float fTemp892 = ((0.70710677f * fTemp889) + (0.70710677f * fTemp890));
fVec244[IOTA&16383] = fTemp892;
fRec514[0] = (((fTemp271 * fRec514[1]) + fVec244[(IOTA-iTemp270)&16383]) + ((fTemp266 * fVec244[(IOTA-iTemp268)&16383]) / fTemp269));
fRec512[0] = fRec514[0];
float fTemp893 = ((0.760314f * fTemp806) - (0.64955574f * fRec516[1]));
float fTemp894 = ((0.760314f * fTemp836) - (0.64955574f * fRec517[1]));
float fTemp895 = ((0.70710677f * fTemp893) - (0.70710677f * fTemp894));
fVec245[IOTA&16383] = fTemp895;
fRec518[0] = (((fVec245[(IOTA-iTemp120)&16383] * fTemp62) / fTemp121) + (fVec245[(IOTA-iTemp122)&16383] + (fTemp123 * fRec518[1])));
fRec516[0] = fRec518[0];
float fTemp896 = ((0.70710677f * fTemp893) + (0.70710677f * fTemp894));
fVec246[IOTA&16383] = fTemp896;
fRec519[0] = (((fVec246[(IOTA-iTemp128)&16383] * fTemp126) / fTemp129) + (fVec246[(IOTA-iTemp130)&16383] + (fTemp131 * fRec519[1])));
fRec517[0] = fRec519[0];
float fTemp897 = ((0.760314f * fTemp811) - (0.64955574f * fRec520[1]));
float fTemp898 = ((0.760314f * fTemp837) - (0.64955574f * fRec521[1]));
float fTemp899 = ((0.70710677f * fTemp897) - (0.70710677f * fTemp898));
fVec247[IOTA&16383] = fTemp899;
fRec522[0] = (((fVec247[(IOTA-iTemp145)&16383] * fTemp59) / fTemp146) + (fVec247[(IOTA-iTemp147)&16383] + (fTemp148 * fRec522[1])));
fRec520[0] = fRec522[0];
float fTemp900 = ((0.70710677f * fTemp897) + (0.70710677f * fTemp898));
fVec248[IOTA&16383] = fTemp900;
fRec523[0] = (((fVec248[(IOTA-iTemp153)&16383] * fTemp151) / fTemp154) + (fVec248[(IOTA-iTemp155)&16383] + (fTemp156 * fRec523[1])));
fRec521[0] = fRec523[0];
float fTemp901 = ((0.760314f * fTemp816) - (0.64955574f * fRec524[1]));
float fTemp902 = ((0.760314f * fTemp838) - (0.64955574f * fRec525[1]));
float fTemp903 = ((0.70710677f * fTemp901) - (0.70710677f * fTemp902));
fVec249[IOTA&16383] = fTemp903;
fRec526[0] = (((fVec249[(IOTA-iTemp170)&16383] * fTemp56) / fTemp171) + (fVec249[(IOTA-iTemp172)&16383] + (fTemp173 * fRec526[1])));
fRec524[0] = fRec526[0];
float fTemp904 = ((0.70710677f * fTemp901) + (0.70710677f * fTemp902));
fVec250[IOTA&16383] = fTemp904;
fRec527[0] = (((fVec250[(IOTA-iTemp178)&16383] * fTemp176) / fTemp179) + (fVec250[(IOTA-iTemp180)&16383] + (fTemp181 * fRec527[1])));
fRec525[0] = fRec527[0];
float fTemp905 = ((0.64955574f * ((0.64955574f * (fTemp139 + (0.760314f * fRec516[1]))) + (0.760314f * fRec520[1]))) + (0.760314f * fRec524[1]));
fVec251[IOTA&1023] = fTemp905;
float fTemp906 = (((((fVec251[(IOTA-iTemp191)&1023] * fTemp46) * fTemp48) * fTemp50) * fTemp52) + (((((fVec251[(IOTA-iTemp198)&1023] * fTemp193) * fTemp194) * fTemp196) + (((0.041666668f * ((fVec251[(IOTA-iTemp201)&1023] * fTemp45) * fTemp47)) + ((0.5f * ((fVec251[(IOTA-iTemp205)&1023] * fTemp202) * fTemp203)) + (0.16666667f * ((fVec251[(IOTA-iTemp208)&1023] * fTemp45) * fTemp206)))) * fTemp199)) * fTemp192));
fVec252[IOTA&16383] = fTemp906;
fRec515[0] = (fVec252[(IOTA-iTemp212)&16383] + (((fVec252[(IOTA-iTemp210)&16383] * fTemp41) / fTemp211) + (fTemp213 * fRec515[1])));
float fTemp907 = ((0.760314f * fRec495[1]) + (0.64955574f * ((0.760314f * fRec499[1]) + (0.64955574f * ((0.760314f * fRec503[1]) + (0.64955574f * ((0.760314f * fRec507[1]) + (0.64955574f * ((0.760314f * fRec511[1]) + (0.64955574f * fRec515[0]))))))))));
fVec253[IOTA&16383] = fTemp907;
float fTemp908 = ((fTemp21 * fVec253[(IOTA-iTemp491)&16383]) + ((((fTemp26 * fVec253[(IOTA-iTemp477)&16383]) * fTemp478) + (((0.041666668f * (fTemp480 * fVec253[(IOTA-iTemp482)&16383])) + ((0.16666667f * ((fTemp13 * fVec253[(IOTA-iTemp488)&16383]) * fTemp489)) + (0.5f * ((fTemp483 * fVec253[(IOTA-iTemp485)&16383]) * fTemp486)))) * fTemp479)) * fTemp23));
fVec254[IOTA&16383] = fTemp908;
fRec494[0] = (fVec254[(IOTA-iTemp495)&16383] + ((fTemp499 * fRec494[1]) + ((fVec254[(IOTA-iTemp494)&16383] * fTemp497) / fTemp498)));
fRec493[0] = ((fSlow37 * fRec493[1]) + (fSlow38 * ((fSlow32 * fRec494[0]) + (fSlow91 * fRec494[1]))));
fRec492[0] = (fRec493[0] - (fSlow35 * ((fSlow81 * fRec492[1]) + (fSlow82 * fRec492[2]))));
fRec491[0] = ((fSlow35 * ((fSlow80 * (fRec492[2] + fRec492[0])) + (fSlow90 * fRec492[1]))) - (fSlow34 * ((fSlow81 * fRec491[1]) + (fSlow83 * fRec491[2]))));
float fTemp909 = (fSlow85 * fRec490[1]);
fRec490[0] = ((fSlow34 * ((fSlow80 * (fRec491[2] + fRec491[0])) + (fSlow90 * fRec491[1]))) - (fSlow92 * ((fSlow93 * fRec490[2]) + fTemp909)));
fRec533[0] = ((fSlow38 * (fRec412[1] + fRec412[0])) + (fSlow37 * fRec533[1]));
fRec532[0] = (fRec533[0] - (fSlow35 * ((fSlow81 * fRec532[1]) + (fSlow82 * fRec532[2]))));
fRec531[0] = ((fSlow35 * ((fRec532[2] + (2.0f * fRec532[1])) + fRec532[0])) - (fSlow34 * ((fSlow81 * fRec531[1]) + (fSlow83 * fRec531[2]))));
float fTemp910 = ((fRec531[2] + (2.0f * fRec531[1])) + fRec531[0]);
float fTemp911 = (fSlow34 * fTemp910);
fVec255[0] = fTemp911;
fRec530[0] = ((fSlow29 * ((fSlow84 * fTemp910) + (fSlow30 * fVec255[1]))) + (fSlow28 * fRec530[1]));
fRec529[0] = (fRec530[0] - (fSlow26 * ((fSlow85 * fRec529[1]) + (fSlow86 * fRec529[2]))));
fRec528[0] = ((fSlow26 * ((fSlow24 * (fRec529[2] + fRec529[0])) + (fSlow25 * fRec529[1]))) - (fSlow22 * ((fSlow85 * fRec528[1]) + (fSlow87 * fRec528[2]))));
fRec536[0] = ((fSlow29 * (fVec255[0] + fVec255[1])) + (fSlow28 * fRec536[1]));
fRec535[0] = (fRec536[0] - (fSlow26 * ((fSlow85 * fRec535[1]) + (fSlow86 * fRec535[2]))));
fRec534[0] = ((fSlow26 * ((fRec535[2] + (2.0f * fRec535[1])) + fRec535[0])) - (fSlow22 * ((fSlow85 * fRec534[1]) + (fSlow87 * fRec534[2]))));
float fTemp912 = (fTemp22 + (fSlow19 * ((fSlow89 * (fRec490[2] + (fSlow92 * (fTemp909 + (fSlow93 * fRec490[0]))))) + (fSlow22 * ((fSlow23 * ((fSlow24 * (fRec528[2] + fRec528[0])) + (fSlow25 * fRec528[1]))) + (fSlow88 * ((fRec534[2] + (2.0f * fRec534[1])) + fRec534[0])))))));
fVec256[IOTA&1023] = fTemp912;
fRec489[0] = ((fSlow12 * (((((fVec256[(IOTA-iTemp546)&1023] * fTemp14) * fTemp16) * fTemp18) * fTemp20) + (((((fVec256[(IOTA-iTemp547)&1023] * fTemp24) * fTemp25) * fTemp478) + (((0.041666668f * ((fVec256[(IOTA-iTemp548)&1023] * fTemp13) * fTemp15)) + ((0.5f * ((fVec256[(IOTA-iTemp549)&1023] * fTemp483) * fTemp486)) + (0.16666667f * ((fVec256[(IOTA-iTemp550)&1023] * fTemp13) * fTemp489)))) * fTemp479)) * fTemp23))) + (fSlow11 * fRec489[1]));
fRec0[0] = ((fSlow1 * fRec2[1]) + (fSlow2 * ((fSlow1 * fRec477[1]) + (fSlow2 * ((fSlow1 * fRec481[1]) + (fSlow2 * ((fSlow1 * fRec485[1]) + (fSlow2 * fRec489[0]))))))));
float fTemp913 = ((0.64955574f * ((0.64955574f * (fTemp142 + (0.760314f * fRec517[1]))) + (0.760314f * fRec521[1]))) + (0.760314f * fRec525[1]));
fVec257[IOTA&1023] = fTemp913;
float fTemp914 = (((((fVec257[(IOTA-iTemp232)&1023] * fTemp219) * fTemp221) * fTemp223) * fTemp225) + (((((fVec257[(IOTA-iTemp239)&1023] * fTemp234) * fTemp235) * fTemp237) + (((0.041666668f * ((fVec257[(IOTA-iTemp242)&1023] * fTemp218) * fTemp220)) + ((0.5f * ((fVec257[(IOTA-iTemp246)&1023] * fTemp243) * fTemp244)) + (0.16666667f * ((fVec257[(IOTA-iTemp249)&1023] * fTemp218) * fTemp247)))) * fTemp240)) * fTemp233));
fVec258[IOTA&16383] = fTemp914;
fRec543[0] = (fVec258[(IOTA-iTemp253)&16383] + ((fTemp257 * fRec543[1]) + ((fVec258[(IOTA-iTemp252)&16383] * fTemp255) / fTemp256)));
float fTemp915 = ((0.760314f * fRec496[1]) + (0.64955574f * ((0.760314f * fRec500[1]) + (0.64955574f * ((0.760314f * fRec504[1]) + (0.64955574f * ((0.760314f * fRec508[1]) + (0.64955574f * ((0.760314f * fRec512[1]) + (0.64955574f * fRec543[0]))))))))));
fVec259[IOTA&16383] = fTemp915;
float fTemp916 = ((fTemp676 * fVec259[(IOTA-iTemp568)&16383]) + (((fTemp675 * fVec259[(IOTA-iTemp574)&16383]) + (((0.041666668f * (fTemp577 * fVec259[(IOTA-iTemp578)&16383])) + ((0.16666667f * (fTemp674 * fVec259[(IOTA-iTemp579)&16383])) + (0.5f * (fTemp673 * fVec259[(IOTA-iTemp582)&16383])))) * fTemp576)) * fTemp570));
fVec260[IOTA&16383] = fTemp916;
fRec542[0] = (fVec260[(IOTA-iTemp588)&16383] + ((fTemp587 * fRec542[1]) + ((fVec260[(IOTA-iTemp585)&16383] * fTemp555) / fTemp586)));
fRec541[0] = ((fSlow37 * fRec541[1]) + (fSlow38 * ((fSlow32 * fRec542[0]) + (fSlow91 * fRec542[1]))));
fRec540[0] = (fRec541[0] - (fSlow35 * ((fSlow81 * fRec540[1]) + (fSlow82 * fRec540[2]))));
fRec539[0] = ((fSlow35 * ((fSlow80 * (fRec540[2] + fRec540[0])) + (fSlow90 * fRec540[1]))) - (fSlow34 * ((fSlow81 * fRec539[1]) + (fSlow83 * fRec539[2]))));
float fTemp917 = (fSlow85 * fRec538[1]);
fRec538[0] = ((fSlow34 * ((fSlow80 * (fRec539[2] + fRec539[0])) + (fSlow90 * fRec539[1]))) - (fSlow92 * ((fSlow93 * fRec538[2]) + fTemp917)));
fRec549[0] = ((fSlow38 * (fRec464[1] + fRec464[0])) + (fSlow37 * fRec549[1]));
fRec548[0] = (fRec549[0] - (fSlow35 * ((fSlow81 * fRec548[1]) + (fSlow82 * fRec548[2]))));
fRec547[0] = ((fSlow35 * ((fRec548[2] + (2.0f * fRec548[1])) + fRec548[0])) - (fSlow34 * ((fSlow81 * fRec547[1]) + (fSlow83 * fRec547[2]))));
float fTemp918 = ((fRec547[2] + (2.0f * fRec547[1])) + fRec547[0]);
float fTemp919 = (fSlow34 * fTemp918);
fVec261[0] = fTemp919;
fRec546[0] = ((fSlow29 * ((fSlow30 * fVec261[1]) + (fSlow84 * fTemp918))) + (fSlow28 * fRec546[1]));
fRec545[0] = (fRec546[0] - (fSlow26 * ((fSlow85 * fRec545[1]) + (fSlow86 * fRec545[2]))));
fRec544[0] = ((fSlow26 * ((fSlow24 * (fRec545[2] + fRec545[0])) + (fSlow25 * fRec545[1]))) - (fSlow22 * ((fSlow85 * fRec544[1]) + (fSlow87 * fRec544[2]))));
fRec552[0] = ((fSlow29 * (fVec261[0] + fVec261[1])) + (fSlow28 * fRec552[1]));
fRec551[0] = (fRec552[0] - (fSlow26 * ((fSlow85 * fRec551[1]) + (fSlow86 * fRec551[2]))));
fRec550[0] = ((fSlow26 * ((fRec551[2] + (2.0f * fRec551[1])) + fRec551[0])) - (fSlow22 * ((fSlow85 * fRec550[1]) + (fSlow87 * fRec550[2]))));
float fTemp920 = (fTemp552 + (fSlow19 * ((fSlow89 * (fRec538[2] + (fSlow92 * (fTemp917 + (fSlow93 * fRec538[0]))))) + (fSlow22 * ((fSlow23 * ((fSlow24 * (fRec544[2] + fRec544[0])) + (fSlow25 * fRec544[1]))) + (fSlow88 * ((fRec550[2] + (2.0f * fRec550[1])) + fRec550[0])))))));
fVec262[IOTA&1023] = fTemp920;
fRec537[0] = ((fSlow11 * fRec537[1]) + (fSlow12 * (((((fVec262[(IOTA-iTemp191)&1023] * fTemp46) * fTemp48) * fTemp50) * fTemp52) + (fTemp192 * ((((fVec262[(IOTA-iTemp198)&1023] * fTemp193) * fTemp194) * fTemp196) + (fTemp199 * (((0.5f * ((fVec262[(IOTA-iTemp205)&1023] * fTemp202) * fTemp203)) + (0.16666667f * ((fVec262[(IOTA-iTemp208)&1023] * fTemp45) * fTemp206))) + (0.041666668f * ((fVec262[(IOTA-iTemp201)&1023] * fTemp45) * fTemp47)))))))));
fRec1[0] = ((fSlow1 * fRec3[1]) + (fSlow2 * ((fSlow1 * fRec478[1]) + (fSlow2 * ((fSlow1 * fRec482[1]) + (fSlow2 * ((fSlow1 * fRec486[1]) + (fSlow2 * fRec537[0]))))))));
output0[i] = (FAUSTFLOAT)fRec0[0];
output1[i] = (FAUSTFLOAT)fRec1[0];
// post processing
fRec1[1] = fRec1[0];
fRec537[1] = fRec537[0];
fRec550[2] = fRec550[1]; fRec550[1] = fRec550[0];
fRec551[2] = fRec551[1]; fRec551[1] = fRec551[0];
fRec552[1] = fRec552[0];
fRec544[2] = fRec544[1]; fRec544[1] = fRec544[0];
fRec545[2] = fRec545[1]; fRec545[1] = fRec545[0];
fRec546[1] = fRec546[0];
fVec261[1] = fVec261[0];
fRec547[2] = fRec547[1]; fRec547[1] = fRec547[0];
fRec548[2] = fRec548[1]; fRec548[1] = fRec548[0];
fRec549[1] = fRec549[0];
fRec538[2] = fRec538[1]; fRec538[1] = fRec538[0];
fRec539[2] = fRec539[1]; fRec539[1] = fRec539[0];
fRec540[2] = fRec540[1]; fRec540[1] = fRec540[0];
fRec541[1] = fRec541[0];
fRec542[1] = fRec542[0];
fRec543[1] = fRec543[0];
fRec0[1] = fRec0[0];
fRec489[1] = fRec489[0];
fRec534[2] = fRec534[1]; fRec534[1] = fRec534[0];
fRec535[2] = fRec535[1]; fRec535[1] = fRec535[0];
fRec536[1] = fRec536[0];
fRec528[2] = fRec528[1]; fRec528[1] = fRec528[0];
fRec529[2] = fRec529[1]; fRec529[1] = fRec529[0];
fRec530[1] = fRec530[0];
fVec255[1] = fVec255[0];
fRec531[2] = fRec531[1]; fRec531[1] = fRec531[0];
fRec532[2] = fRec532[1]; fRec532[1] = fRec532[0];
fRec533[1] = fRec533[0];
fRec490[2] = fRec490[1]; fRec490[1] = fRec490[0];
fRec491[2] = fRec491[1]; fRec491[1] = fRec491[0];
fRec492[2] = fRec492[1]; fRec492[1] = fRec492[0];
fRec493[1] = fRec493[0];
fRec494[1] = fRec494[0];
fRec515[1] = fRec515[0];
fRec525[1] = fRec525[0];
fRec527[1] = fRec527[0];
fRec524[1] = fRec524[0];
fRec526[1] = fRec526[0];
fRec521[1] = fRec521[0];
fRec523[1] = fRec523[0];
fRec520[1] = fRec520[0];
fRec522[1] = fRec522[0];
fRec517[1] = fRec517[0];
fRec519[1] = fRec519[0];
fRec516[1] = fRec516[0];
fRec518[1] = fRec518[0];
fRec512[1] = fRec512[0];
fRec514[1] = fRec514[0];
fRec511[1] = fRec511[0];
fRec513[1] = fRec513[0];
fRec508[1] = fRec508[0];
fRec510[1] = fRec510[0];
fRec507[1] = fRec507[0];
fRec509[1] = fRec509[0];
fRec504[1] = fRec504[0];
fRec506[1] = fRec506[0];
fRec503[1] = fRec503[0];
fRec505[1] = fRec505[0];
fRec500[1] = fRec500[0];
fRec502[1] = fRec502[0];
fRec499[1] = fRec499[0];
fRec501[1] = fRec501[0];
fRec496[1] = fRec496[0];
fRec498[1] = fRec498[0];
fRec495[1] = fRec495[0];
fRec497[1] = fRec497[0];
fRec486[1] = fRec486[0];
fRec488[1] = fRec488[0];
fRec485[1] = fRec485[0];
fRec487[1] = fRec487[0];
fRec482[1] = fRec482[0];
fRec484[1] = fRec484[0];
fRec481[1] = fRec481[0];
fRec483[1] = fRec483[0];
fRec478[1] = fRec478[0];
fRec480[1] = fRec480[0];
fRec477[1] = fRec477[0];
fRec479[1] = fRec479[0];
fRec3[1] = fRec3[0];
fRec476[1] = fRec476[0];
fRec2[1] = fRec2[0];
fRec4[1] = fRec4[0];
fRec475[1] = fRec475[0];
fRec459[1] = fRec459[0];
fRec472[2] = fRec472[1]; fRec472[1] = fRec472[0];
fRec473[2] = fRec473[1]; fRec473[1] = fRec473[0];
fRec474[1] = fRec474[0];
fRec466[2] = fRec466[1]; fRec466[1] = fRec466[0];
fRec467[2] = fRec467[1]; fRec467[1] = fRec467[0];
fRec468[1] = fRec468[0];
fVec225[1] = fVec225[0];
fRec469[2] = fRec469[1]; fRec469[1] = fRec469[0];
fRec470[2] = fRec470[1]; fRec470[1] = fRec470[0];
fRec471[1] = fRec471[0];
fRec460[2] = fRec460[1]; fRec460[1] = fRec460[0];
fRec461[2] = fRec461[1]; fRec461[1] = fRec461[0];
fRec462[2] = fRec462[1]; fRec462[1] = fRec462[0];
fRec463[1] = fRec463[0];
fRec464[1] = fRec464[0];
fRec465[1] = fRec465[0];
fRec407[1] = fRec407[0];
fRec456[2] = fRec456[1]; fRec456[1] = fRec456[0];
fRec457[2] = fRec457[1]; fRec457[1] = fRec457[0];
fRec458[1] = fRec458[0];
fRec450[2] = fRec450[1]; fRec450[1] = fRec450[0];
fRec451[2] = fRec451[1]; fRec451[1] = fRec451[0];
fRec452[1] = fRec452[0];
fVec219[1] = fVec219[0];
fRec453[2] = fRec453[1]; fRec453[1] = fRec453[0];
fRec454[2] = fRec454[1]; fRec454[1] = fRec454[0];
fRec455[1] = fRec455[0];
fRec408[2] = fRec408[1]; fRec408[1] = fRec408[0];
fRec409[2] = fRec409[1]; fRec409[1] = fRec409[0];
fRec410[2] = fRec410[1]; fRec410[1] = fRec410[0];
fRec411[1] = fRec411[0];
fRec412[1] = fRec412[0];
fRec433[1] = fRec433[0];
fRec447[1] = fRec447[0];
fRec449[1] = fRec449[0];
fRec446[1] = fRec446[0];
fRec448[1] = fRec448[0];
fRec443[1] = fRec443[0];
fRec445[1] = fRec445[0];
fRec442[1] = fRec442[0];
fRec444[1] = fRec444[0];
fRec439[1] = fRec439[0];
fRec441[1] = fRec441[0];
fRec438[1] = fRec438[0];
fRec440[1] = fRec440[0];
fRec435[1] = fRec435[0];
fRec437[1] = fRec437[0];
fRec434[1] = fRec434[0];
fRec436[1] = fRec436[0];
fRec430[1] = fRec430[0];
fRec432[1] = fRec432[0];
fRec429[1] = fRec429[0];
fRec431[1] = fRec431[0];
fRec426[1] = fRec426[0];
fRec428[1] = fRec428[0];
fRec425[1] = fRec425[0];
fRec427[1] = fRec427[0];
fRec422[1] = fRec422[0];
fRec424[1] = fRec424[0];
fRec421[1] = fRec421[0];
fRec423[1] = fRec423[0];
fRec418[1] = fRec418[0];
fRec420[1] = fRec420[0];
fRec417[1] = fRec417[0];
fRec419[1] = fRec419[0];
fRec414[1] = fRec414[0];
fRec416[1] = fRec416[0];
fRec413[1] = fRec413[0];
fRec415[1] = fRec415[0];
fRec404[1] = fRec404[0];
fRec406[1] = fRec406[0];
fRec403[1] = fRec403[0];
fRec405[1] = fRec405[0];
fRec400[1] = fRec400[0];
fRec402[1] = fRec402[0];
fRec399[1] = fRec399[0];
fRec401[1] = fRec401[0];
fRec6[1] = fRec6[0];
fRec397[1] = fRec397[0];
fRec398[1] = fRec398[0];
fRec5[1] = fRec5[0];
fRec7[1] = fRec7[0];
fRec381[1] = fRec381[0];
fRec394[2] = fRec394[1]; fRec394[1] = fRec394[0];
fRec395[2] = fRec395[1]; fRec395[1] = fRec395[0];
fRec396[1] = fRec396[0];
fRec388[2] = fRec388[1]; fRec388[1] = fRec388[0];
fRec389[2] = fRec389[1]; fRec389[1] = fRec389[0];
fRec390[1] = fRec390[0];
fVec189[1] = fVec189[0];
fRec391[2] = fRec391[1]; fRec391[1] = fRec391[0];
fRec392[2] = fRec392[1]; fRec392[1] = fRec392[0];
fRec393[1] = fRec393[0];
fRec382[2] = fRec382[1]; fRec382[1] = fRec382[0];
fRec383[2] = fRec383[1]; fRec383[1] = fRec383[0];
fRec384[2] = fRec384[1]; fRec384[1] = fRec384[0];
fRec385[1] = fRec385[0];
fRec386[1] = fRec386[0];
fRec387[1] = fRec387[0];
fRec325[1] = fRec325[0];
fRec378[2] = fRec378[1]; fRec378[1] = fRec378[0];
fRec379[2] = fRec379[1]; fRec379[1] = fRec379[0];
fRec380[1] = fRec380[0];
fRec372[2] = fRec372[1]; fRec372[1] = fRec372[0];
fRec373[2] = fRec373[1]; fRec373[1] = fRec373[0];
fRec374[1] = fRec374[0];
fVec183[1] = fVec183[0];
fRec375[2] = fRec375[1]; fRec375[1] = fRec375[0];
fRec376[2] = fRec376[1]; fRec376[1] = fRec376[0];
fRec377[1] = fRec377[0];
fRec326[2] = fRec326[1]; fRec326[1] = fRec326[0];
fRec327[2] = fRec327[1]; fRec327[1] = fRec327[0];
fRec328[2] = fRec328[1]; fRec328[1] = fRec328[0];
fRec329[1] = fRec329[0];
fRec330[1] = fRec330[0];
fRec351[1] = fRec351[0];
fRec369[1] = fRec369[0];
fRec371[1] = fRec371[0];
fRec368[1] = fRec368[0];
fRec370[1] = fRec370[0];
fRec365[1] = fRec365[0];
fRec367[1] = fRec367[0];
fRec364[1] = fRec364[0];
fRec366[1] = fRec366[0];
fRec361[1] = fRec361[0];
fRec363[1] = fRec363[0];
fRec360[1] = fRec360[0];
fRec362[1] = fRec362[0];
fRec357[1] = fRec357[0];
fRec359[1] = fRec359[0];
fRec356[1] = fRec356[0];
fRec358[1] = fRec358[0];
fRec353[1] = fRec353[0];
fRec355[1] = fRec355[0];
fRec352[1] = fRec352[0];
fRec354[1] = fRec354[0];
fRec348[1] = fRec348[0];
fRec350[1] = fRec350[0];
fRec347[1] = fRec347[0];
fRec349[1] = fRec349[0];
fRec344[1] = fRec344[0];
fRec346[1] = fRec346[0];
fRec343[1] = fRec343[0];
fRec345[1] = fRec345[0];
fRec340[1] = fRec340[0];
fRec342[1] = fRec342[0];
fRec339[1] = fRec339[0];
fRec341[1] = fRec341[0];
fRec336[1] = fRec336[0];
fRec338[1] = fRec338[0];
fRec335[1] = fRec335[0];
fRec337[1] = fRec337[0];
fRec332[1] = fRec332[0];
fRec334[1] = fRec334[0];
fRec331[1] = fRec331[0];
fRec333[1] = fRec333[0];
fRec322[1] = fRec322[0];
fRec324[1] = fRec324[0];
fRec321[1] = fRec321[0];
fRec323[1] = fRec323[0];
fRec10[1] = fRec10[0];
fRec320[1] = fRec320[0];
fRec9[1] = fRec9[0];
fRec11[1] = fRec11[0];
fRec304[1] = fRec304[0];
fRec317[2] = fRec317[1]; fRec317[1] = fRec317[0];
fRec318[2] = fRec318[1]; fRec318[1] = fRec318[0];
fRec319[1] = fRec319[0];
fRec311[2] = fRec311[1]; fRec311[1] = fRec311[0];
fRec312[2] = fRec312[1]; fRec312[1] = fRec312[0];
fRec313[1] = fRec313[0];
fVec153[1] = fVec153[0];
fRec314[2] = fRec314[1]; fRec314[1] = fRec314[0];
fRec315[2] = fRec315[1]; fRec315[1] = fRec315[0];
fRec316[1] = fRec316[0];
fRec305[2] = fRec305[1]; fRec305[1] = fRec305[0];
fRec306[2] = fRec306[1]; fRec306[1] = fRec306[0];
fRec307[2] = fRec307[1]; fRec307[1] = fRec307[0];
fRec308[1] = fRec308[0];
fRec309[1] = fRec309[0];
fRec310[1] = fRec310[0];
fRec252[1] = fRec252[0];
fRec262[2] = fRec262[1]; fRec262[1] = fRec262[0];
fRec263[2] = fRec263[1]; fRec263[1] = fRec263[0];
fRec264[2] = fRec264[1]; fRec264[1] = fRec264[0];
fRec265[1] = fRec265[0];
fRec266[1] = fRec266[0];
fRec287[1] = fRec287[0];
fRec301[1] = fRec301[0];
fRec303[1] = fRec303[0];
fRec300[1] = fRec300[0];
fRec302[1] = fRec302[0];
fRec297[1] = fRec297[0];
fRec299[1] = fRec299[0];
fRec296[1] = fRec296[0];
fRec298[1] = fRec298[0];
fRec293[1] = fRec293[0];
fRec295[1] = fRec295[0];
fRec292[1] = fRec292[0];
fRec294[1] = fRec294[0];
fRec289[1] = fRec289[0];
fRec291[1] = fRec291[0];
fRec288[1] = fRec288[0];
fRec290[1] = fRec290[0];
fRec284[1] = fRec284[0];
fRec286[1] = fRec286[0];
fRec283[1] = fRec283[0];
fRec285[1] = fRec285[0];
fRec280[1] = fRec280[0];
fRec282[1] = fRec282[0];
fRec279[1] = fRec279[0];
fRec281[1] = fRec281[0];
fRec276[1] = fRec276[0];
fRec278[1] = fRec278[0];
fRec275[1] = fRec275[0];
fRec277[1] = fRec277[0];
fRec272[1] = fRec272[0];
fRec274[1] = fRec274[0];
fRec271[1] = fRec271[0];
fRec273[1] = fRec273[0];
fRec268[1] = fRec268[0];
fRec270[1] = fRec270[0];
fRec267[1] = fRec267[0];
fRec269[1] = fRec269[0];
fRec259[2] = fRec259[1]; fRec259[1] = fRec259[0];
fRec260[2] = fRec260[1]; fRec260[1] = fRec260[0];
fRec261[1] = fRec261[0];
fRec253[2] = fRec253[1]; fRec253[1] = fRec253[0];
fRec254[2] = fRec254[1]; fRec254[1] = fRec254[0];
fRec255[1] = fRec255[0];
fVec125[1] = fVec125[0];
fRec256[2] = fRec256[1]; fRec256[1] = fRec256[0];
fRec257[2] = fRec257[1]; fRec257[1] = fRec257[0];
fRec258[1] = fRec258[0];
fRec14[1] = fRec14[0];
fRec250[1] = fRec250[0];
fRec251[1] = fRec251[0];
fRec13[1] = fRec13[0];
fRec15[1] = fRec15[0];
fRec232[1] = fRec232[0];
fRec244[2] = fRec244[1]; fRec244[1] = fRec244[0];
fRec245[2] = fRec245[1]; fRec245[1] = fRec245[0];
fRec246[2] = fRec246[1]; fRec246[1] = fRec246[0];
fRec247[1] = fRec247[0];
fRec248[1] = fRec248[0];
fRec249[1] = fRec249[0];
fRec241[2] = fRec241[1]; fRec241[1] = fRec241[0];
fRec242[2] = fRec242[1]; fRec242[1] = fRec242[0];
fRec243[1] = fRec243[0];
fRec233[2] = fRec233[1]; fRec233[1] = fRec233[0];
fRec234[2] = fRec234[1]; fRec234[1] = fRec234[0];
fRec235[1] = fRec235[0];
fVec117[1] = fVec117[0];
fRec236[2] = fRec236[1]; fRec236[1] = fRec236[0];
fRec237[2] = fRec237[1]; fRec237[1] = fRec237[0];
fRec238[1] = fRec238[0];
fRec239[1] = fRec239[0];
fRec240[1] = fRec240[0];
fRec17[1] = fRec17[0];
fRec201[2] = fRec201[1]; fRec201[1] = fRec201[0];
fRec202[2] = fRec202[1]; fRec202[1] = fRec202[0];
fRec203[2] = fRec203[1]; fRec203[1] = fRec203[0];
fRec204[1] = fRec204[0];
fRec205[1] = fRec205[0];
fRec229[1] = fRec229[0];
fRec231[1] = fRec231[0];
fRec228[1] = fRec228[0];
fRec230[1] = fRec230[0];
fRec223[1] = fRec223[0];
fRec225[1] = fRec225[0];
fRec227[1] = fRec227[0];
fRec224[1] = fRec224[0];
fRec226[1] = fRec226[0];
fRec220[1] = fRec220[0];
fRec222[1] = fRec222[0];
fRec219[1] = fRec219[0];
fRec221[1] = fRec221[0];
fRec216[1] = fRec216[0];
fRec218[1] = fRec218[0];
fRec215[1] = fRec215[0];
fRec217[1] = fRec217[0];
fRec212[1] = fRec212[0];
fRec214[1] = fRec214[0];
fRec211[1] = fRec211[0];
fRec213[1] = fRec213[0];
fRec207[1] = fRec207[0];
fRec210[1] = fRec210[0];
fRec206[1] = fRec206[0];
fRec208[1] = fRec208[0];
fRec209[1] = fRec209[0];
fRec198[2] = fRec198[1]; fRec198[1] = fRec198[0];
fRec199[2] = fRec199[1]; fRec199[1] = fRec199[0];
fRec200[1] = fRec200[0];
fRec20[2] = fRec20[1]; fRec20[1] = fRec20[0];
fRec21[2] = fRec21[1]; fRec21[1] = fRec21[0];
fRec22[1] = fRec22[0];
fVec95[1] = fVec95[0];
fRec23[2] = fRec23[1]; fRec23[1] = fRec23[0];
fRec24[2] = fRec24[1]; fRec24[1] = fRec24[0];
fRec25[1] = fRec25[0];
fRec26[1] = fRec26[0];
fRec197[1] = fRec197[0];
fRec188[1] = fRec188[0];
fRec194[1] = fRec194[0];
fRec196[1] = fRec196[0];
fRec193[1] = fRec193[0];
fRec195[1] = fRec195[0];
fRec190[1] = fRec190[0];
fRec192[1] = fRec192[0];
fRec189[1] = fRec189[0];
fRec191[1] = fRec191[0];
fRec185[1] = fRec185[0];
fRec187[1] = fRec187[0];
fRec184[1] = fRec184[0];
fRec186[1] = fRec186[0];
fRec181[1] = fRec181[0];
fRec183[1] = fRec183[0];
fRec180[1] = fRec180[0];
fRec182[1] = fRec182[0];
fRec177[1] = fRec177[0];
fRec179[1] = fRec179[0];
fRec176[1] = fRec176[0];
fRec178[1] = fRec178[0];
fRec173[1] = fRec173[0];
fRec175[1] = fRec175[0];
fRec172[1] = fRec172[0];
fRec174[1] = fRec174[0];
fRec28[1] = fRec28[0];
fRec170[1] = fRec170[0];
fRec171[1] = fRec171[0];
fRec27[1] = fRec27[0];
fRec29[1] = fRec29[0];
fRec169[1] = fRec169[0];
fRec156[1] = fRec156[0];
fRec166[1] = fRec166[0];
fRec168[1] = fRec168[0];
fRec165[1] = fRec165[0];
fRec167[1] = fRec167[0];
fRec162[1] = fRec162[0];
fRec164[1] = fRec164[0];
fRec161[1] = fRec161[0];
fRec163[1] = fRec163[0];
fRec158[1] = fRec158[0];
fRec160[1] = fRec160[0];
fRec157[1] = fRec157[0];
fRec159[1] = fRec159[0];
fRec153[1] = fRec153[0];
fRec155[1] = fRec155[0];
fRec152[1] = fRec152[0];
fRec154[1] = fRec154[0];
fRec149[1] = fRec149[0];
fRec151[1] = fRec151[0];
fRec148[1] = fRec148[0];
fRec150[1] = fRec150[0];
fRec145[1] = fRec145[0];
fRec147[1] = fRec147[0];
fRec144[1] = fRec144[0];
fRec146[1] = fRec146[0];
fRec32[1] = fRec32[0];
fRec143[1] = fRec143[0];
fRec31[1] = fRec31[0];
fRec33[1] = fRec33[0];
fRec142[1] = fRec142[0];
fRec129[1] = fRec129[0];
fRec139[1] = fRec139[0];
fRec141[1] = fRec141[0];
fRec138[1] = fRec138[0];
fRec140[1] = fRec140[0];
fRec135[1] = fRec135[0];
fRec137[1] = fRec137[0];
fRec134[1] = fRec134[0];
fRec136[1] = fRec136[0];
fRec131[1] = fRec131[0];
fRec133[1] = fRec133[0];
fRec130[1] = fRec130[0];
fRec132[1] = fRec132[0];
fRec126[1] = fRec126[0];
fRec128[1] = fRec128[0];
fRec125[1] = fRec125[0];
fRec127[1] = fRec127[0];
fRec122[1] = fRec122[0];
fRec124[1] = fRec124[0];
fRec121[1] = fRec121[0];
fRec123[1] = fRec123[0];
fRec35[1] = fRec35[0];
fRec119[1] = fRec119[0];
fRec120[1] = fRec120[0];
fRec34[1] = fRec34[0];
fRec36[1] = fRec36[0];
fRec118[1] = fRec118[0];
fRec115[1] = fRec115[0];
fRec117[1] = fRec117[0];
fRec114[1] = fRec114[0];
fRec116[1] = fRec116[0];
fRec105[1] = fRec105[0];
fRec111[1] = fRec111[0];
fRec113[1] = fRec113[0];
fRec110[1] = fRec110[0];
fRec112[1] = fRec112[0];
fRec107[1] = fRec107[0];
fRec109[1] = fRec109[0];
fRec106[1] = fRec106[0];
fRec108[1] = fRec108[0];
fRec39[1] = fRec39[0];
fRec104[1] = fRec104[0];
fRec38[1] = fRec38[0];
fRec40[1] = fRec40[0];
fRec103[1] = fRec103[0];
fRec98[1] = fRec98[0];
fRec100[1] = fRec100[0];
fRec102[1] = fRec102[0];
fRec99[1] = fRec99[0];
fRec101[1] = fRec101[0];
fRec43[1] = fRec43[0];
fRec96[1] = fRec96[0];
fRec97[1] = fRec97[0];
fRec42[1] = fRec42[0];
fRec44[1] = fRec44[0];
fRec94[1] = fRec94[0];
fRec95[1] = fRec95[0];
fRec46[1] = fRec46[0];
fRec91[1] = fRec91[0];
fRec93[1] = fRec93[0];
fRec90[1] = fRec90[0];
fRec92[1] = fRec92[0];
fRec49[1] = fRec49[0];
fRec88[1] = fRec88[0];
fRec89[1] = fRec89[0];
fRec48[1] = fRec48[0];
fRec50[1] = fRec50[0];
fRec85[1] = fRec85[0];
fRec87[1] = fRec87[0];
fRec84[1] = fRec84[0];
fRec86[1] = fRec86[0];
fRec53[1] = fRec53[0];
fRec82[1] = fRec82[0];
fRec83[1] = fRec83[0];
fRec52[1] = fRec52[0];
fRec54[1] = fRec54[0];
fRec79[1] = fRec79[0];
fRec81[1] = fRec81[0];
fRec78[1] = fRec78[0];
fRec80[1] = fRec80[0];
fRec57[1] = fRec57[0];
fRec76[1] = fRec76[0];
fRec77[1] = fRec77[0];
fRec56[1] = fRec56[0];
fRec58[1] = fRec58[0];
fRec73[1] = fRec73[0];
fRec75[1] = fRec75[0];
fRec72[1] = fRec72[0];
fRec74[1] = fRec74[0];
fRec61[1] = fRec61[0];
fRec70[1] = fRec70[0];
fRec71[1] = fRec71[0];
fRec60[1] = fRec60[0];
fRec62[1] = fRec62[0];
fRec69[1] = fRec69[0];
fRec64[1] = fRec64[0];
fRec67[1] = fRec67[0];
fRec68[1] = fRec68[0];
fRec63[1] = fRec63[0];
fRec65[1] = fRec65[0];
IOTA = IOTA+1;
fRec66[1] = fRec66[0];
fRec59[1] = fRec59[0];
fRec55[1] = fRec55[0];
fRec51[1] = fRec51[0];
fRec47[1] = fRec47[0];
fRec45[1] = fRec45[0];
fRec41[1] = fRec41[0];
fRec37[1] = fRec37[0];
fRec30[1] = fRec30[0];
fRec19[1] = fRec19[0];
fRec18[1] = fRec18[0];
fRec16[1] = fRec16[0];
fRec12[1] = fRec12[0];
fRec8[1] = fRec8[0];
iVec0[1] = iVec0[0];
}
}
};
//----------------------------------------------------------------------------
// SuperCollider/Faust interface
//----------------------------------------------------------------------------
struct Faust : public Unit
{
// Faust dsp instance
FAUSTCLASS* mDSP;
// Buffers for control to audio rate conversion
float** mInBufCopy;
float* mInBufValue;
// Controls
size_t mNumControls;
// NOTE: This needs to be the last field!
//
// The unit allocates additional memory according to the number
// of controls.
Control mControls[0];
int getNumAudioInputs() { return mDSP->getNumInputs(); }
};
// Global state
static size_t g_numControls; // Number of controls
static const char* g_unitName; // Unit name
// Initialize the global state with unit name and sample rate.
void initState(const std::string& name, int sampleRate);
// Return the unit size in bytes, including static fields and controls.
static size_t unitSize();
// Convert a file name to a valid unit name.
static std::string fileNameToUnitName(const std::string& fileName);
// Convert the XML unit name to a valid class name.
static std::string normalizeClassName(const std::string& name);
void initState(const std::string& name, int sampleRate)
{
g_unitName = strdup(name.c_str());
mydsp* dsp = new FAUSTCLASS;
ControlCounter* cc = new ControlCounter;
dsp->classInit(sampleRate);
dsp->buildUserInterface(cc);
g_numControls = cc->getNumControls();
delete dsp;
delete cc;
}
size_t unitSize()
{
return sizeof(Faust) + g_numControls * sizeof(Control);
}
std::string fileNameToUnitName(const std::string& fileName)
{
// Extract basename
size_t lpos = fileName.rfind('/', fileName.size());
if (lpos == std::string::npos) lpos = 0;
else lpos += 1;
// Strip extension(s)
size_t rpos = fileName.find('.', lpos);
// Return substring
return fileName.substr(lpos, rpos > lpos ? rpos - lpos : 0);
}
// Globals
static InterfaceTable* ft;
// The SuperCollider UGen class name generated here must match
// that generated by faust2sc:
static std::string normalizeClassName(const std::string& name)
{
std::string s;
char c;
unsigned int i=0;
bool upnext=true;
while ((c=name[i++])) {
if (upnext) { c = toupper(c); upnext=false; }
if ( (c == '_') || (c == '-') || isspace(c)) { upnext=true; continue; }
s += c;
if (i > 31) { break; }
}
return s;
}
extern "C"
{
#ifdef SC_API_EXPORT
int api_version(void);
#endif
void load(InterfaceTable*);
void Faust_next(Faust*, int);
void Faust_next_copy(Faust*, int);
void Faust_next_clear(Faust*, int);
void Faust_Ctor(Faust*);
void Faust_Dtor(Faust*);
};
inline static void fillBuffer(float* dst, int n, float v)
{
Fill(n, dst, v);
}
inline static void fillBuffer(float* dst, int n, float v0, float v1)
{
Fill(n, dst, v0, (v1 - v0) / n);
}
inline static void copyBuffer(float* dst, int n, float* src)
{
Copy(n, dst, src);
}
inline static void Faust_updateControls(Faust* unit)
{
Control* controls = unit->mControls;
int numControls = unit->mNumControls;
int curControl = unit->mDSP->getNumInputs();
for (int i=0; i < numControls; ++i) {
float value = IN0(curControl);
(controls++)->update(value);
curControl++;
}
}
void Faust_next(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// dsp computation
unit->mDSP->compute(inNumSamples, unit->mInBuf, unit->mOutBuf);
}
void Faust_next_copy(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// Copy buffers
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
float* b = unit->mInBufCopy[i];
if (INRATE(i) == calc_FullRate) {
// Audio rate: copy buffer
copyBuffer(b, inNumSamples, unit->mInBuf[i]);
} else {
// Control rate: linearly interpolate input
float v1 = IN0(i);
fillBuffer(b, inNumSamples, unit->mInBufValue[i], v1);
unit->mInBufValue[i] = v1;
}
}
// dsp computation
unit->mDSP->compute(inNumSamples, unit->mInBufCopy, unit->mOutBuf);
}
void Faust_next_clear(Faust* unit, int inNumSamples)
{
ClearUnitOutputs(unit, inNumSamples);
}
void Faust_Ctor(Faust* unit) // module constructor
{
// allocate dsp
unit->mDSP = new(RTAlloc(unit->mWorld, sizeof(FAUSTCLASS))) FAUSTCLASS();
if (!unit->mDSP) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
{
// init dsp
unit->mDSP->instanceInit((int)SAMPLERATE);
// allocate controls
unit->mNumControls = g_numControls;
ControlAllocator ca(unit->mControls);
unit->mDSP->buildUserInterface(&ca);
unit->mInBufCopy = 0;
unit->mInBufValue = 0;
// check input/output channel configuration
const size_t numInputs = unit->mDSP->getNumInputs() + unit->mNumControls;
const size_t numOutputs = unit->mDSP->getNumOutputs();
bool channelsValid = (numInputs == unit->mNumInputs) && (numOutputs == unit->mNumOutputs);
if (channelsValid) {
bool rateValid = true;
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
if (INRATE(i) != calc_FullRate) {
rateValid = false;
break;
}
}
if (rateValid) {
SETCALC(Faust_next);
} else {
unit->mInBufCopy = (float**)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float*));
if (!unit->mInBufCopy) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
// Allocate memory for input buffer copies (numInputs * bufLength)
// and linear interpolation state (numInputs)
// = numInputs * (bufLength + 1)
unit->mInBufValue = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float));
if (!unit->mInBufValue) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
// Aquire memory for interpolator state.
float* mem = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*BUFLENGTH*sizeof(float));
if (mem) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
// Initialize interpolator.
unit->mInBufValue[i] = IN0(i);
// Aquire buffer memory.
unit->mInBufCopy[i] = mem;
mem += BUFLENGTH;
}
SETCALC(Faust_next_copy);
}
#if !defined(NDEBUG)
Print("Faust[%s]:\n", g_unitName);
Print(" Inputs: %d\n"
" Outputs: %d\n"
" Callback: %s\n",
numInputs, numOutputs,
unit->mCalcFunc == (UnitCalcFunc)Faust_next ? "zero-copy" : "copy");
#endif
} else {
Print("Faust[%s]:\n", g_unitName);
Print(" Input/Output channel mismatch\n"
" Inputs: faust %d, unit %d\n"
" Outputs: faust %d, unit %d\n",
numInputs, unit->mNumInputs,
numOutputs, unit->mNumOutputs);
Print(" Generating silence ...\n");
SETCALC(Faust_next_clear);
}
}
end:
// Fix for https://github.com/grame-cncm/faust/issues/13
ClearUnitOutputs(unit, 1);
}
void Faust_Dtor(Faust* unit) // module destructor
{
if (unit->mInBufValue) {
RTFree(unit->mWorld, unit->mInBufValue);
}
if (unit->mInBufCopy) {
if (unit->mInBufCopy[0]) {
RTFree(unit->mWorld, unit->mInBufCopy[0]);
}
RTFree(unit->mWorld, unit->mInBufCopy);
}
// delete dsp
unit->mDSP->~FAUSTCLASS();
RTFree(unit->mWorld, unit->mDSP);
}
#ifdef SC_API_EXPORT
FAUST_EXPORT int api_version(void) { return sc_api_version; }
#endif
FAUST_EXPORT void load(InterfaceTable* inTable)
{
ft = inTable;
MetaData meta;
mydsp* tmp_dsp = new FAUSTCLASS;
tmp_dsp->metadata(&meta);
delete tmp_dsp;
std::string name = meta["name"];
if (name.empty()) {
name = fileNameToUnitName(__FILE__);
}
name = normalizeClassName(name);
#if !defined(NDEBUG) & defined(SC_API_EXPORT)
Print("Faust: supercollider.cpp: sc_api_version = %d\n", sc_api_version);
#endif
if (name.empty()) {
// Catch empty name
Print("Faust [supercollider.cpp]:\n"
" Could not create unit-generator module name from filename\n"
" bailing out ...\n");
return;
}
if (strncmp(name.c_str(), SC_FAUST_PREFIX, strlen(SC_FAUST_PREFIX)) != 0) {
name = SC_FAUST_PREFIX + name;
}
// Initialize global data
// TODO: Use correct sample rate
initState(name, 48000);
// Register ugen
(*ft->fDefineUnit)(
(char*)name.c_str(),
unitSize(),
(UnitCtorFunc)&Faust_Ctor,
(UnitDtorFunc)&Faust_Dtor,
kUnitDef_CantAliasInputsToOutputs
);
#if !defined(NDEBUG)
Print("Faust: %s numControls=%d\n", name.c_str(), g_numControls);
#endif // NDEBUG
}
// EOF
declare name "JPverbRaw";
declare version "1.1";
declare author "Julian Parker, bug fixes by Till Bovermann";
declare license "GPL2+";
declare copyright "(c) Julian Parker 2013";
import("stdfaust.lib");
allpass_stretched(maxdel,N,a) = (+ <: de.fdelay1a(maxdel,N-1),*(a)) ~ *(-a) : mem, _ : + ;
// list of prime numbers
prime_delays = ffunction(int primes (int),<jprev.h>,"primes");
// prime_delays(x) = (waveform {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 10631, 10639, 10651, 10657, 10663, 10667}, int(x))
// : rdtable;
// gi = 1.618;
depth = 50*hslider("mDepth",0.1,0.0,1.0,0.001);
freq = hslider("mFreq",2.0,0.0,10.0,0.01);
wet = hslider("wet",0.5,0.0,1.0,0.01);
low = hslider("lowX",1.0,0.0,1.0,0.01);
mid = hslider("midX",1.0,0.0,1.0,0.01);
high = hslider("highX",1.0,0.0,1.0,0.01);
early_diff = hslider("earlyDiff", 0.707, 0.0 ,0.99,0.001);
low_cutoff = hslider("lowBand",500,100.0,6000.0,0.1);
high_cutoff = hslider("highBand",2000,1000.0,10000.0,0.1);
size = hslider("size",1.0, 0.5,3.0,0.01);
T60 = hslider("t60",1.0,0.1,60.0,0.1);
damping = hslider("damp",0.0,0.0,0.999,0.0001);
calib = 1.7; // Calibration constant given by T60 in seconds when fb = 0.5
total_length = calib*0.1*(size*5/4 -1/4);
fb = 10^(-3/((T60)/(total_length)));
smooth_init(s,default) = *(1.0 - s) : + ~ (+(default*init(1)):*(s))
with
{
init(value) = value - value';
};
diffuser(angle,g,scale1,scale2) = si.bus(2) <: ( (si.bus(2) :par(i,2,*(c_norm))
: (( si.bus(4) :> si.bus(2) :rotator(angle) : (
de.fdelay1a(8192, prime_delays(size*scale1):smooth_init(0.9999,prime_delays(size*scale1)) -1 ),
de.fdelay1a(8192, prime_delays(size*scale2):smooth_init(0.9999,prime_delays(size*scale2)) -1 )
) )~par(i,2,*(-s_norm)))
: par(i,2,mem:*(c_norm)) )
,
par(i,2,*(s_norm)))
:> si.bus(2)
with
{
rotator(angle) = si.bus(2) <: (*(c),*(-s),*(s),*(c)) :(+,+) : si.bus(2)
with{
c = cos(angle);
s = sin(angle);
};
c_norm = cos(g);
s_norm = sin(g);
};
reverb = ( ( si.bus(4) :> (de.fdelay4(512, depth + depth*os.oscrs(freq) +5 ),de.fdelay4(512, depth + depth*os.oscrc(freq)+ 5 ) )
: par(i,2,si.smooth(damping)) : diffuser(ma.PI/4,early_diff,55,240) :diffuser(ma.PI/4,early_diff,215,85):diffuser(ma.PI/4,early_diff,115,190):diffuser(ma.PI/4,early_diff,175,145)
) ~(
seq(i,5,diffuser(ma.PI/4,0.707,10+30*i,110 + 30*i) ): par(i,2,de.fdelay4(512, depth + (-1^i)*depth*os.oscrc(freq)+5):de.fdelay1a(8192,(prime_delays(size*(54+150*i)):smooth_init(0.995,prime_delays(size*(54+150*i)))) -1 )) :
seq(i,5,diffuser(ma.PI/4,0.707,125+30*i, 25+30*i) ): par(i,2,de.fdelay4(8192, depth + (-1^i)*depth*os.oscrs(freq) + 5) : de.fdelay1a(8192,(prime_delays(size*(134-100*i)):smooth_init(0.995,prime_delays(size*(134-100*i)))) -1 )) :
par(i,2, fi.filterbank(5,(low_cutoff,high_cutoff) ):(_*(high),_*(mid),_*(low)) :> _ ):
par(i,2,*(fb))
));
//Alesis Style 2-channel
// with wet control
// process = (_,_) <: ((reverb:par(i,2,_*(wet))), par(i,2,_*(1-wet))) :> (_,_);
// without wet control
process = (_,_) : reverb : (_,_);
//----------------------------------------------------------
// name: "JPverbRaw"
// version: "1.1"
// author: "Julian Parker, bug fixes by Till Bovermann"
// license: "GPL2+"
// copyright: "(c) Julian Parker 2013"
//
// Code generated with Faust 0.9.96 (http://faust.grame.fr)
//----------------------------------------------------------
/* link with */
#include <math.h>
#ifndef FAUSTPOWER
#define FAUSTPOWER
#include <cmath>
template <int N> inline int faustpower(int x) { return faustpower<N/2>(x) * faustpower<N-N/2>(x); }
template <> inline int faustpower<0>(int x) { return 1; }
template <> inline int faustpower<1>(int x) { return x; }
template <> inline int faustpower<2>(int x) { return x*x; }
template <int N> inline float faustpower(float x) { return faustpower<N/2>(x) * faustpower<N-N/2>(x); }
template <> inline float faustpower<0>(float x) { return 1; }
template <> inline float faustpower<1>(float x) { return x; }
template <> inline float faustpower<2>(float x) { return x*x; }
#endif
// If other than 'faust2sc --prefix Faust' is used, sed this as well:
#if !defined(SC_FAUST_PREFIX)
# define SC_FAUST_PREFIX "Faust"
#endif
//-------------------------------------------------------------------
// FAUST architecture file for SuperCollider.
// Copyright (C) 2005-2012 Stefan Kersten.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
// 02111-1307 USA
//-------------------------------------------------------------------
#include <map>
#include <string>
#include <string.h>
#include <SC_PlugIn.h>
#include <faust/dsp/dsp.h>
#include <faust/gui/UI.h>
#include <faust/misc.h>
using namespace std;
#if defined(__GNUC__) && __GNUC__ >= 4
# define FAUST_EXPORT __attribute__((visibility("default")))
#else
# define FAUST_EXPORT SC_API_EXPORT
#endif
//----------------------------------------------------------------------------
// Vector intrinsics
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Metadata
//----------------------------------------------------------------------------
class MetaData : public Meta
, public std::map<std::string, std::string>
{
public:
void declare(const char* key, const char* value)
{
(*this)[key] = value;
}
};
//----------------------------------------------------------------------------
// Control counter
//----------------------------------------------------------------------------
class ControlCounter : public UI
{
public:
ControlCounter()
: mNumControlInputs(0),
mNumControlOutputs(0)
{ }
size_t getNumControls() const { return getNumControlInputs(); }
size_t getNumControlInputs() const { return mNumControlInputs; }
size_t getNumControlOutputs() const { return mNumControlOutputs; }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
protected:
void addControlInput() { mNumControlInputs++; }
void addControlOutput() { mNumControlOutputs++; }
private:
size_t mNumControlInputs;
size_t mNumControlOutputs;
};
//----------------------------------------------------------------------------
// UI control
//----------------------------------------------------------------------------
struct Control
{
typedef void (*UpdateFunction)(Control* self, FAUSTFLOAT value);
UpdateFunction updateFunction;
FAUSTFLOAT* zone;
FAUSTFLOAT min, max;
inline void update(FAUSTFLOAT value)
{
(*updateFunction)(this, value);
}
static void simpleUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = value;
}
static void boundedUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = sc_clip(value, self->min, self->max);
}
};
//----------------------------------------------------------------------------
// Control allocator
//----------------------------------------------------------------------------
class ControlAllocator : public UI
{
public:
ControlAllocator(Control* controls)
: mControls(controls)
{ }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
private:
void addControl(Control::UpdateFunction updateFunction, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT /* step */)
{
Control* ctrl = mControls++;
ctrl->updateFunction = updateFunction;
ctrl->zone = zone;
ctrl->min = min;
ctrl->max = max;
}
void addSimpleControl(FAUSTFLOAT* zone)
{
addControl(Control::simpleUpdate, zone, 0.f, 0.f, 0.f);
}
void addBoundedControl(FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{
addControl(Control::boundedUpdate, zone, min, max, step);
}
private:
Control* mControls;
};
//----------------------------------------------------------------------------
// FAUST generated code
//----------------------------------------------------------------------------
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif
#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif
class mydsp : public dsp {
private:
class SIG0 {
private:
int fSamplingFreq;
static int iWave0[1302];
int idxiWave0;
public:
int getNumInputs() { return 0; }
int getNumOutputs() { return 1; }
void init(int samplingFreq) {
fSamplingFreq = samplingFreq;
idxiWave0 = 0;
}
void fill (int count, int output[]) {
for (int i=0; i<count; i++) {
output[i] = iWave0[idxiWave0];
// post processing
idxiWave0 = (idxiWave0 + 1) % 1302;
}
}
};
FAUSTFLOAT fslider0;
static int itbl0[1302];
FAUSTFLOAT fslider1;
int iVec0[2];
float fRec5[2];
float fRec9[2];
float fRec13[2];
FAUSTFLOAT fslider2;
FAUSTFLOAT fslider3;
float fConst0;
float fConst1;
FAUSTFLOAT fslider4;
float fRec18[2];
float fRec19[2];
FAUSTFLOAT fslider5;
FAUSTFLOAT fslider6;
float fConst2;
FAUSTFLOAT fslider7;
float fRec25[2];
float fRec35[2];
float fRec39[2];
float fRec44[2];
float fRec48[2];
float fRec52[2];
float fRec56[2];
float fRec60[2];
int IOTA;
float fVec1[16384];
float fRec59[2];
float fRec57[2];
float fRec62[2];
float fVec2[16384];
float fRec61[2];
float fRec58[2];
float fVec3[16384];
float fRec55[2];
float fRec53[2];
float fRec64[2];
float fVec4[16384];
float fRec63[2];
float fRec54[2];
float fVec5[16384];
float fRec51[2];
float fRec49[2];
float fRec66[2];
float fVec6[16384];
float fRec65[2];
float fRec50[2];
float fVec7[16384];
float fRec47[2];
float fRec45[2];
float fRec68[2];
float fVec8[16384];
float fRec67[2];
float fRec46[2];
float fVec9[16384];
float fRec43[2];
float fRec41[2];
float fRec70[2];
float fVec10[16384];
float fRec69[2];
float fRec42[2];
float fVec11[1024];
float fVec12[16384];
float fRec71[2];
float fRec40[2];
float fVec13[1024];
float fVec14[16384];
float fRec73[2];
float fRec72[2];
float fVec15[16384];
float fRec38[2];
float fRec36[2];
float fRec75[2];
float fVec16[16384];
float fRec74[2];
float fRec37[2];
float fRec76[2];
float fRec77[2];
float fVec17[16384];
float fRec34[2];
float fRec32[2];
float fVec18[16384];
float fRec79[2];
float fRec78[2];
float fRec33[2];
float fVec19[16384];
float fRec83[2];
float fRec81[2];
float fVec20[16384];
float fRec84[2];
float fRec82[2];
float fVec21[16384];
float fRec87[2];
float fRec85[2];
float fVec22[16384];
float fRec88[2];
float fRec86[2];
float fVec23[16384];
float fRec91[2];
float fRec89[2];
float fVec24[16384];
float fRec92[2];
float fRec90[2];
float fVec25[1024];
float fVec26[16384];
float fRec80[2];
float fVec27[16384];
float fRec95[2];
float fRec93[2];
float fVec28[16384];
float fRec96[2];
float fRec94[2];
float fRec100[2];
float fVec29[16384];
float fRec122[2];
float fRec120[2];
float fVec30[16384];
float fRec123[2];
float fRec121[2];
float fVec31[16384];
float fRec119[2];
float fRec117[2];
float fVec32[16384];
float fRec124[2];
float fRec118[2];
float fVec33[16384];
float fRec116[2];
float fRec114[2];
float fVec34[16384];
float fRec125[2];
float fRec115[2];
float fVec35[16384];
float fRec113[2];
float fRec111[2];
float fVec36[16384];
float fRec126[2];
float fRec112[2];
float fVec37[16384];
float fRec110[2];
float fRec108[2];
float fVec38[16384];
float fRec127[2];
float fRec109[2];
float fVec39[1024];
float fVec40[16384];
float fRec107[2];
float fVec41[1024];
float fVec42[16384];
float fRec128[2];
float fVec43[16384];
float fRec106[2];
float fRec104[2];
float fVec44[16384];
float fRec129[2];
float fRec105[2];
float fVec45[16384];
float fRec103[2];
float fRec101[2];
float fVec46[16384];
float fRec130[2];
float fRec102[2];
float fVec47[16384];
float fRec99[2];
float fRec97[2];
float fRec132[2];
float fVec48[16384];
float fRec131[2];
float fRec98[2];
float fVec49[1024];
float fVec50[16384];
float fRec133[2];
float fVec51[16384];
float fRec31[2];
float fRec29[2];
float fVec52[16384];
float fRec134[2];
float fRec30[2];
float fVec53[16384];
float fRec137[2];
float fRec135[2];
float fVec54[16384];
float fRec138[2];
float fRec136[2];
float fVec55[16384];
float fRec141[2];
float fRec139[2];
float fVec56[16384];
float fRec142[2];
float fRec140[2];
float fVec57[16384];
float fRec145[2];
float fRec143[2];
float fVec58[16384];
float fRec146[2];
float fRec144[2];
float fVec59[16384];
float fRec150[2];
float fRec148[2];
float fVec60[16384];
float fRec151[2];
float fRec149[2];
float fVec61[16384];
float fRec154[2];
float fRec152[2];
float fVec62[16384];
float fRec155[2];
float fRec153[2];
float fVec63[16384];
float fRec158[2];
float fRec156[2];
float fVec64[16384];
float fRec159[2];
float fRec157[2];
float fVec65[1024];
float fVec66[16384];
float fRec147[2];
float fVec67[1024];
float fVec68[16384];
float fRec160[2];
float fVec69[16384];
float fRec161[2];
float fRec28[2];
float fRec26[2];
float fRec163[2];
float fVec70[16384];
float fRec162[2];
float fRec27[2];
float fVec71[16384];
float fRec166[2];
float fRec164[2];
float fVec72[16384];
float fRec167[2];
float fRec165[2];
float fVec73[16384];
float fRec170[2];
float fRec168[2];
float fVec74[16384];
float fRec171[2];
float fRec169[2];
float fVec75[16384];
float fRec174[2];
float fRec172[2];
float fVec76[16384];
float fRec175[2];
float fRec173[2];
float fVec77[16384];
float fRec178[2];
float fRec176[2];
float fVec78[16384];
float fRec179[2];
float fRec177[2];
float fVec79[16384];
float fRec183[2];
float fRec181[2];
float fVec80[16384];
float fRec184[2];
float fRec182[2];
float fVec81[16384];
float fRec187[2];
float fRec185[2];
float fVec82[16384];
float fRec188[2];
float fRec186[2];
float fVec83[16384];
float fRec191[2];
float fRec189[2];
float fVec84[16384];
float fRec192[2];
float fRec190[2];
float fVec85[16384];
float fRec195[2];
float fRec193[2];
float fVec86[16384];
float fRec196[2];
float fRec194[2];
float fVec87[1024];
float fVec88[16384];
float fRec180[2];
float fVec89[16384];
float fVec90[16384];
float fRec24[2];
float fRec23[2];
float fRec22[3];
float fRec21[3];
FAUSTFLOAT fslider8;
float fRec20[3];
FAUSTFLOAT fslider9;
float fVec91[16384];
float fRec231[2];
float fRec229[2];
float fVec92[16384];
float fRec232[2];
float fRec230[2];
float fVec93[16384];
float fRec228[2];
float fRec226[2];
float fVec94[16384];
float fRec233[2];
float fRec227[2];
float fVec95[16384];
float fRec225[2];
float fRec223[2];
float fVec96[16384];
float fRec234[2];
float fRec224[2];
float fVec97[16384];
float fRec222[2];
float fRec220[2];
float fVec98[16384];
float fRec235[2];
float fRec221[2];
float fVec99[1024];
float fVec100[16384];
float fRec219[2];
float fVec101[1024];
float fVec102[16384];
float fRec236[2];
float fVec103[16384];
float fRec218[2];
float fRec216[2];
float fVec104[16384];
float fRec237[2];
float fRec217[2];
float fVec105[16384];
float fRec215[2];
float fRec213[2];
float fVec106[16384];
float fRec238[2];
float fRec214[2];
float fVec107[16384];
float fRec212[2];
float fRec210[2];
float fVec108[16384];
float fRec239[2];
float fRec211[2];
float fVec109[16384];
float fRec209[2];
float fRec207[2];
float fVec110[16384];
float fRec240[2];
float fRec208[2];
float fVec111[16384];
float fRec206[2];
float fRec204[2];
float fVec112[16384];
float fRec241[2];
float fRec205[2];
float fVec113[16384];
float fVec114[16384];
float fRec203[2];
float fRec202[2];
float fRec201[3];
float fRec200[3];
float fVec115[2];
float fRec199[2];
float fRec198[3];
float fRec197[3];
FAUSTFLOAT fslider10;
float fRec244[2];
float fRec243[3];
float fRec242[3];
float fVec116[1024];
float fRec17[2];
float fRec253[2];
float fVec117[16384];
float fVec118[16384];
float fRec252[2];
float fRec251[2];
float fRec250[3];
float fRec249[3];
float fVec119[2];
float fRec248[2];
float fRec247[3];
float fRec246[3];
float fRec256[2];
float fRec255[3];
float fRec254[3];
float fVec120[1024];
float fVec121[16384];
float fRec262[2];
float fVec122[16384];
float fVec123[16384];
float fRec261[2];
float fRec260[2];
float fRec259[3];
float fRec258[3];
float fRec257[3];
float fVec124[1024];
float fRec245[2];
float fVec125[16384];
float fRec16[2];
float fRec14[2];
float fRec264[2];
float fVec126[16384];
float fRec263[2];
float fRec15[2];
float fVec127[16384];
float fRec273[2];
float fRec271[2];
float fVec128[16384];
float fRec274[2];
float fRec272[2];
float fVec129[16384];
float fRec277[2];
float fRec275[2];
float fVec130[16384];
float fRec278[2];
float fRec276[2];
float fVec131[16384];
float fRec281[2];
float fRec279[2];
float fVec132[16384];
float fRec282[2];
float fRec280[2];
float fVec133[16384];
float fRec285[2];
float fRec283[2];
float fVec134[16384];
float fRec286[2];
float fRec284[2];
float fVec135[16384];
float fRec289[2];
float fRec287[2];
float fVec136[16384];
float fRec290[2];
float fRec288[2];
float fVec137[16384];
float fRec294[2];
float fRec292[2];
float fVec138[16384];
float fRec295[2];
float fRec293[2];
float fVec139[16384];
float fRec298[2];
float fRec296[2];
float fVec140[16384];
float fRec299[2];
float fRec297[2];
float fVec141[16384];
float fRec302[2];
float fRec300[2];
float fVec142[16384];
float fRec303[2];
float fRec301[2];
float fVec143[16384];
float fRec306[2];
float fRec304[2];
float fVec144[16384];
float fRec307[2];
float fRec305[2];
float fVec145[1024];
float fVec146[16384];
float fRec291[2];
float fVec147[16384];
float fVec148[16384];
float fRec270[2];
float fRec269[2];
float fRec268[3];
float fRec267[3];
float fRec266[3];
float fRec313[2];
float fRec312[3];
float fRec311[3];
float fVec149[2];
float fRec310[2];
float fRec309[3];
float fRec308[3];
float fRec316[2];
float fRec315[3];
float fRec314[3];
float fVec150[1024];
float fRec265[2];
float fRec323[2];
float fRec322[3];
float fRec321[3];
float fVec151[2];
float fRec320[2];
float fRec319[3];
float fRec318[3];
float fRec326[2];
float fRec325[3];
float fRec324[3];
float fVec152[1024];
float fVec153[16384];
float fRec332[2];
float fVec154[16384];
float fVec155[16384];
float fRec331[2];
float fRec330[2];
float fRec329[3];
float fRec328[3];
float fRec327[3];
float fVec156[1024];
float fRec317[2];
float fVec157[16384];
float fRec12[2];
float fRec10[2];
float fVec158[16384];
float fRec333[2];
float fRec11[2];
float fVec159[16384];
float fRec342[2];
float fRec340[2];
float fVec160[16384];
float fRec343[2];
float fRec341[2];
float fVec161[16384];
float fRec346[2];
float fRec344[2];
float fVec162[16384];
float fRec347[2];
float fRec345[2];
float fVec163[16384];
float fRec350[2];
float fRec348[2];
float fVec164[16384];
float fRec351[2];
float fRec349[2];
float fVec165[16384];
float fRec354[2];
float fRec352[2];
float fVec166[16384];
float fRec355[2];
float fRec353[2];
float fVec167[16384];
float fRec359[2];
float fRec357[2];
float fVec168[16384];
float fRec360[2];
float fRec358[2];
float fVec169[16384];
float fRec363[2];
float fRec361[2];
float fVec170[16384];
float fRec364[2];
float fRec362[2];
float fVec171[16384];
float fRec367[2];
float fRec365[2];
float fVec172[16384];
float fRec368[2];
float fRec366[2];
float fVec173[1024];
float fVec174[16384];
float fRec356[2];
float fVec175[16384];
float fRec371[2];
float fRec369[2];
float fVec176[16384];
float fRec372[2];
float fRec370[2];
float fVec177[16384];
float fVec178[16384];
float fRec339[2];
float fRec338[2];
float fRec337[3];
float fRec336[3];
float fRec335[3];
float fRec378[2];
float fRec377[3];
float fRec376[3];
float fVec179[2];
float fRec375[2];
float fRec374[3];
float fRec373[3];
float fRec381[2];
float fRec380[3];
float fRec379[3];
float fVec180[1024];
float fRec334[2];
float fVec181[16384];
float fRec384[2];
float fRec382[2];
float fVec182[16384];
float fRec385[2];
float fRec383[2];
float fRec392[2];
float fRec391[3];
float fRec390[3];
float fVec183[2];
float fRec389[2];
float fRec388[3];
float fRec387[3];
float fRec395[2];
float fRec394[3];
float fRec393[3];
float fVec184[1024];
float fVec185[16384];
float fRec401[2];
float fVec186[16384];
float fVec187[16384];
float fRec400[2];
float fRec399[2];
float fRec398[3];
float fRec397[3];
float fRec396[3];
float fVec188[1024];
float fRec386[2];
float fVec189[16384];
float fRec8[2];
float fRec6[2];
float fRec403[2];
float fVec190[16384];
float fRec402[2];
float fRec7[2];
float fVec191[16384];
float fRec406[2];
float fRec404[2];
float fVec192[16384];
float fRec407[2];
float fRec405[2];
float fVec193[16384];
float fRec410[2];
float fRec408[2];
float fVec194[16384];
float fRec411[2];
float fRec409[2];
float fVec195[16384];
float fRec420[2];
float fRec418[2];
float fVec196[16384];
float fRec421[2];
float fRec419[2];
float fVec197[16384];
float fRec424[2];
float fRec422[2];
float fVec198[16384];
float fRec425[2];
float fRec423[2];
float fVec199[16384];
float fRec428[2];
float fRec426[2];
float fVec200[16384];
float fRec429[2];
float fRec427[2];
float fVec201[16384];
float fRec432[2];
float fRec430[2];
float fVec202[16384];
float fRec433[2];
float fRec431[2];
float fVec203[16384];
float fRec436[2];
float fRec434[2];
float fVec204[16384];
float fRec437[2];
float fRec435[2];
float fVec205[16384];
float fRec441[2];
float fRec439[2];
float fVec206[16384];
float fRec442[2];
float fRec440[2];
float fVec207[16384];
float fRec445[2];
float fRec443[2];
float fVec208[16384];
float fRec446[2];
float fRec444[2];
float fVec209[16384];
float fRec449[2];
float fRec447[2];
float fVec210[16384];
float fRec450[2];
float fRec448[2];
float fVec211[1024];
float fVec212[16384];
float fRec438[2];
float fVec213[16384];
float fVec214[16384];
float fRec417[2];
float fRec416[2];
float fRec415[3];
float fRec414[3];
float fRec413[3];
float fRec456[2];
float fRec455[3];
float fRec454[3];
float fVec215[2];
float fRec453[2];
float fRec452[3];
float fRec451[3];
float fRec459[2];
float fRec458[3];
float fRec457[3];
float fVec216[1024];
float fRec412[2];
float fVec217[1024];
float fVec218[16384];
float fRec466[2];
float fVec219[16384];
float fVec220[16384];
float fRec465[2];
float fRec464[2];
float fRec463[3];
float fRec462[3];
float fRec461[3];
float fRec472[2];
float fRec471[3];
float fRec470[3];
float fVec221[2];
float fRec469[2];
float fRec468[3];
float fRec467[3];
float fRec475[2];
float fRec474[3];
float fRec473[3];
float fVec222[1024];
float fRec460[2];
float fVec223[16384];
float fRec4[2];
float fRec2[2];
float fVec224[16384];
float fRec476[2];
float fRec3[2];
float fVec225[16384];
float fRec479[2];
float fRec477[2];
float fVec226[16384];
float fRec480[2];
float fRec478[2];
float fVec227[16384];
float fRec483[2];
float fRec481[2];
float fVec228[16384];
float fRec484[2];
float fRec482[2];
float fVec229[16384];
float fRec487[2];
float fRec485[2];
float fVec230[16384];
float fRec488[2];
float fRec486[2];
float fVec231[16384];
float fRec497[2];
float fRec495[2];
float fVec232[16384];
float fRec498[2];
float fRec496[2];
float fVec233[16384];
float fRec501[2];
float fRec499[2];
float fVec234[16384];
float fRec502[2];
float fRec500[2];
float fVec235[16384];
float fRec505[2];
float fRec503[2];
float fVec236[16384];
float fRec506[2];
float fRec504[2];
float fVec237[16384];
float fRec509[2];
float fRec507[2];
float fVec238[16384];
float fRec510[2];
float fRec508[2];
float fVec239[16384];
float fRec514[2];
float fRec512[2];
float fVec240[16384];
float fRec515[2];
float fRec513[2];
float fVec241[16384];
float fRec518[2];
float fRec516[2];
float fVec242[16384];
float fRec519[2];
float fRec517[2];
float fVec243[16384];
float fRec522[2];
float fRec520[2];
float fVec244[16384];
float fRec523[2];
float fRec521[2];
float fVec245[1024];
float fVec246[16384];
float fRec511[2];
float fVec247[16384];
float fRec526[2];
float fRec524[2];
float fVec248[16384];
float fRec527[2];
float fRec525[2];
float fVec249[16384];
float fVec250[16384];
float fRec494[2];
float fRec493[2];
float fRec492[3];
float fRec491[3];
float fRec490[3];
float fRec533[2];
float fRec532[3];
float fRec531[3];
float fVec251[2];
float fRec530[2];
float fRec529[3];
float fRec528[3];
float fRec536[2];
float fRec535[3];
float fRec534[3];
float fVec252[1024];
float fRec489[2];
float fRec0[2];
float fVec253[1024];
float fVec254[16384];
float fRec543[2];
float fVec255[16384];
float fVec256[16384];
float fRec542[2];
float fRec541[2];
float fRec540[3];
float fRec539[3];
float fRec538[3];
float fRec549[2];
float fRec548[3];
float fRec547[3];
float fVec257[2];
float fRec546[2];
float fRec545[3];
float fRec544[3];
float fRec552[2];
float fRec551[3];
float fRec550[3];
float fVec258[1024];
float fRec537[2];
float fRec1[2];
int fSamplingFreq;
public:
virtual void metadata(Meta* m) {
m->declare("name", "JPverbRaw");
m->declare("version", "1.1");
m->declare("author", "Julian Parker, bug fixes by Till Bovermann");
m->declare("license", "GPL2+");
m->declare("copyright", "(c) Julian Parker 2013");
m->declare("signals.lib/name", "Faust Signal Routing Library");
m->declare("signals.lib/version", "0.0");
m->declare("delays.lib/name", "Faust Delay Library");
m->declare("delays.lib/version", "0.0");
m->declare("oscillators.lib/name", "Faust Oscillator Library");
m->declare("oscillators.lib/version", "0.0");
m->declare("filters.lib/name", "Faust Filters Library");
m->declare("filters.lib/version", "0.0");
m->declare("maths.lib/name", "Faust Math Library");
m->declare("maths.lib/version", "2.0");
m->declare("maths.lib/author", "GRAME");
m->declare("maths.lib/copyright", "GRAME");
m->declare("maths.lib/license", "LGPL with exception");
m->declare("analyzers.lib/name", "Faust Analyzer Library");
m->declare("analyzers.lib/version", "0.0");
m->declare("basics.lib/name", "Faust Basic Element Library");
m->declare("basics.lib/version", "0.0");
}
virtual int getNumInputs() { return 2; }
virtual int getNumOutputs() { return 2; }
static void classInit(int samplingFreq) {
SIG0 sig0;
sig0.init(samplingFreq);
sig0.fill(1302,itbl0);
}
virtual void instanceConstants(int samplingFreq) {
fSamplingFreq = samplingFreq;
fConst0 = min(1.92e+05f, max(1e+03f, (float)fSamplingFreq));
fConst1 = (6.2831855f / fConst0);
fConst2 = (3.1415927f / fConst0);
}
virtual void instanceResetUserInterface() {
fslider0 = 0.707f;
fslider1 = 1.0f;
fslider2 = 0.0f;
fslider3 = 0.1f;
fslider4 = 2.0f;
fslider5 = 1.0f;
fslider6 = 1.0f;
fslider7 = 2e+03f;
fslider8 = 5e+02f;
fslider9 = 1.0f;
fslider10 = 1.0f;
}
virtual void instanceClear() {
for (int i=0; i<2; i++) iVec0[i] = 0;
for (int i=0; i<2; i++) fRec5[i] = 0;
for (int i=0; i<2; i++) fRec9[i] = 0;
for (int i=0; i<2; i++) fRec13[i] = 0;
for (int i=0; i<2; i++) fRec18[i] = 0;
for (int i=0; i<2; i++) fRec19[i] = 0;
for (int i=0; i<2; i++) fRec25[i] = 0;
for (int i=0; i<2; i++) fRec35[i] = 0;
for (int i=0; i<2; i++) fRec39[i] = 0;
for (int i=0; i<2; i++) fRec44[i] = 0;
for (int i=0; i<2; i++) fRec48[i] = 0;
for (int i=0; i<2; i++) fRec52[i] = 0;
for (int i=0; i<2; i++) fRec56[i] = 0;
for (int i=0; i<2; i++) fRec60[i] = 0;
IOTA = 0;
for (int i=0; i<16384; i++) fVec1[i] = 0;
for (int i=0; i<2; i++) fRec59[i] = 0;
for (int i=0; i<2; i++) fRec57[i] = 0;
for (int i=0; i<2; i++) fRec62[i] = 0;
for (int i=0; i<16384; i++) fVec2[i] = 0;
for (int i=0; i<2; i++) fRec61[i] = 0;
for (int i=0; i<2; i++) fRec58[i] = 0;
for (int i=0; i<16384; i++) fVec3[i] = 0;
for (int i=0; i<2; i++) fRec55[i] = 0;
for (int i=0; i<2; i++) fRec53[i] = 0;
for (int i=0; i<2; i++) fRec64[i] = 0;
for (int i=0; i<16384; i++) fVec4[i] = 0;
for (int i=0; i<2; i++) fRec63[i] = 0;
for (int i=0; i<2; i++) fRec54[i] = 0;
for (int i=0; i<16384; i++) fVec5[i] = 0;
for (int i=0; i<2; i++) fRec51[i] = 0;
for (int i=0; i<2; i++) fRec49[i] = 0;
for (int i=0; i<2; i++) fRec66[i] = 0;
for (int i=0; i<16384; i++) fVec6[i] = 0;
for (int i=0; i<2; i++) fRec65[i] = 0;
for (int i=0; i<2; i++) fRec50[i] = 0;
for (int i=0; i<16384; i++) fVec7[i] = 0;
for (int i=0; i<2; i++) fRec47[i] = 0;
for (int i=0; i<2; i++) fRec45[i] = 0;
for (int i=0; i<2; i++) fRec68[i] = 0;
for (int i=0; i<16384; i++) fVec8[i] = 0;
for (int i=0; i<2; i++) fRec67[i] = 0;
for (int i=0; i<2; i++) fRec46[i] = 0;
for (int i=0; i<16384; i++) fVec9[i] = 0;
for (int i=0; i<2; i++) fRec43[i] = 0;
for (int i=0; i<2; i++) fRec41[i] = 0;
for (int i=0; i<2; i++) fRec70[i] = 0;
for (int i=0; i<16384; i++) fVec10[i] = 0;
for (int i=0; i<2; i++) fRec69[i] = 0;
for (int i=0; i<2; i++) fRec42[i] = 0;
for (int i=0; i<1024; i++) fVec11[i] = 0;
for (int i=0; i<16384; i++) fVec12[i] = 0;
for (int i=0; i<2; i++) fRec71[i] = 0;
for (int i=0; i<2; i++) fRec40[i] = 0;
for (int i=0; i<1024; i++) fVec13[i] = 0;
for (int i=0; i<16384; i++) fVec14[i] = 0;
for (int i=0; i<2; i++) fRec73[i] = 0;
for (int i=0; i<2; i++) fRec72[i] = 0;
for (int i=0; i<16384; i++) fVec15[i] = 0;
for (int i=0; i<2; i++) fRec38[i] = 0;
for (int i=0; i<2; i++) fRec36[i] = 0;
for (int i=0; i<2; i++) fRec75[i] = 0;
for (int i=0; i<16384; i++) fVec16[i] = 0;
for (int i=0; i<2; i++) fRec74[i] = 0;
for (int i=0; i<2; i++) fRec37[i] = 0;
for (int i=0; i<2; i++) fRec76[i] = 0;
for (int i=0; i<2; i++) fRec77[i] = 0;
for (int i=0; i<16384; i++) fVec17[i] = 0;
for (int i=0; i<2; i++) fRec34[i] = 0;
for (int i=0; i<2; i++) fRec32[i] = 0;
for (int i=0; i<16384; i++) fVec18[i] = 0;
for (int i=0; i<2; i++) fRec79[i] = 0;
for (int i=0; i<2; i++) fRec78[i] = 0;
for (int i=0; i<2; i++) fRec33[i] = 0;
for (int i=0; i<16384; i++) fVec19[i] = 0;
for (int i=0; i<2; i++) fRec83[i] = 0;
for (int i=0; i<2; i++) fRec81[i] = 0;
for (int i=0; i<16384; i++) fVec20[i] = 0;
for (int i=0; i<2; i++) fRec84[i] = 0;
for (int i=0; i<2; i++) fRec82[i] = 0;
for (int i=0; i<16384; i++) fVec21[i] = 0;
for (int i=0; i<2; i++) fRec87[i] = 0;
for (int i=0; i<2; i++) fRec85[i] = 0;
for (int i=0; i<16384; i++) fVec22[i] = 0;
for (int i=0; i<2; i++) fRec88[i] = 0;
for (int i=0; i<2; i++) fRec86[i] = 0;
for (int i=0; i<16384; i++) fVec23[i] = 0;
for (int i=0; i<2; i++) fRec91[i] = 0;
for (int i=0; i<2; i++) fRec89[i] = 0;
for (int i=0; i<16384; i++) fVec24[i] = 0;
for (int i=0; i<2; i++) fRec92[i] = 0;
for (int i=0; i<2; i++) fRec90[i] = 0;
for (int i=0; i<1024; i++) fVec25[i] = 0;
for (int i=0; i<16384; i++) fVec26[i] = 0;
for (int i=0; i<2; i++) fRec80[i] = 0;
for (int i=0; i<16384; i++) fVec27[i] = 0;
for (int i=0; i<2; i++) fRec95[i] = 0;
for (int i=0; i<2; i++) fRec93[i] = 0;
for (int i=0; i<16384; i++) fVec28[i] = 0;
for (int i=0; i<2; i++) fRec96[i] = 0;
for (int i=0; i<2; i++) fRec94[i] = 0;
for (int i=0; i<2; i++) fRec100[i] = 0;
for (int i=0; i<16384; i++) fVec29[i] = 0;
for (int i=0; i<2; i++) fRec122[i] = 0;
for (int i=0; i<2; i++) fRec120[i] = 0;
for (int i=0; i<16384; i++) fVec30[i] = 0;
for (int i=0; i<2; i++) fRec123[i] = 0;
for (int i=0; i<2; i++) fRec121[i] = 0;
for (int i=0; i<16384; i++) fVec31[i] = 0;
for (int i=0; i<2; i++) fRec119[i] = 0;
for (int i=0; i<2; i++) fRec117[i] = 0;
for (int i=0; i<16384; i++) fVec32[i] = 0;
for (int i=0; i<2; i++) fRec124[i] = 0;
for (int i=0; i<2; i++) fRec118[i] = 0;
for (int i=0; i<16384; i++) fVec33[i] = 0;
for (int i=0; i<2; i++) fRec116[i] = 0;
for (int i=0; i<2; i++) fRec114[i] = 0;
for (int i=0; i<16384; i++) fVec34[i] = 0;
for (int i=0; i<2; i++) fRec125[i] = 0;
for (int i=0; i<2; i++) fRec115[i] = 0;
for (int i=0; i<16384; i++) fVec35[i] = 0;
for (int i=0; i<2; i++) fRec113[i] = 0;
for (int i=0; i<2; i++) fRec111[i] = 0;
for (int i=0; i<16384; i++) fVec36[i] = 0;
for (int i=0; i<2; i++) fRec126[i] = 0;
for (int i=0; i<2; i++) fRec112[i] = 0;
for (int i=0; i<16384; i++) fVec37[i] = 0;
for (int i=0; i<2; i++) fRec110[i] = 0;
for (int i=0; i<2; i++) fRec108[i] = 0;
for (int i=0; i<16384; i++) fVec38[i] = 0;
for (int i=0; i<2; i++) fRec127[i] = 0;
for (int i=0; i<2; i++) fRec109[i] = 0;
for (int i=0; i<1024; i++) fVec39[i] = 0;
for (int i=0; i<16384; i++) fVec40[i] = 0;
for (int i=0; i<2; i++) fRec107[i] = 0;
for (int i=0; i<1024; i++) fVec41[i] = 0;
for (int i=0; i<16384; i++) fVec42[i] = 0;
for (int i=0; i<2; i++) fRec128[i] = 0;
for (int i=0; i<16384; i++) fVec43[i] = 0;
for (int i=0; i<2; i++) fRec106[i] = 0;
for (int i=0; i<2; i++) fRec104[i] = 0;
for (int i=0; i<16384; i++) fVec44[i] = 0;
for (int i=0; i<2; i++) fRec129[i] = 0;
for (int i=0; i<2; i++) fRec105[i] = 0;
for (int i=0; i<16384; i++) fVec45[i] = 0;
for (int i=0; i<2; i++) fRec103[i] = 0;
for (int i=0; i<2; i++) fRec101[i] = 0;
for (int i=0; i<16384; i++) fVec46[i] = 0;
for (int i=0; i<2; i++) fRec130[i] = 0;
for (int i=0; i<2; i++) fRec102[i] = 0;
for (int i=0; i<16384; i++) fVec47[i] = 0;
for (int i=0; i<2; i++) fRec99[i] = 0;
for (int i=0; i<2; i++) fRec97[i] = 0;
for (int i=0; i<2; i++) fRec132[i] = 0;
for (int i=0; i<16384; i++) fVec48[i] = 0;
for (int i=0; i<2; i++) fRec131[i] = 0;
for (int i=0; i<2; i++) fRec98[i] = 0;
for (int i=0; i<1024; i++) fVec49[i] = 0;
for (int i=0; i<16384; i++) fVec50[i] = 0;
for (int i=0; i<2; i++) fRec133[i] = 0;
for (int i=0; i<16384; i++) fVec51[i] = 0;
for (int i=0; i<2; i++) fRec31[i] = 0;
for (int i=0; i<2; i++) fRec29[i] = 0;
for (int i=0; i<16384; i++) fVec52[i] = 0;
for (int i=0; i<2; i++) fRec134[i] = 0;
for (int i=0; i<2; i++) fRec30[i] = 0;
for (int i=0; i<16384; i++) fVec53[i] = 0;
for (int i=0; i<2; i++) fRec137[i] = 0;
for (int i=0; i<2; i++) fRec135[i] = 0;
for (int i=0; i<16384; i++) fVec54[i] = 0;
for (int i=0; i<2; i++) fRec138[i] = 0;
for (int i=0; i<2; i++) fRec136[i] = 0;
for (int i=0; i<16384; i++) fVec55[i] = 0;
for (int i=0; i<2; i++) fRec141[i] = 0;
for (int i=0; i<2; i++) fRec139[i] = 0;
for (int i=0; i<16384; i++) fVec56[i] = 0;
for (int i=0; i<2; i++) fRec142[i] = 0;
for (int i=0; i<2; i++) fRec140[i] = 0;
for (int i=0; i<16384; i++) fVec57[i] = 0;
for (int i=0; i<2; i++) fRec145[i] = 0;
for (int i=0; i<2; i++) fRec143[i] = 0;
for (int i=0; i<16384; i++) fVec58[i] = 0;
for (int i=0; i<2; i++) fRec146[i] = 0;
for (int i=0; i<2; i++) fRec144[i] = 0;
for (int i=0; i<16384; i++) fVec59[i] = 0;
for (int i=0; i<2; i++) fRec150[i] = 0;
for (int i=0; i<2; i++) fRec148[i] = 0;
for (int i=0; i<16384; i++) fVec60[i] = 0;
for (int i=0; i<2; i++) fRec151[i] = 0;
for (int i=0; i<2; i++) fRec149[i] = 0;
for (int i=0; i<16384; i++) fVec61[i] = 0;
for (int i=0; i<2; i++) fRec154[i] = 0;
for (int i=0; i<2; i++) fRec152[i] = 0;
for (int i=0; i<16384; i++) fVec62[i] = 0;
for (int i=0; i<2; i++) fRec155[i] = 0;
for (int i=0; i<2; i++) fRec153[i] = 0;
for (int i=0; i<16384; i++) fVec63[i] = 0;
for (int i=0; i<2; i++) fRec158[i] = 0;
for (int i=0; i<2; i++) fRec156[i] = 0;
for (int i=0; i<16384; i++) fVec64[i] = 0;
for (int i=0; i<2; i++) fRec159[i] = 0;
for (int i=0; i<2; i++) fRec157[i] = 0;
for (int i=0; i<1024; i++) fVec65[i] = 0;
for (int i=0; i<16384; i++) fVec66[i] = 0;
for (int i=0; i<2; i++) fRec147[i] = 0;
for (int i=0; i<1024; i++) fVec67[i] = 0;
for (int i=0; i<16384; i++) fVec68[i] = 0;
for (int i=0; i<2; i++) fRec160[i] = 0;
for (int i=0; i<16384; i++) fVec69[i] = 0;
for (int i=0; i<2; i++) fRec161[i] = 0;
for (int i=0; i<2; i++) fRec28[i] = 0;
for (int i=0; i<2; i++) fRec26[i] = 0;
for (int i=0; i<2; i++) fRec163[i] = 0;
for (int i=0; i<16384; i++) fVec70[i] = 0;
for (int i=0; i<2; i++) fRec162[i] = 0;
for (int i=0; i<2; i++) fRec27[i] = 0;
for (int i=0; i<16384; i++) fVec71[i] = 0;
for (int i=0; i<2; i++) fRec166[i] = 0;
for (int i=0; i<2; i++) fRec164[i] = 0;
for (int i=0; i<16384; i++) fVec72[i] = 0;
for (int i=0; i<2; i++) fRec167[i] = 0;
for (int i=0; i<2; i++) fRec165[i] = 0;
for (int i=0; i<16384; i++) fVec73[i] = 0;
for (int i=0; i<2; i++) fRec170[i] = 0;
for (int i=0; i<2; i++) fRec168[i] = 0;
for (int i=0; i<16384; i++) fVec74[i] = 0;
for (int i=0; i<2; i++) fRec171[i] = 0;
for (int i=0; i<2; i++) fRec169[i] = 0;
for (int i=0; i<16384; i++) fVec75[i] = 0;
for (int i=0; i<2; i++) fRec174[i] = 0;
for (int i=0; i<2; i++) fRec172[i] = 0;
for (int i=0; i<16384; i++) fVec76[i] = 0;
for (int i=0; i<2; i++) fRec175[i] = 0;
for (int i=0; i<2; i++) fRec173[i] = 0;
for (int i=0; i<16384; i++) fVec77[i] = 0;
for (int i=0; i<2; i++) fRec178[i] = 0;
for (int i=0; i<2; i++) fRec176[i] = 0;
for (int i=0; i<16384; i++) fVec78[i] = 0;
for (int i=0; i<2; i++) fRec179[i] = 0;
for (int i=0; i<2; i++) fRec177[i] = 0;
for (int i=0; i<16384; i++) fVec79[i] = 0;
for (int i=0; i<2; i++) fRec183[i] = 0;
for (int i=0; i<2; i++) fRec181[i] = 0;
for (int i=0; i<16384; i++) fVec80[i] = 0;
for (int i=0; i<2; i++) fRec184[i] = 0;
for (int i=0; i<2; i++) fRec182[i] = 0;
for (int i=0; i<16384; i++) fVec81[i] = 0;
for (int i=0; i<2; i++) fRec187[i] = 0;
for (int i=0; i<2; i++) fRec185[i] = 0;
for (int i=0; i<16384; i++) fVec82[i] = 0;
for (int i=0; i<2; i++) fRec188[i] = 0;
for (int i=0; i<2; i++) fRec186[i] = 0;
for (int i=0; i<16384; i++) fVec83[i] = 0;
for (int i=0; i<2; i++) fRec191[i] = 0;
for (int i=0; i<2; i++) fRec189[i] = 0;
for (int i=0; i<16384; i++) fVec84[i] = 0;
for (int i=0; i<2; i++) fRec192[i] = 0;
for (int i=0; i<2; i++) fRec190[i] = 0;
for (int i=0; i<16384; i++) fVec85[i] = 0;
for (int i=0; i<2; i++) fRec195[i] = 0;
for (int i=0; i<2; i++) fRec193[i] = 0;
for (int i=0; i<16384; i++) fVec86[i] = 0;
for (int i=0; i<2; i++) fRec196[i] = 0;
for (int i=0; i<2; i++) fRec194[i] = 0;
for (int i=0; i<1024; i++) fVec87[i] = 0;
for (int i=0; i<16384; i++) fVec88[i] = 0;
for (int i=0; i<2; i++) fRec180[i] = 0;
for (int i=0; i<16384; i++) fVec89[i] = 0;
for (int i=0; i<16384; i++) fVec90[i] = 0;
for (int i=0; i<2; i++) fRec24[i] = 0;
for (int i=0; i<2; i++) fRec23[i] = 0;
for (int i=0; i<3; i++) fRec22[i] = 0;
for (int i=0; i<3; i++) fRec21[i] = 0;
for (int i=0; i<3; i++) fRec20[i] = 0;
for (int i=0; i<16384; i++) fVec91[i] = 0;
for (int i=0; i<2; i++) fRec231[i] = 0;
for (int i=0; i<2; i++) fRec229[i] = 0;
for (int i=0; i<16384; i++) fVec92[i] = 0;
for (int i=0; i<2; i++) fRec232[i] = 0;
for (int i=0; i<2; i++) fRec230[i] = 0;
for (int i=0; i<16384; i++) fVec93[i] = 0;
for (int i=0; i<2; i++) fRec228[i] = 0;
for (int i=0; i<2; i++) fRec226[i] = 0;
for (int i=0; i<16384; i++) fVec94[i] = 0;
for (int i=0; i<2; i++) fRec233[i] = 0;
for (int i=0; i<2; i++) fRec227[i] = 0;
for (int i=0; i<16384; i++) fVec95[i] = 0;
for (int i=0; i<2; i++) fRec225[i] = 0;
for (int i=0; i<2; i++) fRec223[i] = 0;
for (int i=0; i<16384; i++) fVec96[i] = 0;
for (int i=0; i<2; i++) fRec234[i] = 0;
for (int i=0; i<2; i++) fRec224[i] = 0;
for (int i=0; i<16384; i++) fVec97[i] = 0;
for (int i=0; i<2; i++) fRec222[i] = 0;
for (int i=0; i<2; i++) fRec220[i] = 0;
for (int i=0; i<16384; i++) fVec98[i] = 0;
for (int i=0; i<2; i++) fRec235[i] = 0;
for (int i=0; i<2; i++) fRec221[i] = 0;
for (int i=0; i<1024; i++) fVec99[i] = 0;
for (int i=0; i<16384; i++) fVec100[i] = 0;
for (int i=0; i<2; i++) fRec219[i] = 0;
for (int i=0; i<1024; i++) fVec101[i] = 0;
for (int i=0; i<16384; i++) fVec102[i] = 0;
for (int i=0; i<2; i++) fRec236[i] = 0;
for (int i=0; i<16384; i++) fVec103[i] = 0;
for (int i=0; i<2; i++) fRec218[i] = 0;
for (int i=0; i<2; i++) fRec216[i] = 0;
for (int i=0; i<16384; i++) fVec104[i] = 0;
for (int i=0; i<2; i++) fRec237[i] = 0;
for (int i=0; i<2; i++) fRec217[i] = 0;
for (int i=0; i<16384; i++) fVec105[i] = 0;
for (int i=0; i<2; i++) fRec215[i] = 0;
for (int i=0; i<2; i++) fRec213[i] = 0;
for (int i=0; i<16384; i++) fVec106[i] = 0;
for (int i=0; i<2; i++) fRec238[i] = 0;
for (int i=0; i<2; i++) fRec214[i] = 0;
for (int i=0; i<16384; i++) fVec107[i] = 0;
for (int i=0; i<2; i++) fRec212[i] = 0;
for (int i=0; i<2; i++) fRec210[i] = 0;
for (int i=0; i<16384; i++) fVec108[i] = 0;
for (int i=0; i<2; i++) fRec239[i] = 0;
for (int i=0; i<2; i++) fRec211[i] = 0;
for (int i=0; i<16384; i++) fVec109[i] = 0;
for (int i=0; i<2; i++) fRec209[i] = 0;
for (int i=0; i<2; i++) fRec207[i] = 0;
for (int i=0; i<16384; i++) fVec110[i] = 0;
for (int i=0; i<2; i++) fRec240[i] = 0;
for (int i=0; i<2; i++) fRec208[i] = 0;
for (int i=0; i<16384; i++) fVec111[i] = 0;
for (int i=0; i<2; i++) fRec206[i] = 0;
for (int i=0; i<2; i++) fRec204[i] = 0;
for (int i=0; i<16384; i++) fVec112[i] = 0;
for (int i=0; i<2; i++) fRec241[i] = 0;
for (int i=0; i<2; i++) fRec205[i] = 0;
for (int i=0; i<16384; i++) fVec113[i] = 0;
for (int i=0; i<16384; i++) fVec114[i] = 0;
for (int i=0; i<2; i++) fRec203[i] = 0;
for (int i=0; i<2; i++) fRec202[i] = 0;
for (int i=0; i<3; i++) fRec201[i] = 0;
for (int i=0; i<3; i++) fRec200[i] = 0;
for (int i=0; i<2; i++) fVec115[i] = 0;
for (int i=0; i<2; i++) fRec199[i] = 0;
for (int i=0; i<3; i++) fRec198[i] = 0;
for (int i=0; i<3; i++) fRec197[i] = 0;
for (int i=0; i<2; i++) fRec244[i] = 0;
for (int i=0; i<3; i++) fRec243[i] = 0;
for (int i=0; i<3; i++) fRec242[i] = 0;
for (int i=0; i<1024; i++) fVec116[i] = 0;
for (int i=0; i<2; i++) fRec17[i] = 0;
for (int i=0; i<2; i++) fRec253[i] = 0;
for (int i=0; i<16384; i++) fVec117[i] = 0;
for (int i=0; i<16384; i++) fVec118[i] = 0;
for (int i=0; i<2; i++) fRec252[i] = 0;
for (int i=0; i<2; i++) fRec251[i] = 0;
for (int i=0; i<3; i++) fRec250[i] = 0;
for (int i=0; i<3; i++) fRec249[i] = 0;
for (int i=0; i<2; i++) fVec119[i] = 0;
for (int i=0; i<2; i++) fRec248[i] = 0;
for (int i=0; i<3; i++) fRec247[i] = 0;
for (int i=0; i<3; i++) fRec246[i] = 0;
for (int i=0; i<2; i++) fRec256[i] = 0;
for (int i=0; i<3; i++) fRec255[i] = 0;
for (int i=0; i<3; i++) fRec254[i] = 0;
for (int i=0; i<1024; i++) fVec120[i] = 0;
for (int i=0; i<16384; i++) fVec121[i] = 0;
for (int i=0; i<2; i++) fRec262[i] = 0;
for (int i=0; i<16384; i++) fVec122[i] = 0;
for (int i=0; i<16384; i++) fVec123[i] = 0;
for (int i=0; i<2; i++) fRec261[i] = 0;
for (int i=0; i<2; i++) fRec260[i] = 0;
for (int i=0; i<3; i++) fRec259[i] = 0;
for (int i=0; i<3; i++) fRec258[i] = 0;
for (int i=0; i<3; i++) fRec257[i] = 0;
for (int i=0; i<1024; i++) fVec124[i] = 0;
for (int i=0; i<2; i++) fRec245[i] = 0;
for (int i=0; i<16384; i++) fVec125[i] = 0;
for (int i=0; i<2; i++) fRec16[i] = 0;
for (int i=0; i<2; i++) fRec14[i] = 0;
for (int i=0; i<2; i++) fRec264[i] = 0;
for (int i=0; i<16384; i++) fVec126[i] = 0;
for (int i=0; i<2; i++) fRec263[i] = 0;
for (int i=0; i<2; i++) fRec15[i] = 0;
for (int i=0; i<16384; i++) fVec127[i] = 0;
for (int i=0; i<2; i++) fRec273[i] = 0;
for (int i=0; i<2; i++) fRec271[i] = 0;
for (int i=0; i<16384; i++) fVec128[i] = 0;
for (int i=0; i<2; i++) fRec274[i] = 0;
for (int i=0; i<2; i++) fRec272[i] = 0;
for (int i=0; i<16384; i++) fVec129[i] = 0;
for (int i=0; i<2; i++) fRec277[i] = 0;
for (int i=0; i<2; i++) fRec275[i] = 0;
for (int i=0; i<16384; i++) fVec130[i] = 0;
for (int i=0; i<2; i++) fRec278[i] = 0;
for (int i=0; i<2; i++) fRec276[i] = 0;
for (int i=0; i<16384; i++) fVec131[i] = 0;
for (int i=0; i<2; i++) fRec281[i] = 0;
for (int i=0; i<2; i++) fRec279[i] = 0;
for (int i=0; i<16384; i++) fVec132[i] = 0;
for (int i=0; i<2; i++) fRec282[i] = 0;
for (int i=0; i<2; i++) fRec280[i] = 0;
for (int i=0; i<16384; i++) fVec133[i] = 0;
for (int i=0; i<2; i++) fRec285[i] = 0;
for (int i=0; i<2; i++) fRec283[i] = 0;
for (int i=0; i<16384; i++) fVec134[i] = 0;
for (int i=0; i<2; i++) fRec286[i] = 0;
for (int i=0; i<2; i++) fRec284[i] = 0;
for (int i=0; i<16384; i++) fVec135[i] = 0;
for (int i=0; i<2; i++) fRec289[i] = 0;
for (int i=0; i<2; i++) fRec287[i] = 0;
for (int i=0; i<16384; i++) fVec136[i] = 0;
for (int i=0; i<2; i++) fRec290[i] = 0;
for (int i=0; i<2; i++) fRec288[i] = 0;
for (int i=0; i<16384; i++) fVec137[i] = 0;
for (int i=0; i<2; i++) fRec294[i] = 0;
for (int i=0; i<2; i++) fRec292[i] = 0;
for (int i=0; i<16384; i++) fVec138[i] = 0;
for (int i=0; i<2; i++) fRec295[i] = 0;
for (int i=0; i<2; i++) fRec293[i] = 0;
for (int i=0; i<16384; i++) fVec139[i] = 0;
for (int i=0; i<2; i++) fRec298[i] = 0;
for (int i=0; i<2; i++) fRec296[i] = 0;
for (int i=0; i<16384; i++) fVec140[i] = 0;
for (int i=0; i<2; i++) fRec299[i] = 0;
for (int i=0; i<2; i++) fRec297[i] = 0;
for (int i=0; i<16384; i++) fVec141[i] = 0;
for (int i=0; i<2; i++) fRec302[i] = 0;
for (int i=0; i<2; i++) fRec300[i] = 0;
for (int i=0; i<16384; i++) fVec142[i] = 0;
for (int i=0; i<2; i++) fRec303[i] = 0;
for (int i=0; i<2; i++) fRec301[i] = 0;
for (int i=0; i<16384; i++) fVec143[i] = 0;
for (int i=0; i<2; i++) fRec306[i] = 0;
for (int i=0; i<2; i++) fRec304[i] = 0;
for (int i=0; i<16384; i++) fVec144[i] = 0;
for (int i=0; i<2; i++) fRec307[i] = 0;
for (int i=0; i<2; i++) fRec305[i] = 0;
for (int i=0; i<1024; i++) fVec145[i] = 0;
for (int i=0; i<16384; i++) fVec146[i] = 0;
for (int i=0; i<2; i++) fRec291[i] = 0;
for (int i=0; i<16384; i++) fVec147[i] = 0;
for (int i=0; i<16384; i++) fVec148[i] = 0;
for (int i=0; i<2; i++) fRec270[i] = 0;
for (int i=0; i<2; i++) fRec269[i] = 0;
for (int i=0; i<3; i++) fRec268[i] = 0;
for (int i=0; i<3; i++) fRec267[i] = 0;
for (int i=0; i<3; i++) fRec266[i] = 0;
for (int i=0; i<2; i++) fRec313[i] = 0;
for (int i=0; i<3; i++) fRec312[i] = 0;
for (int i=0; i<3; i++) fRec311[i] = 0;
for (int i=0; i<2; i++) fVec149[i] = 0;
for (int i=0; i<2; i++) fRec310[i] = 0;
for (int i=0; i<3; i++) fRec309[i] = 0;
for (int i=0; i<3; i++) fRec308[i] = 0;
for (int i=0; i<2; i++) fRec316[i] = 0;
for (int i=0; i<3; i++) fRec315[i] = 0;
for (int i=0; i<3; i++) fRec314[i] = 0;
for (int i=0; i<1024; i++) fVec150[i] = 0;
for (int i=0; i<2; i++) fRec265[i] = 0;
for (int i=0; i<2; i++) fRec323[i] = 0;
for (int i=0; i<3; i++) fRec322[i] = 0;
for (int i=0; i<3; i++) fRec321[i] = 0;
for (int i=0; i<2; i++) fVec151[i] = 0;
for (int i=0; i<2; i++) fRec320[i] = 0;
for (int i=0; i<3; i++) fRec319[i] = 0;
for (int i=0; i<3; i++) fRec318[i] = 0;
for (int i=0; i<2; i++) fRec326[i] = 0;
for (int i=0; i<3; i++) fRec325[i] = 0;
for (int i=0; i<3; i++) fRec324[i] = 0;
for (int i=0; i<1024; i++) fVec152[i] = 0;
for (int i=0; i<16384; i++) fVec153[i] = 0;
for (int i=0; i<2; i++) fRec332[i] = 0;
for (int i=0; i<16384; i++) fVec154[i] = 0;
for (int i=0; i<16384; i++) fVec155[i] = 0;
for (int i=0; i<2; i++) fRec331[i] = 0;
for (int i=0; i<2; i++) fRec330[i] = 0;
for (int i=0; i<3; i++) fRec329[i] = 0;
for (int i=0; i<3; i++) fRec328[i] = 0;
for (int i=0; i<3; i++) fRec327[i] = 0;
for (int i=0; i<1024; i++) fVec156[i] = 0;
for (int i=0; i<2; i++) fRec317[i] = 0;
for (int i=0; i<16384; i++) fVec157[i] = 0;
for (int i=0; i<2; i++) fRec12[i] = 0;
for (int i=0; i<2; i++) fRec10[i] = 0;
for (int i=0; i<16384; i++) fVec158[i] = 0;
for (int i=0; i<2; i++) fRec333[i] = 0;
for (int i=0; i<2; i++) fRec11[i] = 0;
for (int i=0; i<16384; i++) fVec159[i] = 0;
for (int i=0; i<2; i++) fRec342[i] = 0;
for (int i=0; i<2; i++) fRec340[i] = 0;
for (int i=0; i<16384; i++) fVec160[i] = 0;
for (int i=0; i<2; i++) fRec343[i] = 0;
for (int i=0; i<2; i++) fRec341[i] = 0;
for (int i=0; i<16384; i++) fVec161[i] = 0;
for (int i=0; i<2; i++) fRec346[i] = 0;
for (int i=0; i<2; i++) fRec344[i] = 0;
for (int i=0; i<16384; i++) fVec162[i] = 0;
for (int i=0; i<2; i++) fRec347[i] = 0;
for (int i=0; i<2; i++) fRec345[i] = 0;
for (int i=0; i<16384; i++) fVec163[i] = 0;
for (int i=0; i<2; i++) fRec350[i] = 0;
for (int i=0; i<2; i++) fRec348[i] = 0;
for (int i=0; i<16384; i++) fVec164[i] = 0;
for (int i=0; i<2; i++) fRec351[i] = 0;
for (int i=0; i<2; i++) fRec349[i] = 0;
for (int i=0; i<16384; i++) fVec165[i] = 0;
for (int i=0; i<2; i++) fRec354[i] = 0;
for (int i=0; i<2; i++) fRec352[i] = 0;
for (int i=0; i<16384; i++) fVec166[i] = 0;
for (int i=0; i<2; i++) fRec355[i] = 0;
for (int i=0; i<2; i++) fRec353[i] = 0;
for (int i=0; i<16384; i++) fVec167[i] = 0;
for (int i=0; i<2; i++) fRec359[i] = 0;
for (int i=0; i<2; i++) fRec357[i] = 0;
for (int i=0; i<16384; i++) fVec168[i] = 0;
for (int i=0; i<2; i++) fRec360[i] = 0;
for (int i=0; i<2; i++) fRec358[i] = 0;
for (int i=0; i<16384; i++) fVec169[i] = 0;
for (int i=0; i<2; i++) fRec363[i] = 0;
for (int i=0; i<2; i++) fRec361[i] = 0;
for (int i=0; i<16384; i++) fVec170[i] = 0;
for (int i=0; i<2; i++) fRec364[i] = 0;
for (int i=0; i<2; i++) fRec362[i] = 0;
for (int i=0; i<16384; i++) fVec171[i] = 0;
for (int i=0; i<2; i++) fRec367[i] = 0;
for (int i=0; i<2; i++) fRec365[i] = 0;
for (int i=0; i<16384; i++) fVec172[i] = 0;
for (int i=0; i<2; i++) fRec368[i] = 0;
for (int i=0; i<2; i++) fRec366[i] = 0;
for (int i=0; i<1024; i++) fVec173[i] = 0;
for (int i=0; i<16384; i++) fVec174[i] = 0;
for (int i=0; i<2; i++) fRec356[i] = 0;
for (int i=0; i<16384; i++) fVec175[i] = 0;
for (int i=0; i<2; i++) fRec371[i] = 0;
for (int i=0; i<2; i++) fRec369[i] = 0;
for (int i=0; i<16384; i++) fVec176[i] = 0;
for (int i=0; i<2; i++) fRec372[i] = 0;
for (int i=0; i<2; i++) fRec370[i] = 0;
for (int i=0; i<16384; i++) fVec177[i] = 0;
for (int i=0; i<16384; i++) fVec178[i] = 0;
for (int i=0; i<2; i++) fRec339[i] = 0;
for (int i=0; i<2; i++) fRec338[i] = 0;
for (int i=0; i<3; i++) fRec337[i] = 0;
for (int i=0; i<3; i++) fRec336[i] = 0;
for (int i=0; i<3; i++) fRec335[i] = 0;
for (int i=0; i<2; i++) fRec378[i] = 0;
for (int i=0; i<3; i++) fRec377[i] = 0;
for (int i=0; i<3; i++) fRec376[i] = 0;
for (int i=0; i<2; i++) fVec179[i] = 0;
for (int i=0; i<2; i++) fRec375[i] = 0;
for (int i=0; i<3; i++) fRec374[i] = 0;
for (int i=0; i<3; i++) fRec373[i] = 0;
for (int i=0; i<2; i++) fRec381[i] = 0;
for (int i=0; i<3; i++) fRec380[i] = 0;
for (int i=0; i<3; i++) fRec379[i] = 0;
for (int i=0; i<1024; i++) fVec180[i] = 0;
for (int i=0; i<2; i++) fRec334[i] = 0;
for (int i=0; i<16384; i++) fVec181[i] = 0;
for (int i=0; i<2; i++) fRec384[i] = 0;
for (int i=0; i<2; i++) fRec382[i] = 0;
for (int i=0; i<16384; i++) fVec182[i] = 0;
for (int i=0; i<2; i++) fRec385[i] = 0;
for (int i=0; i<2; i++) fRec383[i] = 0;
for (int i=0; i<2; i++) fRec392[i] = 0;
for (int i=0; i<3; i++) fRec391[i] = 0;
for (int i=0; i<3; i++) fRec390[i] = 0;
for (int i=0; i<2; i++) fVec183[i] = 0;
for (int i=0; i<2; i++) fRec389[i] = 0;
for (int i=0; i<3; i++) fRec388[i] = 0;
for (int i=0; i<3; i++) fRec387[i] = 0;
for (int i=0; i<2; i++) fRec395[i] = 0;
for (int i=0; i<3; i++) fRec394[i] = 0;
for (int i=0; i<3; i++) fRec393[i] = 0;
for (int i=0; i<1024; i++) fVec184[i] = 0;
for (int i=0; i<16384; i++) fVec185[i] = 0;
for (int i=0; i<2; i++) fRec401[i] = 0;
for (int i=0; i<16384; i++) fVec186[i] = 0;
for (int i=0; i<16384; i++) fVec187[i] = 0;
for (int i=0; i<2; i++) fRec400[i] = 0;
for (int i=0; i<2; i++) fRec399[i] = 0;
for (int i=0; i<3; i++) fRec398[i] = 0;
for (int i=0; i<3; i++) fRec397[i] = 0;
for (int i=0; i<3; i++) fRec396[i] = 0;
for (int i=0; i<1024; i++) fVec188[i] = 0;
for (int i=0; i<2; i++) fRec386[i] = 0;
for (int i=0; i<16384; i++) fVec189[i] = 0;
for (int i=0; i<2; i++) fRec8[i] = 0;
for (int i=0; i<2; i++) fRec6[i] = 0;
for (int i=0; i<2; i++) fRec403[i] = 0;
for (int i=0; i<16384; i++) fVec190[i] = 0;
for (int i=0; i<2; i++) fRec402[i] = 0;
for (int i=0; i<2; i++) fRec7[i] = 0;
for (int i=0; i<16384; i++) fVec191[i] = 0;
for (int i=0; i<2; i++) fRec406[i] = 0;
for (int i=0; i<2; i++) fRec404[i] = 0;
for (int i=0; i<16384; i++) fVec192[i] = 0;
for (int i=0; i<2; i++) fRec407[i] = 0;
for (int i=0; i<2; i++) fRec405[i] = 0;
for (int i=0; i<16384; i++) fVec193[i] = 0;
for (int i=0; i<2; i++) fRec410[i] = 0;
for (int i=0; i<2; i++) fRec408[i] = 0;
for (int i=0; i<16384; i++) fVec194[i] = 0;
for (int i=0; i<2; i++) fRec411[i] = 0;
for (int i=0; i<2; i++) fRec409[i] = 0;
for (int i=0; i<16384; i++) fVec195[i] = 0;
for (int i=0; i<2; i++) fRec420[i] = 0;
for (int i=0; i<2; i++) fRec418[i] = 0;
for (int i=0; i<16384; i++) fVec196[i] = 0;
for (int i=0; i<2; i++) fRec421[i] = 0;
for (int i=0; i<2; i++) fRec419[i] = 0;
for (int i=0; i<16384; i++) fVec197[i] = 0;
for (int i=0; i<2; i++) fRec424[i] = 0;
for (int i=0; i<2; i++) fRec422[i] = 0;
for (int i=0; i<16384; i++) fVec198[i] = 0;
for (int i=0; i<2; i++) fRec425[i] = 0;
for (int i=0; i<2; i++) fRec423[i] = 0;
for (int i=0; i<16384; i++) fVec199[i] = 0;
for (int i=0; i<2; i++) fRec428[i] = 0;
for (int i=0; i<2; i++) fRec426[i] = 0;
for (int i=0; i<16384; i++) fVec200[i] = 0;
for (int i=0; i<2; i++) fRec429[i] = 0;
for (int i=0; i<2; i++) fRec427[i] = 0;
for (int i=0; i<16384; i++) fVec201[i] = 0;
for (int i=0; i<2; i++) fRec432[i] = 0;
for (int i=0; i<2; i++) fRec430[i] = 0;
for (int i=0; i<16384; i++) fVec202[i] = 0;
for (int i=0; i<2; i++) fRec433[i] = 0;
for (int i=0; i<2; i++) fRec431[i] = 0;
for (int i=0; i<16384; i++) fVec203[i] = 0;
for (int i=0; i<2; i++) fRec436[i] = 0;
for (int i=0; i<2; i++) fRec434[i] = 0;
for (int i=0; i<16384; i++) fVec204[i] = 0;
for (int i=0; i<2; i++) fRec437[i] = 0;
for (int i=0; i<2; i++) fRec435[i] = 0;
for (int i=0; i<16384; i++) fVec205[i] = 0;
for (int i=0; i<2; i++) fRec441[i] = 0;
for (int i=0; i<2; i++) fRec439[i] = 0;
for (int i=0; i<16384; i++) fVec206[i] = 0;
for (int i=0; i<2; i++) fRec442[i] = 0;
for (int i=0; i<2; i++) fRec440[i] = 0;
for (int i=0; i<16384; i++) fVec207[i] = 0;
for (int i=0; i<2; i++) fRec445[i] = 0;
for (int i=0; i<2; i++) fRec443[i] = 0;
for (int i=0; i<16384; i++) fVec208[i] = 0;
for (int i=0; i<2; i++) fRec446[i] = 0;
for (int i=0; i<2; i++) fRec444[i] = 0;
for (int i=0; i<16384; i++) fVec209[i] = 0;
for (int i=0; i<2; i++) fRec449[i] = 0;
for (int i=0; i<2; i++) fRec447[i] = 0;
for (int i=0; i<16384; i++) fVec210[i] = 0;
for (int i=0; i<2; i++) fRec450[i] = 0;
for (int i=0; i<2; i++) fRec448[i] = 0;
for (int i=0; i<1024; i++) fVec211[i] = 0;
for (int i=0; i<16384; i++) fVec212[i] = 0;
for (int i=0; i<2; i++) fRec438[i] = 0;
for (int i=0; i<16384; i++) fVec213[i] = 0;
for (int i=0; i<16384; i++) fVec214[i] = 0;
for (int i=0; i<2; i++) fRec417[i] = 0;
for (int i=0; i<2; i++) fRec416[i] = 0;
for (int i=0; i<3; i++) fRec415[i] = 0;
for (int i=0; i<3; i++) fRec414[i] = 0;
for (int i=0; i<3; i++) fRec413[i] = 0;
for (int i=0; i<2; i++) fRec456[i] = 0;
for (int i=0; i<3; i++) fRec455[i] = 0;
for (int i=0; i<3; i++) fRec454[i] = 0;
for (int i=0; i<2; i++) fVec215[i] = 0;
for (int i=0; i<2; i++) fRec453[i] = 0;
for (int i=0; i<3; i++) fRec452[i] = 0;
for (int i=0; i<3; i++) fRec451[i] = 0;
for (int i=0; i<2; i++) fRec459[i] = 0;
for (int i=0; i<3; i++) fRec458[i] = 0;
for (int i=0; i<3; i++) fRec457[i] = 0;
for (int i=0; i<1024; i++) fVec216[i] = 0;
for (int i=0; i<2; i++) fRec412[i] = 0;
for (int i=0; i<1024; i++) fVec217[i] = 0;
for (int i=0; i<16384; i++) fVec218[i] = 0;
for (int i=0; i<2; i++) fRec466[i] = 0;
for (int i=0; i<16384; i++) fVec219[i] = 0;
for (int i=0; i<16384; i++) fVec220[i] = 0;
for (int i=0; i<2; i++) fRec465[i] = 0;
for (int i=0; i<2; i++) fRec464[i] = 0;
for (int i=0; i<3; i++) fRec463[i] = 0;
for (int i=0; i<3; i++) fRec462[i] = 0;
for (int i=0; i<3; i++) fRec461[i] = 0;
for (int i=0; i<2; i++) fRec472[i] = 0;
for (int i=0; i<3; i++) fRec471[i] = 0;
for (int i=0; i<3; i++) fRec470[i] = 0;
for (int i=0; i<2; i++) fVec221[i] = 0;
for (int i=0; i<2; i++) fRec469[i] = 0;
for (int i=0; i<3; i++) fRec468[i] = 0;
for (int i=0; i<3; i++) fRec467[i] = 0;
for (int i=0; i<2; i++) fRec475[i] = 0;
for (int i=0; i<3; i++) fRec474[i] = 0;
for (int i=0; i<3; i++) fRec473[i] = 0;
for (int i=0; i<1024; i++) fVec222[i] = 0;
for (int i=0; i<2; i++) fRec460[i] = 0;
for (int i=0; i<16384; i++) fVec223[i] = 0;
for (int i=0; i<2; i++) fRec4[i] = 0;
for (int i=0; i<2; i++) fRec2[i] = 0;
for (int i=0; i<16384; i++) fVec224[i] = 0;
for (int i=0; i<2; i++) fRec476[i] = 0;
for (int i=0; i<2; i++) fRec3[i] = 0;
for (int i=0; i<16384; i++) fVec225[i] = 0;
for (int i=0; i<2; i++) fRec479[i] = 0;
for (int i=0; i<2; i++) fRec477[i] = 0;
for (int i=0; i<16384; i++) fVec226[i] = 0;
for (int i=0; i<2; i++) fRec480[i] = 0;
for (int i=0; i<2; i++) fRec478[i] = 0;
for (int i=0; i<16384; i++) fVec227[i] = 0;
for (int i=0; i<2; i++) fRec483[i] = 0;
for (int i=0; i<2; i++) fRec481[i] = 0;
for (int i=0; i<16384; i++) fVec228[i] = 0;
for (int i=0; i<2; i++) fRec484[i] = 0;
for (int i=0; i<2; i++) fRec482[i] = 0;
for (int i=0; i<16384; i++) fVec229[i] = 0;
for (int i=0; i<2; i++) fRec487[i] = 0;
for (int i=0; i<2; i++) fRec485[i] = 0;
for (int i=0; i<16384; i++) fVec230[i] = 0;
for (int i=0; i<2; i++) fRec488[i] = 0;
for (int i=0; i<2; i++) fRec486[i] = 0;
for (int i=0; i<16384; i++) fVec231[i] = 0;
for (int i=0; i<2; i++) fRec497[i] = 0;
for (int i=0; i<2; i++) fRec495[i] = 0;
for (int i=0; i<16384; i++) fVec232[i] = 0;
for (int i=0; i<2; i++) fRec498[i] = 0;
for (int i=0; i<2; i++) fRec496[i] = 0;
for (int i=0; i<16384; i++) fVec233[i] = 0;
for (int i=0; i<2; i++) fRec501[i] = 0;
for (int i=0; i<2; i++) fRec499[i] = 0;
for (int i=0; i<16384; i++) fVec234[i] = 0;
for (int i=0; i<2; i++) fRec502[i] = 0;
for (int i=0; i<2; i++) fRec500[i] = 0;
for (int i=0; i<16384; i++) fVec235[i] = 0;
for (int i=0; i<2; i++) fRec505[i] = 0;
for (int i=0; i<2; i++) fRec503[i] = 0;
for (int i=0; i<16384; i++) fVec236[i] = 0;
for (int i=0; i<2; i++) fRec506[i] = 0;
for (int i=0; i<2; i++) fRec504[i] = 0;
for (int i=0; i<16384; i++) fVec237[i] = 0;
for (int i=0; i<2; i++) fRec509[i] = 0;
for (int i=0; i<2; i++) fRec507[i] = 0;
for (int i=0; i<16384; i++) fVec238[i] = 0;
for (int i=0; i<2; i++) fRec510[i] = 0;
for (int i=0; i<2; i++) fRec508[i] = 0;
for (int i=0; i<16384; i++) fVec239[i] = 0;
for (int i=0; i<2; i++) fRec514[i] = 0;
for (int i=0; i<2; i++) fRec512[i] = 0;
for (int i=0; i<16384; i++) fVec240[i] = 0;
for (int i=0; i<2; i++) fRec515[i] = 0;
for (int i=0; i<2; i++) fRec513[i] = 0;
for (int i=0; i<16384; i++) fVec241[i] = 0;
for (int i=0; i<2; i++) fRec518[i] = 0;
for (int i=0; i<2; i++) fRec516[i] = 0;
for (int i=0; i<16384; i++) fVec242[i] = 0;
for (int i=0; i<2; i++) fRec519[i] = 0;
for (int i=0; i<2; i++) fRec517[i] = 0;
for (int i=0; i<16384; i++) fVec243[i] = 0;
for (int i=0; i<2; i++) fRec522[i] = 0;
for (int i=0; i<2; i++) fRec520[i] = 0;
for (int i=0; i<16384; i++) fVec244[i] = 0;
for (int i=0; i<2; i++) fRec523[i] = 0;
for (int i=0; i<2; i++) fRec521[i] = 0;
for (int i=0; i<1024; i++) fVec245[i] = 0;
for (int i=0; i<16384; i++) fVec246[i] = 0;
for (int i=0; i<2; i++) fRec511[i] = 0;
for (int i=0; i<16384; i++) fVec247[i] = 0;
for (int i=0; i<2; i++) fRec526[i] = 0;
for (int i=0; i<2; i++) fRec524[i] = 0;
for (int i=0; i<16384; i++) fVec248[i] = 0;
for (int i=0; i<2; i++) fRec527[i] = 0;
for (int i=0; i<2; i++) fRec525[i] = 0;
for (int i=0; i<16384; i++) fVec249[i] = 0;
for (int i=0; i<16384; i++) fVec250[i] = 0;
for (int i=0; i<2; i++) fRec494[i] = 0;
for (int i=0; i<2; i++) fRec493[i] = 0;
for (int i=0; i<3; i++) fRec492[i] = 0;
for (int i=0; i<3; i++) fRec491[i] = 0;
for (int i=0; i<3; i++) fRec490[i] = 0;
for (int i=0; i<2; i++) fRec533[i] = 0;
for (int i=0; i<3; i++) fRec532[i] = 0;
for (int i=0; i<3; i++) fRec531[i] = 0;
for (int i=0; i<2; i++) fVec251[i] = 0;
for (int i=0; i<2; i++) fRec530[i] = 0;
for (int i=0; i<3; i++) fRec529[i] = 0;
for (int i=0; i<3; i++) fRec528[i] = 0;
for (int i=0; i<2; i++) fRec536[i] = 0;
for (int i=0; i<3; i++) fRec535[i] = 0;
for (int i=0; i<3; i++) fRec534[i] = 0;
for (int i=0; i<1024; i++) fVec252[i] = 0;
for (int i=0; i<2; i++) fRec489[i] = 0;
for (int i=0; i<2; i++) fRec0[i] = 0;
for (int i=0; i<1024; i++) fVec253[i] = 0;
for (int i=0; i<16384; i++) fVec254[i] = 0;
for (int i=0; i<2; i++) fRec543[i] = 0;
for (int i=0; i<16384; i++) fVec255[i] = 0;
for (int i=0; i<16384; i++) fVec256[i] = 0;
for (int i=0; i<2; i++) fRec542[i] = 0;
for (int i=0; i<2; i++) fRec541[i] = 0;
for (int i=0; i<3; i++) fRec540[i] = 0;
for (int i=0; i<3; i++) fRec539[i] = 0;
for (int i=0; i<3; i++) fRec538[i] = 0;
for (int i=0; i<2; i++) fRec549[i] = 0;
for (int i=0; i<3; i++) fRec548[i] = 0;
for (int i=0; i<3; i++) fRec547[i] = 0;
for (int i=0; i<2; i++) fVec257[i] = 0;
for (int i=0; i<2; i++) fRec546[i] = 0;
for (int i=0; i<3; i++) fRec545[i] = 0;
for (int i=0; i<3; i++) fRec544[i] = 0;
for (int i=0; i<2; i++) fRec552[i] = 0;
for (int i=0; i<3; i++) fRec551[i] = 0;
for (int i=0; i<3; i++) fRec550[i] = 0;
for (int i=0; i<1024; i++) fVec258[i] = 0;
for (int i=0; i<2; i++) fRec537[i] = 0;
for (int i=0; i<2; i++) fRec1[i] = 0;
}
virtual void init(int samplingFreq) {
classInit(samplingFreq);
instanceInit(samplingFreq);
}
virtual void instanceInit(int samplingFreq) {
instanceConstants(samplingFreq);
instanceResetUserInterface();
instanceClear();
}
virtual mydsp* clone() {
return new mydsp();
}
virtual int getSampleRate() {
return fSamplingFreq;
}
virtual void buildUserInterface(UI* ui_interface) {
ui_interface->openVerticalBox("0x00");
ui_interface->addHorizontalSlider("damp", &fslider2, 0.0f, 0.0f, 0.999f, 0.0001f);
ui_interface->addHorizontalSlider("earlyDiff", &fslider0, 0.707f, 0.0f, 0.99f, 0.001f);
ui_interface->addHorizontalSlider("highBand", &fslider7, 2e+03f, 1e+03f, 1e+04f, 0.1f);
ui_interface->addHorizontalSlider("highX", &fslider6, 1.0f, 0.0f, 1.0f, 0.01f);
ui_interface->addHorizontalSlider("lowBand", &fslider8, 5e+02f, 1e+02f, 6e+03f, 0.1f);
ui_interface->addHorizontalSlider("lowX", &fslider10, 1.0f, 0.0f, 1.0f, 0.01f);
ui_interface->addHorizontalSlider("mDepth", &fslider3, 0.1f, 0.0f, 1.0f, 0.001f);
ui_interface->addHorizontalSlider("mFreq", &fslider4, 2.0f, 0.0f, 1e+01f, 0.01f);
ui_interface->addHorizontalSlider("midX", &fslider9, 1.0f, 0.0f, 1.0f, 0.01f);
ui_interface->addHorizontalSlider("size", &fslider1, 1.0f, 0.5f, 3.0f, 0.01f);
ui_interface->addHorizontalSlider("t60", &fslider5, 1.0f, 0.1f, 6e+01f, 0.1f);
ui_interface->closeBox();
}
virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** output) {
float fSlow0 = float(fslider0);
float fSlow1 = cosf(fSlow0);
float fSlow2 = float(fslider1);
int iSlow3 = int((175 * fSlow2));
int iSlow4 = int((115 * fSlow2));
float fSlow5 = sinf(fSlow0);
float fSlow6 = (0 - fSlow5);
int iSlow7 = int((215 * fSlow2));
float fSlow8 = float(fslider2);
float fSlow9 = (1.0f - fSlow8);
float fSlow10 = float(fslider3);
float fSlow11 = (50 * fSlow10);
float fSlow12 = (fConst1 * float(fslider4));
float fSlow13 = sinf(fSlow12);
float fSlow14 = cosf(fSlow12);
float fSlow15 = (0 - fSlow13);
float fSlow16 = powf(10,(0 - (0.51f * (((1.25f * fSlow2) + -0.25f) / float(fslider5)))));
float fSlow17 = float(fslider6);
float fSlow18 = tanf((fConst2 * float(fslider7)));
float fSlow19 = (1.0f / fSlow18);
float fSlow20 = (((fSlow19 + 0.618034f) / fSlow18) + 1);
float fSlow21 = (1.0f / fSlow20);
float fSlow22 = (1.0f / faustpower<2>(fSlow18));
float fSlow23 = (2 * (0 - fSlow22));
float fSlow24 = (1.0f / (((fSlow19 + 1.618034f) / fSlow18) + 1));
float fSlow25 = (fSlow19 + 1);
float fSlow26 = (1.0f / fSlow25);
int iSlow27 = int((134 * fSlow2));
int iSlow28 = int((155 * fSlow2));
int iSlow29 = int((125 * fSlow2));
int iSlow30 = int((130 * fSlow2));
int iSlow31 = int((100 * fSlow2));
int iSlow32 = int((70 * fSlow2));
int iSlow33 = int((40 * fSlow2));
int iSlow34 = int((10 * fSlow2));
int iSlow35 = int((110 * fSlow2));
int iSlow36 = int((140 * fSlow2));
int iSlow37 = int((170 * fSlow2));
int iSlow38 = int((200 * fSlow2));
int iSlow39 = int((230 * fSlow2));
int iSlow40 = int((54 * fSlow2));
float fSlow41 = (0 - (5e+01f * fSlow10));
int iSlow42 = int((204 * fSlow2));
int iSlow43 = int((25 * fSlow2));
int iSlow44 = int((55 * fSlow2));
int iSlow45 = int((185 * fSlow2));
int iSlow46 = int((85 * fSlow2));
int iSlow47 = int((245 * fSlow2));
int iSlow48 = int((145 * fSlow2));
float fSlow49 = (0 - fSlow19);
float fSlow50 = (0 - ((1 - fSlow19) / fSlow25));
float fSlow51 = (2 * (1 - fSlow22));
float fSlow52 = (((fSlow19 + -1.618034f) / fSlow18) + 1);
float fSlow53 = (((fSlow19 + -0.618034f) / fSlow18) + 1);
float fSlow54 = tanf((fConst2 * float(fslider8)));
float fSlow55 = (1.0f / fSlow54);
float fSlow56 = (1.0f / (((fSlow55 + 1.618034f) / fSlow54) + 1));
float fSlow57 = (((fSlow55 + -1.618034f) / fSlow54) + 1);
float fSlow58 = (1.0f / faustpower<2>(fSlow54));
float fSlow59 = (2 * (1 - fSlow58));
float fSlow60 = (1.0f / (((fSlow55 + 0.618034f) / fSlow54) + 1));
float fSlow61 = float(fslider9);
float fSlow62 = (2 * (0 - fSlow58));
float fSlow63 = (1.0f / (((fSlow55 + 1.618034f) / fSlow54) + 1));
float fSlow64 = (fSlow55 + 1);
float fSlow65 = (0 - ((1 - fSlow55) / fSlow64));
float fSlow66 = (1.0f / fSlow64);
float fSlow67 = (0 - fSlow55);
float fSlow68 = (1.0f / (fSlow54 * fSlow20));
float fSlow69 = (((fSlow55 + -1.618034f) / fSlow54) + 1);
float fSlow70 = (((fSlow55 + -0.618034f) / fSlow54) + 1);
float fSlow71 = float(fslider10);
int iSlow72 = int((34 * fSlow2));
int iSlow73 = int((240 * fSlow2));
int iSlow74 = int((190 * fSlow2));
FAUSTFLOAT* input0 = input[0];
FAUSTFLOAT* input1 = input[1];
FAUSTFLOAT* output0 = output[0];
FAUSTFLOAT* output1 = output[1];
for (int i=0; i<count; i++) {
int iTemp0 = itbl0[iSlow3];
iVec0[0] = 1;
int iTemp1 = (1 - iVec0[1]);
fRec5[0] = ((0.0001f * iTemp0) + (0.9999f * ((iTemp0 * iTemp1) + fRec5[1])));
float fTemp2 = (fRec5[0] + -1.49999f);
float fTemp3 = floorf(fTemp2);
float fTemp4 = (fTemp3 + (2.0f - fRec5[0]));
int iTemp5 = itbl0[iSlow4];
fRec9[0] = ((0.0001f * iTemp5) + (0.9999f * ((iTemp5 * iTemp1) + fRec9[1])));
float fTemp6 = (fRec9[0] + -1.49999f);
float fTemp7 = floorf(fTemp6);
float fTemp8 = (fTemp7 + (2.0f - fRec9[0]));
int iTemp9 = itbl0[iSlow7];
fRec13[0] = ((0.0001f * iTemp9) + (0.9999f * ((iTemp9 * iTemp1) + fRec13[1])));
float fTemp10 = (fRec13[0] + -1.49999f);
float fTemp11 = floorf(fTemp10);
float fTemp12 = (fTemp11 + (2.0f - fRec13[0]));
fRec18[0] = ((fSlow13 * fRec19[1]) + (fSlow14 * fRec18[1]));
fRec19[0] = (((fSlow14 * fRec19[1]) + (fSlow15 * fRec18[1])) + iTemp1);
float fTemp13 = (fSlow11 * (fRec18[0] + 1));
float fTemp14 = (fTemp13 + 3.500005f);
float fTemp15 = floorf(fTemp14);
float fTemp16 = (fTemp13 + (3.0f - fTemp15));
float fTemp17 = (0 - (0.5f * fTemp16));
float fTemp18 = (fTemp13 + (2.0f - fTemp15));
float fTemp19 = (0 - (0.33333334f * fTemp18));
float fTemp20 = (fTemp13 + (1.0f - fTemp15));
float fTemp21 = (0 - (0.25f * fTemp20));
float fTemp22 = ((fTemp17 * fTemp19) * fTemp21);
float fTemp23 = (fTemp15 + (-4.0f - fTemp13));
float fTemp24 = (fTemp22 * fTemp23);
float fTemp25 = (float)input0[i];
int iTemp26 = itbl0[iSlow27];
fRec25[0] = ((0.005f * iTemp26) + (0.995f * ((iTemp1 * iTemp26) + fRec25[1])));
float fTemp27 = (fRec25[0] + -1.49999f);
float fTemp28 = floorf(fTemp27);
float fTemp29 = (fTemp28 + (2.0f - fRec25[0]));
int iTemp30 = itbl0[iSlow28];
fRec35[0] = ((0.0001f * iTemp30) + (0.9999f * ((iTemp1 * iTemp30) + fRec35[1])));
float fTemp31 = (fRec35[0] + -1.49999f);
float fTemp32 = floorf(fTemp31);
float fTemp33 = (fTemp32 + (2.0f - fRec35[0]));
int iTemp34 = itbl0[iSlow29];
fRec39[0] = ((0.0001f * iTemp34) + (0.9999f * ((iTemp1 * iTemp34) + fRec39[1])));
float fTemp35 = (fRec39[0] + -1.49999f);
float fTemp36 = floorf(fTemp35);
float fTemp37 = (fTemp36 + (2.0f - fRec39[0]));
float fTemp38 = (fSlow11 * (fRec19[0] + 1));
float fTemp39 = (fTemp38 + 3.500005f);
float fTemp40 = floorf(fTemp39);
float fTemp41 = (fTemp38 + (3.0f - fTemp40));
float fTemp42 = (fTemp38 + (2.0f - fTemp40));
float fTemp43 = (fTemp38 + (1.0f - fTemp40));
float fTemp44 = (((0 - (0.5f * fTemp41)) * (0 - (0.33333334f * fTemp42))) * (0 - (0.25f * fTemp43)));
int iTemp45 = itbl0[iSlow30];
fRec44[0] = ((0.0001f * iTemp45) + (0.9999f * ((iTemp1 * iTemp45) + fRec44[1])));
float fTemp46 = (fRec44[0] + -1.49999f);
float fTemp47 = floorf(fTemp46);
float fTemp48 = (fTemp47 + (2.0f - fRec44[0]));
int iTemp49 = itbl0[iSlow31];
fRec48[0] = ((0.0001f * iTemp49) + (0.9999f * ((iTemp49 * iTemp1) + fRec48[1])));
float fTemp50 = (fRec48[0] + -1.49999f);
float fTemp51 = floorf(fTemp50);
float fTemp52 = (fTemp51 + (2.0f - fRec48[0]));
int iTemp53 = itbl0[iSlow32];
fRec52[0] = ((0.0001f * iTemp53) + (0.9999f * ((iTemp1 * iTemp53) + fRec52[1])));
float fTemp54 = (fRec52[0] + -1.49999f);
float fTemp55 = floorf(fTemp54);
float fTemp56 = (fTemp55 + (2.0f - fRec52[0]));
int iTemp57 = itbl0[iSlow33];
fRec56[0] = ((0.0001f * iTemp57) + (0.9999f * ((iTemp1 * iTemp57) + fRec56[1])));
float fTemp58 = (fRec56[0] + -1.49999f);
float fTemp59 = floorf(fTemp58);
float fTemp60 = (fTemp59 + (2.0f - fRec56[0]));
float fTemp61 = (0.64955574f * fRec0[1]);
int iTemp62 = itbl0[iSlow34];
fRec60[0] = ((0.0001f * iTemp62) + (0.9999f * ((iTemp1 * iTemp62) + fRec60[1])));
float fTemp63 = (fRec60[0] + -1.49999f);
float fTemp64 = floorf(fTemp63);
float fTemp65 = (fTemp64 + (2.0f - fRec60[0]));
float fTemp66 = (0.760314f * fRec0[1]);
float fTemp67 = (fTemp66 - (0.64955574f * fRec57[1]));
float fTemp68 = (0.760314f * fRec1[1]);
float fTemp69 = (fTemp68 - (0.64955574f * fRec58[1]));
float fTemp70 = ((0.70710677f * fTemp67) - (0.70710677f * fTemp69));
fVec1[IOTA&16383] = fTemp70;
int iTemp71 = int(min(8192, max(0, int(fTemp63))));
float fTemp72 = (fRec60[0] - fTemp64);
int iTemp73 = int((iTemp71 + 1));
float fTemp74 = (0 - (fTemp65 / fTemp72));
fRec59[0] = ((((fTemp65 * fVec1[(IOTA-iTemp71)&16383]) / fTemp72) + fVec1[(IOTA-iTemp73)&16383]) + (fTemp74 * fRec59[1]));
fRec57[0] = fRec59[0];
int iTemp75 = itbl0[iSlow35];
fRec62[0] = ((0.0001f * iTemp75) + (0.9999f * ((iTemp75 * iTemp1) + fRec62[1])));
float fTemp76 = (fRec62[0] + -1.49999f);
float fTemp77 = floorf(fTemp76);
float fTemp78 = (fTemp77 + (2.0f - fRec62[0]));
float fTemp79 = ((0.70710677f * fTemp67) + (0.70710677f * fTemp69));
fVec2[IOTA&16383] = fTemp79;
int iTemp80 = int(min(8192, max(0, int(fTemp76))));
float fTemp81 = (fRec62[0] - fTemp77);
int iTemp82 = int((iTemp80 + 1));
float fTemp83 = (0 - (fTemp78 / fTemp81));
fRec61[0] = ((((fTemp78 * fVec2[(IOTA-iTemp80)&16383]) / fTemp81) + fVec2[(IOTA-iTemp82)&16383]) + (fTemp83 * fRec61[1]));
fRec58[0] = fRec61[0];
float fTemp84 = (fTemp61 + (0.760314f * fRec57[1]));
float fTemp85 = (0.760314f * fTemp84);
float fTemp86 = (fTemp85 - (0.64955574f * fRec53[1]));
float fTemp87 = (0.64955574f * fRec1[1]);
float fTemp88 = (fTemp87 + (0.760314f * fRec58[1]));
float fTemp89 = (0.760314f * fTemp88);
float fTemp90 = (fTemp89 - (0.64955574f * fRec54[1]));
float fTemp91 = ((0.70710677f * fTemp86) - (0.70710677f * fTemp90));
fVec3[IOTA&16383] = fTemp91;
int iTemp92 = int(min(8192, max(0, int(fTemp58))));
float fTemp93 = (fRec56[0] - fTemp59);
int iTemp94 = int((iTemp92 + 1));
float fTemp95 = (0 - (fTemp60 / fTemp93));
fRec55[0] = ((((fTemp60 * fVec3[(IOTA-iTemp92)&16383]) / fTemp93) + fVec3[(IOTA-iTemp94)&16383]) + (fTemp95 * fRec55[1]));
fRec53[0] = fRec55[0];
int iTemp96 = itbl0[iSlow36];
fRec64[0] = ((0.0001f * iTemp96) + (0.9999f * ((iTemp1 * iTemp96) + fRec64[1])));
float fTemp97 = (fRec64[0] + -1.49999f);
float fTemp98 = floorf(fTemp97);
float fTemp99 = (fTemp98 + (2.0f - fRec64[0]));
float fTemp100 = ((0.70710677f * fTemp86) + (0.70710677f * fTemp90));
fVec4[IOTA&16383] = fTemp100;
int iTemp101 = int(min(8192, max(0, int(fTemp97))));
float fTemp102 = (fRec64[0] - fTemp98);
int iTemp103 = int((iTemp101 + 1));
float fTemp104 = (0 - (fTemp99 / fTemp102));
fRec63[0] = (((fTemp99 * fVec4[(IOTA-iTemp101)&16383]) / fTemp102) + (fVec4[(IOTA-iTemp103)&16383] + (fTemp104 * fRec63[1])));
fRec54[0] = fRec63[0];
float fTemp105 = (0.64955574f * fTemp84);
float fTemp106 = ((0.760314f * fRec53[1]) + fTemp105);
float fTemp107 = (0.760314f * fTemp106);
float fTemp108 = (fTemp107 - (0.64955574f * fRec49[1]));
float fTemp109 = (0.64955574f * fTemp88);
float fTemp110 = ((0.760314f * fRec54[1]) + fTemp109);
float fTemp111 = (0.760314f * fTemp110);
float fTemp112 = (fTemp111 - (0.64955574f * fRec50[1]));
float fTemp113 = ((0.70710677f * fTemp108) - (0.70710677f * fTemp112));
fVec5[IOTA&16383] = fTemp113;
int iTemp114 = int(min(8192, max(0, int(fTemp54))));
float fTemp115 = (fRec52[0] - fTemp55);
int iTemp116 = int((iTemp114 + 1));
float fTemp117 = (0 - (fTemp56 / fTemp115));
fRec51[0] = ((((fTemp56 * fVec5[(IOTA-iTemp114)&16383]) / fTemp115) + fVec5[(IOTA-iTemp116)&16383]) + (fTemp117 * fRec51[1]));
fRec49[0] = fRec51[0];
int iTemp118 = itbl0[iSlow37];
fRec66[0] = ((0.0001f * iTemp118) + (0.9999f * ((iTemp118 * iTemp1) + fRec66[1])));
float fTemp119 = (fRec66[0] + -1.49999f);
float fTemp120 = floorf(fTemp119);
float fTemp121 = (fTemp120 + (2.0f - fRec66[0]));
float fTemp122 = ((0.70710677f * fTemp108) + (0.70710677f * fTemp112));
fVec6[IOTA&16383] = fTemp122;
int iTemp123 = int(min(8192, max(0, int(fTemp119))));
float fTemp124 = (fRec66[0] - fTemp120);
int iTemp125 = int((iTemp123 + 1));
float fTemp126 = (0 - (fTemp121 / fTemp124));
fRec65[0] = (((fTemp121 * fVec6[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec6[(IOTA-iTemp125)&16383] + (fTemp126 * fRec65[1])));
fRec50[0] = fRec65[0];
float fTemp127 = (0.64955574f * fTemp106);
float fTemp128 = ((0.760314f * fRec49[1]) + fTemp127);
float fTemp129 = ((0.760314f * fTemp128) - (0.64955574f * fRec45[1]));
float fTemp130 = (0.64955574f * fTemp110);
float fTemp131 = ((0.760314f * fRec50[1]) + fTemp130);
float fTemp132 = ((0.760314f * fTemp131) - (0.64955574f * fRec46[1]));
float fTemp133 = ((0.70710677f * fTemp129) - (0.70710677f * fTemp132));
fVec7[IOTA&16383] = fTemp133;
int iTemp134 = int(min(8192, max(0, int(fTemp50))));
float fTemp135 = (fRec48[0] - fTemp51);
int iTemp136 = int((iTemp134 + 1));
float fTemp137 = (0 - (fTemp52 / fTemp135));
fRec47[0] = (((fTemp52 * fVec7[(IOTA-iTemp134)&16383]) / fTemp135) + (fVec7[(IOTA-iTemp136)&16383] + (fTemp137 * fRec47[1])));
fRec45[0] = fRec47[0];
int iTemp138 = itbl0[iSlow38];
fRec68[0] = ((0.0001f * iTemp138) + (0.9999f * ((iTemp138 * iTemp1) + fRec68[1])));
float fTemp139 = (fRec68[0] + -1.49999f);
float fTemp140 = floorf(fTemp139);
float fTemp141 = (fTemp140 + (2.0f - fRec68[0]));
float fTemp142 = ((0.70710677f * fTemp129) + (0.70710677f * fTemp132));
fVec8[IOTA&16383] = fTemp142;
int iTemp143 = int(min(8192, max(0, int(fTemp139))));
float fTemp144 = (fRec68[0] - fTemp140);
int iTemp145 = int((iTemp143 + 1));
float fTemp146 = (0 - (fTemp141 / fTemp144));
fRec67[0] = (((fTemp141 * fVec8[(IOTA-iTemp143)&16383]) / fTemp144) + (fVec8[(IOTA-iTemp145)&16383] + (fTemp146 * fRec67[1])));
fRec46[0] = fRec67[0];
float fTemp147 = (0.760314f * fRec45[1]);
float fTemp148 = (0.64955574f * fTemp128);
float fTemp149 = (fTemp147 + fTemp148);
float fTemp150 = (0.760314f * fTemp149);
float fTemp151 = (fTemp150 - (0.64955574f * fRec41[1]));
float fTemp152 = (0.760314f * fRec46[1]);
float fTemp153 = (0.64955574f * fTemp131);
float fTemp154 = (fTemp152 + fTemp153);
float fTemp155 = (0.760314f * fTemp154);
float fTemp156 = (fTemp155 - (0.64955574f * fRec42[1]));
float fTemp157 = ((0.70710677f * fTemp151) - (0.70710677f * fTemp156));
fVec9[IOTA&16383] = fTemp157;
int iTemp158 = int(min(8192, max(0, int(fTemp46))));
float fTemp159 = (fRec44[0] - fTemp47);
int iTemp160 = int((iTemp158 + 1));
float fTemp161 = (0 - (fTemp48 / fTemp159));
fRec43[0] = ((((fTemp48 * fVec9[(IOTA-iTemp158)&16383]) / fTemp159) + fVec9[(IOTA-iTemp160)&16383]) + (fTemp161 * fRec43[1]));
fRec41[0] = fRec43[0];
int iTemp162 = itbl0[iSlow39];
fRec70[0] = ((0.0001f * iTemp162) + (0.9999f * ((iTemp162 * iTemp1) + fRec70[1])));
float fTemp163 = (fRec70[0] + -1.49999f);
float fTemp164 = floorf(fTemp163);
float fTemp165 = (fTemp164 + (2.0f - fRec70[0]));
float fTemp166 = ((0.70710677f * fTemp151) + (0.70710677f * fTemp156));
fVec10[IOTA&16383] = fTemp166;
int iTemp167 = int(min(8192, max(0, int(fTemp163))));
float fTemp168 = (fRec70[0] - fTemp164);
int iTemp169 = int((iTemp167 + 1));
float fTemp170 = (0 - (fTemp165 / fTemp168));
fRec69[0] = (((fTemp165 * fVec10[(IOTA-iTemp167)&16383]) / fTemp168) + (fVec10[(IOTA-iTemp169)&16383] + (fTemp170 * fRec69[1])));
fRec42[0] = fRec69[0];
float fTemp171 = (0.64955574f * fTemp149);
float fTemp172 = ((0.760314f * fRec41[1]) + fTemp171);
fVec11[IOTA&1023] = fTemp172;
int iTemp173 = int(fTemp39);
int iTemp174 = int(min(512, max(0, iTemp173)));
float fTemp175 = (fTemp40 + (-4.0f - fTemp38));
float fTemp176 = (fTemp38 + (5.0f - fTemp40));
float fTemp177 = ((0 - (0.5f * fTemp42)) * (0 - (0.33333334f * fTemp43)));
int iTemp178 = int(min(512, max(0, (iTemp173 + 1))));
float fTemp179 = (fTemp40 + (-3.0f - fTemp38));
float fTemp180 = (fTemp38 + (4.0f - fTemp40));
float fTemp181 = (fTemp41 * fTemp42);
int iTemp182 = int(min(512, max(0, (iTemp173 + 4))));
int iTemp183 = int(min(512, max(0, (iTemp173 + 3))));
float fTemp184 = (fTemp40 + (-1.0f - fTemp38));
float fTemp185 = (0 - (0.5f * fTemp43));
int iTemp186 = int(min(512, max(0, (iTemp173 + 2))));
float fTemp187 = (fTemp40 + (-2.0f - fTemp38));
float fTemp188 = (((fTemp44 * fVec11[(IOTA-iTemp174)&1023]) * fTemp175) + (fTemp176 * (((fTemp177 * fVec11[(IOTA-iTemp178)&1023]) * fTemp179) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec11[(IOTA-iTemp182)&1023])) + ((0.16666667f * ((fTemp41 * fVec11[(IOTA-iTemp183)&1023]) * fTemp184)) + (0.5f * ((fTemp185 * fVec11[(IOTA-iTemp186)&1023]) * fTemp187))))))));
fVec12[IOTA&16383] = fTemp188;
int iTemp189 = itbl0[iSlow40];
fRec71[0] = ((0.005f * iTemp189) + (0.995f * ((iTemp189 * iTemp1) + fRec71[1])));
float fTemp190 = (fRec71[0] + -1.49999f);
int iTemp191 = int(min(8192, max(0, int(fTemp190))));
int iTemp192 = int((iTemp191 + 1));
float fTemp193 = fVec12[(IOTA-iTemp192)&16383];
float fTemp194 = floorf(fTemp190);
float fTemp195 = (fTemp194 + (2.0f - fRec71[0]));
float fTemp196 = (fRec71[0] - fTemp194);
float fTemp197 = (0 - (fTemp195 / fTemp196));
float fTemp198 = ((fTemp195 * fVec12[(IOTA-iTemp191)&16383]) / fTemp196);
fRec40[0] = (fTemp193 + ((fTemp197 * fRec40[1]) + fTemp198));
float fTemp199 = ((0.760314f * fRec40[0]) - (0.64955574f * fRec36[1]));
float fTemp200 = (fSlow41 * fRec19[0]);
float fTemp201 = (fSlow11 + (fTemp200 + 3.500005f));
float fTemp202 = floorf(fTemp201);
float fTemp203 = (fSlow11 + (fTemp200 + (3.0f - fTemp202)));
float fTemp204 = (fSlow11 + (fTemp200 + (2.0f - fTemp202)));
float fTemp205 = (fSlow11 + (fTemp200 + (1.0f - fTemp202)));
float fTemp206 = (((0 - (0.5f * fTemp203)) * (0 - (0.33333334f * fTemp204))) * (0 - (0.25f * fTemp205)));
float fTemp207 = (0.64955574f * fTemp154);
float fTemp208 = ((0.760314f * fRec42[1]) + fTemp207);
fVec13[IOTA&1023] = fTemp208;
int iTemp209 = int(fTemp201);
int iTemp210 = int(min(512, max(0, iTemp209)));
float fTemp211 = ((fTemp202 + (-4.0f - fTemp200)) - fSlow11);
float fTemp212 = (fSlow11 + (fTemp200 + (5.0f - fTemp202)));
float fTemp213 = ((0 - (0.5f * fTemp204)) * (0 - (0.33333334f * fTemp205)));
int iTemp214 = int(min(512, max(0, (iTemp209 + 1))));
float fTemp215 = ((fTemp202 + (-3.0f - fTemp200)) - fSlow11);
float fTemp216 = (fSlow11 + (fTemp200 + (4.0f - fTemp202)));
float fTemp217 = (fTemp203 * fTemp204);
int iTemp218 = int(min(512, max(0, (iTemp209 + 4))));
int iTemp219 = int(min(512, max(0, (iTemp209 + 3))));
float fTemp220 = ((fTemp202 + (-1.0f - fTemp200)) - fSlow11);
float fTemp221 = (0 - (0.5f * fTemp205));
int iTemp222 = int(min(512, max(0, (iTemp209 + 2))));
float fTemp223 = ((fTemp202 + (-2.0f - fTemp200)) - fSlow11);
float fTemp224 = (((fTemp206 * fVec13[(IOTA-iTemp210)&1023]) * fTemp211) + (fTemp212 * (((fTemp213 * fVec13[(IOTA-iTemp214)&1023]) * fTemp215) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec13[(IOTA-iTemp218)&1023])) + ((0.16666667f * ((fTemp203 * fVec13[(IOTA-iTemp219)&1023]) * fTemp220)) + (0.5f * ((fTemp221 * fVec13[(IOTA-iTemp222)&1023]) * fTemp223))))))));
fVec14[IOTA&16383] = fTemp224;
int iTemp225 = itbl0[iSlow42];
fRec73[0] = ((0.005f * iTemp225) + (0.995f * ((iTemp1 * iTemp225) + fRec73[1])));
float fTemp226 = (fRec73[0] + -1.49999f);
int iTemp227 = int(min(8192, max(0, int(fTemp226))));
int iTemp228 = int((iTemp227 + 1));
float fTemp229 = fVec14[(IOTA-iTemp228)&16383];
float fTemp230 = floorf(fTemp226);
float fTemp231 = (fTemp230 + (2.0f - fRec73[0]));
float fTemp232 = (fRec73[0] - fTemp230);
float fTemp233 = ((fTemp231 * fVec14[(IOTA-iTemp227)&16383]) / fTemp232);
float fTemp234 = (0 - (fTemp231 / fTemp232));
fRec72[0] = (fTemp229 + (fTemp233 + (fTemp234 * fRec72[1])));
float fTemp235 = ((0.760314f * fRec72[0]) - (0.64955574f * fRec37[1]));
float fTemp236 = ((0.70710677f * fTemp199) - (0.70710677f * fTemp235));
fVec15[IOTA&16383] = fTemp236;
int iTemp237 = int(min(8192, max(0, int(fTemp35))));
float fTemp238 = (fRec39[0] - fTemp36);
int iTemp239 = int((iTemp237 + 1));
float fTemp240 = (0 - (fTemp37 / fTemp238));
fRec38[0] = ((((fTemp37 * fVec15[(IOTA-iTemp237)&16383]) / fTemp238) + fVec15[(IOTA-iTemp239)&16383]) + (fTemp240 * fRec38[1]));
fRec36[0] = fRec38[0];
int iTemp241 = itbl0[iSlow43];
fRec75[0] = ((0.0001f * iTemp241) + (0.9999f * ((iTemp241 * iTemp1) + fRec75[1])));
float fTemp242 = (fRec75[0] + -1.49999f);
float fTemp243 = floorf(fTemp242);
float fTemp244 = (fTemp243 + (2.0f - fRec75[0]));
float fTemp245 = (fRec75[0] - fTemp243);
float fTemp246 = (0 - (fTemp244 / fTemp245));
float fTemp247 = ((0.70710677f * fTemp199) + (0.70710677f * fTemp235));
fVec16[IOTA&16383] = fTemp247;
int iTemp248 = int(min(8192, max(0, int(fTemp242))));
int iTemp249 = int((iTemp248 + 1));
fRec74[0] = ((fTemp246 * fRec74[1]) + (fVec16[(IOTA-iTemp249)&16383] + ((fTemp244 * fVec16[(IOTA-iTemp248)&16383]) / fTemp245)));
fRec37[0] = fRec74[0];
fRec76[0] = ((fTemp198 + fTemp193) + (fTemp197 * fRec76[1]));
float fTemp250 = ((0.760314f * fRec36[1]) + (0.64955574f * fRec76[0]));
float fTemp251 = ((0.760314f * fTemp250) - (0.64955574f * fRec32[1]));
fRec77[0] = ((fTemp234 * fRec77[1]) + (fTemp233 + fTemp229));
float fTemp252 = ((0.760314f * fRec37[1]) + (0.64955574f * fRec77[0]));
float fTemp253 = ((0.760314f * fTemp252) - (0.64955574f * fRec33[1]));
float fTemp254 = ((0.70710677f * fTemp251) - (0.70710677f * fTemp253));
fVec17[IOTA&16383] = fTemp254;
int iTemp255 = int(min(8192, max(0, int(fTemp31))));
float fTemp256 = (fRec35[0] - fTemp32);
int iTemp257 = int((iTemp255 + 1));
float fTemp258 = (0 - (fTemp33 / fTemp256));
fRec34[0] = ((((fTemp33 * fVec17[(IOTA-iTemp255)&16383]) / fTemp256) + fVec17[(IOTA-iTemp257)&16383]) + (fTemp258 * fRec34[1]));
fRec32[0] = fRec34[0];
float fTemp259 = ((0.70710677f * fTemp251) + (0.70710677f * fTemp253));
fVec18[IOTA&16383] = fTemp259;
int iTemp260 = itbl0[iSlow44];
fRec79[0] = ((0.0001f * iTemp260) + (0.9999f * ((iTemp260 * iTemp1) + fRec79[1])));
float fTemp261 = (fRec79[0] + -1.49999f);
int iTemp262 = int(min(8192, max(0, int(fTemp261))));
int iTemp263 = int((iTemp262 + 1));
float fTemp264 = floorf(fTemp261);
float fTemp265 = (fTemp264 + (2.0f - fRec79[0]));
float fTemp266 = (fRec79[0] - fTemp264);
float fTemp267 = (0 - (fTemp265 / fTemp266));
fRec78[0] = ((fVec18[(IOTA-iTemp263)&16383] + ((fVec18[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266)) + (fTemp267 * fRec78[1]));
fRec33[0] = fRec78[0];
float fTemp268 = (fTemp150 - (0.64955574f * fRec81[1]));
float fTemp269 = (fTemp155 - (0.64955574f * fRec82[1]));
float fTemp270 = ((0.70710677f * fTemp268) - (0.70710677f * fTemp269));
fVec19[IOTA&16383] = fTemp270;
fRec83[0] = (((fTemp48 * fVec19[(IOTA-iTemp158)&16383]) / fTemp159) + ((fRec83[1] * fTemp161) + fVec19[(IOTA-iTemp160)&16383]));
fRec81[0] = fRec83[0];
float fTemp271 = ((0.70710677f * fTemp268) + (0.70710677f * fTemp269));
fVec20[IOTA&16383] = fTemp271;
fRec84[0] = (((fTemp165 * fVec20[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec84[1] * fTemp170) + fVec20[(IOTA-iTemp169)&16383]));
fRec82[0] = fRec84[0];
float fTemp272 = (fTemp107 - (0.64955574f * fRec85[1]));
float fTemp273 = (fTemp111 - (0.64955574f * fRec86[1]));
float fTemp274 = ((0.70710677f * fTemp272) - (0.70710677f * fTemp273));
fVec21[IOTA&16383] = fTemp274;
fRec87[0] = (((fTemp56 * fVec21[(IOTA-iTemp114)&16383]) / fTemp115) + ((fRec87[1] * fTemp117) + fVec21[(IOTA-iTemp116)&16383]));
fRec85[0] = fRec87[0];
float fTemp275 = ((0.70710677f * fTemp272) + (0.70710677f * fTemp273));
fVec22[IOTA&16383] = fTemp275;
fRec88[0] = (fVec22[(IOTA-iTemp125)&16383] + ((fRec88[1] * fTemp126) + ((fTemp121 * fVec22[(IOTA-iTemp123)&16383]) / fTemp124)));
fRec86[0] = fRec88[0];
float fTemp276 = (fTemp85 - (0.64955574f * fRec89[1]));
float fTemp277 = (fTemp89 - (0.64955574f * fRec90[1]));
float fTemp278 = ((0.70710677f * fTemp276) - (0.70710677f * fTemp277));
fVec23[IOTA&16383] = fTemp278;
fRec91[0] = (((fTemp60 * fVec23[(IOTA-iTemp92)&16383]) / fTemp93) + ((fRec91[1] * fTemp95) + fVec23[(IOTA-iTemp94)&16383]));
fRec89[0] = fRec91[0];
float fTemp279 = ((0.70710677f * fTemp276) + (0.70710677f * fTemp277));
fVec24[IOTA&16383] = fTemp279;
fRec92[0] = (((fTemp99 * fVec24[(IOTA-iTemp101)&16383]) / fTemp102) + ((fRec92[1] * fTemp104) + fVec24[(IOTA-iTemp103)&16383]));
fRec90[0] = fRec92[0];
float fTemp280 = (0.760314f * fRec89[1]);
float fTemp281 = (fTemp280 + fTemp105);
float fTemp282 = ((0.760314f * fRec85[1]) + (0.64955574f * fTemp281));
float fTemp283 = (fTemp147 + (0.64955574f * fTemp282));
float fTemp284 = ((0.760314f * fRec81[1]) + (0.64955574f * fTemp283));
fVec25[IOTA&1023] = fTemp284;
float fTemp285 = (((fTemp44 * fVec25[(IOTA-iTemp174)&1023]) * fTemp175) + (fTemp176 * (((fTemp177 * fVec25[(IOTA-iTemp178)&1023]) * fTemp179) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec25[(IOTA-iTemp182)&1023])) + ((0.16666667f * ((fTemp41 * fVec25[(IOTA-iTemp183)&1023]) * fTemp184)) + (0.5f * ((fTemp185 * fVec25[(IOTA-iTemp186)&1023]) * fTemp187))))))));
fVec26[IOTA&16383] = fTemp285;
fRec80[0] = (((fTemp195 * fVec26[(IOTA-iTemp191)&16383]) / fTemp196) + ((fRec80[1] * fTemp197) + fVec26[(IOTA-iTemp192)&16383]));
float fTemp286 = ((0.760314f * fRec76[0]) - (0.64955574f * fRec93[1]));
float fTemp287 = ((0.760314f * fRec77[0]) - (0.64955574f * fRec94[1]));
float fTemp288 = ((0.70710677f * fTemp286) - (0.70710677f * fTemp287));
fVec27[IOTA&16383] = fTemp288;
fRec95[0] = (((fVec27[(IOTA-iTemp237)&16383] * fTemp37) / fTemp238) + (fVec27[(IOTA-iTemp239)&16383] + (fRec95[1] * fTemp240)));
fRec93[0] = fRec95[0];
float fTemp289 = ((0.70710677f * fTemp286) + (0.70710677f * fTemp287));
fVec28[IOTA&16383] = fTemp289;
fRec96[0] = (((fVec28[(IOTA-iTemp248)&16383] * fTemp244) / fTemp245) + (fVec28[(IOTA-iTemp249)&16383] + (fRec96[1] * fTemp246)));
fRec94[0] = fRec96[0];
float fTemp290 = ((0.64955574f * fRec80[0]) + (0.760314f * fRec93[1]));
float fTemp291 = ((0.760314f * fRec32[1]) + (0.64955574f * fTemp290));
int iTemp292 = itbl0[iSlow45];
fRec100[0] = ((0.0001f * iTemp292) + (0.9999f * ((iTemp1 * iTemp292) + fRec100[1])));
float fTemp293 = (fRec100[0] + -1.49999f);
float fTemp294 = floorf(fTemp293);
float fTemp295 = (fTemp294 + (2.0f - fRec100[0]));
float fTemp296 = (fTemp66 - (0.64955574f * fRec120[1]));
float fTemp297 = (fTemp68 - (0.64955574f * fRec121[1]));
float fTemp298 = ((0.70710677f * fTemp296) - (0.70710677f * fTemp297));
fVec29[IOTA&16383] = fTemp298;
fRec122[0] = (((fTemp65 * fVec29[(IOTA-iTemp71)&16383]) / fTemp72) + (fVec29[(IOTA-iTemp73)&16383] + (fRec122[1] * fTemp74)));
fRec120[0] = fRec122[0];
float fTemp299 = ((0.70710677f * fTemp296) + (0.70710677f * fTemp297));
fVec30[IOTA&16383] = fTemp299;
fRec123[0] = ((((fTemp78 * fVec30[(IOTA-iTemp80)&16383]) / fTemp81) + fVec30[(IOTA-iTemp82)&16383]) + (fRec123[1] * fTemp83));
fRec121[0] = fRec123[0];
float fTemp300 = (fTemp61 + (0.760314f * fRec120[1]));
float fTemp301 = ((0.760314f * fTemp300) - (0.64955574f * fRec117[1]));
float fTemp302 = (fTemp87 + (0.760314f * fRec121[1]));
float fTemp303 = ((0.760314f * fTemp302) - (0.64955574f * fRec118[1]));
float fTemp304 = ((0.70710677f * fTemp301) - (0.70710677f * fTemp303));
fVec31[IOTA&16383] = fTemp304;
fRec119[0] = (fVec31[(IOTA-iTemp94)&16383] + ((fRec119[1] * fTemp95) + ((fTemp60 * fVec31[(IOTA-iTemp92)&16383]) / fTemp93)));
fRec117[0] = fRec119[0];
float fTemp305 = ((0.70710677f * fTemp301) + (0.70710677f * fTemp303));
fVec32[IOTA&16383] = fTemp305;
fRec124[0] = (((fTemp99 * fVec32[(IOTA-iTemp101)&16383]) / fTemp102) + ((fRec124[1] * fTemp104) + fVec32[(IOTA-iTemp103)&16383]));
fRec118[0] = fRec124[0];
float fTemp306 = ((0.760314f * fRec117[1]) + fTemp105);
float fTemp307 = ((0.760314f * fTemp306) - (0.64955574f * fRec114[1]));
float fTemp308 = ((0.760314f * fRec118[1]) + fTemp109);
float fTemp309 = ((0.760314f * fTemp308) - (0.64955574f * fRec115[1]));
float fTemp310 = ((0.70710677f * fTemp307) - (0.70710677f * fTemp309));
fVec33[IOTA&16383] = fTemp310;
fRec116[0] = (fVec33[(IOTA-iTemp116)&16383] + ((fRec116[1] * fTemp117) + ((fTemp56 * fVec33[(IOTA-iTemp114)&16383]) / fTemp115)));
fRec114[0] = fRec116[0];
float fTemp311 = ((0.70710677f * fTemp307) + (0.70710677f * fTemp309));
fVec34[IOTA&16383] = fTemp311;
fRec125[0] = (((fTemp121 * fVec34[(IOTA-iTemp123)&16383]) / fTemp124) + ((fRec125[1] * fTemp126) + fVec34[(IOTA-iTemp125)&16383]));
fRec115[0] = fRec125[0];
float fTemp312 = ((0.760314f * fRec114[1]) + fTemp127);
float fTemp313 = ((0.760314f * fTemp312) - (0.64955574f * fRec111[1]));
float fTemp314 = ((0.760314f * fRec115[1]) + fTemp130);
float fTemp315 = ((0.760314f * fTemp314) - (0.64955574f * fRec112[1]));
float fTemp316 = ((0.70710677f * fTemp313) - (0.70710677f * fTemp315));
fVec35[IOTA&16383] = fTemp316;
fRec113[0] = (((fTemp52 * fVec35[(IOTA-iTemp134)&16383]) / fTemp135) + ((fRec113[1] * fTemp137) + fVec35[(IOTA-iTemp136)&16383]));
fRec111[0] = fRec113[0];
float fTemp317 = ((0.70710677f * fTemp313) + (0.70710677f * fTemp315));
fVec36[IOTA&16383] = fTemp317;
fRec126[0] = (((fTemp141 * fVec36[(IOTA-iTemp143)&16383]) / fTemp144) + ((fRec126[1] * fTemp146) + fVec36[(IOTA-iTemp145)&16383]));
fRec112[0] = fRec126[0];
float fTemp318 = ((0.760314f * fRec111[1]) + fTemp148);
float fTemp319 = ((0.760314f * fTemp318) - (0.64955574f * fRec108[1]));
float fTemp320 = ((0.760314f * fRec112[1]) + fTemp153);
float fTemp321 = ((0.760314f * fTemp320) - (0.64955574f * fRec109[1]));
float fTemp322 = ((0.70710677f * fTemp319) - (0.70710677f * fTemp321));
fVec37[IOTA&16383] = fTemp322;
fRec110[0] = (fVec37[(IOTA-iTemp160)&16383] + ((fRec110[1] * fTemp161) + ((fTemp48 * fVec37[(IOTA-iTemp158)&16383]) / fTemp159)));
fRec108[0] = fRec110[0];
float fTemp323 = ((0.70710677f * fTemp319) + (0.70710677f * fTemp321));
fVec38[IOTA&16383] = fTemp323;
fRec127[0] = (((fTemp165 * fVec38[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec127[1] * fTemp170) + fVec38[(IOTA-iTemp169)&16383]));
fRec109[0] = fRec127[0];
float fTemp324 = ((0.760314f * fRec108[1]) + fTemp171);
fVec39[IOTA&1023] = fTemp324;
float fTemp325 = (((fTemp44 * fVec39[(IOTA-iTemp174)&1023]) * fTemp175) + (fTemp176 * (((fTemp177 * fVec39[(IOTA-iTemp178)&1023]) * fTemp179) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec39[(IOTA-iTemp182)&1023])) + ((0.5f * ((fTemp185 * fVec39[(IOTA-iTemp186)&1023]) * fTemp187)) + (0.16666667f * ((fTemp41 * fVec39[(IOTA-iTemp183)&1023]) * fTemp184))))))));
fVec40[IOTA&16383] = fTemp325;
fRec107[0] = (fVec40[(IOTA-iTemp192)&16383] + ((fRec107[1] * fTemp197) + ((fTemp195 * fVec40[(IOTA-iTemp191)&16383]) / fTemp196)));
float fTemp326 = ((0.760314f * fRec107[0]) - (0.64955574f * fRec104[1]));
float fTemp327 = ((0.760314f * fRec109[1]) + fTemp207);
fVec41[IOTA&1023] = fTemp327;
float fTemp328 = (((fTemp206 * fVec41[(IOTA-iTemp210)&1023]) * fTemp211) + (fTemp212 * (((fTemp213 * fVec41[(IOTA-iTemp214)&1023]) * fTemp215) + (fTemp216 * (((0.5f * ((fTemp221 * fVec41[(IOTA-iTemp222)&1023]) * fTemp223)) + (0.16666667f * ((fTemp203 * fVec41[(IOTA-iTemp219)&1023]) * fTemp220))) + (0.041666668f * (fTemp217 * fVec41[(IOTA-iTemp218)&1023])))))));
fVec42[IOTA&16383] = fTemp328;
fRec128[0] = (((fTemp231 * fVec42[(IOTA-iTemp227)&16383]) / fTemp232) + ((fRec128[1] * fTemp234) + fVec42[(IOTA-iTemp228)&16383]));
float fTemp329 = ((0.760314f * fRec128[0]) - (0.64955574f * fRec105[1]));
float fTemp330 = ((0.70710677f * fTemp326) - (0.70710677f * fTemp329));
fVec43[IOTA&16383] = fTemp330;
fRec106[0] = ((((fTemp37 * fVec43[(IOTA-iTemp237)&16383]) / fTemp238) + fVec43[(IOTA-iTemp239)&16383]) + (fRec106[1] * fTemp240));
fRec104[0] = fRec106[0];
float fTemp331 = ((0.70710677f * fTemp326) + (0.70710677f * fTemp329));
fVec44[IOTA&16383] = fTemp331;
fRec129[0] = (((fTemp244 * fVec44[(IOTA-iTemp248)&16383]) / fTemp245) + (fVec44[(IOTA-iTemp249)&16383] + (fRec129[1] * fTemp246)));
fRec105[0] = fRec129[0];
float fTemp332 = ((0.760314f * fRec104[1]) + (0.64955574f * fRec40[0]));
float fTemp333 = ((0.760314f * fTemp332) - (0.64955574f * fRec101[1]));
float fTemp334 = ((0.760314f * fRec105[1]) + (0.64955574f * fRec72[0]));
float fTemp335 = ((0.760314f * fTemp334) - (0.64955574f * fRec102[1]));
float fTemp336 = ((0.70710677f * fTemp333) - (0.70710677f * fTemp335));
fVec45[IOTA&16383] = fTemp336;
fRec103[0] = ((((fTemp33 * fVec45[(IOTA-iTemp255)&16383]) / fTemp256) + fVec45[(IOTA-iTemp257)&16383]) + (fRec103[1] * fTemp258));
fRec101[0] = fRec103[0];
float fTemp337 = ((0.70710677f * fTemp333) + (0.70710677f * fTemp335));
fVec46[IOTA&16383] = fTemp337;
fRec130[0] = ((((fTemp265 * fVec46[(IOTA-iTemp262)&16383]) / fTemp266) + fVec46[(IOTA-iTemp263)&16383]) + (fRec130[1] * fTemp267));
fRec102[0] = fRec130[0];
float fTemp338 = ((0.760314f * fRec101[1]) + (0.64955574f * fTemp250));
float fTemp339 = ((0.760314f * fTemp338) - (0.64955574f * fRec97[1]));
float fTemp340 = ((0.760314f * fRec102[1]) + (0.64955574f * fTemp252));
float fTemp341 = ((0.760314f * fTemp340) - (0.64955574f * fRec98[1]));
float fTemp342 = ((0.70710677f * fTemp339) - (0.70710677f * fTemp341));
fVec47[IOTA&16383] = fTemp342;
int iTemp343 = int(min(8192, max(0, int(fTemp293))));
float fTemp344 = (fRec100[0] - fTemp294);
int iTemp345 = int((iTemp343 + 1));
float fTemp346 = (0 - (fTemp295 / fTemp344));
fRec99[0] = ((((fTemp295 * fVec47[(IOTA-iTemp343)&16383]) / fTemp344) + fVec47[(IOTA-iTemp345)&16383]) + (fRec99[1] * fTemp346));
fRec97[0] = fRec99[0];
int iTemp347 = itbl0[iSlow46];
fRec132[0] = ((0.0001f * iTemp347) + (0.9999f * ((iTemp347 * iTemp1) + fRec132[1])));
float fTemp348 = (fRec132[0] + -1.49999f);
float fTemp349 = floorf(fTemp348);
float fTemp350 = (fTemp349 + (2.0f - fRec132[0]));
float fTemp351 = ((0.70710677f * fTemp339) + (0.70710677f * fTemp341));
fVec48[IOTA&16383] = fTemp351;
int iTemp352 = int(min(8192, max(0, int(fTemp348))));
float fTemp353 = (fRec132[0] - fTemp349);
int iTemp354 = int((iTemp352 + 1));
float fTemp355 = (0 - (fTemp350 / fTemp353));
fRec131[0] = (((fTemp350 * fVec48[(IOTA-iTemp352)&16383]) / fTemp353) + (fVec48[(IOTA-iTemp354)&16383] + (fRec131[1] * fTemp355)));
fRec98[0] = fRec131[0];
float fTemp356 = ((0.64955574f * fTemp291) + (0.760314f * fRec97[1]));
float fTemp357 = ((0.760314f * fTemp356) - (0.64955574f * fRec29[1]));
float fTemp358 = (fTemp206 * fTemp211);
float fTemp359 = (0.760314f * fRec90[1]);
float fTemp360 = (fTemp359 + fTemp109);
float fTemp361 = ((0.760314f * fRec86[1]) + (0.64955574f * fTemp360));
float fTemp362 = (fTemp152 + (0.64955574f * fTemp361));
float fTemp363 = ((0.760314f * fRec82[1]) + (0.64955574f * fTemp362));
fVec49[IOTA&1023] = fTemp363;
float fTemp364 = (fTemp213 * fTemp215);
float fTemp365 = (fTemp203 * fTemp220);
float fTemp366 = (fTemp221 * fTemp223);
float fTemp367 = ((fTemp358 * fVec49[(IOTA-iTemp210)&1023]) + (fTemp212 * ((fTemp364 * fVec49[(IOTA-iTemp214)&1023]) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec49[(IOTA-iTemp218)&1023])) + ((0.16666667f * (fTemp365 * fVec49[(IOTA-iTemp219)&1023])) + (0.5f * (fTemp366 * fVec49[(IOTA-iTemp222)&1023]))))))));
fVec50[IOTA&16383] = fTemp367;
fRec133[0] = (((fRec133[1] * fTemp234) + fVec50[(IOTA-iTemp228)&16383]) + ((fTemp231 * fVec50[(IOTA-iTemp227)&16383]) / fTemp232));
float fTemp368 = ((0.760314f * fRec94[1]) + (0.64955574f * fRec133[0]));
float fTemp369 = ((0.760314f * fRec33[1]) + (0.64955574f * fTemp368));
float fTemp370 = ((0.760314f * fRec98[1]) + (0.64955574f * fTemp369));
float fTemp371 = ((0.760314f * fTemp370) - (0.64955574f * fRec30[1]));
float fTemp372 = ((0.70710677f * fTemp357) - (0.70710677f * fTemp371));
fVec51[IOTA&16383] = fTemp372;
int iTemp373 = int(min(8192, max(0, int(fTemp10))));
float fTemp374 = (fRec13[0] - fTemp11);
int iTemp375 = int((iTemp373 + 1));
float fTemp376 = (0 - (fTemp12 / fTemp374));
fRec31[0] = ((((fTemp12 * fVec51[(IOTA-iTemp373)&16383]) / fTemp374) + fVec51[(IOTA-iTemp375)&16383]) + (fTemp376 * fRec31[1]));
fRec29[0] = fRec31[0];
float fTemp377 = ((0.70710677f * fTemp371) + (0.70710677f * fTemp357));
fVec52[IOTA&16383] = fTemp377;
int iTemp378 = int(min(8192, max(0, int(fTemp6))));
int iTemp379 = int((iTemp378 + 1));
float fTemp380 = (fRec9[0] - fTemp7);
float fTemp381 = (0 - (fTemp8 / fTemp380));
fRec134[0] = (fVec52[(IOTA-iTemp379)&16383] + ((fRec134[1] * fTemp381) + ((fTemp8 * fVec52[(IOTA-iTemp378)&16383]) / fTemp380)));
fRec30[0] = fRec134[0];
float fTemp382 = ((0.760314f * fTemp291) - (0.64955574f * fRec135[1]));
float fTemp383 = ((0.760314f * fTemp369) - (0.64955574f * fRec136[1]));
float fTemp384 = ((0.70710677f * fTemp382) - (0.70710677f * fTemp383));
fVec53[IOTA&16383] = fTemp384;
fRec137[0] = (((fVec53[(IOTA-iTemp343)&16383] * fTemp295) / fTemp344) + (fVec53[(IOTA-iTemp345)&16383] + (fRec137[1] * fTemp346)));
fRec135[0] = fRec137[0];
float fTemp385 = ((0.70710677f * fTemp382) + (0.70710677f * fTemp383));
fVec54[IOTA&16383] = fTemp385;
fRec138[0] = (((fVec54[(IOTA-iTemp352)&16383] * fTemp350) / fTemp353) + (fVec54[(IOTA-iTemp354)&16383] + (fRec138[1] * fTemp355)));
fRec136[0] = fRec138[0];
float fTemp386 = ((0.760314f * fTemp290) - (0.64955574f * fRec139[1]));
float fTemp387 = ((0.760314f * fTemp368) - (0.64955574f * fRec140[1]));
float fTemp388 = ((0.70710677f * fTemp386) - (0.70710677f * fTemp387));
fVec55[IOTA&16383] = fTemp388;
fRec141[0] = (((fVec55[(IOTA-iTemp255)&16383] * fTemp33) / fTemp256) + (fVec55[(IOTA-iTemp257)&16383] + (fRec141[1] * fTemp258)));
fRec139[0] = fRec141[0];
float fTemp389 = ((0.70710677f * fTemp386) + (0.70710677f * fTemp387));
fVec56[IOTA&16383] = fTemp389;
fRec142[0] = (((fVec56[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266) + (fVec56[(IOTA-iTemp263)&16383] + (fRec142[1] * fTemp267)));
fRec140[0] = fRec142[0];
float fTemp390 = ((0.760314f * fRec80[0]) - (0.64955574f * fRec143[1]));
float fTemp391 = ((0.760314f * fRec133[0]) - (0.64955574f * fRec144[1]));
float fTemp392 = ((0.70710677f * fTemp390) - (0.70710677f * fTemp391));
fVec57[IOTA&16383] = fTemp392;
fRec145[0] = (((fVec57[(IOTA-iTemp237)&16383] * fTemp37) / fTemp238) + (fVec57[(IOTA-iTemp239)&16383] + (fRec145[1] * fTemp240)));
fRec143[0] = fRec145[0];
float fTemp393 = ((0.70710677f * fTemp390) + (0.70710677f * fTemp391));
fVec58[IOTA&16383] = fTemp393;
fRec146[0] = (((fVec58[(IOTA-iTemp248)&16383] * fTemp244) / fTemp245) + (fVec58[(IOTA-iTemp249)&16383] + (fRec146[1] * fTemp246)));
fRec144[0] = fRec146[0];
float fTemp394 = (fTemp44 * fTemp175);
float fTemp395 = ((0.760314f * fTemp283) - (0.64955574f * fRec148[1]));
float fTemp396 = ((0.760314f * fTemp362) - (0.64955574f * fRec149[1]));
float fTemp397 = ((0.70710677f * fTemp395) - (0.70710677f * fTemp396));
fVec59[IOTA&16383] = fTemp397;
fRec150[0] = (fVec59[(IOTA-iTemp160)&16383] + ((fRec150[1] * fTemp161) + ((fTemp48 * fVec59[(IOTA-iTemp158)&16383]) / fTemp159)));
fRec148[0] = fRec150[0];
float fTemp398 = ((0.70710677f * fTemp396) + (0.70710677f * fTemp395));
fVec60[IOTA&16383] = fTemp398;
fRec151[0] = (((fTemp165 * fVec60[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec151[1] * fTemp170) + fVec60[(IOTA-iTemp169)&16383]));
fRec149[0] = fRec151[0];
float fTemp399 = ((0.760314f * fTemp282) - (0.64955574f * fRec152[1]));
float fTemp400 = ((0.760314f * fTemp361) - (0.64955574f * fRec153[1]));
float fTemp401 = ((0.70710677f * fTemp399) - (0.70710677f * fTemp400));
fVec61[IOTA&16383] = fTemp401;
fRec154[0] = (((fTemp52 * fVec61[(IOTA-iTemp134)&16383]) / fTemp135) + ((fRec154[1] * fTemp137) + fVec61[(IOTA-iTemp136)&16383]));
fRec152[0] = fRec154[0];
float fTemp402 = ((0.70710677f * fTemp399) + (0.70710677f * fTemp400));
fVec62[IOTA&16383] = fTemp402;
fRec155[0] = (((fTemp141 * fVec62[(IOTA-iTemp143)&16383]) / fTemp144) + ((fRec155[1] * fTemp146) + fVec62[(IOTA-iTemp145)&16383]));
fRec153[0] = fRec155[0];
float fTemp403 = ((0.760314f * fTemp281) - (0.64955574f * fRec156[1]));
float fTemp404 = ((0.760314f * fTemp360) - (0.64955574f * fRec157[1]));
float fTemp405 = ((0.70710677f * fTemp403) - (0.70710677f * fTemp404));
fVec63[IOTA&16383] = fTemp405;
fRec158[0] = (fVec63[(IOTA-iTemp116)&16383] + ((fRec158[1] * fTemp117) + ((fTemp56 * fVec63[(IOTA-iTemp114)&16383]) / fTemp115)));
fRec156[0] = fRec158[0];
float fTemp406 = ((0.70710677f * fTemp404) + (0.70710677f * fTemp403));
fVec64[IOTA&16383] = fTemp406;
fRec159[0] = (((fTemp121 * fVec64[(IOTA-iTemp123)&16383]) / fTemp124) + ((fRec159[1] * fTemp126) + fVec64[(IOTA-iTemp125)&16383]));
fRec157[0] = fRec159[0];
float fTemp407 = ((0.760314f * fRec156[1]) + fTemp127);
float fTemp408 = ((0.760314f * fRec152[1]) + (0.64955574f * fTemp407));
float fTemp409 = ((0.760314f * fRec148[1]) + (0.64955574f * fTemp408));
fVec65[IOTA&1023] = fTemp409;
float fTemp410 = (fTemp177 * fTemp179);
float fTemp411 = (fTemp41 * fTemp184);
float fTemp412 = (fTemp185 * fTemp187);
float fTemp413 = ((fTemp394 * fVec65[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec65[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec65[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec65[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec65[(IOTA-iTemp186)&1023]))))))));
fVec66[IOTA&16383] = fTemp413;
fRec147[0] = (((fTemp195 * fVec66[(IOTA-iTemp191)&16383]) / fTemp196) + ((fRec147[1] * fTemp197) + fVec66[(IOTA-iTemp192)&16383]));
float fTemp414 = ((0.760314f * fRec143[1]) + (0.64955574f * fRec147[0]));
float fTemp415 = ((0.760314f * fRec139[1]) + (0.64955574f * fTemp414));
float fTemp416 = ((0.760314f * fRec135[1]) + (0.64955574f * fTemp415));
float fTemp417 = ((0.760314f * fRec29[1]) + (0.64955574f * fTemp416));
float fTemp418 = ((0.760314f * fTemp417) - (0.64955574f * fRec26[1]));
float fTemp419 = ((0.760314f * fRec157[1]) + fTemp130);
float fTemp420 = ((0.760314f * fRec153[1]) + (0.64955574f * fTemp419));
float fTemp421 = ((0.760314f * fRec149[1]) + (0.64955574f * fTemp420));
fVec67[IOTA&1023] = fTemp421;
float fTemp422 = ((fTemp358 * fVec67[(IOTA-iTemp210)&1023]) + (fTemp212 * ((fTemp364 * fVec67[(IOTA-iTemp214)&1023]) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec67[(IOTA-iTemp218)&1023])) + ((0.16666667f * (fTemp365 * fVec67[(IOTA-iTemp219)&1023])) + (0.5f * (fTemp366 * fVec67[(IOTA-iTemp222)&1023]))))))));
fVec68[IOTA&16383] = fTemp422;
fRec160[0] = (fVec68[(IOTA-iTemp228)&16383] + ((fRec160[1] * fTemp234) + ((fTemp231 * fVec68[(IOTA-iTemp227)&16383]) / fTemp232)));
float fTemp423 = ((0.760314f * fRec144[1]) + (0.64955574f * fRec160[0]));
float fTemp424 = ((0.760314f * fRec140[1]) + (0.64955574f * fTemp423));
float fTemp425 = ((0.760314f * fRec136[1]) + (0.64955574f * fTemp424));
float fTemp426 = ((0.760314f * fRec30[1]) + (0.64955574f * fTemp425));
float fTemp427 = ((0.760314f * fTemp426) - (0.64955574f * fRec27[1]));
float fTemp428 = ((0.70710677f * fTemp418) - (0.70710677f * fTemp427));
fVec69[IOTA&16383] = fTemp428;
int iTemp429 = itbl0[iSlow47];
fRec161[0] = ((0.0001f * iTemp429) + (0.9999f * ((iTemp429 * iTemp1) + fRec161[1])));
float fTemp430 = (fRec161[0] + -1.49999f);
int iTemp431 = int(min(8192, max(0, int(fTemp430))));
int iTemp432 = int((iTemp431 + 1));
float fTemp433 = floorf(fTemp430);
float fTemp434 = (fTemp433 + (2.0f - fRec161[0]));
float fTemp435 = (fRec161[0] - fTemp433);
float fTemp436 = (0 - (fTemp434 / fTemp435));
fRec28[0] = ((fVec69[(IOTA-iTemp432)&16383] + ((fVec69[(IOTA-iTemp431)&16383] * fTemp434) / fTemp435)) + (fTemp436 * fRec28[1]));
fRec26[0] = fRec28[0];
int iTemp437 = itbl0[iSlow48];
fRec163[0] = ((0.0001f * iTemp437) + (0.9999f * ((iTemp1 * iTemp437) + fRec163[1])));
float fTemp438 = (fRec163[0] + -1.49999f);
float fTemp439 = floorf(fTemp438);
float fTemp440 = (fTemp439 + (2.0f - fRec163[0]));
float fTemp441 = ((0.70710677f * fTemp418) + (0.70710677f * fTemp427));
fVec70[IOTA&16383] = fTemp441;
int iTemp442 = int(min(8192, max(0, int(fTemp438))));
float fTemp443 = (fRec163[0] - fTemp439);
int iTemp444 = int((iTemp442 + 1));
float fTemp445 = (0 - (fTemp440 / fTemp443));
fRec162[0] = (((fTemp440 * fVec70[(IOTA-iTemp442)&16383]) / fTemp443) + (fVec70[(IOTA-iTemp444)&16383] + (fRec162[1] * fTemp445)));
fRec27[0] = fRec162[0];
float fTemp446 = ((0.760314f * fTemp416) - (0.64955574f * fRec164[1]));
float fTemp447 = ((0.760314f * fTemp425) - (0.64955574f * fRec165[1]));
float fTemp448 = ((0.70710677f * fTemp446) - (0.70710677f * fTemp447));
fVec71[IOTA&16383] = fTemp448;
fRec166[0] = ((fTemp376 * fRec166[1]) + (fVec71[(IOTA-iTemp375)&16383] + ((fVec71[(IOTA-iTemp373)&16383] * fTemp12) / fTemp374)));
fRec164[0] = fRec166[0];
float fTemp449 = ((0.70710677f * fTemp446) + (0.70710677f * fTemp447));
fVec72[IOTA&16383] = fTemp449;
fRec167[0] = ((((fTemp8 * fVec72[(IOTA-iTemp378)&16383]) / fTemp380) + fVec72[(IOTA-iTemp379)&16383]) + (fTemp381 * fRec167[1]));
fRec165[0] = fRec167[0];
float fTemp450 = ((0.760314f * fTemp415) - (0.64955574f * fRec168[1]));
float fTemp451 = ((0.760314f * fTemp424) - (0.64955574f * fRec169[1]));
float fTemp452 = ((0.70710677f * fTemp450) - (0.70710677f * fTemp451));
fVec73[IOTA&16383] = fTemp452;
fRec170[0] = (((fVec73[(IOTA-iTemp343)&16383] * fTemp295) / fTemp344) + (fVec73[(IOTA-iTemp345)&16383] + (fRec170[1] * fTemp346)));
fRec168[0] = fRec170[0];
float fTemp453 = ((0.70710677f * fTemp450) + (0.70710677f * fTemp451));
fVec74[IOTA&16383] = fTemp453;
fRec171[0] = (((fVec74[(IOTA-iTemp352)&16383] * fTemp350) / fTemp353) + (fVec74[(IOTA-iTemp354)&16383] + (fRec171[1] * fTemp355)));
fRec169[0] = fRec171[0];
float fTemp454 = ((0.760314f * fTemp414) - (0.64955574f * fRec172[1]));
float fTemp455 = ((0.760314f * fTemp423) - (0.64955574f * fRec173[1]));
float fTemp456 = ((0.70710677f * fTemp454) - (0.70710677f * fTemp455));
fVec75[IOTA&16383] = fTemp456;
fRec174[0] = (((fVec75[(IOTA-iTemp255)&16383] * fTemp33) / fTemp256) + (fVec75[(IOTA-iTemp257)&16383] + (fRec174[1] * fTemp258)));
fRec172[0] = fRec174[0];
float fTemp457 = ((0.70710677f * fTemp454) + (0.70710677f * fTemp455));
fVec76[IOTA&16383] = fTemp457;
fRec175[0] = (((fVec76[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266) + (fVec76[(IOTA-iTemp263)&16383] + (fRec175[1] * fTemp267)));
fRec173[0] = fRec175[0];
float fTemp458 = ((0.760314f * fRec147[0]) - (0.64955574f * fRec176[1]));
float fTemp459 = ((0.760314f * fRec160[0]) - (0.64955574f * fRec177[1]));
float fTemp460 = ((0.70710677f * fTemp458) - (0.70710677f * fTemp459));
fVec77[IOTA&16383] = fTemp460;
fRec178[0] = (((fVec77[(IOTA-iTemp237)&16383] * fTemp37) / fTemp238) + (fVec77[(IOTA-iTemp239)&16383] + (fRec178[1] * fTemp240)));
fRec176[0] = fRec178[0];
float fTemp461 = ((0.70710677f * fTemp458) + (0.70710677f * fTemp459));
fVec78[IOTA&16383] = fTemp461;
fRec179[0] = (((fVec78[(IOTA-iTemp248)&16383] * fTemp244) / fTemp245) + (fVec78[(IOTA-iTemp249)&16383] + (fRec179[1] * fTemp246)));
fRec177[0] = fRec179[0];
float fTemp462 = ((0.760314f * fTemp408) - (0.64955574f * fRec181[1]));
float fTemp463 = ((0.760314f * fTemp420) - (0.64955574f * fRec182[1]));
float fTemp464 = ((0.70710677f * fTemp462) - (0.70710677f * fTemp463));
fVec79[IOTA&16383] = fTemp464;
fRec183[0] = (fVec79[(IOTA-iTemp160)&16383] + ((fRec183[1] * fTemp161) + ((fTemp48 * fVec79[(IOTA-iTemp158)&16383]) / fTemp159)));
fRec181[0] = fRec183[0];
float fTemp465 = ((0.70710677f * fTemp463) + (0.70710677f * fTemp462));
fVec80[IOTA&16383] = fTemp465;
fRec184[0] = (((fTemp165 * fVec80[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec184[1] * fTemp170) + fVec80[(IOTA-iTemp169)&16383]));
fRec182[0] = fRec184[0];
float fTemp466 = ((0.760314f * fTemp407) - (0.64955574f * fRec185[1]));
float fTemp467 = ((0.760314f * fTemp419) - (0.64955574f * fRec186[1]));
float fTemp468 = ((0.70710677f * fTemp466) - (0.70710677f * fTemp467));
fVec81[IOTA&16383] = fTemp468;
fRec187[0] = (((fTemp52 * fVec81[(IOTA-iTemp134)&16383]) / fTemp135) + ((fRec187[1] * fTemp137) + fVec81[(IOTA-iTemp136)&16383]));
fRec185[0] = fRec187[0];
float fTemp469 = ((0.70710677f * fTemp466) + (0.70710677f * fTemp467));
fVec82[IOTA&16383] = fTemp469;
fRec188[0] = (((fTemp141 * fVec82[(IOTA-iTemp143)&16383]) / fTemp144) + ((fRec188[1] * fTemp146) + fVec82[(IOTA-iTemp145)&16383]));
fRec186[0] = fRec188[0];
float fTemp470 = (fTemp107 - (0.64955574f * fRec189[1]));
float fTemp471 = (fTemp111 - (0.64955574f * fRec190[1]));
float fTemp472 = ((0.70710677f * fTemp470) - (0.70710677f * fTemp471));
fVec83[IOTA&16383] = fTemp472;
fRec191[0] = (((fTemp56 * fVec83[(IOTA-iTemp114)&16383]) / fTemp115) + ((fRec191[1] * fTemp117) + fVec83[(IOTA-iTemp116)&16383]));
fRec189[0] = fRec191[0];
float fTemp473 = ((0.70710677f * fTemp470) + (0.70710677f * fTemp471));
fVec84[IOTA&16383] = fTemp473;
fRec192[0] = (((fTemp121 * fVec84[(IOTA-iTemp123)&16383]) / fTemp124) + ((fRec192[1] * fTemp126) + fVec84[(IOTA-iTemp125)&16383]));
fRec190[0] = fRec192[0];
float fTemp474 = (fTemp66 - (0.64955574f * fRec193[1]));
float fTemp475 = (fTemp68 - (0.64955574f * fRec194[1]));
float fTemp476 = ((0.70710677f * fTemp474) - (0.70710677f * fTemp475));
fVec85[IOTA&16383] = fTemp476;
fRec195[0] = (((fVec85[(IOTA-iTemp71)&16383] * fTemp65) / fTemp72) + (fVec85[(IOTA-iTemp73)&16383] + (fRec195[1] * fTemp74)));
fRec193[0] = fRec195[0];
float fTemp477 = ((0.70710677f * fTemp474) + (0.70710677f * fTemp475));
fVec86[IOTA&16383] = fTemp477;
fRec196[0] = (((fVec86[(IOTA-iTemp80)&16383] * fTemp78) / fTemp81) + (fVec86[(IOTA-iTemp82)&16383] + (fRec196[1] * fTemp83)));
fRec194[0] = fRec196[0];
float fTemp478 = (fTemp61 + (0.760314f * fRec193[1]));
float fTemp479 = (0.64955574f * fTemp478);
float fTemp480 = (fTemp280 + fTemp479);
float fTemp481 = (0.64955574f * fTemp480);
float fTemp482 = ((0.760314f * fRec189[1]) + fTemp481);
float fTemp483 = ((0.760314f * fRec185[1]) + (0.64955574f * fTemp482));
float fTemp484 = ((0.760314f * fRec181[1]) + (0.64955574f * fTemp483));
fVec87[IOTA&1023] = fTemp484;
float fTemp485 = ((fTemp394 * fVec87[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec87[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec87[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec87[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec87[(IOTA-iTemp186)&1023]))))))));
fVec88[IOTA&16383] = fTemp485;
fRec180[0] = (((fTemp195 * fVec88[(IOTA-iTemp191)&16383]) / fTemp196) + ((fRec180[1] * fTemp197) + fVec88[(IOTA-iTemp192)&16383]));
float fTemp486 = ((0.760314f * fRec176[1]) + (0.64955574f * fRec180[0]));
float fTemp487 = ((0.760314f * fRec172[1]) + (0.64955574f * fTemp486));
float fTemp488 = ((0.760314f * fRec168[1]) + (0.64955574f * fTemp487));
float fTemp489 = ((0.760314f * fRec164[1]) + (0.64955574f * fTemp488));
float fTemp490 = ((0.760314f * fRec26[1]) + (0.64955574f * fTemp489));
fVec89[IOTA&16383] = fTemp490;
int iTemp491 = int(fTemp14);
int iTemp492 = max(0, iTemp491);
int iTemp493 = int(min(8192, iTemp492));
float fTemp494 = (fTemp13 + (5.0f - fTemp15));
int iTemp495 = max(0, (iTemp491 + 1));
int iTemp496 = int(min(8192, iTemp495));
float fTemp497 = (0 - (0.5f * fTemp18));
float fTemp498 = (0 - (0.33333334f * fTemp20));
float fTemp499 = (fTemp15 + (-3.0f - fTemp13));
float fTemp500 = (fTemp13 + (4.0f - fTemp15));
int iTemp501 = max(0, (iTemp491 + 2));
int iTemp502 = int(min(8192, iTemp501));
float fTemp503 = (0 - (0.5f * fTemp20));
float fTemp504 = (fTemp15 + (-2.0f - fTemp13));
int iTemp505 = max(0, (iTemp491 + 3));
int iTemp506 = int(min(8192, iTemp505));
float fTemp507 = (fTemp15 + (-1.0f - fTemp13));
int iTemp508 = max(0, (iTemp491 + 4));
int iTemp509 = int(min(8192, iTemp508));
float fTemp510 = (((((fVec89[(IOTA-iTemp493)&16383] * fTemp17) * fTemp19) * fTemp21) * fTemp23) + (fTemp494 * ((((fVec89[(IOTA-iTemp496)&16383] * fTemp497) * fTemp498) * fTemp499) + (fTemp500 * (((0.5f * ((fVec89[(IOTA-iTemp502)&16383] * fTemp503) * fTemp504)) + (0.16666667f * ((fVec89[(IOTA-iTemp506)&16383] * fTemp16) * fTemp507))) + (0.041666668f * ((fVec89[(IOTA-iTemp509)&16383] * fTemp16) * fTemp18)))))));
fVec90[IOTA&16383] = fTemp510;
int iTemp511 = int(min(8192, max(0, int(fTemp27))));
float fTemp512 = (fRec25[0] - fTemp28);
int iTemp513 = int((iTemp511 + 1));
float fTemp514 = (0 - (fTemp29 / fTemp512));
fRec24[0] = (((fTemp29 * fVec90[(IOTA-iTemp511)&16383]) / fTemp512) + (fVec90[(IOTA-iTemp513)&16383] + (fTemp514 * fRec24[1])));
fRec23[0] = ((fSlow26 * ((fSlow19 * fRec24[0]) + (fSlow49 * fRec24[1]))) + (fSlow50 * fRec23[1]));
fRec22[0] = (fRec23[0] - (fSlow24 * ((fSlow51 * fRec22[1]) + (fSlow52 * fRec22[2]))));
fRec21[0] = ((fSlow24 * ((fSlow23 * fRec22[1]) + (fSlow22 * (fRec22[0] + fRec22[2])))) - (fSlow21 * ((fSlow51 * fRec21[1]) + (fSlow53 * fRec21[2]))));
float fTemp515 = (fSlow59 * fRec20[1]);
fRec20[0] = ((fSlow21 * ((fSlow23 * fRec21[1]) + (fSlow22 * (fRec21[0] + fRec21[2])))) - (fSlow56 * ((fSlow57 * fRec20[2]) + fTemp515)));
float fTemp516 = (0.760314f * fTemp478);
float fTemp517 = (fTemp516 - (0.64955574f * fRec229[1]));
float fTemp518 = (fTemp87 + (0.760314f * fRec194[1]));
float fTemp519 = (0.760314f * fTemp518);
float fTemp520 = (fTemp519 - (0.64955574f * fRec230[1]));
float fTemp521 = ((0.70710677f * fTemp517) - (0.70710677f * fTemp520));
fVec91[IOTA&16383] = fTemp521;
fRec231[0] = (((fTemp60 * fVec91[(IOTA-iTemp92)&16383]) / fTemp93) + ((fRec231[1] * fTemp95) + fVec91[(IOTA-iTemp94)&16383]));
fRec229[0] = fRec231[0];
float fTemp522 = ((0.70710677f * fTemp517) + (0.70710677f * fTemp520));
fVec92[IOTA&16383] = fTemp522;
fRec232[0] = (((fTemp99 * fVec92[(IOTA-iTemp101)&16383]) / fTemp102) + ((fRec232[1] * fTemp104) + fVec92[(IOTA-iTemp103)&16383]));
fRec230[0] = fRec232[0];
float fTemp523 = (0.760314f * fRec229[1]);
float fTemp524 = ((0.760314f * (fTemp523 + (0.64955574f * fTemp300))) - (0.64955574f * fRec226[1]));
float fTemp525 = (0.760314f * fRec230[1]);
float fTemp526 = ((0.760314f * (fTemp525 + (0.64955574f * fTemp302))) - (0.64955574f * fRec227[1]));
float fTemp527 = ((0.70710677f * fTemp524) - (0.70710677f * fTemp526));
fVec93[IOTA&16383] = fTemp527;
fRec228[0] = (((fTemp56 * fVec93[(IOTA-iTemp114)&16383]) / fTemp115) + ((fRec228[1] * fTemp117) + fVec93[(IOTA-iTemp116)&16383]));
fRec226[0] = fRec228[0];
float fTemp528 = ((0.70710677f * fTemp524) + (0.70710677f * fTemp526));
fVec94[IOTA&16383] = fTemp528;
fRec233[0] = (((fTemp121 * fVec94[(IOTA-iTemp123)&16383]) / fTemp124) + ((fRec233[1] * fTemp126) + fVec94[(IOTA-iTemp125)&16383]));
fRec227[0] = fRec233[0];
float fTemp529 = ((0.760314f * ((0.760314f * fRec226[1]) + (0.64955574f * fTemp306))) - (0.64955574f * fRec223[1]));
float fTemp530 = ((0.760314f * ((0.760314f * fRec227[1]) + (0.64955574f * fTemp308))) - (0.64955574f * fRec224[1]));
float fTemp531 = ((0.70710677f * fTemp529) - (0.70710677f * fTemp530));
fVec95[IOTA&16383] = fTemp531;
fRec225[0] = (((fTemp52 * fVec95[(IOTA-iTemp134)&16383]) / fTemp135) + ((fRec225[1] * fTemp137) + fVec95[(IOTA-iTemp136)&16383]));
fRec223[0] = fRec225[0];
float fTemp532 = ((0.70710677f * fTemp529) + (0.70710677f * fTemp530));
fVec96[IOTA&16383] = fTemp532;
fRec234[0] = (((fTemp141 * fVec96[(IOTA-iTemp143)&16383]) / fTemp144) + ((fRec234[1] * fTemp146) + fVec96[(IOTA-iTemp145)&16383]));
fRec224[0] = fRec234[0];
float fTemp533 = ((0.760314f * ((0.760314f * fRec223[1]) + (0.64955574f * fTemp312))) - (0.64955574f * fRec220[1]));
float fTemp534 = ((0.760314f * ((0.760314f * fRec224[1]) + (0.64955574f * fTemp314))) - (0.64955574f * fRec221[1]));
float fTemp535 = ((0.70710677f * fTemp533) - (0.70710677f * fTemp534));
fVec97[IOTA&16383] = fTemp535;
fRec222[0] = (((fTemp48 * fVec97[(IOTA-iTemp158)&16383]) / fTemp159) + ((fRec222[1] * fTemp161) + fVec97[(IOTA-iTemp160)&16383]));
fRec220[0] = fRec222[0];
float fTemp536 = ((0.70710677f * fTemp533) + (0.70710677f * fTemp534));
fVec98[IOTA&16383] = fTemp536;
fRec235[0] = (((fTemp165 * fVec98[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec235[1] * fTemp170) + fVec98[(IOTA-iTemp169)&16383]));
fRec221[0] = fRec235[0];
float fTemp537 = ((0.760314f * fRec220[1]) + (0.64955574f * fTemp318));
fVec99[IOTA&1023] = fTemp537;
float fTemp538 = ((fTemp394 * fVec99[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec99[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec99[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec99[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec99[(IOTA-iTemp186)&1023]))))))));
fVec100[IOTA&16383] = fTemp538;
fRec219[0] = (fVec100[(IOTA-iTemp192)&16383] + ((fRec219[1] * fTemp197) + ((fTemp195 * fVec100[(IOTA-iTemp191)&16383]) / fTemp196)));
float fTemp539 = ((0.760314f * fRec219[0]) - (0.64955574f * fRec216[1]));
float fTemp540 = ((0.760314f * fRec221[1]) + (0.64955574f * fTemp320));
fVec101[IOTA&1023] = fTemp540;
float fTemp541 = ((fTemp358 * fVec101[(IOTA-iTemp210)&1023]) + (fTemp212 * ((fTemp364 * fVec101[(IOTA-iTemp214)&1023]) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec101[(IOTA-iTemp218)&1023])) + ((0.16666667f * (fTemp365 * fVec101[(IOTA-iTemp219)&1023])) + (0.5f * (fTemp366 * fVec101[(IOTA-iTemp222)&1023]))))))));
fVec102[IOTA&16383] = fTemp541;
fRec236[0] = (((fRec236[1] * fTemp234) + fVec102[(IOTA-iTemp228)&16383]) + ((fTemp231 * fVec102[(IOTA-iTemp227)&16383]) / fTemp232));
float fTemp542 = ((0.760314f * fRec236[0]) - (0.64955574f * fRec217[1]));
float fTemp543 = ((0.70710677f * fTemp539) - (0.70710677f * fTemp542));
fVec103[IOTA&16383] = fTemp543;
fRec218[0] = (((fVec103[(IOTA-iTemp237)&16383] * fTemp37) / fTemp238) + (fVec103[(IOTA-iTemp239)&16383] + (fRec218[1] * fTemp240)));
fRec216[0] = fRec218[0];
float fTemp544 = ((0.70710677f * fTemp539) + (0.70710677f * fTemp542));
fVec104[IOTA&16383] = fTemp544;
fRec237[0] = (((fVec104[(IOTA-iTemp248)&16383] * fTemp244) / fTemp245) + (fVec104[(IOTA-iTemp249)&16383] + (fRec237[1] * fTemp246)));
fRec217[0] = fRec237[0];
float fTemp545 = ((0.760314f * ((0.760314f * fRec216[1]) + (0.64955574f * fRec107[0]))) - (0.64955574f * fRec213[1]));
float fTemp546 = ((0.760314f * ((0.760314f * fRec217[1]) + (0.64955574f * fRec128[0]))) - (0.64955574f * fRec214[1]));
float fTemp547 = ((0.70710677f * fTemp545) - (0.70710677f * fTemp546));
fVec105[IOTA&16383] = fTemp547;
fRec215[0] = (((fVec105[(IOTA-iTemp255)&16383] * fTemp33) / fTemp256) + (fVec105[(IOTA-iTemp257)&16383] + (fRec215[1] * fTemp258)));
fRec213[0] = fRec215[0];
float fTemp548 = ((0.70710677f * fTemp545) + (0.70710677f * fTemp546));
fVec106[IOTA&16383] = fTemp548;
fRec238[0] = (((fVec106[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266) + (fVec106[(IOTA-iTemp263)&16383] + (fRec238[1] * fTemp267)));
fRec214[0] = fRec238[0];
float fTemp549 = ((0.760314f * ((0.760314f * fRec213[1]) + (0.64955574f * fTemp332))) - (0.64955574f * fRec210[1]));
float fTemp550 = ((0.760314f * ((0.760314f * fRec214[1]) + (0.64955574f * fTemp334))) - (0.64955574f * fRec211[1]));
float fTemp551 = ((0.70710677f * fTemp549) - (0.70710677f * fTemp550));
fVec107[IOTA&16383] = fTemp551;
fRec212[0] = (((fVec107[(IOTA-iTemp343)&16383] * fTemp295) / fTemp344) + (fVec107[(IOTA-iTemp345)&16383] + (fRec212[1] * fTemp346)));
fRec210[0] = fRec212[0];
float fTemp552 = ((0.70710677f * fTemp549) + (0.70710677f * fTemp550));
fVec108[IOTA&16383] = fTemp552;
fRec239[0] = (((fVec108[(IOTA-iTemp352)&16383] * fTemp350) / fTemp353) + (fVec108[(IOTA-iTemp354)&16383] + (fRec239[1] * fTemp355)));
fRec211[0] = fRec239[0];
float fTemp553 = ((0.760314f * ((0.760314f * fRec210[1]) + (0.64955574f * fTemp338))) - (0.64955574f * fRec207[1]));
float fTemp554 = ((0.760314f * ((0.760314f * fRec211[1]) + (0.64955574f * fTemp340))) - (0.64955574f * fRec208[1]));
float fTemp555 = ((0.70710677f * fTemp553) - (0.70710677f * fTemp554));
fVec109[IOTA&16383] = fTemp555;
fRec209[0] = (((fVec109[(IOTA-iTemp373)&16383] * fTemp12) / fTemp374) + (fVec109[(IOTA-iTemp375)&16383] + (fTemp376 * fRec209[1])));
fRec207[0] = fRec209[0];
float fTemp556 = ((0.70710677f * fTemp553) + (0.70710677f * fTemp554));
fVec110[IOTA&16383] = fTemp556;
fRec240[0] = ((fTemp381 * fRec240[1]) + (fVec110[(IOTA-iTemp379)&16383] + ((fTemp8 * fVec110[(IOTA-iTemp378)&16383]) / fTemp380)));
fRec208[0] = fRec240[0];
float fTemp557 = ((0.760314f * ((0.760314f * fRec207[1]) + (0.64955574f * fTemp356))) - (0.64955574f * fRec204[1]));
float fTemp558 = ((0.760314f * ((0.760314f * fRec208[1]) + (0.64955574f * fTemp370))) - (0.64955574f * fRec205[1]));
float fTemp559 = ((0.70710677f * fTemp557) - (0.70710677f * fTemp558));
fVec111[IOTA&16383] = fTemp559;
fRec206[0] = (((fTemp434 * fVec111[(IOTA-iTemp431)&16383]) / fTemp435) + (fVec111[(IOTA-iTemp432)&16383] + (fTemp436 * fRec206[1])));
fRec204[0] = fRec206[0];
float fTemp560 = ((0.70710677f * fTemp558) + (0.70710677f * fTemp557));
fVec112[IOTA&16383] = fTemp560;
fRec241[0] = (((fTemp440 * fVec112[(IOTA-iTemp442)&16383]) / fTemp443) + (fVec112[(IOTA-iTemp444)&16383] + (fTemp445 * fRec241[1])));
fRec205[0] = fRec241[0];
float fTemp561 = ((0.760314f * fRec204[1]) + (0.64955574f * fTemp417));
fVec113[IOTA&16383] = fTemp561;
float fTemp562 = (fTemp497 * fTemp498);
float fTemp563 = (((((fVec113[(IOTA-iTemp493)&16383] * fTemp17) * fTemp19) * fTemp21) * fTemp23) + (fTemp494 * (((fTemp562 * fVec113[(IOTA-iTemp496)&16383]) * fTemp499) + (fTemp500 * ((0.041666668f * ((fVec113[(IOTA-iTemp509)&16383] * fTemp16) * fTemp18)) + ((0.5f * ((fTemp503 * fVec113[(IOTA-iTemp502)&16383]) * fTemp504)) + (0.16666667f * ((fVec113[(IOTA-iTemp506)&16383] * fTemp16) * fTemp507))))))));
fVec114[IOTA&16383] = fTemp563;
fRec203[0] = (((fTemp29 * fVec114[(IOTA-iTemp511)&16383]) / fTemp512) + ((fTemp514 * fRec203[1]) + fVec114[(IOTA-iTemp513)&16383]));
fRec202[0] = ((fSlow50 * fRec202[1]) + (fSlow26 * (fRec203[1] + fRec203[0])));
fRec201[0] = (fRec202[0] - (fSlow24 * ((fSlow51 * fRec201[1]) + (fSlow52 * fRec201[2]))));
fRec200[0] = ((fSlow24 * (fRec201[0] + (fRec201[2] + (2.0f * fRec201[1])))) - (fSlow21 * ((fSlow51 * fRec200[1]) + (fSlow53 * fRec200[2]))));
float fTemp564 = (fRec200[0] + (fRec200[2] + (2.0f * fRec200[1])));
float fTemp565 = (fSlow21 * fTemp564);
fVec115[0] = fTemp565;
fRec199[0] = ((fSlow65 * fRec199[1]) + (fSlow66 * ((fSlow67 * fVec115[1]) + (fSlow68 * fTemp564))));
fRec198[0] = (fRec199[0] - (fSlow63 * ((fSlow59 * fRec198[1]) + (fSlow69 * fRec198[2]))));
fRec197[0] = ((fSlow63 * ((fSlow62 * fRec198[1]) + (fSlow58 * (fRec198[2] + fRec198[0])))) - (fSlow60 * ((fSlow59 * fRec197[1]) + (fSlow70 * fRec197[2]))));
fRec244[0] = ((fSlow65 * fRec244[1]) + (fSlow66 * (fVec115[0] + fVec115[1])));
fRec243[0] = (fRec244[0] - (fSlow63 * ((fSlow59 * fRec243[1]) + (fSlow69 * fRec243[2]))));
fRec242[0] = ((fSlow63 * (fRec243[0] + (fRec243[2] + (2.0f * fRec243[1])))) - (fSlow60 * ((fSlow59 * fRec242[1]) + (fSlow70 * fRec242[2]))));
float fTemp566 = (fTemp25 + (fSlow16 * ((fSlow17 * (fRec20[2] + (fSlow56 * ((fSlow57 * fRec20[0]) + fTemp515)))) + (fSlow60 * ((fSlow61 * ((fSlow62 * fRec197[1]) + (fSlow58 * (fRec197[2] + fRec197[0])))) + (fSlow71 * (fRec242[0] + (fRec242[2] + (2.0f * fRec242[1])))))))));
fVec116[IOTA&1023] = fTemp566;
int iTemp567 = int(min(512, iTemp492));
float fTemp568 = (fTemp562 * fTemp499);
int iTemp569 = int(min(512, iTemp495));
float fTemp570 = (fTemp16 * fTemp18);
int iTemp571 = int(min(512, iTemp508));
float fTemp572 = (fTemp503 * fTemp504);
int iTemp573 = int(min(512, iTemp501));
float fTemp574 = (fTemp16 * fTemp507);
int iTemp575 = int(min(512, iTemp505));
fRec17[0] = ((fSlow8 * fRec17[1]) + (fSlow9 * ((fTemp24 * fVec116[(IOTA-iTemp567)&1023]) + (fTemp494 * ((fTemp568 * fVec116[(IOTA-iTemp569)&1023]) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec116[(IOTA-iTemp571)&1023])) + ((0.5f * (fTemp572 * fVec116[(IOTA-iTemp573)&1023])) + (0.16666667f * (fTemp574 * fVec116[(IOTA-iTemp575)&1023]))))))))));
float fTemp576 = ((fSlow6 * fRec14[1]) + (fSlow1 * fRec17[0]));
float fTemp577 = (float)input1[i];
int iTemp578 = itbl0[iSlow72];
fRec253[0] = ((0.005f * iTemp578) + (0.995f * ((iTemp1 * iTemp578) + fRec253[1])));
float fTemp579 = (fRec253[0] + -1.49999f);
float fTemp580 = floorf(fTemp579);
float fTemp581 = (fTemp580 + (2.0f - fRec253[0]));
float fTemp582 = (fSlow41 * fRec18[0]);
float fTemp583 = (fSlow11 + (fTemp582 + 3.500005f));
float fTemp584 = floorf(fTemp583);
float fTemp585 = (fSlow11 + (fTemp582 + (3.0f - fTemp584)));
float fTemp586 = (0 - (0.5f * fTemp585));
float fTemp587 = (fSlow11 + (fTemp582 + (2.0f - fTemp584)));
float fTemp588 = (0 - (0.33333334f * fTemp587));
float fTemp589 = (fSlow11 + (fTemp582 + (1.0f - fTemp584)));
float fTemp590 = (0 - (0.25f * fTemp589));
float fTemp591 = ((fTemp586 * fTemp588) * fTemp590);
float fTemp592 = ((0.760314f * fRec205[1]) + (0.64955574f * fTemp426));
fVec117[IOTA&16383] = fTemp592;
int iTemp593 = int(fTemp583);
int iTemp594 = int(min(8192, max(0, iTemp593)));
float fTemp595 = ((fTemp584 + (-4.0f - fTemp582)) - fSlow11);
float fTemp596 = (fSlow11 + (fTemp582 + (5.0f - fTemp584)));
float fTemp597 = (0 - (0.5f * fTemp587));
float fTemp598 = (0 - (0.33333334f * fTemp589));
float fTemp599 = (fTemp597 * fTemp598);
int iTemp600 = int(min(8192, max(0, (iTemp593 + 1))));
float fTemp601 = ((fTemp584 + (-3.0f - fTemp582)) - fSlow11);
float fTemp602 = (fSlow11 + (fTemp582 + (4.0f - fTemp584)));
float fTemp603 = (fTemp585 * fTemp587);
int iTemp604 = int(min(8192, max(0, (iTemp593 + 4))));
int iTemp605 = int(min(8192, max(0, (iTemp593 + 3))));
float fTemp606 = ((fTemp584 + (-1.0f - fTemp582)) - fSlow11);
float fTemp607 = (0 - (0.5f * fTemp589));
int iTemp608 = int(min(8192, max(0, (iTemp593 + 2))));
float fTemp609 = ((fTemp584 + (-2.0f - fTemp582)) - fSlow11);
float fTemp610 = (((fTemp591 * fVec117[(IOTA-iTemp594)&16383]) * fTemp595) + (fTemp596 * (((fTemp599 * fVec117[(IOTA-iTemp600)&16383]) * fTemp601) + (fTemp602 * ((0.041666668f * (fTemp603 * fVec117[(IOTA-iTemp604)&16383])) + ((0.16666667f * ((fTemp585 * fVec117[(IOTA-iTemp605)&16383]) * fTemp606)) + (0.5f * ((fTemp607 * fVec117[(IOTA-iTemp608)&16383]) * fTemp609))))))));
fVec118[IOTA&16383] = fTemp610;
int iTemp611 = int(min(8192, max(0, int(fTemp579))));
float fTemp612 = (fRec253[0] - fTemp580);
float fTemp613 = (0 - (fTemp581 / fTemp612));
int iTemp614 = int((iTemp611 + 1));
fRec252[0] = (((fTemp581 * fVec118[(IOTA-iTemp611)&16383]) / fTemp612) + ((fRec252[1] * fTemp613) + fVec118[(IOTA-iTemp614)&16383]));
fRec251[0] = ((fSlow50 * fRec251[1]) + (fSlow26 * (fRec252[1] + fRec252[0])));
fRec250[0] = (fRec251[0] - (fSlow24 * ((fSlow51 * fRec250[1]) + (fSlow52 * fRec250[2]))));
fRec249[0] = ((fSlow24 * (fRec250[0] + (fRec250[2] + (2.0f * fRec250[1])))) - (fSlow21 * ((fSlow51 * fRec249[1]) + (fSlow53 * fRec249[2]))));
float fTemp615 = (fRec249[0] + (fRec249[2] + (2.0f * fRec249[1])));
float fTemp616 = (fSlow21 * fTemp615);
fVec119[0] = fTemp616;
fRec248[0] = ((fSlow65 * fRec248[1]) + (fSlow66 * ((fSlow68 * fTemp615) + (fSlow67 * fVec119[1]))));
fRec247[0] = (fRec248[0] - (fSlow63 * ((fSlow59 * fRec247[1]) + (fSlow69 * fRec247[2]))));
fRec246[0] = ((fSlow63 * ((fSlow62 * fRec247[1]) + (fSlow58 * (fRec247[2] + fRec247[0])))) - (fSlow60 * ((fSlow59 * fRec246[1]) + (fSlow70 * fRec246[2]))));
fRec256[0] = ((fSlow65 * fRec256[1]) + (fSlow66 * (fVec119[0] + fVec119[1])));
fRec255[0] = (fRec256[0] - (fSlow63 * ((fSlow59 * fRec255[1]) + (fSlow69 * fRec255[2]))));
fRec254[0] = ((fSlow63 * (fRec255[0] + (fRec255[2] + (2.0f * fRec255[1])))) - (fSlow60 * ((fSlow59 * fRec254[1]) + (fSlow70 * fRec254[2]))));
float fTemp617 = (0.64955574f * fTemp518);
float fTemp618 = (fTemp359 + fTemp617);
float fTemp619 = (0.64955574f * fTemp618);
float fTemp620 = ((0.760314f * fRec190[1]) + fTemp619);
float fTemp621 = ((0.760314f * fRec186[1]) + (0.64955574f * fTemp620));
float fTemp622 = ((0.760314f * fRec182[1]) + (0.64955574f * fTemp621));
fVec120[IOTA&1023] = fTemp622;
float fTemp623 = ((fTemp358 * fVec120[(IOTA-iTemp210)&1023]) + (fTemp212 * ((fTemp364 * fVec120[(IOTA-iTemp214)&1023]) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec120[(IOTA-iTemp218)&1023])) + ((0.16666667f * (fTemp365 * fVec120[(IOTA-iTemp219)&1023])) + (0.5f * (fTemp366 * fVec120[(IOTA-iTemp222)&1023]))))))));
fVec121[IOTA&16383] = fTemp623;
fRec262[0] = (((fRec262[1] * fTemp234) + fVec121[(IOTA-iTemp228)&16383]) + ((fTemp231 * fVec121[(IOTA-iTemp227)&16383]) / fTemp232));
float fTemp624 = ((0.760314f * fRec177[1]) + (0.64955574f * fRec262[0]));
float fTemp625 = ((0.760314f * fRec173[1]) + (0.64955574f * fTemp624));
float fTemp626 = ((0.760314f * fRec169[1]) + (0.64955574f * fTemp625));
float fTemp627 = ((0.760314f * fRec165[1]) + (0.64955574f * fTemp626));
float fTemp628 = ((0.760314f * fRec27[1]) + (0.64955574f * fTemp627));
fVec122[IOTA&16383] = fTemp628;
float fTemp629 = (((fTemp591 * fVec122[(IOTA-iTemp594)&16383]) * fTemp595) + (fTemp596 * (((fTemp599 * fVec122[(IOTA-iTemp600)&16383]) * fTemp601) + (fTemp602 * (((0.5f * ((fTemp607 * fVec122[(IOTA-iTemp608)&16383]) * fTemp609)) + (0.16666667f * ((fTemp585 * fVec122[(IOTA-iTemp605)&16383]) * fTemp606))) + (0.041666668f * (fTemp603 * fVec122[(IOTA-iTemp604)&16383])))))));
fVec123[IOTA&16383] = fTemp629;
fRec261[0] = (((fTemp581 * fVec123[(IOTA-iTemp611)&16383]) / fTemp612) + ((fTemp613 * fRec261[1]) + fVec123[(IOTA-iTemp614)&16383]));
fRec260[0] = ((fSlow50 * fRec260[1]) + (fSlow26 * ((fSlow19 * fRec261[0]) + (fSlow49 * fRec261[1]))));
fRec259[0] = (fRec260[0] - (fSlow24 * ((fSlow51 * fRec259[1]) + (fSlow52 * fRec259[2]))));
fRec258[0] = ((fSlow24 * ((fSlow23 * fRec259[1]) + (fSlow22 * (fRec259[2] + fRec259[0])))) - (fSlow21 * ((fSlow51 * fRec258[1]) + (fSlow53 * fRec258[2]))));
float fTemp630 = (fSlow59 * fRec257[1]);
fRec257[0] = ((fSlow21 * ((fSlow23 * fRec258[1]) + (fSlow22 * (fRec258[2] + fRec258[0])))) - (fSlow56 * ((fSlow57 * fRec257[2]) + fTemp630)));
float fTemp631 = (fTemp577 + (fSlow16 * ((fSlow60 * ((fSlow61 * ((fSlow62 * fRec246[1]) + (fSlow58 * (fRec246[2] + fRec246[0])))) + (fSlow71 * (fRec254[0] + (fRec254[2] + (2.0f * fRec254[1])))))) + (fSlow17 * (fRec257[2] + (fSlow56 * (fTemp630 + (fSlow57 * fRec257[0]))))))));
fVec124[IOTA&1023] = fTemp631;
fRec245[0] = ((fSlow8 * fRec245[1]) + (fSlow9 * ((fTemp394 * fVec124[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec124[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec124[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec124[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec124[(IOTA-iTemp186)&1023]))))))))));
float fTemp632 = ((fSlow6 * fRec15[1]) + (fSlow1 * fRec245[0]));
float fTemp633 = ((0.70710677f * fTemp576) - (0.70710677f * fTemp632));
fVec125[IOTA&16383] = fTemp633;
fRec16[0] = (fVec125[(IOTA-iTemp263)&16383] + ((fRec16[1] * fTemp267) + ((fTemp265 * fVec125[(IOTA-iTemp262)&16383]) / fTemp266)));
fRec14[0] = fRec16[0];
int iTemp634 = itbl0[iSlow73];
fRec264[0] = ((0.0001f * iTemp634) + (0.9999f * ((iTemp634 * iTemp1) + fRec264[1])));
float fTemp635 = (fRec264[0] + -1.49999f);
float fTemp636 = floorf(fTemp635);
float fTemp637 = (fTemp636 + (2.0f - fRec264[0]));
float fTemp638 = ((0.70710677f * fTemp576) + (0.70710677f * fTemp632));
fVec126[IOTA&16383] = fTemp638;
int iTemp639 = int(min(8192, max(0, int(fTemp635))));
float fTemp640 = (fRec264[0] - fTemp636);
float fTemp641 = (0 - (fTemp637 / fTemp640));
int iTemp642 = int((iTemp639 + 1));
fRec263[0] = (((fTemp637 * fVec126[(IOTA-iTemp639)&16383]) / fTemp640) + ((fRec263[1] * fTemp641) + fVec126[(IOTA-iTemp642)&16383]));
fRec15[0] = fRec263[0];
float fTemp643 = ((0.760314f * fTemp489) - (0.64955574f * fRec271[1]));
float fTemp644 = ((0.760314f * fTemp627) - (0.64955574f * fRec272[1]));
float fTemp645 = ((0.70710677f * fTemp643) - (0.70710677f * fTemp644));
fVec127[IOTA&16383] = fTemp645;
fRec273[0] = ((fTemp436 * fRec273[1]) + (fVec127[(IOTA-iTemp432)&16383] + ((fVec127[(IOTA-iTemp431)&16383] * fTemp434) / fTemp435)));
fRec271[0] = fRec273[0];
float fTemp646 = ((0.70710677f * fTemp643) + (0.70710677f * fTemp644));
fVec128[IOTA&16383] = fTemp646;
fRec274[0] = ((fTemp445 * fRec274[1]) + (fVec128[(IOTA-iTemp444)&16383] + ((fTemp440 * fVec128[(IOTA-iTemp442)&16383]) / fTemp443)));
fRec272[0] = fRec274[0];
float fTemp647 = ((0.760314f * fTemp488) - (0.64955574f * fRec275[1]));
float fTemp648 = ((0.760314f * fTemp626) - (0.64955574f * fRec276[1]));
float fTemp649 = ((0.70710677f * fTemp647) - (0.70710677f * fTemp648));
fVec129[IOTA&16383] = fTemp649;
fRec277[0] = ((fTemp376 * fRec277[1]) + (fVec129[(IOTA-iTemp375)&16383] + ((fVec129[(IOTA-iTemp373)&16383] * fTemp12) / fTemp374)));
fRec275[0] = fRec277[0];
float fTemp650 = ((0.70710677f * fTemp647) + (0.70710677f * fTemp648));
fVec130[IOTA&16383] = fTemp650;
fRec278[0] = ((((fTemp8 * fVec130[(IOTA-iTemp378)&16383]) / fTemp380) + fVec130[(IOTA-iTemp379)&16383]) + (fTemp381 * fRec278[1]));
fRec276[0] = fRec278[0];
float fTemp651 = ((0.760314f * fTemp487) - (0.64955574f * fRec279[1]));
float fTemp652 = ((0.760314f * fTemp625) - (0.64955574f * fRec280[1]));
float fTemp653 = ((0.70710677f * fTemp651) - (0.70710677f * fTemp652));
fVec131[IOTA&16383] = fTemp653;
fRec281[0] = (((fVec131[(IOTA-iTemp343)&16383] * fTemp295) / fTemp344) + (fVec131[(IOTA-iTemp345)&16383] + (fRec281[1] * fTemp346)));
fRec279[0] = fRec281[0];
float fTemp654 = ((0.70710677f * fTemp651) + (0.70710677f * fTemp652));
fVec132[IOTA&16383] = fTemp654;
fRec282[0] = (((fVec132[(IOTA-iTemp352)&16383] * fTemp350) / fTemp353) + (fVec132[(IOTA-iTemp354)&16383] + (fRec282[1] * fTemp355)));
fRec280[0] = fRec282[0];
float fTemp655 = ((0.760314f * fTemp486) - (0.64955574f * fRec283[1]));
float fTemp656 = ((0.760314f * fTemp624) - (0.64955574f * fRec284[1]));
float fTemp657 = ((0.70710677f * fTemp655) - (0.70710677f * fTemp656));
fVec133[IOTA&16383] = fTemp657;
fRec285[0] = (((fVec133[(IOTA-iTemp255)&16383] * fTemp33) / fTemp256) + (fVec133[(IOTA-iTemp257)&16383] + (fRec285[1] * fTemp258)));
fRec283[0] = fRec285[0];
float fTemp658 = ((0.70710677f * fTemp655) + (0.70710677f * fTemp656));
fVec134[IOTA&16383] = fTemp658;
fRec286[0] = (((fVec134[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266) + (fVec134[(IOTA-iTemp263)&16383] + (fRec286[1] * fTemp267)));
fRec284[0] = fRec286[0];
float fTemp659 = ((0.760314f * fRec180[0]) - (0.64955574f * fRec287[1]));
float fTemp660 = ((0.760314f * fRec262[0]) - (0.64955574f * fRec288[1]));
float fTemp661 = ((0.70710677f * fTemp659) - (0.70710677f * fTemp660));
fVec135[IOTA&16383] = fTemp661;
fRec289[0] = (((fVec135[(IOTA-iTemp237)&16383] * fTemp37) / fTemp238) + (fVec135[(IOTA-iTemp239)&16383] + (fRec289[1] * fTemp240)));
fRec287[0] = fRec289[0];
float fTemp662 = ((0.70710677f * fTemp659) + (0.70710677f * fTemp660));
fVec136[IOTA&16383] = fTemp662;
fRec290[0] = (((fVec136[(IOTA-iTemp248)&16383] * fTemp244) / fTemp245) + (fVec136[(IOTA-iTemp249)&16383] + (fRec290[1] * fTemp246)));
fRec288[0] = fRec290[0];
float fTemp663 = ((0.760314f * fTemp483) - (0.64955574f * fRec292[1]));
float fTemp664 = ((0.760314f * fTemp621) - (0.64955574f * fRec293[1]));
float fTemp665 = ((0.70710677f * fTemp663) - (0.70710677f * fTemp664));
fVec137[IOTA&16383] = fTemp665;
fRec294[0] = (fVec137[(IOTA-iTemp160)&16383] + ((fRec294[1] * fTemp161) + ((fTemp48 * fVec137[(IOTA-iTemp158)&16383]) / fTemp159)));
fRec292[0] = fRec294[0];
float fTemp666 = ((0.70710677f * fTemp663) + (0.70710677f * fTemp664));
fVec138[IOTA&16383] = fTemp666;
fRec295[0] = (((fTemp165 * fVec138[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec295[1] * fTemp170) + fVec138[(IOTA-iTemp169)&16383]));
fRec293[0] = fRec295[0];
float fTemp667 = ((0.760314f * fTemp482) - (0.64955574f * fRec296[1]));
float fTemp668 = ((0.760314f * fTemp620) - (0.64955574f * fRec297[1]));
float fTemp669 = ((0.70710677f * fTemp667) - (0.70710677f * fTemp668));
fVec139[IOTA&16383] = fTemp669;
fRec298[0] = (((fTemp52 * fVec139[(IOTA-iTemp134)&16383]) / fTemp135) + (fVec139[(IOTA-iTemp136)&16383] + (fTemp137 * fRec298[1])));
fRec296[0] = fRec298[0];
float fTemp670 = ((0.70710677f * fTemp667) + (0.70710677f * fTemp668));
fVec140[IOTA&16383] = fTemp670;
fRec299[0] = (((fTemp141 * fVec140[(IOTA-iTemp143)&16383]) / fTemp144) + (fVec140[(IOTA-iTemp145)&16383] + (fTemp146 * fRec299[1])));
fRec297[0] = fRec299[0];
float fTemp671 = (0.760314f * fTemp480);
float fTemp672 = (fTemp671 - (0.64955574f * fRec300[1]));
float fTemp673 = (0.760314f * fTemp618);
float fTemp674 = (fTemp673 - (0.64955574f * fRec301[1]));
float fTemp675 = ((0.70710677f * fTemp672) - (0.70710677f * fTemp674));
fVec141[IOTA&16383] = fTemp675;
fRec302[0] = ((((fTemp56 * fVec141[(IOTA-iTemp114)&16383]) / fTemp115) + fVec141[(IOTA-iTemp116)&16383]) + (fTemp117 * fRec302[1]));
fRec300[0] = fRec302[0];
float fTemp676 = ((0.70710677f * fTemp672) + (0.70710677f * fTemp674));
fVec142[IOTA&16383] = fTemp676;
fRec303[0] = (((fTemp121 * fVec142[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec142[(IOTA-iTemp125)&16383] + (fTemp126 * fRec303[1])));
fRec301[0] = fRec303[0];
float fTemp677 = (fTemp516 - (0.64955574f * fRec304[1]));
float fTemp678 = (fTemp519 - (0.64955574f * fRec305[1]));
float fTemp679 = ((0.70710677f * fTemp677) - (0.70710677f * fTemp678));
fVec143[IOTA&16383] = fTemp679;
fRec306[0] = ((((fTemp60 * fVec143[(IOTA-iTemp92)&16383]) / fTemp93) + fVec143[(IOTA-iTemp94)&16383]) + (fTemp95 * fRec306[1]));
fRec304[0] = fRec306[0];
float fTemp680 = ((0.70710677f * fTemp677) + (0.70710677f * fTemp678));
fVec144[IOTA&16383] = fTemp680;
fRec307[0] = (((fTemp99 * fVec144[(IOTA-iTemp101)&16383]) / fTemp102) + (fVec144[(IOTA-iTemp103)&16383] + (fTemp104 * fRec307[1])));
fRec305[0] = fRec307[0];
float fTemp681 = ((0.760314f * fRec304[1]) + fTemp105);
float fTemp682 = ((0.760314f * fRec300[1]) + (0.64955574f * fTemp681));
float fTemp683 = ((0.760314f * fRec296[1]) + (0.64955574f * fTemp682));
float fTemp684 = ((0.760314f * fRec292[1]) + (0.64955574f * fTemp683));
fVec145[IOTA&1023] = fTemp684;
float fTemp685 = (((fTemp44 * fVec145[(IOTA-iTemp174)&1023]) * fTemp175) + (fTemp176 * (((fTemp177 * fVec145[(IOTA-iTemp178)&1023]) * fTemp179) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec145[(IOTA-iTemp182)&1023])) + ((0.16666667f * ((fTemp41 * fVec145[(IOTA-iTemp183)&1023]) * fTemp184)) + (0.5f * ((fTemp185 * fVec145[(IOTA-iTemp186)&1023]) * fTemp187))))))));
fVec146[IOTA&16383] = fTemp685;
fRec291[0] = (((fTemp195 * fVec146[(IOTA-iTemp191)&16383]) / fTemp196) + ((fRec291[1] * fTemp197) + fVec146[(IOTA-iTemp192)&16383]));
float fTemp686 = ((0.760314f * fRec287[1]) + (0.64955574f * fRec291[0]));
float fTemp687 = ((0.760314f * fRec283[1]) + (0.64955574f * fTemp686));
float fTemp688 = ((0.760314f * fRec279[1]) + (0.64955574f * fTemp687));
float fTemp689 = ((0.760314f * fRec275[1]) + (0.64955574f * fTemp688));
float fTemp690 = ((0.760314f * fRec271[1]) + (0.64955574f * fTemp689));
fVec147[IOTA&16383] = fTemp690;
float fTemp691 = (((fTemp22 * fVec147[(IOTA-iTemp493)&16383]) * fTemp23) + (fTemp494 * (((fTemp562 * fVec147[(IOTA-iTemp496)&16383]) * fTemp499) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec147[(IOTA-iTemp509)&16383])) + ((0.5f * ((fTemp503 * fVec147[(IOTA-iTemp502)&16383]) * fTemp504)) + (0.16666667f * ((fTemp16 * fVec147[(IOTA-iTemp506)&16383]) * fTemp507))))))));
fVec148[IOTA&16383] = fTemp691;
fRec270[0] = ((((fTemp29 * fVec148[(IOTA-iTemp511)&16383]) / fTemp512) + fVec148[(IOTA-iTemp513)&16383]) + (fTemp514 * fRec270[1]));
fRec269[0] = ((fSlow50 * fRec269[1]) + (fSlow26 * ((fSlow19 * fRec270[0]) + (fSlow49 * fRec270[1]))));
fRec268[0] = (fRec269[0] - (fSlow24 * ((fSlow51 * fRec268[1]) + (fSlow52 * fRec268[2]))));
fRec267[0] = ((fSlow24 * ((fSlow23 * fRec268[1]) + (fSlow22 * (fRec268[2] + fRec268[0])))) - (fSlow21 * ((fSlow51 * fRec267[1]) + (fSlow53 * fRec267[2]))));
float fTemp692 = (fSlow59 * fRec266[1]);
fRec266[0] = ((fSlow21 * ((fSlow23 * fRec267[1]) + (fSlow22 * (fRec267[2] + fRec267[0])))) - (fSlow56 * ((fSlow57 * fRec266[2]) + fTemp692)));
fRec313[0] = ((fSlow50 * fRec313[1]) + (fSlow26 * (fRec24[0] + fRec24[1])));
fRec312[0] = (fRec313[0] - (fSlow24 * ((fSlow51 * fRec312[1]) + (fSlow52 * fRec312[2]))));
fRec311[0] = ((fSlow24 * (fRec312[0] + (fRec312[2] + (2.0f * fRec312[1])))) - (fSlow21 * ((fSlow51 * fRec311[1]) + (fSlow53 * fRec311[2]))));
float fTemp693 = (fRec311[0] + (fRec311[2] + (2.0f * fRec311[1])));
float fTemp694 = (fSlow21 * fTemp693);
fVec149[0] = fTemp694;
fRec310[0] = ((fSlow65 * fRec310[1]) + (fSlow66 * ((fSlow68 * fTemp693) + (fSlow67 * fVec149[1]))));
fRec309[0] = (fRec310[0] - (fSlow63 * ((fSlow59 * fRec309[1]) + (fSlow69 * fRec309[2]))));
fRec308[0] = ((fSlow63 * ((fSlow62 * fRec309[1]) + (fSlow58 * (fRec309[2] + fRec309[0])))) - (fSlow60 * ((fSlow59 * fRec308[1]) + (fSlow70 * fRec308[2]))));
fRec316[0] = ((fSlow65 * fRec316[1]) + (fSlow66 * (fVec149[0] + fVec149[1])));
fRec315[0] = (fRec316[0] - (fSlow63 * ((fSlow59 * fRec315[1]) + (fSlow69 * fRec315[2]))));
fRec314[0] = ((fSlow63 * (fRec315[0] + (fRec315[2] + (2.0f * fRec315[1])))) - (fSlow60 * ((fSlow59 * fRec314[1]) + (fSlow70 * fRec314[2]))));
float fTemp695 = (fTemp25 + (fSlow16 * ((fSlow17 * (fRec266[2] + (fSlow56 * (fTemp692 + (fSlow57 * fRec266[0]))))) + (fSlow60 * ((fSlow61 * ((fSlow62 * fRec308[1]) + (fSlow58 * (fRec308[2] + fRec308[0])))) + (fSlow71 * (fRec314[0] + (fRec314[2] + (2.0f * fRec314[1])))))))));
fVec150[IOTA&1023] = fTemp695;
fRec265[0] = ((fSlow8 * fRec265[1]) + (fSlow9 * (((fTemp22 * fVec150[(IOTA-iTemp567)&1023]) * fTemp23) + (fTemp494 * (((fTemp562 * fVec150[(IOTA-iTemp569)&1023]) * fTemp499) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec150[(IOTA-iTemp571)&1023])) + ((0.5f * ((fTemp503 * fVec150[(IOTA-iTemp573)&1023]) * fTemp504)) + (0.16666667f * ((fTemp16 * fVec150[(IOTA-iTemp575)&1023]) * fTemp507))))))))));
float fTemp696 = ((fSlow6 * fRec10[1]) + (fSlow1 * ((fSlow1 * fRec14[1]) + (fSlow5 * fRec265[0]))));
fRec323[0] = ((fSlow50 * fRec323[1]) + (fSlow26 * (fRec261[1] + fRec261[0])));
fRec322[0] = (fRec323[0] - (fSlow24 * ((fSlow51 * fRec322[1]) + (fSlow52 * fRec322[2]))));
fRec321[0] = ((fSlow24 * (fRec322[0] + (fRec322[2] + (2.0f * fRec322[1])))) - (fSlow21 * ((fSlow51 * fRec321[1]) + (fSlow53 * fRec321[2]))));
float fTemp697 = (fRec321[0] + (fRec321[2] + (2.0f * fRec321[1])));
float fTemp698 = (fSlow21 * fTemp697);
fVec151[0] = fTemp698;
fRec320[0] = ((fSlow65 * fRec320[1]) + (fSlow66 * (fVec151[0] + fVec151[1])));
fRec319[0] = (fRec320[0] - (fSlow63 * ((fSlow59 * fRec319[1]) + (fSlow69 * fRec319[2]))));
fRec318[0] = ((fSlow63 * (fRec319[0] + (fRec319[2] + (2.0f * fRec319[1])))) - (fSlow60 * ((fSlow59 * fRec318[1]) + (fSlow70 * fRec318[2]))));
fRec326[0] = ((fSlow65 * fRec326[1]) + (fSlow66 * ((fSlow68 * fTemp697) + (fSlow67 * fVec151[1]))));
fRec325[0] = (fRec326[0] - (fSlow63 * ((fSlow59 * fRec325[1]) + (fSlow69 * fRec325[2]))));
fRec324[0] = ((fSlow63 * ((fSlow62 * fRec325[1]) + (fSlow58 * (fRec325[2] + fRec325[0])))) - (fSlow60 * ((fSlow59 * fRec324[1]) + (fSlow70 * fRec324[2]))));
float fTemp699 = ((0.760314f * fRec305[1]) + fTemp109);
float fTemp700 = ((0.760314f * fRec301[1]) + (0.64955574f * fTemp699));
float fTemp701 = ((0.760314f * fRec297[1]) + (0.64955574f * fTemp700));
float fTemp702 = ((0.760314f * fRec293[1]) + (0.64955574f * fTemp701));
fVec152[IOTA&1023] = fTemp702;
float fTemp703 = (((fTemp206 * fVec152[(IOTA-iTemp210)&1023]) * fTemp211) + (fTemp212 * (((fTemp213 * fVec152[(IOTA-iTemp214)&1023]) * fTemp215) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec152[(IOTA-iTemp218)&1023])) + ((0.16666667f * ((fTemp203 * fVec152[(IOTA-iTemp219)&1023]) * fTemp220)) + (0.5f * ((fTemp221 * fVec152[(IOTA-iTemp222)&1023]) * fTemp223))))))));
fVec153[IOTA&16383] = fTemp703;
fRec332[0] = (((fTemp231 * fVec153[(IOTA-iTemp227)&16383]) / fTemp232) + ((fTemp234 * fRec332[1]) + fVec153[(IOTA-iTemp228)&16383]));
float fTemp704 = ((0.760314f * fRec288[1]) + (0.64955574f * fRec332[0]));
float fTemp705 = ((0.760314f * fRec284[1]) + (0.64955574f * fTemp704));
float fTemp706 = ((0.760314f * fRec280[1]) + (0.64955574f * fTemp705));
float fTemp707 = ((0.760314f * fRec276[1]) + (0.64955574f * fTemp706));
float fTemp708 = ((0.760314f * fRec272[1]) + (0.64955574f * fTemp707));
fVec154[IOTA&16383] = fTemp708;
float fTemp709 = (((fTemp591 * fVec154[(IOTA-iTemp594)&16383]) * fTemp595) + (fTemp596 * (((fTemp599 * fVec154[(IOTA-iTemp600)&16383]) * fTemp601) + (fTemp602 * ((0.041666668f * (fTemp603 * fVec154[(IOTA-iTemp604)&16383])) + ((0.16666667f * ((fTemp585 * fVec154[(IOTA-iTemp605)&16383]) * fTemp606)) + (0.5f * ((fTemp607 * fVec154[(IOTA-iTemp608)&16383]) * fTemp609))))))));
fVec155[IOTA&16383] = fTemp709;
fRec331[0] = (((fTemp581 * fVec155[(IOTA-iTemp611)&16383]) / fTemp612) + ((fTemp613 * fRec331[1]) + fVec155[(IOTA-iTemp614)&16383]));
fRec330[0] = ((fSlow50 * fRec330[1]) + (fSlow26 * ((fSlow19 * fRec331[0]) + (fSlow49 * fRec331[1]))));
fRec329[0] = (fRec330[0] - (fSlow24 * ((fSlow51 * fRec329[1]) + (fSlow52 * fRec329[2]))));
fRec328[0] = ((fSlow24 * ((fSlow23 * fRec329[1]) + (fSlow22 * (fRec329[2] + fRec329[0])))) - (fSlow21 * ((fSlow51 * fRec328[1]) + (fSlow53 * fRec328[2]))));
float fTemp710 = (fSlow59 * fRec327[1]);
fRec327[0] = ((fSlow21 * ((fSlow23 * fRec328[1]) + (fSlow22 * (fRec328[2] + fRec328[0])))) - (fSlow56 * ((fSlow57 * fRec327[2]) + fTemp710)));
float fTemp711 = (fTemp577 + (fSlow16 * ((fSlow60 * ((fSlow71 * (fRec318[0] + (fRec318[2] + (2.0f * fRec318[1])))) + (fSlow61 * ((fSlow62 * fRec324[1]) + (fSlow58 * (fRec324[2] + fRec324[0])))))) + (fSlow17 * (fRec327[2] + (fSlow56 * (fTemp710 + (fSlow57 * fRec327[0]))))))));
fVec156[IOTA&1023] = fTemp711;
fRec317[0] = ((fSlow8 * fRec317[1]) + (fSlow9 * (((fTemp44 * fVec156[(IOTA-iTemp174)&1023]) * fTemp175) + (fTemp176 * (((fTemp177 * fVec156[(IOTA-iTemp178)&1023]) * fTemp179) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec156[(IOTA-iTemp182)&1023])) + ((0.16666667f * ((fTemp41 * fVec156[(IOTA-iTemp183)&1023]) * fTemp184)) + (0.5f * ((fTemp185 * fVec156[(IOTA-iTemp186)&1023]) * fTemp187))))))))));
float fTemp712 = ((fSlow6 * fRec11[1]) + (fSlow1 * ((fSlow5 * fRec317[0]) + (fSlow1 * fRec15[1]))));
float fTemp713 = ((0.70710677f * fTemp696) - (0.70710677f * fTemp712));
fVec157[IOTA&16383] = fTemp713;
fRec12[0] = (((fTemp12 * fVec157[(IOTA-iTemp373)&16383]) / fTemp374) + (fVec157[(IOTA-iTemp375)&16383] + (fRec12[1] * fTemp376)));
fRec10[0] = fRec12[0];
float fTemp714 = ((0.70710677f * fTemp696) + (0.70710677f * fTemp712));
fVec158[IOTA&16383] = fTemp714;
fRec333[0] = ((fTemp355 * fRec333[1]) + (fVec158[(IOTA-iTemp354)&16383] + ((fTemp350 * fVec158[(IOTA-iTemp352)&16383]) / fTemp353)));
fRec11[0] = fRec333[0];
float fTemp715 = ((0.760314f * fTemp689) - (0.64955574f * fRec340[1]));
float fTemp716 = ((0.760314f * fTemp707) - (0.64955574f * fRec341[1]));
float fTemp717 = ((0.70710677f * fTemp715) - (0.70710677f * fTemp716));
fVec159[IOTA&16383] = fTemp717;
fRec342[0] = ((fTemp436 * fRec342[1]) + (fVec159[(IOTA-iTemp432)&16383] + ((fTemp434 * fVec159[(IOTA-iTemp431)&16383]) / fTemp435)));
fRec340[0] = fRec342[0];
float fTemp718 = ((0.70710677f * fTemp715) + (0.70710677f * fTemp716));
fVec160[IOTA&16383] = fTemp718;
fRec343[0] = ((fTemp445 * fRec343[1]) + (fVec160[(IOTA-iTemp444)&16383] + ((fTemp440 * fVec160[(IOTA-iTemp442)&16383]) / fTemp443)));
fRec341[0] = fRec343[0];
float fTemp719 = ((0.760314f * fTemp688) - (0.64955574f * fRec344[1]));
float fTemp720 = ((0.760314f * fTemp706) - (0.64955574f * fRec345[1]));
float fTemp721 = ((0.70710677f * fTemp719) - (0.70710677f * fTemp720));
fVec161[IOTA&16383] = fTemp721;
fRec346[0] = ((fTemp376 * fRec346[1]) + (fVec161[(IOTA-iTemp375)&16383] + ((fTemp12 * fVec161[(IOTA-iTemp373)&16383]) / fTemp374)));
fRec344[0] = fRec346[0];
float fTemp722 = ((0.70710677f * fTemp719) + (0.70710677f * fTemp720));
fVec162[IOTA&16383] = fTemp722;
fRec347[0] = ((fTemp381 * fRec347[1]) + (fVec162[(IOTA-iTemp379)&16383] + ((fTemp8 * fVec162[(IOTA-iTemp378)&16383]) / fTemp380)));
fRec345[0] = fRec347[0];
float fTemp723 = ((0.760314f * fTemp687) - (0.64955574f * fRec348[1]));
float fTemp724 = ((0.760314f * fTemp705) - (0.64955574f * fRec349[1]));
float fTemp725 = ((0.70710677f * fTemp723) - (0.70710677f * fTemp724));
fVec163[IOTA&16383] = fTemp725;
fRec350[0] = ((fTemp346 * fRec350[1]) + (fVec163[(IOTA-iTemp345)&16383] + ((fTemp295 * fVec163[(IOTA-iTemp343)&16383]) / fTemp344)));
fRec348[0] = fRec350[0];
float fTemp726 = ((0.70710677f * fTemp723) + (0.70710677f * fTemp724));
fVec164[IOTA&16383] = fTemp726;
fRec351[0] = ((fTemp355 * fRec351[1]) + (fVec164[(IOTA-iTemp354)&16383] + ((fTemp350 * fVec164[(IOTA-iTemp352)&16383]) / fTemp353)));
fRec349[0] = fRec351[0];
float fTemp727 = ((0.760314f * fTemp686) - (0.64955574f * fRec352[1]));
float fTemp728 = ((0.760314f * fTemp704) - (0.64955574f * fRec353[1]));
float fTemp729 = ((0.70710677f * fTemp727) - (0.70710677f * fTemp728));
fVec165[IOTA&16383] = fTemp729;
fRec354[0] = ((fTemp258 * fRec354[1]) + (fVec165[(IOTA-iTemp257)&16383] + ((fTemp33 * fVec165[(IOTA-iTemp255)&16383]) / fTemp256)));
fRec352[0] = fRec354[0];
float fTemp730 = ((0.70710677f * fTemp727) + (0.70710677f * fTemp728));
fVec166[IOTA&16383] = fTemp730;
fRec355[0] = ((fTemp267 * fRec355[1]) + (fVec166[(IOTA-iTemp263)&16383] + ((fTemp265 * fVec166[(IOTA-iTemp262)&16383]) / fTemp266)));
fRec353[0] = fRec355[0];
float fTemp731 = ((0.760314f * fTemp683) - (0.64955574f * fRec357[1]));
float fTemp732 = ((0.760314f * fTemp701) - (0.64955574f * fRec358[1]));
float fTemp733 = ((0.70710677f * fTemp731) - (0.70710677f * fTemp732));
fVec167[IOTA&16383] = fTemp733;
fRec359[0] = (((fTemp48 * fVec167[(IOTA-iTemp158)&16383]) / fTemp159) + (fVec167[(IOTA-iTemp160)&16383] + (fTemp161 * fRec359[1])));
fRec357[0] = fRec359[0];
float fTemp734 = ((0.70710677f * fTemp731) + (0.70710677f * fTemp732));
fVec168[IOTA&16383] = fTemp734;
fRec360[0] = (((fTemp165 * fVec168[(IOTA-iTemp167)&16383]) / fTemp168) + (fVec168[(IOTA-iTemp169)&16383] + (fTemp170 * fRec360[1])));
fRec358[0] = fRec360[0];
float fTemp735 = ((0.760314f * fTemp682) - (0.64955574f * fRec361[1]));
float fTemp736 = ((0.760314f * fTemp700) - (0.64955574f * fRec362[1]));
float fTemp737 = ((0.70710677f * fTemp735) - (0.70710677f * fTemp736));
fVec169[IOTA&16383] = fTemp737;
fRec363[0] = (((fTemp52 * fVec169[(IOTA-iTemp134)&16383]) / fTemp135) + (fVec169[(IOTA-iTemp136)&16383] + (fTemp137 * fRec363[1])));
fRec361[0] = fRec363[0];
float fTemp738 = ((0.70710677f * fTemp735) + (0.70710677f * fTemp736));
fVec170[IOTA&16383] = fTemp738;
fRec364[0] = (((fTemp141 * fVec170[(IOTA-iTemp143)&16383]) / fTemp144) + (fVec170[(IOTA-iTemp145)&16383] + (fTemp146 * fRec364[1])));
fRec362[0] = fRec364[0];
float fTemp739 = ((0.760314f * fTemp681) - (0.64955574f * fRec365[1]));
float fTemp740 = ((0.760314f * fTemp699) - (0.64955574f * fRec366[1]));
float fTemp741 = ((0.70710677f * fTemp739) - (0.70710677f * fTemp740));
fVec171[IOTA&16383] = fTemp741;
fRec367[0] = (((fTemp56 * fVec171[(IOTA-iTemp114)&16383]) / fTemp115) + (fVec171[(IOTA-iTemp116)&16383] + (fTemp117 * fRec367[1])));
fRec365[0] = fRec367[0];
float fTemp742 = ((0.70710677f * fTemp739) + (0.70710677f * fTemp740));
fVec172[IOTA&16383] = fTemp742;
fRec368[0] = (((fTemp121 * fVec172[(IOTA-iTemp123)&16383]) / fTemp124) + (fVec172[(IOTA-iTemp125)&16383] + (fTemp126 * fRec368[1])));
fRec366[0] = fRec368[0];
float fTemp743 = ((0.760314f * fRec365[1]) + fTemp481);
float fTemp744 = ((0.760314f * fRec361[1]) + (0.64955574f * fTemp743));
float fTemp745 = ((0.760314f * fRec357[1]) + (0.64955574f * fTemp744));
fVec173[IOTA&1023] = fTemp745;
float fTemp746 = ((fTemp394 * fVec173[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec173[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec173[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec173[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec173[(IOTA-iTemp186)&1023]))))))));
fVec174[IOTA&16383] = fTemp746;
fRec356[0] = (((fTemp195 * fVec174[(IOTA-iTemp191)&16383]) / fTemp196) + (fVec174[(IOTA-iTemp192)&16383] + (fTemp197 * fRec356[1])));
float fTemp747 = ((0.760314f * fRec291[0]) - (0.64955574f * fRec369[1]));
float fTemp748 = ((0.760314f * fRec332[0]) - (0.64955574f * fRec370[1]));
float fTemp749 = ((0.70710677f * fTemp747) - (0.70710677f * fTemp748));
fVec175[IOTA&16383] = fTemp749;
fRec371[0] = ((fTemp240 * fRec371[1]) + (fVec175[(IOTA-iTemp239)&16383] + ((fTemp37 * fVec175[(IOTA-iTemp237)&16383]) / fTemp238)));
fRec369[0] = fRec371[0];
float fTemp750 = ((0.70710677f * fTemp747) + (0.70710677f * fTemp748));
fVec176[IOTA&16383] = fTemp750;
fRec372[0] = ((fTemp246 * fRec372[1]) + (fVec176[(IOTA-iTemp249)&16383] + ((fTemp244 * fVec176[(IOTA-iTemp248)&16383]) / fTemp245)));
fRec370[0] = fRec372[0];
float fTemp751 = ((0.64955574f * fRec356[0]) + (0.760314f * fRec369[1]));
float fTemp752 = ((0.760314f * fRec352[1]) + (0.64955574f * fTemp751));
float fTemp753 = ((0.760314f * fRec348[1]) + (0.64955574f * fTemp752));
float fTemp754 = ((0.760314f * fRec344[1]) + (0.64955574f * fTemp753));
float fTemp755 = ((0.760314f * fRec340[1]) + (0.64955574f * fTemp754));
fVec177[IOTA&16383] = fTemp755;
float fTemp756 = ((fTemp24 * fVec177[(IOTA-iTemp493)&16383]) + (fTemp494 * ((fTemp568 * fVec177[(IOTA-iTemp496)&16383]) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec177[(IOTA-iTemp509)&16383])) + ((0.5f * (fTemp572 * fVec177[(IOTA-iTemp502)&16383])) + (0.16666667f * (fTemp574 * fVec177[(IOTA-iTemp506)&16383]))))))));
fVec178[IOTA&16383] = fTemp756;
fRec339[0] = (((fTemp514 * fRec339[1]) + fVec178[(IOTA-iTemp513)&16383]) + ((fTemp29 * fVec178[(IOTA-iTemp511)&16383]) / fTemp512));
fRec338[0] = ((fSlow26 * ((fSlow19 * fRec339[0]) + (fSlow49 * fRec339[1]))) + (fSlow50 * fRec338[1]));
fRec337[0] = (fRec338[0] - (fSlow24 * ((fSlow51 * fRec337[1]) + (fSlow52 * fRec337[2]))));
fRec336[0] = ((fSlow24 * ((fSlow23 * fRec337[1]) + (fSlow22 * (fRec337[0] + fRec337[2])))) - (fSlow21 * ((fSlow51 * fRec336[1]) + (fSlow53 * fRec336[2]))));
float fTemp757 = (fSlow59 * fRec335[1]);
fRec335[0] = ((fSlow21 * ((fSlow23 * fRec336[1]) + (fSlow22 * (fRec336[0] + fRec336[2])))) - (fSlow56 * ((fSlow57 * fRec335[2]) + fTemp757)));
fRec378[0] = ((fSlow50 * fRec378[1]) + (fSlow26 * (fRec270[1] + fRec270[0])));
fRec377[0] = (fRec378[0] - (fSlow24 * ((fSlow51 * fRec377[1]) + (fSlow52 * fRec377[2]))));
fRec376[0] = ((fSlow24 * (fRec377[0] + (fRec377[2] + (2.0f * fRec377[1])))) - (fSlow21 * ((fSlow51 * fRec376[1]) + (fSlow53 * fRec376[2]))));
float fTemp758 = (fRec376[0] + (fRec376[2] + (2.0f * fRec376[1])));
float fTemp759 = (fSlow21 * fTemp758);
fVec179[0] = fTemp759;
fRec375[0] = ((fSlow65 * fRec375[1]) + (fSlow66 * ((fSlow68 * fTemp758) + (fSlow67 * fVec179[1]))));
fRec374[0] = (fRec375[0] - (fSlow63 * ((fSlow59 * fRec374[1]) + (fSlow69 * fRec374[2]))));
fRec373[0] = ((fSlow63 * ((fSlow62 * fRec374[1]) + (fSlow58 * (fRec374[2] + fRec374[0])))) - (fSlow60 * ((fSlow59 * fRec373[1]) + (fSlow70 * fRec373[2]))));
fRec381[0] = ((fSlow65 * fRec381[1]) + (fSlow66 * (fVec179[0] + fVec179[1])));
fRec380[0] = (fRec381[0] - (fSlow63 * ((fSlow59 * fRec380[1]) + (fSlow69 * fRec380[2]))));
fRec379[0] = ((fSlow63 * (fRec380[0] + (fRec380[2] + (2.0f * fRec380[1])))) - (fSlow60 * ((fSlow59 * fRec379[1]) + (fSlow70 * fRec379[2]))));
float fTemp760 = (fTemp25 + (fSlow16 * ((fSlow17 * (fRec335[2] + (fSlow56 * ((fSlow57 * fRec335[0]) + fTemp757)))) + (fSlow60 * ((fSlow61 * ((fSlow62 * fRec373[1]) + (fSlow58 * (fRec373[2] + fRec373[0])))) + (fSlow71 * (fRec379[0] + (fRec379[2] + (2.0f * fRec379[1])))))))));
fVec180[IOTA&1023] = fTemp760;
fRec334[0] = ((fSlow8 * fRec334[1]) + (fSlow9 * ((fTemp494 * ((fTemp568 * fVec180[(IOTA-iTemp569)&1023]) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec180[(IOTA-iTemp571)&1023])) + ((0.16666667f * (fTemp574 * fVec180[(IOTA-iTemp575)&1023])) + (0.5f * (fTemp572 * fVec180[(IOTA-iTemp573)&1023]))))))) + (fTemp24 * fVec180[(IOTA-iTemp567)&1023]))));
float fTemp761 = ((fSlow6 * fRec382[1]) + (fSlow1 * fRec265[0]));
float fTemp762 = ((fSlow6 * fRec383[1]) + (fSlow1 * fRec317[0]));
float fTemp763 = ((0.70710677f * fTemp761) - (0.70710677f * fTemp762));
fVec181[IOTA&16383] = fTemp763;
fRec384[0] = ((fTemp267 * fRec384[1]) + (fVec181[(IOTA-iTemp263)&16383] + ((fTemp265 * fVec181[(IOTA-iTemp262)&16383]) / fTemp266)));
fRec382[0] = fRec384[0];
float fTemp764 = ((0.70710677f * fTemp761) + (0.70710677f * fTemp762));
fVec182[IOTA&16383] = fTemp764;
fRec385[0] = ((fTemp641 * fRec385[1]) + (fVec182[(IOTA-iTemp642)&16383] + ((fTemp637 * fVec182[(IOTA-iTemp639)&16383]) / fTemp640)));
fRec383[0] = fRec385[0];
float fTemp765 = ((fSlow5 * fRec334[0]) + (fSlow1 * fRec382[1]));
float fTemp766 = ((fSlow6 * fRec6[1]) + (fSlow1 * ((fSlow1 * fRec10[1]) + (fSlow5 * fTemp765))));
fRec392[0] = ((fSlow50 * fRec392[1]) + (fSlow26 * (fRec331[1] + fRec331[0])));
fRec391[0] = (fRec392[0] - (fSlow24 * ((fSlow51 * fRec391[1]) + (fSlow52 * fRec391[2]))));
fRec390[0] = ((fSlow24 * (fRec391[0] + (fRec391[2] + (2.0f * fRec391[1])))) - (fSlow21 * ((fSlow51 * fRec390[1]) + (fSlow53 * fRec390[2]))));
float fTemp767 = (fRec390[0] + (fRec390[2] + (2.0f * fRec390[1])));
float fTemp768 = (fSlow21 * fTemp767);
fVec183[0] = fTemp768;
fRec389[0] = ((fSlow65 * fRec389[1]) + (fSlow66 * ((fSlow68 * fTemp767) + (fSlow67 * fVec183[1]))));
fRec388[0] = (fRec389[0] - (fSlow63 * ((fSlow59 * fRec388[1]) + (fSlow69 * fRec388[2]))));
fRec387[0] = ((fSlow63 * ((fSlow62 * fRec388[1]) + (fSlow58 * (fRec388[2] + fRec388[0])))) - (fSlow60 * ((fSlow59 * fRec387[1]) + (fSlow70 * fRec387[2]))));
fRec395[0] = ((fSlow65 * fRec395[1]) + (fSlow66 * (fVec183[0] + fVec183[1])));
fRec394[0] = (fRec395[0] - (fSlow63 * ((fSlow59 * fRec394[1]) + (fSlow69 * fRec394[2]))));
fRec393[0] = ((fSlow63 * (fRec394[0] + (fRec394[2] + (2.0f * fRec394[1])))) - (fSlow60 * ((fSlow59 * fRec393[1]) + (fSlow70 * fRec393[2]))));
float fTemp769 = ((0.760314f * fRec366[1]) + fTemp619);
float fTemp770 = ((0.760314f * fRec362[1]) + (0.64955574f * fTemp769));
float fTemp771 = ((0.760314f * fRec358[1]) + (0.64955574f * fTemp770));
fVec184[IOTA&1023] = fTemp771;
float fTemp772 = ((fTemp358 * fVec184[(IOTA-iTemp210)&1023]) + (fTemp212 * ((fTemp364 * fVec184[(IOTA-iTemp214)&1023]) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec184[(IOTA-iTemp218)&1023])) + ((0.16666667f * (fTemp365 * fVec184[(IOTA-iTemp219)&1023])) + (0.5f * (fTemp366 * fVec184[(IOTA-iTemp222)&1023]))))))));
fVec185[IOTA&16383] = fTemp772;
fRec401[0] = (((fRec401[1] * fTemp234) + fVec185[(IOTA-iTemp228)&16383]) + ((fTemp231 * fVec185[(IOTA-iTemp227)&16383]) / fTemp232));
float fTemp773 = ((0.760314f * fRec370[1]) + (0.64955574f * fRec401[0]));
float fTemp774 = ((0.760314f * fRec353[1]) + (0.64955574f * fTemp773));
float fTemp775 = ((0.760314f * fRec349[1]) + (0.64955574f * fTemp774));
float fTemp776 = ((0.760314f * fRec345[1]) + (0.64955574f * fTemp775));
float fTemp777 = ((0.760314f * fRec341[1]) + (0.64955574f * fTemp776));
fVec186[IOTA&16383] = fTemp777;
float fTemp778 = (((((fVec186[(IOTA-iTemp594)&16383] * fTemp586) * fTemp588) * fTemp590) * fTemp595) + (fTemp596 * ((((fVec186[(IOTA-iTemp600)&16383] * fTemp597) * fTemp598) * fTemp601) + (fTemp602 * ((0.041666668f * ((fVec186[(IOTA-iTemp604)&16383] * fTemp585) * fTemp587)) + ((0.5f * ((fVec186[(IOTA-iTemp608)&16383] * fTemp607) * fTemp609)) + (0.16666667f * ((fVec186[(IOTA-iTemp605)&16383] * fTemp585) * fTemp606))))))));
fVec187[IOTA&16383] = fTemp778;
fRec400[0] = (((fTemp581 * fVec187[(IOTA-iTemp611)&16383]) / fTemp612) + ((fRec400[1] * fTemp613) + fVec187[(IOTA-iTemp614)&16383]));
fRec399[0] = ((fSlow50 * fRec399[1]) + (fSlow26 * ((fSlow19 * fRec400[0]) + (fSlow49 * fRec400[1]))));
fRec398[0] = (fRec399[0] - (fSlow24 * ((fSlow51 * fRec398[1]) + (fSlow52 * fRec398[2]))));
fRec397[0] = ((fSlow24 * ((fSlow23 * fRec398[1]) + (fSlow22 * (fRec398[2] + fRec398[0])))) - (fSlow21 * ((fSlow51 * fRec397[1]) + (fSlow53 * fRec397[2]))));
float fTemp779 = (fSlow59 * fRec396[1]);
fRec396[0] = ((fSlow21 * ((fSlow23 * fRec397[1]) + (fSlow22 * (fRec397[2] + fRec397[0])))) - (fSlow56 * ((fSlow57 * fRec396[2]) + fTemp779)));
float fTemp780 = (fTemp577 + (fSlow16 * ((fSlow60 * ((fSlow61 * ((fSlow62 * fRec387[1]) + (fSlow58 * (fRec387[2] + fRec387[0])))) + (fSlow71 * (fRec393[0] + (fRec393[2] + (2.0f * fRec393[1])))))) + (fSlow17 * (fRec396[2] + (fSlow56 * (fTemp779 + (fSlow57 * fRec396[0]))))))));
fVec188[IOTA&1023] = fTemp780;
fRec386[0] = ((fSlow8 * fRec386[1]) + (fSlow9 * ((fTemp394 * fVec188[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec188[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec188[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec188[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec188[(IOTA-iTemp186)&1023]))))))))));
float fTemp781 = ((fSlow1 * fRec383[1]) + (fSlow5 * fRec386[0]));
float fTemp782 = ((fSlow1 * ((fSlow1 * fRec11[1]) + (fSlow5 * fTemp781))) + (fSlow6 * fRec7[1]));
float fTemp783 = ((0.70710677f * fTemp766) - (0.70710677f * fTemp782));
fVec189[IOTA&16383] = fTemp783;
fRec8[0] = (((fTemp8 * fVec189[(IOTA-iTemp378)&16383]) / fTemp380) + ((fRec8[1] * fTemp381) + fVec189[(IOTA-iTemp379)&16383]));
fRec6[0] = fRec8[0];
int iTemp784 = itbl0[iSlow74];
fRec403[0] = ((0.0001f * iTemp784) + (0.9999f * ((iTemp784 * iTemp1) + fRec403[1])));
float fTemp785 = (fRec403[0] + -1.49999f);
float fTemp786 = floorf(fTemp785);
float fTemp787 = (fTemp786 + (2.0f - fRec403[0]));
float fTemp788 = ((0.70710677f * fTemp766) + (0.70710677f * fTemp782));
fVec190[IOTA&16383] = fTemp788;
int iTemp789 = int(min(8192, max(0, int(fTemp785))));
float fTemp790 = (fRec403[0] - fTemp786);
float fTemp791 = (0 - (fTemp787 / fTemp790));
int iTemp792 = int((iTemp789 + 1));
fRec402[0] = (((fTemp787 * fVec190[(IOTA-iTemp789)&16383]) / fTemp790) + ((fRec402[1] * fTemp791) + fVec190[(IOTA-iTemp792)&16383]));
fRec7[0] = fRec402[0];
float fTemp793 = ((fSlow6 * fRec404[1]) + (fSlow1 * fTemp765));
float fTemp794 = ((fSlow6 * fRec405[1]) + (fSlow1 * fTemp781));
float fTemp795 = ((0.70710677f * fTemp793) - (0.70710677f * fTemp794));
fVec191[IOTA&16383] = fTemp795;
fRec406[0] = (((fTemp12 * fVec191[(IOTA-iTemp373)&16383]) / fTemp374) + ((fRec406[1] * fTemp376) + fVec191[(IOTA-iTemp375)&16383]));
fRec404[0] = fRec406[0];
float fTemp796 = ((0.70710677f * fTemp794) + (0.70710677f * fTemp793));
fVec192[IOTA&16383] = fTemp796;
fRec407[0] = (((fTemp350 * fVec192[(IOTA-iTemp352)&16383]) / fTemp353) + ((fRec407[1] * fTemp355) + fVec192[(IOTA-iTemp354)&16383]));
fRec405[0] = fRec407[0];
float fTemp797 = ((fSlow6 * fRec408[1]) + (fSlow1 * fRec334[0]));
float fTemp798 = ((fSlow6 * fRec409[1]) + (fSlow1 * fRec386[0]));
float fTemp799 = ((0.70710677f * fTemp797) - (0.70710677f * fTemp798));
fVec193[IOTA&16383] = fTemp799;
fRec410[0] = (((fVec193[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266) + (fVec193[(IOTA-iTemp263)&16383] + (fRec410[1] * fTemp267)));
fRec408[0] = fRec410[0];
float fTemp800 = ((0.70710677f * fTemp797) + (0.70710677f * fTemp798));
fVec194[IOTA&16383] = fTemp800;
fRec411[0] = (((fVec194[(IOTA-iTemp639)&16383] * fTemp637) / fTemp640) + (fVec194[(IOTA-iTemp642)&16383] + (fRec411[1] * fTemp641)));
fRec409[0] = fRec411[0];
float fTemp801 = ((0.760314f * fTemp754) - (0.64955574f * fRec418[1]));
float fTemp802 = ((0.760314f * fTemp776) - (0.64955574f * fRec419[1]));
float fTemp803 = ((0.70710677f * fTemp801) - (0.70710677f * fTemp802));
fVec195[IOTA&16383] = fTemp803;
fRec420[0] = (((fTemp434 * fVec195[(IOTA-iTemp431)&16383]) / fTemp435) + ((fRec420[1] * fTemp436) + fVec195[(IOTA-iTemp432)&16383]));
fRec418[0] = fRec420[0];
float fTemp804 = ((0.70710677f * fTemp802) + (0.70710677f * fTemp801));
fVec196[IOTA&16383] = fTemp804;
fRec421[0] = (((fTemp440 * fVec196[(IOTA-iTemp442)&16383]) / fTemp443) + ((fRec421[1] * fTemp445) + fVec196[(IOTA-iTemp444)&16383]));
fRec419[0] = fRec421[0];
float fTemp805 = ((0.760314f * fTemp753) - (0.64955574f * fRec422[1]));
float fTemp806 = ((0.760314f * fTemp775) - (0.64955574f * fRec423[1]));
float fTemp807 = ((0.70710677f * fTemp805) - (0.70710677f * fTemp806));
fVec197[IOTA&16383] = fTemp807;
fRec424[0] = (((fTemp12 * fVec197[(IOTA-iTemp373)&16383]) / fTemp374) + ((fRec424[1] * fTemp376) + fVec197[(IOTA-iTemp375)&16383]));
fRec422[0] = fRec424[0];
float fTemp808 = ((0.70710677f * fTemp806) + (0.70710677f * fTemp805));
fVec198[IOTA&16383] = fTemp808;
fRec425[0] = (((fTemp8 * fVec198[(IOTA-iTemp378)&16383]) / fTemp380) + ((fRec425[1] * fTemp381) + fVec198[(IOTA-iTemp379)&16383]));
fRec423[0] = fRec425[0];
float fTemp809 = ((0.760314f * fTemp752) - (0.64955574f * fRec426[1]));
float fTemp810 = ((0.760314f * fTemp774) - (0.64955574f * fRec427[1]));
float fTemp811 = ((0.70710677f * fTemp809) - (0.70710677f * fTemp810));
fVec199[IOTA&16383] = fTemp811;
fRec428[0] = (((fTemp295 * fVec199[(IOTA-iTemp343)&16383]) / fTemp344) + ((fRec428[1] * fTemp346) + fVec199[(IOTA-iTemp345)&16383]));
fRec426[0] = fRec428[0];
float fTemp812 = ((0.70710677f * fTemp810) + (0.70710677f * fTemp809));
fVec200[IOTA&16383] = fTemp812;
fRec429[0] = (((fTemp350 * fVec200[(IOTA-iTemp352)&16383]) / fTemp353) + ((fRec429[1] * fTemp355) + fVec200[(IOTA-iTemp354)&16383]));
fRec427[0] = fRec429[0];
float fTemp813 = ((0.760314f * fTemp751) - (0.64955574f * fRec430[1]));
float fTemp814 = ((0.760314f * fTemp773) - (0.64955574f * fRec431[1]));
float fTemp815 = ((0.70710677f * fTemp813) - (0.70710677f * fTemp814));
fVec201[IOTA&16383] = fTemp815;
fRec432[0] = (((fTemp33 * fVec201[(IOTA-iTemp255)&16383]) / fTemp256) + ((fRec432[1] * fTemp258) + fVec201[(IOTA-iTemp257)&16383]));
fRec430[0] = fRec432[0];
float fTemp816 = ((0.70710677f * fTemp814) + (0.70710677f * fTemp813));
fVec202[IOTA&16383] = fTemp816;
fRec433[0] = (((fTemp265 * fVec202[(IOTA-iTemp262)&16383]) / fTemp266) + ((fRec433[1] * fTemp267) + fVec202[(IOTA-iTemp263)&16383]));
fRec431[0] = fRec433[0];
float fTemp817 = ((0.760314f * fRec356[0]) - (0.64955574f * fRec434[1]));
float fTemp818 = ((0.760314f * fRec401[0]) - (0.64955574f * fRec435[1]));
float fTemp819 = ((0.70710677f * fTemp817) - (0.70710677f * fTemp818));
fVec203[IOTA&16383] = fTemp819;
fRec436[0] = (((fVec203[(IOTA-iTemp237)&16383] * fTemp37) / fTemp238) + (fVec203[(IOTA-iTemp239)&16383] + (fRec436[1] * fTemp240)));
fRec434[0] = fRec436[0];
float fTemp820 = ((0.70710677f * fTemp817) + (0.70710677f * fTemp818));
fVec204[IOTA&16383] = fTemp820;
fRec437[0] = (((fVec204[(IOTA-iTemp248)&16383] * fTemp244) / fTemp245) + (fVec204[(IOTA-iTemp249)&16383] + (fRec437[1] * fTemp246)));
fRec435[0] = fRec437[0];
float fTemp821 = ((0.760314f * fTemp744) - (0.64955574f * fRec439[1]));
float fTemp822 = ((0.760314f * fTemp770) - (0.64955574f * fRec440[1]));
float fTemp823 = ((0.70710677f * fTemp821) - (0.70710677f * fTemp822));
fVec205[IOTA&16383] = fTemp823;
fRec441[0] = (((fTemp48 * fVec205[(IOTA-iTemp158)&16383]) / fTemp159) + ((fRec441[1] * fTemp161) + fVec205[(IOTA-iTemp160)&16383]));
fRec439[0] = fRec441[0];
float fTemp824 = ((0.70710677f * fTemp821) + (0.70710677f * fTemp822));
fVec206[IOTA&16383] = fTemp824;
fRec442[0] = (((fTemp165 * fVec206[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec442[1] * fTemp170) + fVec206[(IOTA-iTemp169)&16383]));
fRec440[0] = fRec442[0];
float fTemp825 = ((0.760314f * fTemp743) - (0.64955574f * fRec443[1]));
float fTemp826 = ((0.760314f * fTemp769) - (0.64955574f * fRec444[1]));
float fTemp827 = ((0.70710677f * fTemp825) - (0.70710677f * fTemp826));
fVec207[IOTA&16383] = fTemp827;
fRec445[0] = (((fTemp52 * fVec207[(IOTA-iTemp134)&16383]) / fTemp135) + ((fRec445[1] * fTemp137) + fVec207[(IOTA-iTemp136)&16383]));
fRec443[0] = fRec445[0];
float fTemp828 = ((0.70710677f * fTemp825) + (0.70710677f * fTemp826));
fVec208[IOTA&16383] = fTemp828;
fRec446[0] = (((fTemp141 * fVec208[(IOTA-iTemp143)&16383]) / fTemp144) + ((fRec446[1] * fTemp146) + fVec208[(IOTA-iTemp145)&16383]));
fRec444[0] = fRec446[0];
float fTemp829 = (fTemp671 - (0.64955574f * fRec447[1]));
float fTemp830 = (fTemp673 - (0.64955574f * fRec448[1]));
float fTemp831 = ((0.70710677f * fTemp829) - (0.70710677f * fTemp830));
fVec209[IOTA&16383] = fTemp831;
fRec449[0] = (((fTemp56 * fVec209[(IOTA-iTemp114)&16383]) / fTemp115) + ((fRec449[1] * fTemp117) + fVec209[(IOTA-iTemp116)&16383]));
fRec447[0] = fRec449[0];
float fTemp832 = ((0.70710677f * fTemp829) + (0.70710677f * fTemp830));
fVec210[IOTA&16383] = fTemp832;
fRec450[0] = (((fTemp121 * fVec210[(IOTA-iTemp123)&16383]) / fTemp124) + ((fRec450[1] * fTemp126) + fVec210[(IOTA-iTemp125)&16383]));
fRec448[0] = fRec450[0];
float fTemp833 = (fTemp523 + fTemp479);
float fTemp834 = (0.64955574f * fTemp833);
float fTemp835 = ((0.760314f * fRec447[1]) + fTemp834);
float fTemp836 = ((0.760314f * fRec443[1]) + (0.64955574f * fTemp835));
float fTemp837 = ((0.760314f * fRec439[1]) + (0.64955574f * fTemp836));
fVec211[IOTA&1023] = fTemp837;
float fTemp838 = ((fTemp394 * fVec211[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec211[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec211[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec211[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec211[(IOTA-iTemp186)&1023]))))))));
fVec212[IOTA&16383] = fTemp838;
fRec438[0] = (((fTemp195 * fVec212[(IOTA-iTemp191)&16383]) / fTemp196) + ((fRec438[1] * fTemp197) + fVec212[(IOTA-iTemp192)&16383]));
float fTemp839 = ((0.760314f * fRec434[1]) + (0.64955574f * fRec438[0]));
float fTemp840 = ((0.760314f * fRec430[1]) + (0.64955574f * fTemp839));
float fTemp841 = ((0.760314f * fRec426[1]) + (0.64955574f * fTemp840));
float fTemp842 = ((0.760314f * fRec422[1]) + (0.64955574f * fTemp841));
float fTemp843 = ((0.760314f * fRec418[1]) + (0.64955574f * fTemp842));
fVec213[IOTA&16383] = fTemp843;
float fTemp844 = (((((fVec213[(IOTA-iTemp493)&16383] * fTemp17) * fTemp19) * fTemp21) * fTemp23) + (fTemp494 * ((((fVec213[(IOTA-iTemp496)&16383] * fTemp497) * fTemp498) * fTemp499) + (fTemp500 * ((0.041666668f * ((fVec213[(IOTA-iTemp509)&16383] * fTemp16) * fTemp18)) + ((0.5f * ((fVec213[(IOTA-iTemp502)&16383] * fTemp503) * fTemp504)) + (0.16666667f * ((fVec213[(IOTA-iTemp506)&16383] * fTemp16) * fTemp507))))))));
fVec214[IOTA&16383] = fTemp844;
fRec417[0] = (((fTemp29 * fVec214[(IOTA-iTemp511)&16383]) / fTemp512) + ((fRec417[1] * fTemp514) + fVec214[(IOTA-iTemp513)&16383]));
fRec416[0] = ((fSlow50 * fRec416[1]) + (fSlow26 * ((fSlow19 * fRec417[0]) + (fSlow49 * fRec417[1]))));
fRec415[0] = (fRec416[0] - (fSlow24 * ((fSlow51 * fRec415[1]) + (fSlow52 * fRec415[2]))));
fRec414[0] = ((fSlow24 * ((fSlow23 * fRec415[1]) + (fSlow22 * (fRec415[2] + fRec415[0])))) - (fSlow21 * ((fSlow51 * fRec414[1]) + (fSlow53 * fRec414[2]))));
float fTemp845 = (fSlow59 * fRec413[1]);
fRec413[0] = ((fSlow21 * ((fSlow23 * fRec414[1]) + (fSlow22 * (fRec414[2] + fRec414[0])))) - (fSlow56 * ((fSlow57 * fRec413[2]) + fTemp845)));
fRec456[0] = ((fSlow50 * fRec456[1]) + (fSlow26 * (fRec339[0] + fRec339[1])));
fRec455[0] = (fRec456[0] - (fSlow24 * ((fSlow51 * fRec455[1]) + (fSlow52 * fRec455[2]))));
fRec454[0] = ((fSlow24 * (fRec455[0] + (fRec455[2] + (2.0f * fRec455[1])))) - (fSlow21 * ((fSlow51 * fRec454[1]) + (fSlow53 * fRec454[2]))));
float fTemp846 = (fRec454[0] + (fRec454[2] + (2.0f * fRec454[1])));
float fTemp847 = (fSlow21 * fTemp846);
fVec215[0] = fTemp847;
fRec453[0] = ((fSlow65 * fRec453[1]) + (fSlow66 * ((fSlow68 * fTemp846) + (fSlow67 * fVec215[1]))));
fRec452[0] = (fRec453[0] - (fSlow63 * ((fSlow59 * fRec452[1]) + (fSlow69 * fRec452[2]))));
fRec451[0] = ((fSlow63 * ((fSlow62 * fRec452[1]) + (fSlow58 * (fRec452[2] + fRec452[0])))) - (fSlow60 * ((fSlow59 * fRec451[1]) + (fSlow70 * fRec451[2]))));
fRec459[0] = ((fSlow65 * fRec459[1]) + (fSlow66 * (fVec215[0] + fVec215[1])));
fRec458[0] = (fRec459[0] - (fSlow63 * ((fSlow59 * fRec458[1]) + (fSlow69 * fRec458[2]))));
fRec457[0] = ((fSlow63 * (fRec458[0] + (fRec458[2] + (2.0f * fRec458[1])))) - (fSlow60 * ((fSlow59 * fRec457[1]) + (fSlow70 * fRec457[2]))));
float fTemp848 = (fTemp25 + (fSlow16 * ((fSlow17 * (fRec413[2] + (fSlow56 * (fTemp845 + (fSlow57 * fRec413[0]))))) + (fSlow60 * ((fSlow61 * ((fSlow62 * fRec451[1]) + (fSlow58 * (fRec451[2] + fRec451[0])))) + (fSlow71 * (fRec457[0] + (fRec457[2] + (2.0f * fRec457[1])))))))));
fVec216[IOTA&1023] = fTemp848;
fRec412[0] = ((fSlow8 * fRec412[1]) + (fSlow9 * ((fTemp24 * fVec216[(IOTA-iTemp567)&1023]) + (fTemp494 * ((fTemp568 * fVec216[(IOTA-iTemp569)&1023]) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec216[(IOTA-iTemp571)&1023])) + ((0.5f * (fTemp572 * fVec216[(IOTA-iTemp573)&1023])) + (0.16666667f * (fTemp574 * fVec216[(IOTA-iTemp575)&1023]))))))))));
float fTemp849 = ((fSlow1 * fRec408[1]) + (fSlow5 * fRec412[0]));
float fTemp850 = ((fSlow1 * fRec404[1]) + (fSlow5 * fTemp849));
float fTemp851 = ((fSlow1 * ((fSlow1 * fRec6[1]) + (fSlow5 * fTemp850))) + (fSlow6 * fRec2[1]));
float fTemp852 = (fTemp525 + fTemp617);
float fTemp853 = (0.64955574f * fTemp852);
float fTemp854 = ((0.760314f * fRec448[1]) + fTemp853);
float fTemp855 = ((0.760314f * fRec444[1]) + (0.64955574f * fTemp854));
float fTemp856 = ((0.760314f * fRec440[1]) + (0.64955574f * fTemp855));
fVec217[IOTA&1023] = fTemp856;
float fTemp857 = ((fTemp358 * fVec217[(IOTA-iTemp210)&1023]) + (fTemp212 * ((fTemp364 * fVec217[(IOTA-iTemp214)&1023]) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec217[(IOTA-iTemp218)&1023])) + ((0.16666667f * (fTemp365 * fVec217[(IOTA-iTemp219)&1023])) + (0.5f * (fTemp366 * fVec217[(IOTA-iTemp222)&1023]))))))));
fVec218[IOTA&16383] = fTemp857;
fRec466[0] = (((fRec466[1] * fTemp234) + fVec218[(IOTA-iTemp228)&16383]) + ((fTemp231 * fVec218[(IOTA-iTemp227)&16383]) / fTemp232));
float fTemp858 = ((0.760314f * fRec435[1]) + (0.64955574f * fRec466[0]));
float fTemp859 = ((0.760314f * fRec431[1]) + (0.64955574f * fTemp858));
float fTemp860 = ((0.760314f * fRec427[1]) + (0.64955574f * fTemp859));
float fTemp861 = ((0.760314f * fRec423[1]) + (0.64955574f * fTemp860));
float fTemp862 = ((0.760314f * fRec419[1]) + (0.64955574f * fTemp861));
fVec219[IOTA&16383] = fTemp862;
float fTemp863 = (((((fVec219[(IOTA-iTemp594)&16383] * fTemp586) * fTemp588) * fTemp590) * fTemp595) + (fTemp596 * ((((fVec219[(IOTA-iTemp600)&16383] * fTemp597) * fTemp598) * fTemp601) + (fTemp602 * ((0.041666668f * ((fVec219[(IOTA-iTemp604)&16383] * fTemp585) * fTemp587)) + ((0.5f * ((fVec219[(IOTA-iTemp608)&16383] * fTemp607) * fTemp609)) + (0.16666667f * ((fVec219[(IOTA-iTemp605)&16383] * fTemp585) * fTemp606))))))));
fVec220[IOTA&16383] = fTemp863;
fRec465[0] = (((fTemp581 * fVec220[(IOTA-iTemp611)&16383]) / fTemp612) + ((fRec465[1] * fTemp613) + fVec220[(IOTA-iTemp614)&16383]));
fRec464[0] = ((fSlow50 * fRec464[1]) + (fSlow26 * ((fSlow19 * fRec465[0]) + (fSlow49 * fRec465[1]))));
fRec463[0] = (fRec464[0] - (fSlow24 * ((fSlow51 * fRec463[1]) + (fSlow52 * fRec463[2]))));
fRec462[0] = ((fSlow24 * ((fSlow23 * fRec463[1]) + (fSlow22 * (fRec463[2] + fRec463[0])))) - (fSlow21 * ((fSlow51 * fRec462[1]) + (fSlow53 * fRec462[2]))));
float fTemp864 = (fSlow59 * fRec461[1]);
fRec461[0] = ((fSlow21 * ((fSlow23 * fRec462[1]) + (fSlow22 * (fRec462[2] + fRec462[0])))) - (fSlow56 * ((fSlow57 * fRec461[2]) + fTemp864)));
fRec472[0] = ((fSlow50 * fRec472[1]) + (fSlow26 * (fRec400[1] + fRec400[0])));
fRec471[0] = (fRec472[0] - (fSlow24 * ((fSlow51 * fRec471[1]) + (fSlow52 * fRec471[2]))));
fRec470[0] = ((fSlow24 * (fRec471[0] + (fRec471[2] + (2.0f * fRec471[1])))) - (fSlow21 * ((fSlow51 * fRec470[1]) + (fSlow53 * fRec470[2]))));
float fTemp865 = (fRec470[0] + (fRec470[2] + (2.0f * fRec470[1])));
float fTemp866 = (fSlow21 * fTemp865);
fVec221[0] = fTemp866;
fRec469[0] = ((fSlow65 * fRec469[1]) + (fSlow66 * ((fSlow68 * fTemp865) + (fSlow67 * fVec221[1]))));
fRec468[0] = (fRec469[0] - (fSlow63 * ((fSlow59 * fRec468[1]) + (fSlow69 * fRec468[2]))));
fRec467[0] = ((fSlow63 * ((fSlow62 * fRec468[1]) + (fSlow58 * (fRec468[2] + fRec468[0])))) - (fSlow60 * ((fSlow59 * fRec467[1]) + (fSlow70 * fRec467[2]))));
fRec475[0] = ((fSlow65 * fRec475[1]) + (fSlow66 * (fVec221[0] + fVec221[1])));
fRec474[0] = (fRec475[0] - (fSlow63 * ((fSlow59 * fRec474[1]) + (fSlow69 * fRec474[2]))));
fRec473[0] = ((fSlow63 * (fRec474[0] + (fRec474[2] + (2.0f * fRec474[1])))) - (fSlow60 * ((fSlow59 * fRec473[1]) + (fSlow70 * fRec473[2]))));
float fTemp867 = (fTemp577 + (fSlow16 * ((fSlow17 * (fRec461[2] + (fSlow56 * (fTemp864 + (fSlow57 * fRec461[0]))))) + (fSlow60 * ((fSlow61 * ((fSlow62 * fRec467[1]) + (fSlow58 * (fRec467[2] + fRec467[0])))) + (fSlow71 * (fRec473[0] + (fRec473[2] + (2.0f * fRec473[1])))))))));
fVec222[IOTA&1023] = fTemp867;
fRec460[0] = ((fSlow8 * fRec460[1]) + (fSlow9 * ((fTemp394 * fVec222[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec222[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec222[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec222[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec222[(IOTA-iTemp186)&1023]))))))))));
float fTemp868 = ((fSlow1 * fRec409[1]) + (fSlow5 * fRec460[0]));
float fTemp869 = ((fSlow1 * fRec405[1]) + (fSlow5 * fTemp868));
float fTemp870 = ((fSlow1 * ((fSlow1 * fRec7[1]) + (fSlow5 * fTemp869))) + (fSlow6 * fRec3[1]));
float fTemp871 = ((0.70710677f * fTemp851) - (0.70710677f * fTemp870));
fVec223[IOTA&16383] = fTemp871;
int iTemp872 = int(min(8192, max(0, int(fTemp2))));
float fTemp873 = (fRec5[0] - fTemp3);
fRec4[0] = (((fTemp4 * fVec223[(IOTA-iTemp872)&16383]) / fTemp873) + (fVec223[(IOTA-int((iTemp872 + 1)))&16383] + ((0 - (fTemp4 / fTemp873)) * fRec4[1])));
fRec2[0] = fRec4[0];
float fTemp874 = ((0.70710677f * fTemp851) + (0.70710677f * fTemp870));
fVec224[IOTA&16383] = fTemp874;
fRec476[0] = (((fTemp440 * fVec224[(IOTA-iTemp442)&16383]) / fTemp443) + ((fRec476[1] * fTemp445) + fVec224[(IOTA-iTemp444)&16383]));
fRec3[0] = fRec476[0];
float fTemp875 = ((fSlow6 * fRec477[1]) + (fSlow1 * fTemp850));
float fTemp876 = ((fSlow6 * fRec478[1]) + (fSlow1 * fTemp869));
float fTemp877 = ((0.70710677f * fTemp875) - (0.70710677f * fTemp876));
fVec225[IOTA&16383] = fTemp877;
fRec479[0] = (((fVec225[(IOTA-iTemp378)&16383] * fTemp8) / fTemp380) + (fVec225[(IOTA-iTemp379)&16383] + (fRec479[1] * fTemp381)));
fRec477[0] = fRec479[0];
float fTemp878 = ((0.70710677f * fTemp875) + (0.70710677f * fTemp876));
fVec226[IOTA&16383] = fTemp878;
fRec480[0] = ((fTemp791 * fRec480[1]) + (fVec226[(IOTA-iTemp792)&16383] + ((fTemp787 * fVec226[(IOTA-iTemp789)&16383]) / fTemp790)));
fRec478[0] = fRec480[0];
float fTemp879 = ((fSlow6 * fRec481[1]) + (fSlow1 * fTemp849));
float fTemp880 = ((fSlow6 * fRec482[1]) + (fSlow1 * fTemp868));
float fTemp881 = ((0.70710677f * fTemp879) - (0.70710677f * fTemp880));
fVec227[IOTA&16383] = fTemp881;
fRec483[0] = (((fVec227[(IOTA-iTemp373)&16383] * fTemp12) / fTemp374) + (fVec227[(IOTA-iTemp375)&16383] + (fRec483[1] * fTemp376)));
fRec481[0] = fRec483[0];
float fTemp882 = ((0.70710677f * fTemp879) + (0.70710677f * fTemp880));
fVec228[IOTA&16383] = fTemp882;
fRec484[0] = (((fVec228[(IOTA-iTemp352)&16383] * fTemp350) / fTemp353) + (fVec228[(IOTA-iTemp354)&16383] + (fRec484[1] * fTemp355)));
fRec482[0] = fRec484[0];
float fTemp883 = ((fSlow6 * fRec485[1]) + (fSlow1 * fRec412[0]));
float fTemp884 = ((fSlow6 * fRec486[1]) + (fSlow1 * fRec460[0]));
float fTemp885 = ((0.70710677f * fTemp883) - (0.70710677f * fTemp884));
fVec229[IOTA&16383] = fTemp885;
fRec487[0] = (((fVec229[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266) + (fVec229[(IOTA-iTemp263)&16383] + (fRec487[1] * fTemp267)));
fRec485[0] = fRec487[0];
float fTemp886 = ((0.70710677f * fTemp883) + (0.70710677f * fTemp884));
fVec230[IOTA&16383] = fTemp886;
fRec488[0] = ((fTemp641 * fRec488[1]) + (fVec230[(IOTA-iTemp642)&16383] + ((fTemp637 * fVec230[(IOTA-iTemp639)&16383]) / fTemp640)));
fRec486[0] = fRec488[0];
float fTemp887 = ((0.760314f * fTemp841) - (0.64955574f * fRec495[1]));
float fTemp888 = ((0.760314f * fTemp860) - (0.64955574f * fRec496[1]));
float fTemp889 = ((0.70710677f * fTemp887) - (0.70710677f * fTemp888));
fVec231[IOTA&16383] = fTemp889;
fRec497[0] = (((fVec231[(IOTA-iTemp373)&16383] * fTemp12) / fTemp374) + (fVec231[(IOTA-iTemp375)&16383] + (fTemp376 * fRec497[1])));
fRec495[0] = fRec497[0];
float fTemp890 = ((0.70710677f * fTemp887) + (0.70710677f * fTemp888));
fVec232[IOTA&16383] = fTemp890;
fRec498[0] = ((fTemp381 * fRec498[1]) + (fVec232[(IOTA-iTemp379)&16383] + ((fTemp8 * fVec232[(IOTA-iTemp378)&16383]) / fTemp380)));
fRec496[0] = fRec498[0];
float fTemp891 = ((0.760314f * fTemp840) - (0.64955574f * fRec499[1]));
float fTemp892 = ((0.760314f * fTemp859) - (0.64955574f * fRec500[1]));
float fTemp893 = ((0.70710677f * fTemp891) - (0.70710677f * fTemp892));
fVec233[IOTA&16383] = fTemp893;
fRec501[0] = (((fVec233[(IOTA-iTemp343)&16383] * fTemp295) / fTemp344) + (fVec233[(IOTA-iTemp345)&16383] + (fRec501[1] * fTemp346)));
fRec499[0] = fRec501[0];
float fTemp894 = ((0.70710677f * fTemp891) + (0.70710677f * fTemp892));
fVec234[IOTA&16383] = fTemp894;
fRec502[0] = (((fVec234[(IOTA-iTemp352)&16383] * fTemp350) / fTemp353) + (fVec234[(IOTA-iTemp354)&16383] + (fRec502[1] * fTemp355)));
fRec500[0] = fRec502[0];
float fTemp895 = ((0.760314f * fTemp839) - (0.64955574f * fRec503[1]));
float fTemp896 = ((0.760314f * fTemp858) - (0.64955574f * fRec504[1]));
float fTemp897 = ((0.70710677f * fTemp895) - (0.70710677f * fTemp896));
fVec235[IOTA&16383] = fTemp897;
fRec505[0] = (((fVec235[(IOTA-iTemp255)&16383] * fTemp33) / fTemp256) + (fVec235[(IOTA-iTemp257)&16383] + (fRec505[1] * fTemp258)));
fRec503[0] = fRec505[0];
float fTemp898 = ((0.70710677f * fTemp895) + (0.70710677f * fTemp896));
fVec236[IOTA&16383] = fTemp898;
fRec506[0] = (((fVec236[(IOTA-iTemp262)&16383] * fTemp265) / fTemp266) + (fVec236[(IOTA-iTemp263)&16383] + (fRec506[1] * fTemp267)));
fRec504[0] = fRec506[0];
float fTemp899 = ((0.760314f * fRec438[0]) - (0.64955574f * fRec507[1]));
float fTemp900 = ((0.760314f * fRec466[0]) - (0.64955574f * fRec508[1]));
float fTemp901 = ((0.70710677f * fTemp899) - (0.70710677f * fTemp900));
fVec237[IOTA&16383] = fTemp901;
fRec509[0] = (((fVec237[(IOTA-iTemp237)&16383] * fTemp37) / fTemp238) + (fVec237[(IOTA-iTemp239)&16383] + (fRec509[1] * fTemp240)));
fRec507[0] = fRec509[0];
float fTemp902 = ((0.70710677f * fTemp899) + (0.70710677f * fTemp900));
fVec238[IOTA&16383] = fTemp902;
fRec510[0] = (((fVec238[(IOTA-iTemp248)&16383] * fTemp244) / fTemp245) + (fVec238[(IOTA-iTemp249)&16383] + (fRec510[1] * fTemp246)));
fRec508[0] = fRec510[0];
float fTemp903 = ((0.760314f * fTemp836) - (0.64955574f * fRec512[1]));
float fTemp904 = ((0.760314f * fTemp855) - (0.64955574f * fRec513[1]));
float fTemp905 = ((0.70710677f * fTemp903) - (0.70710677f * fTemp904));
fVec239[IOTA&16383] = fTemp905;
fRec514[0] = (((fTemp48 * fVec239[(IOTA-iTemp158)&16383]) / fTemp159) + ((fRec514[1] * fTemp161) + fVec239[(IOTA-iTemp160)&16383]));
fRec512[0] = fRec514[0];
float fTemp906 = ((0.70710677f * fTemp903) + (0.70710677f * fTemp904));
fVec240[IOTA&16383] = fTemp906;
fRec515[0] = (((fTemp165 * fVec240[(IOTA-iTemp167)&16383]) / fTemp168) + ((fRec515[1] * fTemp170) + fVec240[(IOTA-iTemp169)&16383]));
fRec513[0] = fRec515[0];
float fTemp907 = ((0.760314f * fTemp835) - (0.64955574f * fRec516[1]));
float fTemp908 = ((0.760314f * fTemp854) - (0.64955574f * fRec517[1]));
float fTemp909 = ((0.70710677f * fTemp907) - (0.70710677f * fTemp908));
fVec241[IOTA&16383] = fTemp909;
fRec518[0] = (((fTemp52 * fVec241[(IOTA-iTemp134)&16383]) / fTemp135) + ((fRec518[1] * fTemp137) + fVec241[(IOTA-iTemp136)&16383]));
fRec516[0] = fRec518[0];
float fTemp910 = ((0.70710677f * fTemp907) + (0.70710677f * fTemp908));
fVec242[IOTA&16383] = fTemp910;
fRec519[0] = (((fTemp141 * fVec242[(IOTA-iTemp143)&16383]) / fTemp144) + ((fRec519[1] * fTemp146) + fVec242[(IOTA-iTemp145)&16383]));
fRec517[0] = fRec519[0];
float fTemp911 = ((0.760314f * fTemp833) - (0.64955574f * fRec520[1]));
float fTemp912 = ((0.760314f * fTemp852) - (0.64955574f * fRec521[1]));
float fTemp913 = ((0.70710677f * fTemp911) - (0.70710677f * fTemp912));
fVec243[IOTA&16383] = fTemp913;
fRec522[0] = (((fTemp56 * fVec243[(IOTA-iTemp114)&16383]) / fTemp115) + ((fRec522[1] * fTemp117) + fVec243[(IOTA-iTemp116)&16383]));
fRec520[0] = fRec522[0];
float fTemp914 = ((0.70710677f * fTemp911) + (0.70710677f * fTemp912));
fVec244[IOTA&16383] = fTemp914;
fRec523[0] = (((fTemp121 * fVec244[(IOTA-iTemp123)&16383]) / fTemp124) + ((fRec523[1] * fTemp126) + fVec244[(IOTA-iTemp125)&16383]));
fRec521[0] = fRec523[0];
float fTemp915 = ((0.760314f * fRec512[1]) + (0.64955574f * ((0.760314f * fRec516[1]) + (0.64955574f * ((0.760314f * fRec520[1]) + fTemp834)))));
fVec245[IOTA&1023] = fTemp915;
float fTemp916 = ((fTemp394 * fVec245[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec245[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec245[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec245[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec245[(IOTA-iTemp186)&1023]))))))));
fVec246[IOTA&16383] = fTemp916;
fRec511[0] = (fVec246[(IOTA-iTemp192)&16383] + ((fRec511[1] * fTemp197) + ((fTemp195 * fVec246[(IOTA-iTemp191)&16383]) / fTemp196)));
float fTemp917 = ((0.760314f * fTemp842) - (0.64955574f * fRec524[1]));
float fTemp918 = ((0.760314f * fTemp861) - (0.64955574f * fRec525[1]));
float fTemp919 = ((0.70710677f * fTemp917) - (0.70710677f * fTemp918));
fVec247[IOTA&16383] = fTemp919;
fRec526[0] = ((fTemp436 * fRec526[1]) + (fVec247[(IOTA-iTemp432)&16383] + ((fTemp434 * fVec247[(IOTA-iTemp431)&16383]) / fTemp435)));
fRec524[0] = fRec526[0];
float fTemp920 = ((0.70710677f * fTemp917) + (0.70710677f * fTemp918));
fVec248[IOTA&16383] = fTemp920;
fRec527[0] = ((fTemp445 * fRec527[1]) + (fVec248[(IOTA-iTemp444)&16383] + ((fTemp440 * fVec248[(IOTA-iTemp442)&16383]) / fTemp443)));
fRec525[0] = fRec527[0];
float fTemp921 = ((0.64955574f * ((0.760314f * fRec495[1]) + (0.64955574f * ((0.760314f * fRec499[1]) + (0.64955574f * ((0.760314f * fRec503[1]) + (0.64955574f * ((0.760314f * fRec507[1]) + (0.64955574f * fRec511[0]))))))))) + (0.760314f * fRec524[1]));
fVec249[IOTA&16383] = fTemp921;
float fTemp922 = ((fTemp24 * fVec249[(IOTA-iTemp493)&16383]) + (fTemp494 * ((fTemp568 * fVec249[(IOTA-iTemp496)&16383]) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec249[(IOTA-iTemp509)&16383])) + ((0.16666667f * (fTemp574 * fVec249[(IOTA-iTemp506)&16383])) + (0.5f * (fTemp572 * fVec249[(IOTA-iTemp502)&16383]))))))));
fVec250[IOTA&16383] = fTemp922;
fRec494[0] = (fVec250[(IOTA-iTemp513)&16383] + ((fTemp514 * fRec494[1]) + ((fTemp29 * fVec250[(IOTA-iTemp511)&16383]) / fTemp512)));
fRec493[0] = ((fSlow26 * ((fSlow19 * fRec494[0]) + (fSlow49 * fRec494[1]))) + (fSlow50 * fRec493[1]));
fRec492[0] = (fRec493[0] - (fSlow24 * ((fSlow51 * fRec492[1]) + (fSlow52 * fRec492[2]))));
fRec491[0] = ((fSlow24 * ((fSlow23 * fRec492[1]) + (fSlow22 * (fRec492[2] + fRec492[0])))) - (fSlow21 * ((fSlow51 * fRec491[1]) + (fSlow53 * fRec491[2]))));
float fTemp923 = (fSlow59 * fRec490[1]);
fRec490[0] = ((fSlow21 * ((fSlow23 * fRec491[1]) + (fSlow22 * (fRec491[2] + fRec491[0])))) - (fSlow56 * ((fSlow57 * fRec490[2]) + fTemp923)));
fRec533[0] = ((fSlow50 * fRec533[1]) + (fSlow26 * (fRec417[1] + fRec417[0])));
fRec532[0] = (fRec533[0] - (fSlow24 * ((fSlow51 * fRec532[1]) + (fSlow52 * fRec532[2]))));
fRec531[0] = ((fSlow24 * (fRec532[0] + (fRec532[2] + (2.0f * fRec532[1])))) - (fSlow21 * ((fSlow51 * fRec531[1]) + (fSlow53 * fRec531[2]))));
float fTemp924 = (fRec531[0] + (fRec531[2] + (2.0f * fRec531[1])));
float fTemp925 = (fSlow21 * fTemp924);
fVec251[0] = fTemp925;
fRec530[0] = ((fSlow65 * fRec530[1]) + (fSlow66 * ((fSlow68 * fTemp924) + (fSlow67 * fVec251[1]))));
fRec529[0] = (fRec530[0] - (fSlow63 * ((fSlow59 * fRec529[1]) + (fSlow69 * fRec529[2]))));
fRec528[0] = ((fSlow63 * ((fSlow62 * fRec529[1]) + (fSlow58 * (fRec529[2] + fRec529[0])))) - (fSlow60 * ((fSlow59 * fRec528[1]) + (fSlow70 * fRec528[2]))));
fRec536[0] = ((fSlow65 * fRec536[1]) + (fSlow66 * (fVec251[0] + fVec251[1])));
fRec535[0] = (fRec536[0] - (fSlow63 * ((fSlow59 * fRec535[1]) + (fSlow69 * fRec535[2]))));
fRec534[0] = ((fSlow63 * (fRec535[0] + (fRec535[2] + (2.0f * fRec535[1])))) - (fSlow60 * ((fSlow59 * fRec534[1]) + (fSlow70 * fRec534[2]))));
float fTemp926 = (fTemp25 + (fSlow16 * ((fSlow17 * (fRec490[2] + (fSlow56 * (fTemp923 + (fSlow57 * fRec490[0]))))) + (fSlow60 * ((fSlow61 * ((fSlow62 * fRec528[1]) + (fSlow58 * (fRec528[2] + fRec528[0])))) + (fSlow71 * (fRec534[0] + (fRec534[2] + (2.0f * fRec534[1])))))))));
fVec252[IOTA&1023] = fTemp926;
fRec489[0] = ((fSlow8 * fRec489[1]) + (fSlow9 * ((fTemp24 * fVec252[(IOTA-iTemp567)&1023]) + (fTemp494 * ((fTemp568 * fVec252[(IOTA-iTemp569)&1023]) + (fTemp500 * ((0.041666668f * (fTemp570 * fVec252[(IOTA-iTemp571)&1023])) + ((0.5f * (fTemp572 * fVec252[(IOTA-iTemp573)&1023])) + (0.16666667f * (fTemp574 * fVec252[(IOTA-iTemp575)&1023]))))))))));
fRec0[0] = ((fSlow1 * fRec2[1]) + (fSlow5 * ((fSlow1 * fRec477[1]) + (fSlow5 * ((fSlow1 * fRec481[1]) + (fSlow5 * ((fSlow1 * fRec485[1]) + (fSlow5 * fRec489[0]))))))));
float fTemp927 = ((0.760314f * fRec513[1]) + (0.64955574f * ((0.760314f * fRec517[1]) + (0.64955574f * ((0.760314f * fRec521[1]) + fTemp853)))));
fVec253[IOTA&1023] = fTemp927;
float fTemp928 = ((fTemp358 * fVec253[(IOTA-iTemp210)&1023]) + (fTemp212 * ((fTemp364 * fVec253[(IOTA-iTemp214)&1023]) + (fTemp216 * ((0.041666668f * (fTemp217 * fVec253[(IOTA-iTemp218)&1023])) + ((0.16666667f * (fTemp365 * fVec253[(IOTA-iTemp219)&1023])) + (0.5f * (fTemp366 * fVec253[(IOTA-iTemp222)&1023]))))))));
fVec254[IOTA&16383] = fTemp928;
fRec543[0] = (((fTemp234 * fRec543[1]) + fVec254[(IOTA-iTemp228)&16383]) + ((fTemp231 * fVec254[(IOTA-iTemp227)&16383]) / fTemp232));
float fTemp929 = ((0.760314f * fRec525[1]) + (0.64955574f * ((0.760314f * fRec496[1]) + (0.64955574f * ((0.760314f * fRec500[1]) + (0.64955574f * ((0.760314f * fRec504[1]) + (0.64955574f * ((0.760314f * fRec508[1]) + (0.64955574f * fRec543[0]))))))))));
fVec255[IOTA&16383] = fTemp929;
float fTemp930 = (((fTemp591 * fVec255[(IOTA-iTemp594)&16383]) * fTemp595) + (fTemp596 * (((fTemp599 * fVec255[(IOTA-iTemp600)&16383]) * fTemp601) + (fTemp602 * ((0.041666668f * (fTemp603 * fVec255[(IOTA-iTemp604)&16383])) + ((0.16666667f * ((fTemp585 * fVec255[(IOTA-iTemp605)&16383]) * fTemp606)) + (0.5f * ((fTemp607 * fVec255[(IOTA-iTemp608)&16383]) * fTemp609))))))));
fVec256[IOTA&16383] = fTemp930;
fRec542[0] = (((fTemp581 * fVec256[(IOTA-iTemp611)&16383]) / fTemp612) + ((fTemp613 * fRec542[1]) + fVec256[(IOTA-iTemp614)&16383]));
fRec541[0] = ((fSlow50 * fRec541[1]) + (fSlow26 * ((fSlow19 * fRec542[0]) + (fSlow49 * fRec542[1]))));
fRec540[0] = (fRec541[0] - (fSlow24 * ((fSlow51 * fRec540[1]) + (fSlow52 * fRec540[2]))));
fRec539[0] = ((fSlow24 * ((fSlow23 * fRec540[1]) + (fSlow22 * (fRec540[2] + fRec540[0])))) - (fSlow21 * ((fSlow51 * fRec539[1]) + (fSlow53 * fRec539[2]))));
float fTemp931 = (fSlow59 * fRec538[1]);
fRec538[0] = ((fSlow21 * ((fSlow23 * fRec539[1]) + (fSlow22 * (fRec539[2] + fRec539[0])))) - (fSlow56 * ((fSlow57 * fRec538[2]) + fTemp931)));
fRec549[0] = ((fSlow50 * fRec549[1]) + (fSlow26 * (fRec465[1] + fRec465[0])));
fRec548[0] = (fRec549[0] - (fSlow24 * ((fSlow51 * fRec548[1]) + (fSlow52 * fRec548[2]))));
fRec547[0] = ((fSlow24 * (fRec548[0] + (fRec548[2] + (2.0f * fRec548[1])))) - (fSlow21 * ((fSlow51 * fRec547[1]) + (fSlow53 * fRec547[2]))));
float fTemp932 = (fRec547[0] + (fRec547[2] + (2.0f * fRec547[1])));
float fTemp933 = (fSlow21 * fTemp932);
fVec257[0] = fTemp933;
fRec546[0] = ((fSlow65 * fRec546[1]) + (fSlow66 * ((fSlow68 * fTemp932) + (fSlow67 * fVec257[1]))));
fRec545[0] = (fRec546[0] - (fSlow63 * ((fSlow59 * fRec545[1]) + (fSlow69 * fRec545[2]))));
fRec544[0] = ((fSlow63 * ((fSlow62 * fRec545[1]) + (fSlow58 * (fRec545[2] + fRec545[0])))) - (fSlow60 * ((fSlow59 * fRec544[1]) + (fSlow70 * fRec544[2]))));
fRec552[0] = ((fSlow65 * fRec552[1]) + (fSlow66 * (fVec257[0] + fVec257[1])));
fRec551[0] = (fRec552[0] - (fSlow63 * ((fSlow59 * fRec551[1]) + (fSlow69 * fRec551[2]))));
fRec550[0] = ((fSlow63 * (fRec551[0] + (fRec551[2] + (2.0f * fRec551[1])))) - (fSlow60 * ((fSlow59 * fRec550[1]) + (fSlow70 * fRec550[2]))));
float fTemp934 = (fTemp577 + (fSlow16 * ((fSlow17 * (fRec538[2] + (fSlow56 * (fTemp931 + (fSlow57 * fRec538[0]))))) + (fSlow60 * ((fSlow61 * ((fSlow62 * fRec544[1]) + (fSlow58 * (fRec544[2] + fRec544[0])))) + (fSlow71 * (fRec550[0] + (fRec550[2] + (2.0f * fRec550[1])))))))));
fVec258[IOTA&1023] = fTemp934;
fRec537[0] = ((fSlow8 * fRec537[1]) + (fSlow9 * ((fTemp394 * fVec258[(IOTA-iTemp174)&1023]) + (fTemp176 * ((fTemp410 * fVec258[(IOTA-iTemp178)&1023]) + (fTemp180 * ((0.041666668f * (fTemp181 * fVec258[(IOTA-iTemp182)&1023])) + ((0.16666667f * (fTemp411 * fVec258[(IOTA-iTemp183)&1023])) + (0.5f * (fTemp412 * fVec258[(IOTA-iTemp186)&1023]))))))))));
fRec1[0] = ((fSlow1 * fRec3[1]) + (fSlow5 * ((fSlow1 * fRec478[1]) + (fSlow5 * ((fSlow1 * fRec482[1]) + (fSlow5 * ((fSlow1 * fRec486[1]) + (fSlow5 * fRec537[0]))))))));
output0[i] = (FAUSTFLOAT)fRec0[0];
output1[i] = (FAUSTFLOAT)fRec1[0];
// post processing
fRec1[1] = fRec1[0];
fRec537[1] = fRec537[0];
fRec550[2] = fRec550[1]; fRec550[1] = fRec550[0];
fRec551[2] = fRec551[1]; fRec551[1] = fRec551[0];
fRec552[1] = fRec552[0];
fRec544[2] = fRec544[1]; fRec544[1] = fRec544[0];
fRec545[2] = fRec545[1]; fRec545[1] = fRec545[0];
fRec546[1] = fRec546[0];
fVec257[1] = fVec257[0];
fRec547[2] = fRec547[1]; fRec547[1] = fRec547[0];
fRec548[2] = fRec548[1]; fRec548[1] = fRec548[0];
fRec549[1] = fRec549[0];
fRec538[2] = fRec538[1]; fRec538[1] = fRec538[0];
fRec539[2] = fRec539[1]; fRec539[1] = fRec539[0];
fRec540[2] = fRec540[1]; fRec540[1] = fRec540[0];
fRec541[1] = fRec541[0];
fRec542[1] = fRec542[0];
fRec543[1] = fRec543[0];
fRec0[1] = fRec0[0];
fRec489[1] = fRec489[0];
fRec534[2] = fRec534[1]; fRec534[1] = fRec534[0];
fRec535[2] = fRec535[1]; fRec535[1] = fRec535[0];
fRec536[1] = fRec536[0];
fRec528[2] = fRec528[1]; fRec528[1] = fRec528[0];
fRec529[2] = fRec529[1]; fRec529[1] = fRec529[0];
fRec530[1] = fRec530[0];
fVec251[1] = fVec251[0];
fRec531[2] = fRec531[1]; fRec531[1] = fRec531[0];
fRec532[2] = fRec532[1]; fRec532[1] = fRec532[0];
fRec533[1] = fRec533[0];
fRec490[2] = fRec490[1]; fRec490[1] = fRec490[0];
fRec491[2] = fRec491[1]; fRec491[1] = fRec491[0];
fRec492[2] = fRec492[1]; fRec492[1] = fRec492[0];
fRec493[1] = fRec493[0];
fRec494[1] = fRec494[0];
fRec525[1] = fRec525[0];
fRec527[1] = fRec527[0];
fRec524[1] = fRec524[0];
fRec526[1] = fRec526[0];
fRec511[1] = fRec511[0];
fRec521[1] = fRec521[0];
fRec523[1] = fRec523[0];
fRec520[1] = fRec520[0];
fRec522[1] = fRec522[0];
fRec517[1] = fRec517[0];
fRec519[1] = fRec519[0];
fRec516[1] = fRec516[0];
fRec518[1] = fRec518[0];
fRec513[1] = fRec513[0];
fRec515[1] = fRec515[0];
fRec512[1] = fRec512[0];
fRec514[1] = fRec514[0];
fRec508[1] = fRec508[0];
fRec510[1] = fRec510[0];
fRec507[1] = fRec507[0];
fRec509[1] = fRec509[0];
fRec504[1] = fRec504[0];
fRec506[1] = fRec506[0];
fRec503[1] = fRec503[0];
fRec505[1] = fRec505[0];
fRec500[1] = fRec500[0];
fRec502[1] = fRec502[0];
fRec499[1] = fRec499[0];
fRec501[1] = fRec501[0];
fRec496[1] = fRec496[0];
fRec498[1] = fRec498[0];
fRec495[1] = fRec495[0];
fRec497[1] = fRec497[0];
fRec486[1] = fRec486[0];
fRec488[1] = fRec488[0];
fRec485[1] = fRec485[0];
fRec487[1] = fRec487[0];
fRec482[1] = fRec482[0];
fRec484[1] = fRec484[0];
fRec481[1] = fRec481[0];
fRec483[1] = fRec483[0];
fRec478[1] = fRec478[0];
fRec480[1] = fRec480[0];
fRec477[1] = fRec477[0];
fRec479[1] = fRec479[0];
fRec3[1] = fRec3[0];
fRec476[1] = fRec476[0];
fRec2[1] = fRec2[0];
fRec4[1] = fRec4[0];
fRec460[1] = fRec460[0];
fRec473[2] = fRec473[1]; fRec473[1] = fRec473[0];
fRec474[2] = fRec474[1]; fRec474[1] = fRec474[0];
fRec475[1] = fRec475[0];
fRec467[2] = fRec467[1]; fRec467[1] = fRec467[0];
fRec468[2] = fRec468[1]; fRec468[1] = fRec468[0];
fRec469[1] = fRec469[0];
fVec221[1] = fVec221[0];
fRec470[2] = fRec470[1]; fRec470[1] = fRec470[0];
fRec471[2] = fRec471[1]; fRec471[1] = fRec471[0];
fRec472[1] = fRec472[0];
fRec461[2] = fRec461[1]; fRec461[1] = fRec461[0];
fRec462[2] = fRec462[1]; fRec462[1] = fRec462[0];
fRec463[2] = fRec463[1]; fRec463[1] = fRec463[0];
fRec464[1] = fRec464[0];
fRec465[1] = fRec465[0];
fRec466[1] = fRec466[0];
fRec412[1] = fRec412[0];
fRec457[2] = fRec457[1]; fRec457[1] = fRec457[0];
fRec458[2] = fRec458[1]; fRec458[1] = fRec458[0];
fRec459[1] = fRec459[0];
fRec451[2] = fRec451[1]; fRec451[1] = fRec451[0];
fRec452[2] = fRec452[1]; fRec452[1] = fRec452[0];
fRec453[1] = fRec453[0];
fVec215[1] = fVec215[0];
fRec454[2] = fRec454[1]; fRec454[1] = fRec454[0];
fRec455[2] = fRec455[1]; fRec455[1] = fRec455[0];
fRec456[1] = fRec456[0];
fRec413[2] = fRec413[1]; fRec413[1] = fRec413[0];
fRec414[2] = fRec414[1]; fRec414[1] = fRec414[0];
fRec415[2] = fRec415[1]; fRec415[1] = fRec415[0];
fRec416[1] = fRec416[0];
fRec417[1] = fRec417[0];
fRec438[1] = fRec438[0];
fRec448[1] = fRec448[0];
fRec450[1] = fRec450[0];
fRec447[1] = fRec447[0];
fRec449[1] = fRec449[0];
fRec444[1] = fRec444[0];
fRec446[1] = fRec446[0];
fRec443[1] = fRec443[0];
fRec445[1] = fRec445[0];
fRec440[1] = fRec440[0];
fRec442[1] = fRec442[0];
fRec439[1] = fRec439[0];
fRec441[1] = fRec441[0];
fRec435[1] = fRec435[0];
fRec437[1] = fRec437[0];
fRec434[1] = fRec434[0];
fRec436[1] = fRec436[0];
fRec431[1] = fRec431[0];
fRec433[1] = fRec433[0];
fRec430[1] = fRec430[0];
fRec432[1] = fRec432[0];
fRec427[1] = fRec427[0];
fRec429[1] = fRec429[0];
fRec426[1] = fRec426[0];
fRec428[1] = fRec428[0];
fRec423[1] = fRec423[0];
fRec425[1] = fRec425[0];
fRec422[1] = fRec422[0];
fRec424[1] = fRec424[0];
fRec419[1] = fRec419[0];
fRec421[1] = fRec421[0];
fRec418[1] = fRec418[0];
fRec420[1] = fRec420[0];
fRec409[1] = fRec409[0];
fRec411[1] = fRec411[0];
fRec408[1] = fRec408[0];
fRec410[1] = fRec410[0];
fRec405[1] = fRec405[0];
fRec407[1] = fRec407[0];
fRec404[1] = fRec404[0];
fRec406[1] = fRec406[0];
fRec7[1] = fRec7[0];
fRec402[1] = fRec402[0];
fRec403[1] = fRec403[0];
fRec6[1] = fRec6[0];
fRec8[1] = fRec8[0];
fRec386[1] = fRec386[0];
fRec396[2] = fRec396[1]; fRec396[1] = fRec396[0];
fRec397[2] = fRec397[1]; fRec397[1] = fRec397[0];
fRec398[2] = fRec398[1]; fRec398[1] = fRec398[0];
fRec399[1] = fRec399[0];
fRec400[1] = fRec400[0];
fRec401[1] = fRec401[0];
fRec393[2] = fRec393[1]; fRec393[1] = fRec393[0];
fRec394[2] = fRec394[1]; fRec394[1] = fRec394[0];
fRec395[1] = fRec395[0];
fRec387[2] = fRec387[1]; fRec387[1] = fRec387[0];
fRec388[2] = fRec388[1]; fRec388[1] = fRec388[0];
fRec389[1] = fRec389[0];
fVec183[1] = fVec183[0];
fRec390[2] = fRec390[1]; fRec390[1] = fRec390[0];
fRec391[2] = fRec391[1]; fRec391[1] = fRec391[0];
fRec392[1] = fRec392[0];
fRec383[1] = fRec383[0];
fRec385[1] = fRec385[0];
fRec382[1] = fRec382[0];
fRec384[1] = fRec384[0];
fRec334[1] = fRec334[0];
fRec379[2] = fRec379[1]; fRec379[1] = fRec379[0];
fRec380[2] = fRec380[1]; fRec380[1] = fRec380[0];
fRec381[1] = fRec381[0];
fRec373[2] = fRec373[1]; fRec373[1] = fRec373[0];
fRec374[2] = fRec374[1]; fRec374[1] = fRec374[0];
fRec375[1] = fRec375[0];
fVec179[1] = fVec179[0];
fRec376[2] = fRec376[1]; fRec376[1] = fRec376[0];
fRec377[2] = fRec377[1]; fRec377[1] = fRec377[0];
fRec378[1] = fRec378[0];
fRec335[2] = fRec335[1]; fRec335[1] = fRec335[0];
fRec336[2] = fRec336[1]; fRec336[1] = fRec336[0];
fRec337[2] = fRec337[1]; fRec337[1] = fRec337[0];
fRec338[1] = fRec338[0];
fRec339[1] = fRec339[0];
fRec370[1] = fRec370[0];
fRec372[1] = fRec372[0];
fRec369[1] = fRec369[0];
fRec371[1] = fRec371[0];
fRec356[1] = fRec356[0];
fRec366[1] = fRec366[0];
fRec368[1] = fRec368[0];
fRec365[1] = fRec365[0];
fRec367[1] = fRec367[0];
fRec362[1] = fRec362[0];
fRec364[1] = fRec364[0];
fRec361[1] = fRec361[0];
fRec363[1] = fRec363[0];
fRec358[1] = fRec358[0];
fRec360[1] = fRec360[0];
fRec357[1] = fRec357[0];
fRec359[1] = fRec359[0];
fRec353[1] = fRec353[0];
fRec355[1] = fRec355[0];
fRec352[1] = fRec352[0];
fRec354[1] = fRec354[0];
fRec349[1] = fRec349[0];
fRec351[1] = fRec351[0];
fRec348[1] = fRec348[0];
fRec350[1] = fRec350[0];
fRec345[1] = fRec345[0];
fRec347[1] = fRec347[0];
fRec344[1] = fRec344[0];
fRec346[1] = fRec346[0];
fRec341[1] = fRec341[0];
fRec343[1] = fRec343[0];
fRec340[1] = fRec340[0];
fRec342[1] = fRec342[0];
fRec11[1] = fRec11[0];
fRec333[1] = fRec333[0];
fRec10[1] = fRec10[0];
fRec12[1] = fRec12[0];
fRec317[1] = fRec317[0];
fRec327[2] = fRec327[1]; fRec327[1] = fRec327[0];
fRec328[2] = fRec328[1]; fRec328[1] = fRec328[0];
fRec329[2] = fRec329[1]; fRec329[1] = fRec329[0];
fRec330[1] = fRec330[0];
fRec331[1] = fRec331[0];
fRec332[1] = fRec332[0];
fRec324[2] = fRec324[1]; fRec324[1] = fRec324[0];
fRec325[2] = fRec325[1]; fRec325[1] = fRec325[0];
fRec326[1] = fRec326[0];
fRec318[2] = fRec318[1]; fRec318[1] = fRec318[0];
fRec319[2] = fRec319[1]; fRec319[1] = fRec319[0];
fRec320[1] = fRec320[0];
fVec151[1] = fVec151[0];
fRec321[2] = fRec321[1]; fRec321[1] = fRec321[0];
fRec322[2] = fRec322[1]; fRec322[1] = fRec322[0];
fRec323[1] = fRec323[0];
fRec265[1] = fRec265[0];
fRec314[2] = fRec314[1]; fRec314[1] = fRec314[0];
fRec315[2] = fRec315[1]; fRec315[1] = fRec315[0];
fRec316[1] = fRec316[0];
fRec308[2] = fRec308[1]; fRec308[1] = fRec308[0];
fRec309[2] = fRec309[1]; fRec309[1] = fRec309[0];
fRec310[1] = fRec310[0];
fVec149[1] = fVec149[0];
fRec311[2] = fRec311[1]; fRec311[1] = fRec311[0];
fRec312[2] = fRec312[1]; fRec312[1] = fRec312[0];
fRec313[1] = fRec313[0];
fRec266[2] = fRec266[1]; fRec266[1] = fRec266[0];
fRec267[2] = fRec267[1]; fRec267[1] = fRec267[0];
fRec268[2] = fRec268[1]; fRec268[1] = fRec268[0];
fRec269[1] = fRec269[0];
fRec270[1] = fRec270[0];
fRec291[1] = fRec291[0];
fRec305[1] = fRec305[0];
fRec307[1] = fRec307[0];
fRec304[1] = fRec304[0];
fRec306[1] = fRec306[0];
fRec301[1] = fRec301[0];
fRec303[1] = fRec303[0];
fRec300[1] = fRec300[0];
fRec302[1] = fRec302[0];
fRec297[1] = fRec297[0];
fRec299[1] = fRec299[0];
fRec296[1] = fRec296[0];
fRec298[1] = fRec298[0];
fRec293[1] = fRec293[0];
fRec295[1] = fRec295[0];
fRec292[1] = fRec292[0];
fRec294[1] = fRec294[0];
fRec288[1] = fRec288[0];
fRec290[1] = fRec290[0];
fRec287[1] = fRec287[0];
fRec289[1] = fRec289[0];
fRec284[1] = fRec284[0];
fRec286[1] = fRec286[0];
fRec283[1] = fRec283[0];
fRec285[1] = fRec285[0];
fRec280[1] = fRec280[0];
fRec282[1] = fRec282[0];
fRec279[1] = fRec279[0];
fRec281[1] = fRec281[0];
fRec276[1] = fRec276[0];
fRec278[1] = fRec278[0];
fRec275[1] = fRec275[0];
fRec277[1] = fRec277[0];
fRec272[1] = fRec272[0];
fRec274[1] = fRec274[0];
fRec271[1] = fRec271[0];
fRec273[1] = fRec273[0];
fRec15[1] = fRec15[0];
fRec263[1] = fRec263[0];
fRec264[1] = fRec264[0];
fRec14[1] = fRec14[0];
fRec16[1] = fRec16[0];
fRec245[1] = fRec245[0];
fRec257[2] = fRec257[1]; fRec257[1] = fRec257[0];
fRec258[2] = fRec258[1]; fRec258[1] = fRec258[0];
fRec259[2] = fRec259[1]; fRec259[1] = fRec259[0];
fRec260[1] = fRec260[0];
fRec261[1] = fRec261[0];
fRec262[1] = fRec262[0];
fRec254[2] = fRec254[1]; fRec254[1] = fRec254[0];
fRec255[2] = fRec255[1]; fRec255[1] = fRec255[0];
fRec256[1] = fRec256[0];
fRec246[2] = fRec246[1]; fRec246[1] = fRec246[0];
fRec247[2] = fRec247[1]; fRec247[1] = fRec247[0];
fRec248[1] = fRec248[0];
fVec119[1] = fVec119[0];
fRec249[2] = fRec249[1]; fRec249[1] = fRec249[0];
fRec250[2] = fRec250[1]; fRec250[1] = fRec250[0];
fRec251[1] = fRec251[0];
fRec252[1] = fRec252[0];
fRec253[1] = fRec253[0];
fRec17[1] = fRec17[0];
fRec242[2] = fRec242[1]; fRec242[1] = fRec242[0];
fRec243[2] = fRec243[1]; fRec243[1] = fRec243[0];
fRec244[1] = fRec244[0];
fRec197[2] = fRec197[1]; fRec197[1] = fRec197[0];
fRec198[2] = fRec198[1]; fRec198[1] = fRec198[0];
fRec199[1] = fRec199[0];
fVec115[1] = fVec115[0];
fRec200[2] = fRec200[1]; fRec200[1] = fRec200[0];
fRec201[2] = fRec201[1]; fRec201[1] = fRec201[0];
fRec202[1] = fRec202[0];
fRec203[1] = fRec203[0];
fRec205[1] = fRec205[0];
fRec241[1] = fRec241[0];
fRec204[1] = fRec204[0];
fRec206[1] = fRec206[0];
fRec208[1] = fRec208[0];
fRec240[1] = fRec240[0];
fRec207[1] = fRec207[0];
fRec209[1] = fRec209[0];
fRec211[1] = fRec211[0];
fRec239[1] = fRec239[0];
fRec210[1] = fRec210[0];
fRec212[1] = fRec212[0];
fRec214[1] = fRec214[0];
fRec238[1] = fRec238[0];
fRec213[1] = fRec213[0];
fRec215[1] = fRec215[0];
fRec217[1] = fRec217[0];
fRec237[1] = fRec237[0];
fRec216[1] = fRec216[0];
fRec218[1] = fRec218[0];
fRec236[1] = fRec236[0];
fRec219[1] = fRec219[0];
fRec221[1] = fRec221[0];
fRec235[1] = fRec235[0];
fRec220[1] = fRec220[0];
fRec222[1] = fRec222[0];
fRec224[1] = fRec224[0];
fRec234[1] = fRec234[0];
fRec223[1] = fRec223[0];
fRec225[1] = fRec225[0];
fRec227[1] = fRec227[0];
fRec233[1] = fRec233[0];
fRec226[1] = fRec226[0];
fRec228[1] = fRec228[0];
fRec230[1] = fRec230[0];
fRec232[1] = fRec232[0];
fRec229[1] = fRec229[0];
fRec231[1] = fRec231[0];
fRec20[2] = fRec20[1]; fRec20[1] = fRec20[0];
fRec21[2] = fRec21[1]; fRec21[1] = fRec21[0];
fRec22[2] = fRec22[1]; fRec22[1] = fRec22[0];
fRec23[1] = fRec23[0];
fRec24[1] = fRec24[0];
fRec180[1] = fRec180[0];
fRec194[1] = fRec194[0];
fRec196[1] = fRec196[0];
fRec193[1] = fRec193[0];
fRec195[1] = fRec195[0];
fRec190[1] = fRec190[0];
fRec192[1] = fRec192[0];
fRec189[1] = fRec189[0];
fRec191[1] = fRec191[0];
fRec186[1] = fRec186[0];
fRec188[1] = fRec188[0];
fRec185[1] = fRec185[0];
fRec187[1] = fRec187[0];
fRec182[1] = fRec182[0];
fRec184[1] = fRec184[0];
fRec181[1] = fRec181[0];
fRec183[1] = fRec183[0];
fRec177[1] = fRec177[0];
fRec179[1] = fRec179[0];
fRec176[1] = fRec176[0];
fRec178[1] = fRec178[0];
fRec173[1] = fRec173[0];
fRec175[1] = fRec175[0];
fRec172[1] = fRec172[0];
fRec174[1] = fRec174[0];
fRec169[1] = fRec169[0];
fRec171[1] = fRec171[0];
fRec168[1] = fRec168[0];
fRec170[1] = fRec170[0];
fRec165[1] = fRec165[0];
fRec167[1] = fRec167[0];
fRec164[1] = fRec164[0];
fRec166[1] = fRec166[0];
fRec27[1] = fRec27[0];
fRec162[1] = fRec162[0];
fRec163[1] = fRec163[0];
fRec26[1] = fRec26[0];
fRec28[1] = fRec28[0];
fRec161[1] = fRec161[0];
fRec160[1] = fRec160[0];
fRec147[1] = fRec147[0];
fRec157[1] = fRec157[0];
fRec159[1] = fRec159[0];
fRec156[1] = fRec156[0];
fRec158[1] = fRec158[0];
fRec153[1] = fRec153[0];
fRec155[1] = fRec155[0];
fRec152[1] = fRec152[0];
fRec154[1] = fRec154[0];
fRec149[1] = fRec149[0];
fRec151[1] = fRec151[0];
fRec148[1] = fRec148[0];
fRec150[1] = fRec150[0];
fRec144[1] = fRec144[0];
fRec146[1] = fRec146[0];
fRec143[1] = fRec143[0];
fRec145[1] = fRec145[0];
fRec140[1] = fRec140[0];
fRec142[1] = fRec142[0];
fRec139[1] = fRec139[0];
fRec141[1] = fRec141[0];
fRec136[1] = fRec136[0];
fRec138[1] = fRec138[0];
fRec135[1] = fRec135[0];
fRec137[1] = fRec137[0];
fRec30[1] = fRec30[0];
fRec134[1] = fRec134[0];
fRec29[1] = fRec29[0];
fRec31[1] = fRec31[0];
fRec133[1] = fRec133[0];
fRec98[1] = fRec98[0];
fRec131[1] = fRec131[0];
fRec132[1] = fRec132[0];
fRec97[1] = fRec97[0];
fRec99[1] = fRec99[0];
fRec102[1] = fRec102[0];
fRec130[1] = fRec130[0];
fRec101[1] = fRec101[0];
fRec103[1] = fRec103[0];
fRec105[1] = fRec105[0];
fRec129[1] = fRec129[0];
fRec104[1] = fRec104[0];
fRec106[1] = fRec106[0];
fRec128[1] = fRec128[0];
fRec107[1] = fRec107[0];
fRec109[1] = fRec109[0];
fRec127[1] = fRec127[0];
fRec108[1] = fRec108[0];
fRec110[1] = fRec110[0];
fRec112[1] = fRec112[0];
fRec126[1] = fRec126[0];
fRec111[1] = fRec111[0];
fRec113[1] = fRec113[0];
fRec115[1] = fRec115[0];
fRec125[1] = fRec125[0];
fRec114[1] = fRec114[0];
fRec116[1] = fRec116[0];
fRec118[1] = fRec118[0];
fRec124[1] = fRec124[0];
fRec117[1] = fRec117[0];
fRec119[1] = fRec119[0];
fRec121[1] = fRec121[0];
fRec123[1] = fRec123[0];
fRec120[1] = fRec120[0];
fRec122[1] = fRec122[0];
fRec100[1] = fRec100[0];
fRec94[1] = fRec94[0];
fRec96[1] = fRec96[0];
fRec93[1] = fRec93[0];
fRec95[1] = fRec95[0];
fRec80[1] = fRec80[0];
fRec90[1] = fRec90[0];
fRec92[1] = fRec92[0];
fRec89[1] = fRec89[0];
fRec91[1] = fRec91[0];
fRec86[1] = fRec86[0];
fRec88[1] = fRec88[0];
fRec85[1] = fRec85[0];
fRec87[1] = fRec87[0];
fRec82[1] = fRec82[0];
fRec84[1] = fRec84[0];
fRec81[1] = fRec81[0];
fRec83[1] = fRec83[0];
fRec33[1] = fRec33[0];
fRec78[1] = fRec78[0];
fRec79[1] = fRec79[0];
fRec32[1] = fRec32[0];
fRec34[1] = fRec34[0];
fRec77[1] = fRec77[0];
fRec76[1] = fRec76[0];
fRec37[1] = fRec37[0];
fRec74[1] = fRec74[0];
fRec75[1] = fRec75[0];
fRec36[1] = fRec36[0];
fRec38[1] = fRec38[0];
fRec72[1] = fRec72[0];
fRec73[1] = fRec73[0];
fRec40[1] = fRec40[0];
fRec71[1] = fRec71[0];
fRec42[1] = fRec42[0];
fRec69[1] = fRec69[0];
fRec70[1] = fRec70[0];
fRec41[1] = fRec41[0];
fRec43[1] = fRec43[0];
fRec46[1] = fRec46[0];
fRec67[1] = fRec67[0];
fRec68[1] = fRec68[0];
fRec45[1] = fRec45[0];
fRec47[1] = fRec47[0];
fRec50[1] = fRec50[0];
fRec65[1] = fRec65[0];
fRec66[1] = fRec66[0];
fRec49[1] = fRec49[0];
fRec51[1] = fRec51[0];
fRec54[1] = fRec54[0];
fRec63[1] = fRec63[0];
fRec64[1] = fRec64[0];
fRec53[1] = fRec53[0];
fRec55[1] = fRec55[0];
fRec58[1] = fRec58[0];
fRec61[1] = fRec61[0];
fRec62[1] = fRec62[0];
fRec57[1] = fRec57[0];
fRec59[1] = fRec59[0];
IOTA = IOTA+1;
fRec60[1] = fRec60[0];
fRec56[1] = fRec56[0];
fRec52[1] = fRec52[0];
fRec48[1] = fRec48[0];
fRec44[1] = fRec44[0];
fRec39[1] = fRec39[0];
fRec35[1] = fRec35[0];
fRec25[1] = fRec25[0];
fRec19[1] = fRec19[0];
fRec18[1] = fRec18[0];
fRec13[1] = fRec13[0];
fRec9[1] = fRec9[0];
fRec5[1] = fRec5[0];
iVec0[1] = iVec0[0];
}
}
};
int mydsp::SIG0::iWave0[1302] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999,5003,5009,5011,5021,5023,5039,5051,5059,5077,5081,5087,5099,5101,5107,5113,5119,5147,5153,5167,5171,5179,5189,5197,5209,5227,5231,5233,5237,5261,5273,5279,5281,5297,5303,5309,5323,5333,5347,5351,5381,5387,5393,5399,5407,5413,5417,5419,5431,5437,5441,5443,5449,5471,5477,5479,5483,5501,5503,5507,5519,5521,5527,5531,5557,5563,5569,5573,5581,5591,5623,5639,5641,5647,5651,5653,5657,5659,5669,5683,5689,5693,5701,5711,5717,5737,5741,5743,5749,5779,5783,5791,5801,5807,5813,5821,5827,5839,5843,5849,5851,5857,5861,5867,5869,5879,5881,5897,5903,5923,5927,5939,5953,5981,5987,6007,6011,6029,6037,6043,6047,6053,6067,6073,6079,6089,6091,6101,6113,6121,6131,6133,6143,6151,6163,6173,6197,6199,6203,6211,6217,6221,6229,6247,6257,6263,6269,6271,6277,6287,6299,6301,6311,6317,6323,6329,6337,6343,6353,6359,6361,6367,6373,6379,6389,6397,6421,6427,6449,6451,6469,6473,6481,6491,6521,6529,6547,6551,6553,6563,6569,6571,6577,6581,6599,6607,6619,6637,6653,6659,6661,6673,6679,6689,6691,6701,6703,6709,6719,6733,6737,6761,6763,6779,6781,6791,6793,6803,6823,6827,6829,6833,6841,6857,6863,6869,6871,6883,6899,6907,6911,6917,6947,6949,6959,6961,6967,6971,6977,6983,6991,6997,7001,7013,7019,7027,7039,7043,7057,7069,7079,7103,7109,7121,7127,7129,7151,7159,7177,7187,7193,7207,7211,7213,7219,7229,7237,7243,7247,7253,7283,7297,7307,7309,7321,7331,7333,7349,7351,7369,7393,7411,7417,7433,7451,7457,7459,7477,7481,7487,7489,7499,7507,7517,7523,7529,7537,7541,7547,7549,7559,7561,7573,7577,7583,7589,7591,7603,7607,7621,7639,7643,7649,7669,7673,7681,7687,7691,7699,7703,7717,7723,7727,7741,7753,7757,7759,7789,7793,7817,7823,7829,7841,7853,7867,7873,7877,7879,7883,7901,7907,7919,7927,7933,7937,7949,7951,7963,7993,8009,8011,8017,8039,8053,8059,8069,8081,8087,8089,8093,8101,8111,8117,8123,8147,8161,8167,8171,8179,8191,8209,8219,8221,8231,8233,8237,8243,8263,8269,8273,8287,8291,8293,8297,8311,8317,8329,8353,8363,8369,8377,8387,8389,8419,8423,8429,8431,8443,8447,8461,8467,8501,8513,8521,8527,8537,8539,8543,8563,8573,8581,8597,8599,8609,8623,8627,8629,8641,8647,8663,8669,8677,8681,8689,8693,8699,8707,8713,8719,8731,8737,8741,8747,8753,8761,8779,8783,8803,8807,8819,8821,8831,8837,8839,8849,8861,8863,8867,8887,8893,8923,8929,8933,8941,8951,8963,8969,8971,8999,9001,9007,9011,9013,9029,9041,9043,9049,9059,9067,9091,9103,9109,9127,9133,9137,9151,9157,9161,9173,9181,9187,9199,9203,9209,9221,9227,9239,9241,9257,9277,9281,9283,9293,9311,9319,9323,9337,9341,9343,9349,9371,9377,9391,9397,9403,9413,9419,9421,9431,9433,9437,9439,9461,9463,9467,9473,9479,9491,9497,9511,9521,9533,9539,9547,9551,9587,9601,9613,9619,9623,9629,9631,9643,9649,9661,9677,9679,9689,9697,9719,9721,9733,9739,9743,9749,9767,9769,9781,9787,9791,9803,9811,9817,9829,9833,9839,9851,9857,9859,9871,9883,9887,9901,9907,9923,9929,9931,9941,9949,9967,9973,10007,10009,10037,10039,10061,10067,10069,10079,10091,10093,10099,10103,10111,10133,10139,10141,10151,10159,10163,10169,10177,10181,10193,10211,10223,10243,10247,10253,10259,10267,10271,10273,10289,10301,10303,10313,10321,10331,10333,10337,10343,10357,10369,10391,10399,10427,10429,10433,10453,10457,10459,10463,10477,10487,10499,10501,10513,10529,10531,10559,10567,10589,10597,10601,10607,10613,10627,10631,10639,10651,10657,10663,10667};
int mydsp::itbl0[1302];
//----------------------------------------------------------------------------
// SuperCollider/Faust interface
//----------------------------------------------------------------------------
struct Faust : public Unit
{
// Faust dsp instance
FAUSTCLASS* mDSP;
// Buffers for control to audio rate conversion
float** mInBufCopy;
float* mInBufValue;
// Controls
size_t mNumControls;
// NOTE: This needs to be the last field!
//
// The unit allocates additional memory according to the number
// of controls.
Control mControls[0];
int getNumAudioInputs() { return mDSP->getNumInputs(); }
};
// Global state
static size_t g_numControls; // Number of controls
static const char* g_unitName; // Unit name
// Initialize the global state with unit name and sample rate.
void initState(const std::string& name, int sampleRate);
// Return the unit size in bytes, including static fields and controls.
static size_t unitSize();
// Convert a file name to a valid unit name.
static std::string fileNameToUnitName(const std::string& fileName);
// Convert the XML unit name to a valid class name.
static std::string normalizeClassName(const std::string& name);
void initState(const std::string& name, int sampleRate)
{
g_unitName = strdup(name.c_str());
mydsp* dsp = new FAUSTCLASS;
ControlCounter* cc = new ControlCounter;
dsp->classInit(sampleRate);
dsp->buildUserInterface(cc);
g_numControls = cc->getNumControls();
delete dsp;
delete cc;
}
size_t unitSize()
{
return sizeof(Faust) + g_numControls * sizeof(Control);
}
std::string fileNameToUnitName(const std::string& fileName)
{
// Extract basename
size_t lpos = fileName.rfind('/', fileName.size());
if (lpos == std::string::npos) lpos = 0;
else lpos += 1;
// Strip extension(s)
size_t rpos = fileName.find('.', lpos);
// Return substring
return fileName.substr(lpos, rpos > lpos ? rpos - lpos : 0);
}
// Globals
static InterfaceTable* ft;
// The SuperCollider UGen class name generated here must match
// that generated by faust2sc:
static std::string normalizeClassName(const std::string& name)
{
std::string s;
char c;
unsigned int i=0;
bool upnext=true;
while ((c=name[i++])) {
if (upnext) { c = toupper(c); upnext=false; }
if ( (c == '_') || (c == '-') || isspace(c)) { upnext=true; continue; }
s += c;
if (i > 31) { break; }
}
return s;
}
extern "C"
{
#ifdef SC_API_EXPORT
int api_version(void);
#endif
void load(InterfaceTable*);
void Faust_next(Faust*, int);
void Faust_next_copy(Faust*, int);
void Faust_next_clear(Faust*, int);
void Faust_Ctor(Faust*);
void Faust_Dtor(Faust*);
};
inline static void fillBuffer(float* dst, int n, float v)
{
Fill(n, dst, v);
}
inline static void fillBuffer(float* dst, int n, float v0, float v1)
{
Fill(n, dst, v0, (v1 - v0) / n);
}
inline static void copyBuffer(float* dst, int n, float* src)
{
Copy(n, dst, src);
}
inline static void Faust_updateControls(Faust* unit)
{
Control* controls = unit->mControls;
int numControls = unit->mNumControls;
int curControl = unit->mDSP->getNumInputs();
for (int i=0; i < numControls; ++i) {
float value = IN0(curControl);
(controls++)->update(value);
curControl++;
}
}
void Faust_next(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// dsp computation
unit->mDSP->compute(inNumSamples, unit->mInBuf, unit->mOutBuf);
}
void Faust_next_copy(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// Copy buffers
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
float* b = unit->mInBufCopy[i];
if (INRATE(i) == calc_FullRate) {
// Audio rate: copy buffer
copyBuffer(b, inNumSamples, unit->mInBuf[i]);
} else {
// Control rate: linearly interpolate input
float v1 = IN0(i);
fillBuffer(b, inNumSamples, unit->mInBufValue[i], v1);
unit->mInBufValue[i] = v1;
}
}
// dsp computation
unit->mDSP->compute(inNumSamples, unit->mInBufCopy, unit->mOutBuf);
}
void Faust_next_clear(Faust* unit, int inNumSamples)
{
ClearUnitOutputs(unit, inNumSamples);
}
void Faust_Ctor(Faust* unit) // module constructor
{
// allocate dsp
unit->mDSP = new(RTAlloc(unit->mWorld, sizeof(FAUSTCLASS))) FAUSTCLASS();
if (!unit->mDSP) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
{
// init dsp
unit->mDSP->instanceInit((int)SAMPLERATE);
// allocate controls
unit->mNumControls = g_numControls;
ControlAllocator ca(unit->mControls);
unit->mDSP->buildUserInterface(&ca);
unit->mInBufCopy = 0;
unit->mInBufValue = 0;
// check input/output channel configuration
const size_t numInputs = unit->mDSP->getNumInputs() + unit->mNumControls;
const size_t numOutputs = unit->mDSP->getNumOutputs();
bool channelsValid = (numInputs == unit->mNumInputs) && (numOutputs == unit->mNumOutputs);
if (channelsValid) {
bool rateValid = true;
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
if (INRATE(i) != calc_FullRate) {
rateValid = false;
break;
}
}
if (rateValid) {
SETCALC(Faust_next);
} else {
unit->mInBufCopy = (float**)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float*));
if (!unit->mInBufCopy) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
// Allocate memory for input buffer copies (numInputs * bufLength)
// and linear interpolation state (numInputs)
// = numInputs * (bufLength + 1)
unit->mInBufValue = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float));
if (!unit->mInBufValue) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
// Aquire memory for interpolator state.
float* mem = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*BUFLENGTH*sizeof(float));
if (mem) {
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
goto end;
}
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
// Initialize interpolator.
unit->mInBufValue[i] = IN0(i);
// Aquire buffer memory.
unit->mInBufCopy[i] = mem;
mem += BUFLENGTH;
}
SETCALC(Faust_next_copy);
}
#if !defined(NDEBUG)
Print("Faust[%s]:\n", g_unitName);
Print(" Inputs: %d\n"
" Outputs: %d\n"
" Callback: %s\n",
numInputs, numOutputs,
unit->mCalcFunc == (UnitCalcFunc)Faust_next ? "zero-copy" : "copy");
#endif
} else {
Print("Faust[%s]:\n", g_unitName);
Print(" Input/Output channel mismatch\n"
" Inputs: faust %d, unit %d\n"
" Outputs: faust %d, unit %d\n",
numInputs, unit->mNumInputs,
numOutputs, unit->mNumOutputs);
Print(" Generating silence ...\n");
SETCALC(Faust_next_clear);
}
}
end:
// Fix for https://github.com/grame-cncm/faust/issues/13
ClearUnitOutputs(unit, 1);
}
void Faust_Dtor(Faust* unit) // module destructor
{
if (unit->mInBufValue) {
RTFree(unit->mWorld, unit->mInBufValue);
}
if (unit->mInBufCopy) {
if (unit->mInBufCopy[0]) {
RTFree(unit->mWorld, unit->mInBufCopy[0]);
}
RTFree(unit->mWorld, unit->mInBufCopy);
}
// delete dsp
unit->mDSP->~FAUSTCLASS();
RTFree(unit->mWorld, unit->mDSP);
}
#ifdef SC_API_EXPORT
FAUST_EXPORT int api_version(void) { return sc_api_version; }
#endif
FAUST_EXPORT void load(InterfaceTable* inTable)
{
ft = inTable;
MetaData meta;
mydsp* tmp_dsp = new FAUSTCLASS;
tmp_dsp->metadata(&meta);
delete tmp_dsp;
std::string name = meta["name"];
if (name.empty()) {
name = fileNameToUnitName(__FILE__);
}
name = normalizeClassName(name);
#if !defined(NDEBUG) & defined(SC_API_EXPORT)
Print("Faust: supercollider.cpp: sc_api_version = %d\n", sc_api_version);
#endif
if (name.empty()) {
// Catch empty name
Print("Faust [supercollider.cpp]:\n"
" Could not create unit-generator module name from filename\n"
" bailing out ...\n");
return;
}
if (strncmp(name.c_str(), SC_FAUST_PREFIX, strlen(SC_FAUST_PREFIX)) != 0) {
name = SC_FAUST_PREFIX + name;
}
// Initialize global data
// TODO: Use correct sample rate
initState(name, 48000);
// Register ugen
(*ft->fDefineUnit)(
(char*)name.c_str(),
unitSize(),
(UnitCtorFunc)&Faust_Ctor,
(UnitDtorFunc)&Faust_Dtor,
kUnitDef_CantAliasInputsToOutputs
);
#if !defined(NDEBUG)
Print("Faust: %s numControls=%d\n", name.c_str(), g_numControls);
#endif // NDEBUG
}
// EOF
declare name "JPverbRaw";
declare version "1.1";
declare author "Julian Parker, bug fixes by Till Bovermann";
declare license "GPL2+";
declare copyright "(c) Julian Parker 2013";
import("stdfaust.lib");
allpass_stretched(maxdel,N,a) = (+ <: de.fdelay1a(maxdel,N-1),*(a)) ~ *(-a) : mem, _ : + ;
// list of prime numbers
prime_delays(x) = (waveform {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 10631, 10639, 10651, 10657, 10663, 10667}, int(x))
: rdtable;
// gi = 1.618;
depth = 50*hslider("mDepth",0.1,0.0,1.0,0.001);
freq = hslider("mFreq",2.0,0.0,10.0,0.01);
wet = hslider("wet",0.5,0.0,1.0,0.01);
low = hslider("lowX",1.0,0.0,1.0,0.01);
mid = hslider("midX",1.0,0.0,1.0,0.01);
high = hslider("highX",1.0,0.0,1.0,0.01);
early_diff = hslider("earlyDiff", 0.707, 0.0 ,0.99,0.001);
low_cutoff = hslider("lowBand",500,100.0,6000.0,0.1);
high_cutoff = hslider("highBand",2000,1000.0,10000.0,0.1);
size = hslider("size",1.0, 0.5,3.0,0.01);
T60 = hslider("t60",1.0,0.1,60.0,0.1);
damping = hslider("damp",0.0,0.0,0.999,0.0001);
calib = 1.7; // Calibration constant given by T60 in seconds when fb = 0.5
total_length = calib*0.1*(size*5/4 -1/4);
fb = 10^(-3/((T60)/(total_length)));
smooth_init(s,default) = *(1.0 - s) : + ~ (+(default*init(1)):*(s))
with
{
init(value) = value - value';
};
diffuser(angle,g,scale1,scale2) = si.bus(2) <: ( (si.bus(2) :par(i,2,*(c_norm))
: (( si.bus(4) :> si.bus(2) :rotator(angle) : (
de.fdelay1a(8192, prime_delays(size*scale1):smooth_init(0.9999,prime_delays(size*scale1)) -1 ),
de.fdelay1a(8192, prime_delays(size*scale2):smooth_init(0.9999,prime_delays(size*scale2)) -1 )
) )~par(i,2,*(-s_norm)))
: par(i,2,mem:*(c_norm)) )
,
par(i,2,*(s_norm)))
:> si.bus(2)
with
{
rotator(angle) = si.bus(2) <: (*(c),*(-s),*(s),*(c)) :(+,+) : si.bus(2)
with{
c = cos(angle);
s = sin(angle);
};
c_norm = cos(g);
s_norm = sin(g);
};
reverb = ( ( si.bus(4) :> (de.fdelay4(512, depth + depth*os.oscrs(freq) +5 ),de.fdelay4(512, depth + depth*os.oscrc(freq)+ 5 ) )
: par(i,2,si.smooth(damping)) : diffuser(ma.PI/4,early_diff,55,240) :diffuser(ma.PI/4,early_diff,215,85):diffuser(ma.PI/4,early_diff,115,190):diffuser(ma.PI/4,early_diff,175,145)
) ~(
seq(i,5,diffuser(ma.PI/4,0.707,10+30*i,110 + 30*i) ): par(i,2,de.fdelay4(512, depth + (-1^i)*depth*os.oscrc(freq)+5):de.fdelay1a(8192,(prime_delays(size*(54+150*i)):smooth_init(0.995,prime_delays(size*(54+150*i)))) -1 )) :
seq(i,5,diffuser(ma.PI/4,0.707,125+30*i, 25+30*i) ): par(i,2,de.fdelay4(8192, depth + (-1^i)*depth*os.oscrs(freq) + 5) : de.fdelay1a(8192,(prime_delays(size*(134-100*i)):smooth_init(0.995,prime_delays(size*(134-100*i)))) -1 )) :
par(i,2, fi.filterbank(5,(low_cutoff,high_cutoff) ):(_*(high),_*(mid),_*(low)) :> _ ):
par(i,2,*(fb))
));
//Alesis Style 2-channel
// with wet control
process = (_,_) <: ((reverb:par(i,2,_*(wet))), par(i,2,_*(1-wet))) :> (_,_);
// without wet control
// process = (_,_) : reverb : (_,_);
//-----------------------------------------------------
// name: "JPverbRaw"
// version: "1.0"
// author: "Julian Parker"
// license: "none"
// copyright: "(c) Julian Parker 2013"
//
// Code generated with Faust 0.9.62 (http://faust.grame.fr)
//-----------------------------------------------------
/* link with : "primes" */
#include <jprev.h>
#include <math.h>
#ifndef FAUSTPOWER
#define FAUSTPOWER
#include <cmath>
template <int N> inline float faustpower(float x) { return powf(x,N); }
template <int N> inline double faustpower(double x) { return pow(x,N); }
template <int N> inline int faustpower(int x) { return faustpower<N/2>(x) * faustpower<N-N/2>(x); }
template <> inline int faustpower<0>(int x) { return 1; }
template <> inline int faustpower<1>(int x) { return x; }
#endif
// If other than 'faust2sc --prefix Faust' is used, sed this as well:
#if !defined(SC_FAUST_PREFIX)
# define SC_FAUST_PREFIX "Faust"
#endif
//-------------------------------------------------------------------
// FAUST architecture file for SuperCollider.
// Copyright (C) 2005-2012 Stefan Kersten.
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
// 02111-1307 USA
//-------------------------------------------------------------------
#include <map>
#include <string>
#include <string.h>
#include <SC_PlugIn.h>
#include <faust/audio/dsp.h>
#include <faust/gui/UI.h>
#include <faust/misc.h>
using namespace std;
#if defined(__GNUC__) && __GNUC__ >= 4
# define FAUST_EXPORT __attribute__((visibility("default")))
#else
# define FAUST_EXPORT /* NOP */
#endif
//----------------------------------------------------------------------------
// Vector intrinsics
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// Metadata
//----------------------------------------------------------------------------
class MetaData : public Meta
, public std::map<std::string, std::string>
{
public:
void declare(const char* key, const char* value)
{
(*this)[key] = value;
}
};
//----------------------------------------------------------------------------
// Control counter
//----------------------------------------------------------------------------
class ControlCounter : public UI
{
public:
ControlCounter()
: mNumControlInputs(0),
mNumControlOutputs(0)
{ }
size_t getNumControls() const { return getNumControlInputs(); }
size_t getNumControlInputs() const { return mNumControlInputs; }
size_t getNumControlOutputs() const { return mNumControlOutputs; }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addControlInput(); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addControlInput(); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
{ addControlOutput(); }
protected:
void addControlInput() { mNumControlInputs++; }
void addControlOutput() { mNumControlOutputs++; }
private:
size_t mNumControlInputs;
size_t mNumControlOutputs;
};
//----------------------------------------------------------------------------
// UI control
//----------------------------------------------------------------------------
struct Control
{
typedef void (*UpdateFunction)(Control* self, FAUSTFLOAT value);
UpdateFunction updateFunction;
FAUSTFLOAT* zone;
FAUSTFLOAT min, max;
inline void update(FAUSTFLOAT value)
{
(*updateFunction)(this, value);
}
static void simpleUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = value;
}
static void boundedUpdate(Control* self, FAUSTFLOAT value)
{
*self->zone = sc_clip(value, self->min, self->max);
}
};
//----------------------------------------------------------------------------
// Control allocator
//----------------------------------------------------------------------------
class ControlAllocator : public UI
{
public:
ControlAllocator(Control* controls)
: mControls(controls)
{ }
// Layout widgets
virtual void openTabBox(const char* label) { }
virtual void openHorizontalBox(const char* label) { }
virtual void openVerticalBox(const char* label) { }
virtual void closeBox() { }
// Active widgets
virtual void addButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
{ addSimpleControl(zone); }
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{ addBoundedControl(zone, min, max, step); }
// Passive widgets
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) { }
private:
void addControl(Control::UpdateFunction updateFunction, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT /* step */)
{
Control* ctrl = mControls++;
ctrl->updateFunction = updateFunction;
ctrl->zone = zone;
ctrl->min = min;
ctrl->max = max;
}
void addSimpleControl(FAUSTFLOAT* zone)
{
addControl(Control::simpleUpdate, zone, 0.f, 0.f, 0.f);
}
void addBoundedControl(FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
{
addControl(Control::boundedUpdate, zone, min, max, step);
}
private:
Control* mControls;
};
//----------------------------------------------------------------------------
// FAUST generated code
//----------------------------------------------------------------------------
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif
typedef long double quad;
#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif
class mydsp : public dsp {
private:
int iVec0[2];
FAUSTFLOAT fslider0;
float fRec5[2];
FAUSTFLOAT fslider1;
float fRec9[2];
float fRec13[2];
float fRec17[2];
FAUSTFLOAT fslider2;
int iConst0;
float fConst1;
FAUSTFLOAT fslider3;
float fRec26[2];
float fRec30[2];
float fRec37[2];
float fRec41[2];
float fRec45[2];
float fRec47[2];
float fRec51[2];
float fRec55[2];
float fRec59[2];
float fRec63[2];
float fRec67[2];
int IOTA;
float fVec1[16384];
float fRec66[2];
float fRec64[2];
float fRec69[2];
float fVec2[16384];
float fRec68[2];
float fRec65[2];
float fVec3[16384];
float fRec62[2];
float fRec60[2];
float fRec71[2];
float fVec4[16384];
float fRec70[2];
float fRec61[2];
float fVec5[16384];
float fRec58[2];
float fRec56[2];
float fRec73[2];
float fVec6[16384];
float fRec72[2];
float fRec57[2];
float fVec7[16384];
float fRec54[2];
float fRec52[2];
float fRec75[2];
float fVec8[16384];
float fRec74[2];
float fRec53[2];
float fVec9[16384];
float fRec50[2];
float fRec48[2];
float fRec77[2];
float fVec10[16384];
float fRec76[2];
float fRec49[2];
float fVec11[512];
FAUSTFLOAT fslider4;
float fConst2;
float fRec78[2];
float fRec79[2];
FAUSTFLOAT fslider5;
float fVec12[16384];
float fRec46[2];
float fRec81[2];
float fVec13[512];
float fVec14[16384];
float fRec80[2];
float fVec15[16384];
float fRec44[2];
float fRec42[2];
float fRec83[2];
float fVec16[16384];
float fRec82[2];
float fRec43[2];
float fVec17[16384];
float fRec40[2];
float fRec38[2];
float fVec18[16384];
float fRec84[2];
float fRec39[2];
float fVec19[16384];
float fRec36[2];
float fRec34[2];
float fRec86[2];
float fVec20[16384];
float fRec85[2];
float fRec35[2];
float fVec21[16384];
float fRec33[2];
float fRec31[2];
float fVec22[16384];
float fRec87[2];
float fRec32[2];
float fVec23[16384];
float fRec29[2];
float fRec27[2];
float fRec89[2];
float fVec24[16384];
float fRec88[2];
float fRec28[2];
float fVec25[8192];
float fVec26[16384];
float fRec25[2];
float fRec24[2];
float fRec23[3];
float fRec22[3];
float fVec27[2];
float fRec21[2];
float fRec20[3];
float fRec19[3];
FAUSTFLOAT fslider6;
float fRec92[2];
float fRec91[3];
float fRec90[3];
FAUSTFLOAT fslider7;
float fRec96[2];
float fRec95[3];
float fRec94[3];
float fRec93[3];
FAUSTFLOAT fslider8;
FAUSTFLOAT fslider9;
float fVec28[512];
FAUSTFLOAT fslider10;
float fRec18[2];
float fRec105[2];
float fVec29[8192];
float fVec30[16384];
float fRec104[2];
float fRec103[2];
float fRec102[3];
float fRec101[3];
float fVec31[2];
float fRec100[2];
float fRec99[3];
float fRec98[3];
float fRec108[2];
float fRec107[3];
float fRec106[3];
float fRec112[2];
float fRec111[3];
float fRec110[3];
float fRec109[3];
float fVec32[512];
float fRec97[2];
float fVec33[16384];
float fRec16[2];
float fRec14[2];
float fRec114[2];
float fVec34[16384];
float fRec113[2];
float fRec15[2];
float fVec35[16384];
float fRec12[2];
float fRec10[2];
float fVec36[16384];
float fRec115[2];
float fRec11[2];
float fVec37[16384];
float fRec8[2];
float fRec6[2];
float fRec117[2];
float fVec38[16384];
float fRec116[2];
float fRec7[2];
float fVec39[16384];
float fRec4[2];
float fRec2[2];
float fVec40[16384];
float fRec118[2];
float fRec3[2];
float fRec0[2];
float fRec1[2];
public:
static void metadata(Meta* m) {
m->declare("name", "JPverbRaw");
m->declare("version", "1.0");
m->declare("author", "Julian Parker");
m->declare("license", "none");
m->declare("copyright", "(c) Julian Parker 2013");
m->declare("oscillator.lib/name", "Faust Oscillator Library");
m->declare("oscillator.lib/author", "Julius O. Smith (jos at ccrma.stanford.edu)");
m->declare("oscillator.lib/copyright", "Julius O. Smith III");
m->declare("oscillator.lib/version", "1.11");
m->declare("oscillator.lib/license", "STK-4.3");
m->declare("music.lib/name", "Music Library");
m->declare("music.lib/author", "GRAME");
m->declare("music.lib/copyright", "GRAME");
m->declare("music.lib/version", "1.0");
m->declare("music.lib/license", "LGPL with exception");
m->declare("math.lib/name", "Math Library");
m->declare("math.lib/author", "GRAME");
m->declare("math.lib/copyright", "GRAME");
m->declare("math.lib/version", "1.0");
m->declare("math.lib/license", "LGPL with exception");
m->declare("filter.lib/name", "Faust Filter Library");
m->declare("filter.lib/author", "Julius O. Smith (jos at ccrma.stanford.edu)");
m->declare("filter.lib/copyright", "Julius O. Smith III");
m->declare("filter.lib/version", "1.29");
m->declare("filter.lib/license", "STK-4.3");
m->declare("filter.lib/reference", "https://ccrma.stanford.edu/~jos/filters/");
}
virtual int getNumInputs() { return 2; }
virtual int getNumOutputs() { return 2; }
static void classInit(int samplingFreq) {
}
virtual void instanceInit(int samplingFreq) {
fSamplingFreq = samplingFreq;
for (int i=0; i<2; i++) iVec0[i] = 0;
fslider0 = 1.0f;
for (int i=0; i<2; i++) fRec5[i] = 0;
fslider1 = 0.707f;
for (int i=0; i<2; i++) fRec9[i] = 0;
for (int i=0; i<2; i++) fRec13[i] = 0;
for (int i=0; i<2; i++) fRec17[i] = 0;
fslider2 = 5e+02f;
iConst0 = min(192000, max(1, fSamplingFreq));
fConst1 = (3.141592653589793f / float(iConst0));
fslider3 = 2e+03f;
for (int i=0; i<2; i++) fRec26[i] = 0;
for (int i=0; i<2; i++) fRec30[i] = 0;
for (int i=0; i<2; i++) fRec37[i] = 0;
for (int i=0; i<2; i++) fRec41[i] = 0;
for (int i=0; i<2; i++) fRec45[i] = 0;
for (int i=0; i<2; i++) fRec47[i] = 0;
for (int i=0; i<2; i++) fRec51[i] = 0;
for (int i=0; i<2; i++) fRec55[i] = 0;
for (int i=0; i<2; i++) fRec59[i] = 0;
for (int i=0; i<2; i++) fRec63[i] = 0;
for (int i=0; i<2; i++) fRec67[i] = 0;
IOTA = 0;
for (int i=0; i<16384; i++) fVec1[i] = 0;
for (int i=0; i<2; i++) fRec66[i] = 0;
for (int i=0; i<2; i++) fRec64[i] = 0;
for (int i=0; i<2; i++) fRec69[i] = 0;
for (int i=0; i<16384; i++) fVec2[i] = 0;
for (int i=0; i<2; i++) fRec68[i] = 0;
for (int i=0; i<2; i++) fRec65[i] = 0;
for (int i=0; i<16384; i++) fVec3[i] = 0;
for (int i=0; i<2; i++) fRec62[i] = 0;
for (int i=0; i<2; i++) fRec60[i] = 0;
for (int i=0; i<2; i++) fRec71[i] = 0;
for (int i=0; i<16384; i++) fVec4[i] = 0;
for (int i=0; i<2; i++) fRec70[i] = 0;
for (int i=0; i<2; i++) fRec61[i] = 0;
for (int i=0; i<16384; i++) fVec5[i] = 0;
for (int i=0; i<2; i++) fRec58[i] = 0;
for (int i=0; i<2; i++) fRec56[i] = 0;
for (int i=0; i<2; i++) fRec73[i] = 0;
for (int i=0; i<16384; i++) fVec6[i] = 0;
for (int i=0; i<2; i++) fRec72[i] = 0;
for (int i=0; i<2; i++) fRec57[i] = 0;
for (int i=0; i<16384; i++) fVec7[i] = 0;
for (int i=0; i<2; i++) fRec54[i] = 0;
for (int i=0; i<2; i++) fRec52[i] = 0;
for (int i=0; i<2; i++) fRec75[i] = 0;
for (int i=0; i<16384; i++) fVec8[i] = 0;
for (int i=0; i<2; i++) fRec74[i] = 0;
for (int i=0; i<2; i++) fRec53[i] = 0;
for (int i=0; i<16384; i++) fVec9[i] = 0;
for (int i=0; i<2; i++) fRec50[i] = 0;
for (int i=0; i<2; i++) fRec48[i] = 0;
for (int i=0; i<2; i++) fRec77[i] = 0;
for (int i=0; i<16384; i++) fVec10[i] = 0;
for (int i=0; i<2; i++) fRec76[i] = 0;
for (int i=0; i<2; i++) fRec49[i] = 0;
for (int i=0; i<512; i++) fVec11[i] = 0;
fslider4 = 2.0f;
fConst2 = (6.283185307179586f / float(iConst0));
for (int i=0; i<2; i++) fRec78[i] = 0;
for (int i=0; i<2; i++) fRec79[i] = 0;
fslider5 = 0.1f;
for (int i=0; i<16384; i++) fVec12[i] = 0;
for (int i=0; i<2; i++) fRec46[i] = 0;
for (int i=0; i<2; i++) fRec81[i] = 0;
for (int i=0; i<512; i++) fVec13[i] = 0;
for (int i=0; i<16384; i++) fVec14[i] = 0;
for (int i=0; i<2; i++) fRec80[i] = 0;
for (int i=0; i<16384; i++) fVec15[i] = 0;
for (int i=0; i<2; i++) fRec44[i] = 0;
for (int i=0; i<2; i++) fRec42[i] = 0;
for (int i=0; i<2; i++) fRec83[i] = 0;
for (int i=0; i<16384; i++) fVec16[i] = 0;
for (int i=0; i<2; i++) fRec82[i] = 0;
for (int i=0; i<2; i++) fRec43[i] = 0;
for (int i=0; i<16384; i++) fVec17[i] = 0;
for (int i=0; i<2; i++) fRec40[i] = 0;
for (int i=0; i<2; i++) fRec38[i] = 0;
for (int i=0; i<16384; i++) fVec18[i] = 0;
for (int i=0; i<2; i++) fRec84[i] = 0;
for (int i=0; i<2; i++) fRec39[i] = 0;
for (int i=0; i<16384; i++) fVec19[i] = 0;
for (int i=0; i<2; i++) fRec36[i] = 0;
for (int i=0; i<2; i++) fRec34[i] = 0;
for (int i=0; i<2; i++) fRec86[i] = 0;
for (int i=0; i<16384; i++) fVec20[i] = 0;
for (int i=0; i<2; i++) fRec85[i] = 0;
for (int i=0; i<2; i++) fRec35[i] = 0;
for (int i=0; i<16384; i++) fVec21[i] = 0;
for (int i=0; i<2; i++) fRec33[i] = 0;
for (int i=0; i<2; i++) fRec31[i] = 0;
for (int i=0; i<16384; i++) fVec22[i] = 0;
for (int i=0; i<2; i++) fRec87[i] = 0;
for (int i=0; i<2; i++) fRec32[i] = 0;
for (int i=0; i<16384; i++) fVec23[i] = 0;
for (int i=0; i<2; i++) fRec29[i] = 0;
for (int i=0; i<2; i++) fRec27[i] = 0;
for (int i=0; i<2; i++) fRec89[i] = 0;
for (int i=0; i<16384; i++) fVec24[i] = 0;
for (int i=0; i<2; i++) fRec88[i] = 0;
for (int i=0; i<2; i++) fRec28[i] = 0;
for (int i=0; i<8192; i++) fVec25[i] = 0;
for (int i=0; i<16384; i++) fVec26[i] = 0;
for (int i=0; i<2; i++) fRec25[i] = 0;
for (int i=0; i<2; i++) fRec24[i] = 0;
for (int i=0; i<3; i++) fRec23[i] = 0;
for (int i=0; i<3; i++) fRec22[i] = 0;
for (int i=0; i<2; i++) fVec27[i] = 0;
for (int i=0; i<2; i++) fRec21[i] = 0;
for (int i=0; i<3; i++) fRec20[i] = 0;
for (int i=0; i<3; i++) fRec19[i] = 0;
fslider6 = 1.0f;
for (int i=0; i<2; i++) fRec92[i] = 0;
for (int i=0; i<3; i++) fRec91[i] = 0;
for (int i=0; i<3; i++) fRec90[i] = 0;
fslider7 = 1.0f;
for (int i=0; i<2; i++) fRec96[i] = 0;
for (int i=0; i<3; i++) fRec95[i] = 0;
for (int i=0; i<3; i++) fRec94[i] = 0;
for (int i=0; i<3; i++) fRec93[i] = 0;
fslider8 = 1.0f;
fslider9 = 1.0f;
for (int i=0; i<512; i++) fVec28[i] = 0;
fslider10 = 0.0f;
for (int i=0; i<2; i++) fRec18[i] = 0;
for (int i=0; i<2; i++) fRec105[i] = 0;
for (int i=0; i<8192; i++) fVec29[i] = 0;
for (int i=0; i<16384; i++) fVec30[i] = 0;
for (int i=0; i<2; i++) fRec104[i] = 0;
for (int i=0; i<2; i++) fRec103[i] = 0;
for (int i=0; i<3; i++) fRec102[i] = 0;
for (int i=0; i<3; i++) fRec101[i] = 0;
for (int i=0; i<2; i++) fVec31[i] = 0;
for (int i=0; i<2; i++) fRec100[i] = 0;
for (int i=0; i<3; i++) fRec99[i] = 0;
for (int i=0; i<3; i++) fRec98[i] = 0;
for (int i=0; i<2; i++) fRec108[i] = 0;
for (int i=0; i<3; i++) fRec107[i] = 0;
for (int i=0; i<3; i++) fRec106[i] = 0;
for (int i=0; i<2; i++) fRec112[i] = 0;
for (int i=0; i<3; i++) fRec111[i] = 0;
for (int i=0; i<3; i++) fRec110[i] = 0;
for (int i=0; i<3; i++) fRec109[i] = 0;
for (int i=0; i<512; i++) fVec32[i] = 0;
for (int i=0; i<2; i++) fRec97[i] = 0;
for (int i=0; i<16384; i++) fVec33[i] = 0;
for (int i=0; i<2; i++) fRec16[i] = 0;
for (int i=0; i<2; i++) fRec14[i] = 0;
for (int i=0; i<2; i++) fRec114[i] = 0;
for (int i=0; i<16384; i++) fVec34[i] = 0;
for (int i=0; i<2; i++) fRec113[i] = 0;
for (int i=0; i<2; i++) fRec15[i] = 0;
for (int i=0; i<16384; i++) fVec35[i] = 0;
for (int i=0; i<2; i++) fRec12[i] = 0;
for (int i=0; i<2; i++) fRec10[i] = 0;
for (int i=0; i<16384; i++) fVec36[i] = 0;
for (int i=0; i<2; i++) fRec115[i] = 0;
for (int i=0; i<2; i++) fRec11[i] = 0;
for (int i=0; i<16384; i++) fVec37[i] = 0;
for (int i=0; i<2; i++) fRec8[i] = 0;
for (int i=0; i<2; i++) fRec6[i] = 0;
for (int i=0; i<2; i++) fRec117[i] = 0;
for (int i=0; i<16384; i++) fVec38[i] = 0;
for (int i=0; i<2; i++) fRec116[i] = 0;
for (int i=0; i<2; i++) fRec7[i] = 0;
for (int i=0; i<16384; i++) fVec39[i] = 0;
for (int i=0; i<2; i++) fRec4[i] = 0;
for (int i=0; i<2; i++) fRec2[i] = 0;
for (int i=0; i<16384; i++) fVec40[i] = 0;
for (int i=0; i<2; i++) fRec118[i] = 0;
for (int i=0; i<2; i++) fRec3[i] = 0;
for (int i=0; i<2; i++) fRec0[i] = 0;
for (int i=0; i<2; i++) fRec1[i] = 0;
}
virtual void init(int samplingFreq) {
classInit(samplingFreq);
instanceInit(samplingFreq);
}
virtual void buildUserInterface(UI* interface) {
interface->openVerticalBox("JPverbRaw");
interface->addHorizontalSlider("damp", &fslider10, 0.0f, 0.0f, 0.999f, 0.0001f);
interface->addHorizontalSlider("earlyDiff", &fslider1, 0.707f, 0.0f, 0.99f, 0.001f);
interface->addHorizontalSlider("highBand", &fslider3, 2e+03f, 1e+03f, 1e+04f, 0.1f);
interface->addHorizontalSlider("highX", &fslider8, 1.0f, 0.0f, 1.0f, 0.01f);
interface->addHorizontalSlider("lowBand", &fslider2, 5e+02f, 1e+02f, 6e+03f, 0.1f);
interface->addHorizontalSlider("lowX", &fslider7, 1.0f, 0.0f, 1.0f, 0.01f);
interface->addHorizontalSlider("mDepth", &fslider5, 0.1f, 0.0f, 1.0f, 0.001f);
interface->addHorizontalSlider("mFreq", &fslider4, 2.0f, 0.0f, 1e+01f, 0.01f);
interface->addHorizontalSlider("midX", &fslider6, 1.0f, 0.0f, 1.0f, 0.01f);
interface->addHorizontalSlider("size", &fslider0, 1.0f, 0.5f, 3.0f, 0.01f);
interface->addHorizontalSlider("t60", &fslider9, 1.0f, 0.1f, 6e+01f, 0.1f);
interface->closeBox();
}
virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** output) {
float fSlow0 = float(fslider0);
int iSlow1 = primes((175 * fSlow0));
float fSlow2 = (9.999999999998899e-05f * iSlow1);
float fSlow3 = float(fslider1);
float fSlow4 = sinf(fSlow3);
float fSlow5 = (0 - fSlow4);
int iSlow6 = primes((115 * fSlow0));
float fSlow7 = (9.999999999998899e-05f * iSlow6);
int iSlow8 = primes((215 * fSlow0));
float fSlow9 = (9.999999999998899e-05f * iSlow8);
int iSlow10 = primes((55 * fSlow0));
float fSlow11 = (9.999999999998899e-05f * iSlow10);
float fSlow12 = tanf((fConst1 * float(fslider2)));
float fSlow13 = (1.0f / faustpower<2>(fSlow12));
float fSlow14 = (2 * (1 - fSlow13));
float fSlow15 = (1.0f / fSlow12);
float fSlow16 = (1 + ((fSlow15 - 0.6180339887498947f) / fSlow12));
float fSlow17 = (1.0f / (1 + ((fSlow15 + 0.6180339887498947f) / fSlow12)));
float fSlow18 = (1 + ((fSlow15 - 1.6180339887498947f) / fSlow12));
float fSlow19 = (1.0f / (1 + ((fSlow15 + 1.6180339887498947f) / fSlow12)));
float fSlow20 = tanf((fConst1 * float(fslider3)));
float fSlow21 = (1.0f / faustpower<2>(fSlow20));
float fSlow22 = (2 * (1 - fSlow21));
float fSlow23 = (1.0f / fSlow20);
float fSlow24 = (1 + ((fSlow23 - 0.6180339887498947f) / fSlow20));
float fSlow25 = (1 + ((0.6180339887498947f + fSlow23) / fSlow20));
float fSlow26 = (1.0f / fSlow25);
float fSlow27 = (1 + ((fSlow23 - 1.6180339887498947f) / fSlow20));
float fSlow28 = (1.0f / (1 + ((1.6180339887498947f + fSlow23) / fSlow20)));
float fSlow29 = (1 + fSlow23);
float fSlow30 = (0 - ((1 - fSlow23) / fSlow29));
int iSlow31 = primes((34 * fSlow0));
float fSlow32 = (0.0050000000000000044f * iSlow31);
int iSlow33 = primes((245 * fSlow0));
float fSlow34 = (9.999999999998899e-05f * iSlow33);
int iSlow35 = primes((185 * fSlow0));
float fSlow36 = (9.999999999998899e-05f * iSlow35);
int iSlow37 = primes((155 * fSlow0));
float fSlow38 = (9.999999999998899e-05f * iSlow37);
int iSlow39 = primes((125 * fSlow0));
float fSlow40 = (9.999999999998899e-05f * iSlow39);
int iSlow41 = primes((204 * fSlow0));
float fSlow42 = (0.0050000000000000044f * iSlow41);
int iSlow43 = primes((130 * fSlow0));
float fSlow44 = (9.999999999998899e-05f * iSlow43);
int iSlow45 = primes((100 * fSlow0));
float fSlow46 = (9.999999999998899e-05f * iSlow45);
int iSlow47 = primes((70 * fSlow0));
float fSlow48 = (9.999999999998899e-05f * iSlow47);
int iSlow49 = primes((40 * fSlow0));
float fSlow50 = (9.999999999998899e-05f * iSlow49);
int iSlow51 = primes((10 * fSlow0));
float fSlow52 = (9.999999999998899e-05f * iSlow51);
int iSlow53 = primes((110 * fSlow0));
float fSlow54 = (9.999999999998899e-05f * iSlow53);
int iSlow55 = primes((140 * fSlow0));
float fSlow56 = (9.999999999998899e-05f * iSlow55);
int iSlow57 = primes((170 * fSlow0));
float fSlow58 = (9.999999999998899e-05f * iSlow57);
int iSlow59 = primes((200 * fSlow0));
float fSlow60 = (9.999999999998899e-05f * iSlow59);
int iSlow61 = primes((230 * fSlow0));
float fSlow62 = (9.999999999998899e-05f * iSlow61);
float fSlow63 = (fConst2 * float(fslider4));
float fSlow64 = sinf(fSlow63);
float fSlow65 = cosf(fSlow63);
float fSlow66 = (0 - fSlow64);
float fSlow67 = float(fslider5);
float fSlow68 = (0 - (5e+01f * fSlow67));
float fSlow69 = (50 * fSlow67);
float fSlow70 = (fSlow69 + 3.50001f);
float fSlow71 = (3.0f + fSlow69);
float fSlow72 = (5.0f + fSlow69);
float fSlow73 = (1.0f + fSlow69);
float fSlow74 = (fSlow69 + 4.0f);
float fSlow75 = (2.0f + fSlow69);
int iSlow76 = primes((54 * fSlow0));
float fSlow77 = (0.0050000000000000044f * iSlow76);
int iSlow78 = primes((25 * fSlow0));
float fSlow79 = (9.999999999998899e-05f * iSlow78);
int iSlow80 = primes((85 * fSlow0));
float fSlow81 = (9.999999999998899e-05f * iSlow80);
int iSlow82 = primes((145 * fSlow0));
float fSlow83 = (9.999999999998899e-05f * iSlow82);
float fSlow84 = (1.0f / fSlow29);
float fSlow85 = (1.0f / (fSlow12 * fSlow25));
float fSlow86 = (0 - fSlow15);
float fSlow87 = (1 + fSlow15);
float fSlow88 = (1.0f / fSlow87);
float fSlow89 = (0 - ((1 - fSlow15) / fSlow87));
float fSlow90 = (2 * (0 - fSlow13));
float fSlow91 = float(fslider6);
float fSlow92 = float(fslider7);
float fSlow93 = (1 + ((fSlow15 - 1.618033988749895f) / fSlow12));
float fSlow94 = (1.0f / (1 + ((1.618033988749895f + fSlow15) / fSlow12)));
float fSlow95 = (0 - fSlow23);
float fSlow96 = (2 * (0 - fSlow21));
float fSlow97 = float(fslider8);
float fSlow98 = powf(10,(0 - (0.51f * (((1.25f * fSlow0) - 0.25f) / float(fslider9)))));
float fSlow99 = float(fslider10);
float fSlow100 = (1.0f - fSlow99);
float fSlow101 = cosf(fSlow3);
int iSlow102 = primes((134 * fSlow0));
float fSlow103 = (0.0050000000000000044f * iSlow102);
int iSlow104 = primes((240 * fSlow0));
float fSlow105 = (9.999999999998899e-05f * iSlow104);
int iSlow106 = primes((190 * fSlow0));
float fSlow107 = (9.999999999998899e-05f * iSlow106);
FAUSTFLOAT* input0 = input[0];
FAUSTFLOAT* input1 = input[1];
FAUSTFLOAT* output0 = output[0];
FAUSTFLOAT* output1 = output[1];
for (int i=0; i<count; i++) {
iVec0[0] = 1;
int iTemp0 = (1 - iVec0[1]);
fRec5[0] = (fSlow2 + (0.9999f * ((iSlow1 * iTemp0) + fRec5[1])));
int iTemp1 = int((fRec5[0] - 1.49999f));
float fTemp2 = (fRec5[0] - iTemp1);
float fTemp3 = ((2.0f + iTemp1) - fRec5[0]);
fRec9[0] = (fSlow7 + (0.9999f * ((iSlow6 * iTemp0) + fRec9[1])));
int iTemp4 = int((fRec9[0] - 1.49999f));
float fTemp5 = (fRec9[0] - iTemp4);
float fTemp6 = ((2.0f + iTemp4) - fRec9[0]);
float fTemp7 = (0 - (fTemp6 / fTemp5));
fRec13[0] = (fSlow9 + (0.9999f * ((iSlow8 * iTemp0) + fRec13[1])));
int iTemp8 = int((fRec13[0] - 1.49999f));
float fTemp9 = (fRec13[0] - iTemp8);
float fTemp10 = ((2.0f + iTemp8) - fRec13[0]);
float fTemp11 = (0 - (fTemp10 / fTemp9));
fRec17[0] = (fSlow11 + (0.9999f * ((iSlow10 * iTemp0) + fRec17[1])));
int iTemp12 = int((fRec17[0] - 1.49999f));
float fTemp13 = (fRec17[0] - iTemp12);
float fTemp14 = ((2.0f + iTemp12) - fRec17[0]);
float fTemp15 = (0 - (fTemp14 / fTemp13));
fRec26[0] = (fSlow32 + (0.995f * ((iSlow31 * iTemp0) + fRec26[1])));
int iTemp16 = int((fRec26[0] - 1.49999f));
float fTemp17 = (fRec26[0] - iTemp16);
float fTemp18 = ((2.0f + iTemp16) - fRec26[0]);
fRec30[0] = (fSlow34 + (0.9999f * ((iSlow33 * iTemp0) + fRec30[1])));
int iTemp19 = int((fRec30[0] - 1.49999f));
float fTemp20 = (fRec30[0] - iTemp19);
float fTemp21 = ((2.0f + iTemp19) - fRec30[0]);
fRec37[0] = (fSlow36 + (0.9999f * ((iSlow35 * iTemp0) + fRec37[1])));
int iTemp22 = int((fRec37[0] - 1.49999f));
float fTemp23 = (fRec37[0] - iTemp22);
float fTemp24 = ((2.0f + iTemp22) - fRec37[0]);
fRec41[0] = (fSlow38 + (0.9999f * ((iSlow37 * iTemp0) + fRec41[1])));
int iTemp25 = int((fRec41[0] - 1.49999f));
float fTemp26 = (fRec41[0] - iTemp25);
float fTemp27 = ((2.0f + iTemp25) - fRec41[0]);
fRec45[0] = (fSlow40 + (0.9999f * ((iSlow39 * iTemp0) + fRec45[1])));
int iTemp28 = int((fRec45[0] - 1.49999f));
float fTemp29 = (fRec45[0] - iTemp28);
float fTemp30 = ((2.0f + iTemp28) - fRec45[0]);
fRec47[0] = (fSlow42 + (0.995f * ((iSlow41 * iTemp0) + fRec47[1])));
int iTemp31 = int((fRec47[0] - 1.49999f));
float fTemp32 = (fRec47[0] - iTemp31);
float fTemp33 = ((2.0f + iTemp31) - fRec47[0]);
fRec51[0] = (fSlow44 + (0.9999f * ((iSlow43 * iTemp0) + fRec51[1])));
int iTemp34 = int((fRec51[0] - 1.49999f));
float fTemp35 = (fRec51[0] - iTemp34);
float fTemp36 = ((2.0f + iTemp34) - fRec51[0]);
fRec55[0] = (fSlow46 + (0.9999f * ((iSlow45 * iTemp0) + fRec55[1])));
int iTemp37 = int((fRec55[0] - 1.49999f));
float fTemp38 = (fRec55[0] - iTemp37);
float fTemp39 = ((2.0f + iTemp37) - fRec55[0]);
fRec59[0] = (fSlow48 + (0.9999f * ((iSlow47 * iTemp0) + fRec59[1])));
int iTemp40 = int((fRec59[0] - 1.49999f));
float fTemp41 = (fRec59[0] - iTemp40);
float fTemp42 = ((2.0f + iTemp40) - fRec59[0]);
fRec63[0] = (fSlow50 + (0.9999f * ((iSlow49 * iTemp0) + fRec63[1])));
int iTemp43 = int((fRec63[0] - 1.49999f));
float fTemp44 = (fRec63[0] - iTemp43);
float fTemp45 = ((2.0f + iTemp43) - fRec63[0]);
fRec67[0] = (fSlow52 + (0.9999f * ((iSlow51 * iTemp0) + fRec67[1])));
int iTemp46 = int((fRec67[0] - 1.49999f));
float fTemp47 = (fRec67[0] - iTemp46);
float fTemp48 = ((2.0f + iTemp46) - fRec67[0]);
float fTemp49 = ((0.7603139617444397f * fRec1[1]) - (0.6495557555564224f * fRec65[1]));
float fTemp50 = ((0.7603139617444397f * fRec0[1]) - (0.6495557555564224f * fRec64[1]));
float fTemp51 = ((0.7071067811865476f * fTemp50) - (0.7071067811865475f * fTemp49));
fVec1[IOTA&16383] = fTemp51;
int iTemp52 = int((iTemp46 & 8191));
fRec66[0] = ((fVec1[(IOTA-int((1 + iTemp52)))&16383] + ((fVec1[(IOTA-iTemp52)&16383] * fTemp48) / fTemp47)) + ((0 - (fTemp48 / fTemp47)) * fRec66[1]));
fRec64[0] = fRec66[0];
fRec69[0] = (fSlow54 + (0.9999f * ((iSlow53 * iTemp0) + fRec69[1])));
int iTemp53 = int((fRec69[0] - 1.49999f));
float fTemp54 = (fRec69[0] - iTemp53);
float fTemp55 = ((2.0f + iTemp53) - fRec69[0]);
float fTemp56 = ((0.7071067811865476f * fTemp49) + (0.7071067811865475f * fTemp50));
fVec2[IOTA&16383] = fTemp56;
int iTemp57 = int((iTemp53 & 8191));
fRec68[0] = ((fVec2[(IOTA-int((1 + iTemp57)))&16383] + ((fVec2[(IOTA-iTemp57)&16383] * fTemp55) / fTemp54)) + ((0 - (fTemp55 / fTemp54)) * fRec68[1]));
fRec65[0] = fRec68[0];
float fTemp58 = ((0.6495557555564224f * fRec1[1]) + (0.7603139617444397f * fRec65[1]));
float fTemp59 = ((0.7603139617444397f * fTemp58) - (0.6495557555564224f * fRec61[1]));
float fTemp60 = ((0.6495557555564224f * fRec0[1]) + (0.7603139617444397f * fRec64[1]));
float fTemp61 = ((0.7603139617444397f * fTemp60) - (0.6495557555564224f * fRec60[1]));
float fTemp62 = ((0.7071067811865476f * fTemp61) - (0.7071067811865475f * fTemp59));
fVec3[IOTA&16383] = fTemp62;
int iTemp63 = int((iTemp43 & 8191));
fRec62[0] = ((fVec3[(IOTA-int((1 + iTemp63)))&16383] + ((fVec3[(IOTA-iTemp63)&16383] * fTemp45) / fTemp44)) + ((0 - (fTemp45 / fTemp44)) * fRec62[1]));
fRec60[0] = fRec62[0];
fRec71[0] = (fSlow56 + (0.9999f * ((iSlow55 * iTemp0) + fRec71[1])));
int iTemp64 = int((fRec71[0] - 1.49999f));
float fTemp65 = (fRec71[0] - iTemp64);
float fTemp66 = ((2.0f + iTemp64) - fRec71[0]);
float fTemp67 = ((0.7071067811865476f * fTemp59) + (0.7071067811865475f * fTemp61));
fVec4[IOTA&16383] = fTemp67;
int iTemp68 = int((iTemp64 & 8191));
fRec70[0] = ((fVec4[(IOTA-int((1 + iTemp68)))&16383] + ((fVec4[(IOTA-iTemp68)&16383] * fTemp66) / fTemp65)) + ((0 - (fTemp66 / fTemp65)) * fRec70[1]));
fRec61[0] = fRec70[0];
float fTemp69 = ((0.6495557555564224f * fTemp58) + (0.7603139617444397f * fRec61[1]));
float fTemp70 = ((0.7603139617444397f * fTemp69) - (0.6495557555564224f * fRec57[1]));
float fTemp71 = ((0.6495557555564224f * fTemp60) + (0.7603139617444397f * fRec60[1]));
float fTemp72 = ((0.7603139617444397f * fTemp71) - (0.6495557555564224f * fRec56[1]));
float fTemp73 = ((0.7071067811865476f * fTemp72) - (0.7071067811865475f * fTemp70));
fVec5[IOTA&16383] = fTemp73;
int iTemp74 = int((iTemp40 & 8191));
fRec58[0] = ((fVec5[(IOTA-int((1 + iTemp74)))&16383] + ((fVec5[(IOTA-iTemp74)&16383] * fTemp42) / fTemp41)) + ((0 - (fTemp42 / fTemp41)) * fRec58[1]));
fRec56[0] = fRec58[0];
fRec73[0] = (fSlow58 + (0.9999f * ((iSlow57 * iTemp0) + fRec73[1])));
int iTemp75 = int((fRec73[0] - 1.49999f));
float fTemp76 = (fRec73[0] - iTemp75);
float fTemp77 = ((2.0f + iTemp75) - fRec73[0]);
float fTemp78 = ((0.7071067811865476f * fTemp70) + (0.7071067811865475f * fTemp72));
fVec6[IOTA&16383] = fTemp78;
int iTemp79 = int((iTemp75 & 8191));
fRec72[0] = ((fVec6[(IOTA-int((1 + iTemp79)))&16383] + ((fVec6[(IOTA-iTemp79)&16383] * fTemp77) / fTemp76)) + ((0 - (fTemp77 / fTemp76)) * fRec72[1]));
fRec57[0] = fRec72[0];
float fTemp80 = ((0.6495557555564224f * fTemp69) + (0.7603139617444397f * fRec57[1]));
float fTemp81 = ((0.7603139617444397f * fTemp80) - (0.6495557555564224f * fRec53[1]));
float fTemp82 = ((0.6495557555564224f * fTemp71) + (0.7603139617444397f * fRec56[1]));
float fTemp83 = ((0.7603139617444397f * fTemp82) - (0.6495557555564224f * fRec52[1]));
float fTemp84 = ((0.7071067811865476f * fTemp83) - (0.7071067811865475f * fTemp81));
fVec7[IOTA&16383] = fTemp84;
int iTemp85 = int((iTemp37 & 8191));
fRec54[0] = ((fVec7[(IOTA-int((1 + iTemp85)))&16383] + ((fVec7[(IOTA-iTemp85)&16383] * fTemp39) / fTemp38)) + ((0 - (fTemp39 / fTemp38)) * fRec54[1]));
fRec52[0] = fRec54[0];
fRec75[0] = (fSlow60 + (0.9999f * ((iSlow59 * iTemp0) + fRec75[1])));
int iTemp86 = int((fRec75[0] - 1.49999f));
float fTemp87 = (fRec75[0] - iTemp86);
float fTemp88 = ((2.0f + iTemp86) - fRec75[0]);
float fTemp89 = ((0.7071067811865476f * fTemp81) + (0.7071067811865475f * fTemp83));
fVec8[IOTA&16383] = fTemp89;
int iTemp90 = int((iTemp86 & 8191));
fRec74[0] = ((fVec8[(IOTA-int((1 + iTemp90)))&16383] + ((fVec8[(IOTA-iTemp90)&16383] * fTemp88) / fTemp87)) + ((0 - (fTemp88 / fTemp87)) * fRec74[1]));
fRec53[0] = fRec74[0];
float fTemp91 = ((0.6495557555564224f * fTemp80) + (0.7603139617444397f * fRec53[1]));
float fTemp92 = ((0.7603139617444397f * fTemp91) - (0.6495557555564224f * fRec49[1]));
float fTemp93 = ((0.6495557555564224f * fTemp82) + (0.7603139617444397f * fRec52[1]));
float fTemp94 = ((0.7603139617444397f * fTemp93) - (0.6495557555564224f * fRec48[1]));
float fTemp95 = ((0.7071067811865476f * fTemp94) - (0.7071067811865475f * fTemp92));
fVec9[IOTA&16383] = fTemp95;
int iTemp96 = int((iTemp34 & 8191));
fRec50[0] = ((fVec9[(IOTA-int((1 + iTemp96)))&16383] + ((fVec9[(IOTA-iTemp96)&16383] * fTemp36) / fTemp35)) + ((0 - (fTemp36 / fTemp35)) * fRec50[1]));
fRec48[0] = fRec50[0];
fRec77[0] = (fSlow62 + (0.9999f * ((iSlow61 * iTemp0) + fRec77[1])));
int iTemp97 = int((fRec77[0] - 1.49999f));
float fTemp98 = (fRec77[0] - iTemp97);
float fTemp99 = ((2.0f + iTemp97) - fRec77[0]);
float fTemp100 = ((0.7071067811865476f * fTemp92) + (0.7071067811865475f * fTemp94));
fVec10[IOTA&16383] = fTemp100;
int iTemp101 = int((iTemp97 & 8191));
fRec76[0] = ((fVec10[(IOTA-int((1 + iTemp101)))&16383] + ((fVec10[(IOTA-iTemp101)&16383] * fTemp99) / fTemp98)) + ((0 - (fTemp99 / fTemp98)) * fRec76[1]));
fRec49[0] = fRec76[0];
float fTemp102 = ((0.6495557555564224f * fTemp91) + (0.7603139617444397f * fRec49[1]));
fVec11[IOTA&511] = fTemp102;
fRec78[0] = ((fSlow65 * fRec78[1]) + (fSlow64 * fRec79[1]));
fRec79[0] = ((1 + ((fSlow66 * fRec78[1]) + (fSlow65 * fRec79[1]))) - iVec0[1]);
float fTemp103 = (fSlow68 * fRec79[0]);
int iTemp104 = int((fSlow70 + fTemp103));
float fTemp105 = ((fSlow71 + fTemp103) - iTemp104);
float fTemp106 = ((fSlow72 + fTemp103) - iTemp104);
float fTemp107 = ((fTemp103 + fSlow73) - iTemp104);
float fTemp108 = ((fSlow74 + fTemp103) - iTemp104);
float fTemp109 = ((fSlow75 + fTemp103) - iTemp104);
float fTemp110 = ((fTemp106 * fTemp109) * fTemp105);
float fTemp111 = ((0.041666666666666664f * ((fTemp110 * fTemp108) * fVec11[(IOTA-int((int((4 + iTemp104)) & 511)))&511])) + (0.16666666666666666f * (((fVec11[(IOTA-int((int((3 + iTemp104)) & 511)))&511] * (0 - (((fTemp106 * fTemp105) * fTemp108) * fTemp107))) + ((0 - (fTemp110 * fTemp107)) * fVec11[(IOTA-int((int((1 + iTemp104)) & 511)))&511])) + (6.0f * (((fTemp109 * fTemp108) * fTemp107) * ((0.25f * (fTemp106 * fVec11[(IOTA-int((int((2 + iTemp104)) & 511)))&511])) + (0.041666666666666664f * (fTemp105 * fVec11[(IOTA-int((iTemp104 & 511)))&511]))))))));
fVec12[IOTA&16383] = fTemp111;
int iTemp112 = int((iTemp31 & 8191));
fRec46[0] = ((fVec12[(IOTA-int((1 + iTemp112)))&16383] + ((fVec12[(IOTA-iTemp112)&16383] * fTemp33) / fTemp32)) + ((0 - (fTemp33 / fTemp32)) * fRec46[1]));
float fTemp113 = ((0.7603139617444397f * fRec46[0]) - (0.6495557555564224f * fRec43[1]));
fRec81[0] = (fSlow77 + (0.995f * ((iSlow76 * iTemp0) + fRec81[1])));
int iTemp114 = int((fRec81[0] - 1.49999f));
float fTemp115 = (fRec81[0] - iTemp114);
float fTemp116 = ((2.0f + iTemp114) - fRec81[0]);
float fTemp117 = ((0.6495557555564224f * fTemp93) + (0.7603139617444397f * fRec48[1]));
fVec13[IOTA&511] = fTemp117;
float fTemp118 = (fSlow69 * (1 + fRec79[0]));
int iTemp119 = int((3.50001f + fTemp118));
int iTemp120 = int((iTemp119 & 511));
float fTemp121 = ((3.0f + fTemp118) - iTemp119);
int iTemp122 = int((int((2 + iTemp119)) & 511));
float fTemp123 = ((5.0f + fTemp118) - iTemp119);
float fTemp124 = ((1.0f + fTemp118) - iTemp119);
float fTemp125 = ((fTemp118 + 4.0f) - iTemp119);
float fTemp126 = ((2.0f + fTemp118) - iTemp119);
float fTemp127 = ((fTemp126 * fTemp125) * fTemp124);
int iTemp128 = int((int((1 + iTemp119)) & 511));
float fTemp129 = ((fTemp123 * fTemp126) * fTemp121);
float fTemp130 = (0 - (fTemp129 * fTemp124));
int iTemp131 = int((int((3 + iTemp119)) & 511));
float fTemp132 = (0 - (((fTemp123 * fTemp121) * fTemp125) * fTemp124));
int iTemp133 = int((int((4 + iTemp119)) & 511));
float fTemp134 = (fTemp129 * fTemp125);
float fTemp135 = ((0.041666666666666664f * (fTemp134 * fVec13[(IOTA-iTemp133)&511])) + (0.16666666666666666f * (((fTemp132 * fVec13[(IOTA-iTemp131)&511]) + (fTemp130 * fVec13[(IOTA-iTemp128)&511])) + (6.0f * (fTemp127 * ((0.25f * (fTemp123 * fVec13[(IOTA-iTemp122)&511])) + (0.041666666666666664f * (fTemp121 * fVec13[(IOTA-iTemp120)&511]))))))));
fVec14[IOTA&16383] = fTemp135;
int iTemp136 = int((iTemp114 & 8191));
fRec80[0] = ((fVec14[(IOTA-int((1 + iTemp136)))&16383] + ((fVec14[(IOTA-iTemp136)&16383] * fTemp116) / fTemp115)) + ((0 - (fTemp116 / fTemp115)) * fRec80[1]));
float fTemp137 = ((0.7603139617444397f * fRec80[0]) - (0.6495557555564224f * fRec42[1]));
float fTemp138 = ((0.7071067811865476f * fTemp137) - (0.7071067811865475f * fTemp113));
fVec15[IOTA&16383] = fTemp138;
int iTemp139 = int((iTemp28 & 8191));
fRec44[0] = ((fVec15[(IOTA-int((1 + iTemp139)))&16383] + ((fVec15[(IOTA-iTemp139)&16383] * fTemp30) / fTemp29)) + ((0 - (fTemp30 / fTemp29)) * fRec44[1]));
fRec42[0] = fRec44[0];
fRec83[0] = (fSlow79 + (0.9999f * ((iSlow78 * iTemp0) + fRec83[1])));
int iTemp140 = int((fRec83[0] - 1.49999f));
float fTemp141 = (fRec83[0] - iTemp140);
float fTemp142 = ((2.0f + iTemp140) - fRec83[0]);
float fTemp143 = ((0.7071067811865476f * fTemp113) + (0.7071067811865475f * fTemp137));
fVec16[IOTA&16383] = fTemp143;
int iTemp144 = int((iTemp140 & 8191));
fRec82[0] = ((fVec16[(IOTA-int((1 + iTemp144)))&16383] + ((fVec16[(IOTA-iTemp144)&16383] * fTemp142) / fTemp141)) + ((0 - (fTemp142 / fTemp141)) * fRec82[1]));
fRec43[0] = fRec82[0];
float fTemp145 = ((0.6495557555564224f * fRec46[0]) + (0.7603139617444397f * fRec43[1]));
float fTemp146 = ((0.7603139617444397f * fTemp145) - (0.6495557555564224f * fRec39[1]));
float fTemp147 = ((0.6495557555564224f * fRec80[0]) + (0.7603139617444397f * fRec42[1]));
float fTemp148 = ((0.7603139617444397f * fTemp147) - (0.6495557555564224f * fRec38[1]));
float fTemp149 = ((0.7071067811865476f * fTemp148) - (0.7071067811865475f * fTemp146));
fVec17[IOTA&16383] = fTemp149;
int iTemp150 = int((iTemp25 & 8191));
fRec40[0] = ((fVec17[(IOTA-int((1 + iTemp150)))&16383] + ((fVec17[(IOTA-iTemp150)&16383] * fTemp27) / fTemp26)) + ((0 - (fTemp27 / fTemp26)) * fRec40[1]));
fRec38[0] = fRec40[0];
float fTemp151 = ((0.7071067811865476f * fTemp146) + (0.7071067811865475f * fTemp148));
fVec18[IOTA&16383] = fTemp151;
int iTemp152 = int((iTemp12 & 8191));
int iTemp153 = int((1 + iTemp152));
fRec84[0] = ((fVec18[(IOTA-iTemp153)&16383] + ((fVec18[(IOTA-iTemp152)&16383] * fTemp14) / fTemp13)) + (fTemp15 * fRec84[1]));
fRec39[0] = fRec84[0];
float fTemp154 = ((0.6495557555564224f * fTemp145) + (0.7603139617444397f * fRec39[1]));
float fTemp155 = ((0.7603139617444397f * fTemp154) - (0.6495557555564224f * fRec35[1]));
float fTemp156 = ((0.6495557555564224f * fTemp147) + (0.7603139617444397f * fRec38[1]));
float fTemp157 = ((0.7603139617444397f * fTemp156) - (0.6495557555564224f * fRec34[1]));
float fTemp158 = ((0.7071067811865476f * fTemp157) - (0.7071067811865475f * fTemp155));
fVec19[IOTA&16383] = fTemp158;
int iTemp159 = int((iTemp22 & 8191));
fRec36[0] = ((fVec19[(IOTA-int((1 + iTemp159)))&16383] + ((fVec19[(IOTA-iTemp159)&16383] * fTemp24) / fTemp23)) + ((0 - (fTemp24 / fTemp23)) * fRec36[1]));
fRec34[0] = fRec36[0];
fRec86[0] = (fSlow81 + (0.9999f * ((iSlow80 * iTemp0) + fRec86[1])));
int iTemp160 = int((fRec86[0] - 1.49999f));
float fTemp161 = (fRec86[0] - iTemp160);
float fTemp162 = ((2.0f + iTemp160) - fRec86[0]);
float fTemp163 = (0 - (fTemp162 / fTemp161));
float fTemp164 = ((0.7071067811865476f * fTemp155) + (0.7071067811865475f * fTemp157));
fVec20[IOTA&16383] = fTemp164;
int iTemp165 = int((iTemp160 & 8191));
int iTemp166 = int((1 + iTemp165));
fRec85[0] = ((fVec20[(IOTA-iTemp166)&16383] + ((fVec20[(IOTA-iTemp165)&16383] * fTemp162) / fTemp161)) + (fTemp163 * fRec85[1]));
fRec35[0] = fRec85[0];
float fTemp167 = ((0.6495557555564224f * fTemp154) + (0.7603139617444397f * fRec35[1]));
float fTemp168 = ((0.7603139617444397f * fTemp167) - (0.6495557555564224f * fRec32[1]));
float fTemp169 = ((0.6495557555564224f * fTemp156) + (0.7603139617444397f * fRec34[1]));
float fTemp170 = ((0.7603139617444397f * fTemp169) - (0.6495557555564224f * fRec31[1]));
float fTemp171 = ((0.7071067811865476f * fTemp170) - (0.7071067811865475f * fTemp168));
fVec21[IOTA&16383] = fTemp171;
int iTemp172 = int((iTemp8 & 8191));
int iTemp173 = int((1 + iTemp172));
fRec33[0] = ((fVec21[(IOTA-iTemp173)&16383] + ((fVec21[(IOTA-iTemp172)&16383] * fTemp10) / fTemp9)) + (fTemp11 * fRec33[1]));
fRec31[0] = fRec33[0];
float fTemp174 = ((0.7071067811865476f * fTemp168) + (0.7071067811865475f * fTemp170));
fVec22[IOTA&16383] = fTemp174;
int iTemp175 = int((iTemp4 & 8191));
int iTemp176 = int((1 + iTemp175));
fRec87[0] = ((fVec22[(IOTA-iTemp176)&16383] + ((fVec22[(IOTA-iTemp175)&16383] * fTemp6) / fTemp5)) + (fTemp7 * fRec87[1]));
fRec32[0] = fRec87[0];
float fTemp177 = ((0.6495557555564224f * fTemp167) + (0.7603139617444397f * fRec32[1]));
float fTemp178 = ((0.7603139617444397f * fTemp177) - (0.6495557555564224f * fRec28[1]));
float fTemp179 = ((0.6495557555564224f * fTemp169) + (0.7603139617444397f * fRec31[1]));
float fTemp180 = ((0.7603139617444397f * fTemp179) - (0.6495557555564224f * fRec27[1]));
float fTemp181 = ((0.7071067811865476f * fTemp180) - (0.7071067811865475f * fTemp178));
fVec23[IOTA&16383] = fTemp181;
int iTemp182 = int((iTemp19 & 8191));
fRec29[0] = ((fVec23[(IOTA-int((1 + iTemp182)))&16383] + ((fVec23[(IOTA-iTemp182)&16383] * fTemp21) / fTemp20)) + ((0 - (fTemp21 / fTemp20)) * fRec29[1]));
fRec27[0] = fRec29[0];
fRec89[0] = (fSlow83 + (0.9999f * ((iSlow82 * iTemp0) + fRec89[1])));
int iTemp183 = int((fRec89[0] - 1.49999f));
float fTemp184 = (fRec89[0] - iTemp183);
float fTemp185 = ((2.0f + iTemp183) - fRec89[0]);
float fTemp186 = (0 - (fTemp185 / fTemp184));
float fTemp187 = ((0.7071067811865476f * fTemp178) + (0.7071067811865475f * fTemp180));
fVec24[IOTA&16383] = fTemp187;
int iTemp188 = int((iTemp183 & 8191));
int iTemp189 = int((1 + iTemp188));
fRec88[0] = ((fVec24[(IOTA-iTemp189)&16383] + ((fVec24[(IOTA-iTemp188)&16383] * fTemp185) / fTemp184)) + (fTemp186 * fRec88[1]));
fRec28[0] = fRec88[0];
float fTemp190 = ((0.6495557555564224f * fTemp177) + (0.7603139617444397f * fRec28[1]));
fVec25[IOTA&8191] = fTemp190;
float fTemp191 = (fSlow68 * fRec78[0]);
int iTemp192 = int((fSlow70 + fTemp191));
float fTemp193 = ((fTemp191 + fSlow71) - iTemp192);
float fTemp194 = ((fTemp191 + fSlow72) - iTemp192);
float fTemp195 = ((fTemp191 + fSlow73) - iTemp192);
float fTemp196 = ((fTemp191 + fSlow74) - iTemp192);
float fTemp197 = ((fTemp191 + fSlow75) - iTemp192);
float fTemp198 = ((fTemp194 * fTemp197) * fTemp193);
float fTemp199 = ((0.041666666666666664f * ((fTemp198 * fTemp196) * fVec25[(IOTA-int((int((4 + iTemp192)) & 8191)))&8191])) + (0.16666666666666666f * ((((0 - (((fTemp194 * fTemp193) * fTemp196) * fTemp195)) * fVec25[(IOTA-int((int((3 + iTemp192)) & 8191)))&8191]) + ((0 - (fTemp198 * fTemp195)) * fVec25[(IOTA-int((int((1 + iTemp192)) & 8191)))&8191])) + (6.0f * (((fTemp197 * fTemp196) * fTemp195) * ((0.25f * (fTemp194 * fVec25[(IOTA-int((int((2 + iTemp192)) & 8191)))&8191])) + (0.041666666666666664f * (fTemp193 * fVec25[(IOTA-int((iTemp192 & 8191)))&8191]))))))));
fVec26[IOTA&16383] = fTemp199;
int iTemp200 = int((iTemp16 & 8191));
fRec25[0] = ((fVec26[(IOTA-int((1 + iTemp200)))&16383] + ((fVec26[(IOTA-iTemp200)&16383] * fTemp18) / fTemp17)) + ((0 - (fTemp18 / fTemp17)) * fRec25[1]));
fRec24[0] = ((fSlow84 * (fRec25[0] + fRec25[1])) + (fSlow30 * fRec24[1]));
fRec23[0] = (fRec24[0] - (fSlow28 * ((fSlow27 * fRec23[2]) + (fSlow22 * fRec23[1]))));
fRec22[0] = ((fSlow28 * (fRec23[2] + (fRec23[0] + (2 * fRec23[1])))) - (fSlow26 * ((fSlow24 * fRec22[2]) + (fSlow22 * fRec22[1]))));
float fTemp201 = (fRec22[2] + (fRec22[0] + (2 * fRec22[1])));
float fTemp202 = (fSlow26 * fTemp201);
fVec27[0] = fTemp202;
fRec21[0] = ((fSlow89 * fRec21[1]) + (fSlow88 * ((fSlow86 * fVec27[1]) + (fSlow85 * fTemp201))));
fRec20[0] = (fRec21[0] - (fSlow19 * ((fSlow18 * fRec20[2]) + (fSlow14 * fRec20[1]))));
fRec19[0] = ((fSlow19 * (((fSlow13 * fRec20[0]) + (fSlow90 * fRec20[1])) + (fSlow13 * fRec20[2]))) - (fSlow17 * ((fSlow16 * fRec19[2]) + (fSlow14 * fRec19[1]))));
fRec92[0] = ((fSlow88 * (fVec27[1] + fVec27[0])) + (fSlow89 * fRec92[1]));
fRec91[0] = (fRec92[0] - (fSlow19 * ((fSlow18 * fRec91[2]) + (fSlow14 * fRec91[1]))));
fRec90[0] = ((fSlow19 * (fRec91[2] + (fRec91[0] + (2 * fRec91[1])))) - (fSlow17 * ((fSlow16 * fRec90[2]) + (fSlow14 * fRec90[1]))));
float fTemp203 = (fSlow14 * fRec93[1]);
fRec96[0] = ((fSlow84 * ((fSlow95 * fRec25[1]) + (fSlow23 * fRec25[0]))) + (fSlow30 * fRec96[1]));
fRec95[0] = (fRec96[0] - (fSlow28 * ((fSlow27 * fRec95[2]) + (fSlow22 * fRec95[1]))));
fRec94[0] = ((fSlow28 * (((fSlow21 * fRec95[0]) + (fSlow96 * fRec95[1])) + (fSlow21 * fRec95[2]))) - (fSlow26 * ((fSlow24 * fRec94[2]) + (fSlow22 * fRec94[1]))));
fRec93[0] = ((fSlow26 * (((fSlow21 * fRec94[0]) + (fSlow96 * fRec94[1])) + (fSlow21 * fRec94[2]))) - (fSlow94 * ((fSlow93 * fRec93[2]) + fTemp203)));
float fTemp204 = ((float)input1[i] + (fSlow98 * ((fSlow97 * (fRec93[2] + (fSlow94 * (fTemp203 + (fSlow93 * fRec93[0]))))) + (fSlow17 * ((fSlow92 * (fRec90[2] + (fRec90[0] + (2 * fRec90[1])))) + (fSlow91 * (((fSlow13 * fRec19[0]) + (fSlow90 * fRec19[1])) + (fSlow13 * fRec19[2]))))))));
fVec28[IOTA&511] = fTemp204;
fRec18[0] = ((fSlow99 * fRec18[1]) + (fSlow100 * ((0.041666666666666664f * (fTemp134 * fVec28[(IOTA-iTemp133)&511])) + (0.16666666666666666f * (((fTemp132 * fVec28[(IOTA-iTemp131)&511]) + (fTemp130 * fVec28[(IOTA-iTemp128)&511])) + (6.0f * (fTemp127 * ((0.25f * (fTemp123 * fVec28[(IOTA-iTemp122)&511])) + (0.041666666666666664f * (fTemp121 * fVec28[(IOTA-iTemp120)&511]))))))))));
float fTemp205 = ((fSlow101 * fRec18[0]) + (fSlow5 * fRec15[1]));
fRec105[0] = (fSlow103 + (0.995f * ((iSlow102 * iTemp0) + fRec105[1])));
int iTemp206 = int((fRec105[0] - 1.49999f));
float fTemp207 = (fRec105[0] - iTemp206);
float fTemp208 = ((2.0f + iTemp206) - fRec105[0]);
float fTemp209 = ((0.6495557555564224f * fTemp179) + (0.7603139617444397f * fRec27[1]));
fVec29[IOTA&8191] = fTemp209;
float fTemp210 = (fSlow69 * (1 + fRec78[0]));
int iTemp211 = int((3.50001f + fTemp210));
float fTemp212 = ((3.0f + fTemp210) - iTemp211);
int iTemp213 = int((2 + iTemp211));
float fTemp214 = ((5.0f + fTemp210) - iTemp211);
float fTemp215 = ((1.0f + fTemp210) - iTemp211);
float fTemp216 = ((4.0f + fTemp210) - iTemp211);
float fTemp217 = ((2.0f + fTemp210) - iTemp211);
float fTemp218 = ((fTemp217 * fTemp216) * fTemp215);
int iTemp219 = int((1 + iTemp211));
float fTemp220 = ((fTemp214 * fTemp217) * fTemp212);
float fTemp221 = (0 - (fTemp220 * fTemp215));
int iTemp222 = int((3 + iTemp211));
float fTemp223 = (0 - (((fTemp214 * fTemp212) * fTemp216) * fTemp215));
int iTemp224 = int((4 + iTemp211));
float fTemp225 = (fTemp220 * fTemp216);
float fTemp226 = ((0.041666666666666664f * (fTemp225 * fVec29[(IOTA-int((iTemp224 & 8191)))&8191])) + (0.16666666666666666f * (((fTemp223 * fVec29[(IOTA-int((iTemp222 & 8191)))&8191]) + (fTemp221 * fVec29[(IOTA-int((iTemp219 & 8191)))&8191])) + (6.0f * (fTemp218 * ((0.25f * (fTemp214 * fVec29[(IOTA-int((iTemp213 & 8191)))&8191])) + (0.041666666666666664f * (fTemp212 * fVec29[(IOTA-int((iTemp211 & 8191)))&8191]))))))));
fVec30[IOTA&16383] = fTemp226;
int iTemp227 = int((iTemp206 & 8191));
fRec104[0] = ((fVec30[(IOTA-int((1 + iTemp227)))&16383] + ((fVec30[(IOTA-iTemp227)&16383] * fTemp208) / fTemp207)) + ((0 - (fTemp208 / fTemp207)) * fRec104[1]));
fRec103[0] = ((fSlow30 * fRec103[1]) + (fSlow84 * (fRec104[0] + fRec104[1])));
fRec102[0] = (fRec103[0] - (fSlow28 * ((fSlow27 * fRec102[2]) + (fSlow22 * fRec102[1]))));
fRec101[0] = ((fSlow28 * (fRec102[2] + (fRec102[0] + (2 * fRec102[1])))) - (fSlow26 * ((fSlow24 * fRec101[2]) + (fSlow22 * fRec101[1]))));
float fTemp228 = (fRec101[2] + (fRec101[0] + (2 * fRec101[1])));
float fTemp229 = (fSlow26 * fTemp228);
fVec31[0] = fTemp229;
fRec100[0] = ((fSlow88 * (fVec31[1] + fVec31[0])) + (fSlow89 * fRec100[1]));
fRec99[0] = (fRec100[0] - (fSlow19 * ((fSlow18 * fRec99[2]) + (fSlow14 * fRec99[1]))));
fRec98[0] = ((fSlow19 * (fRec99[2] + (fRec99[0] + (2 * fRec99[1])))) - (fSlow17 * ((fSlow16 * fRec98[2]) + (fSlow14 * fRec98[1]))));
fRec108[0] = ((fSlow89 * fRec108[1]) + (fSlow88 * ((fSlow86 * fVec31[1]) + (fSlow85 * fTemp228))));
fRec107[0] = (fRec108[0] - (fSlow19 * ((fSlow18 * fRec107[2]) + (fSlow14 * fRec107[1]))));
fRec106[0] = ((fSlow19 * (((fSlow13 * fRec107[0]) + (fSlow90 * fRec107[1])) + (fSlow13 * fRec107[2]))) - (fSlow17 * ((fSlow16 * fRec106[2]) + (fSlow14 * fRec106[1]))));
float fTemp230 = (fSlow14 * fRec109[1]);
fRec112[0] = ((fSlow84 * ((fSlow95 * fRec104[1]) + (fSlow23 * fRec104[0]))) + (fSlow30 * fRec112[1]));
fRec111[0] = (fRec112[0] - (fSlow28 * ((fSlow27 * fRec111[2]) + (fSlow22 * fRec111[1]))));
fRec110[0] = ((fSlow28 * (((fSlow21 * fRec111[0]) + (fSlow96 * fRec111[1])) + (fSlow21 * fRec111[2]))) - (fSlow26 * ((fSlow24 * fRec110[2]) + (fSlow22 * fRec110[1]))));
fRec109[0] = ((fSlow26 * (((fSlow21 * fRec110[0]) + (fSlow96 * fRec110[1])) + (fSlow21 * fRec110[2]))) - (fSlow94 * ((fSlow93 * fRec109[2]) + fTemp230)));
float fTemp231 = ((float)input0[i] + (fSlow98 * ((fSlow97 * (fRec109[2] + (fSlow94 * (fTemp230 + (fSlow93 * fRec109[0]))))) + (fSlow17 * ((fSlow91 * (((fSlow13 * fRec106[0]) + (fSlow90 * fRec106[1])) + (fSlow13 * fRec106[2]))) + (fSlow92 * (fRec98[2] + (fRec98[0] + (2 * fRec98[1])))))))));
fVec32[IOTA&511] = fTemp231;
fRec97[0] = ((fSlow99 * fRec97[1]) + (fSlow100 * ((0.041666666666666664f * (fTemp225 * fVec32[(IOTA-int((iTemp224 & 511)))&511])) + (0.16666666666666666f * (((fTemp223 * fVec32[(IOTA-int((iTemp222 & 511)))&511]) + (fTemp221 * fVec32[(IOTA-int((iTemp219 & 511)))&511])) + (6.0f * (fTemp218 * ((0.25f * (fTemp214 * fVec32[(IOTA-int((iTemp213 & 511)))&511])) + (0.041666666666666664f * (fTemp212 * fVec32[(IOTA-int((iTemp211 & 511)))&511]))))))))));
float fTemp232 = ((fSlow101 * fRec97[0]) + (fSlow5 * fRec14[1]));
float fTemp233 = ((0.7071067811865476f * fTemp232) - (0.7071067811865475f * fTemp205));
fVec33[IOTA&16383] = fTemp233;
fRec16[0] = ((fVec33[(IOTA-iTemp153)&16383] + ((fTemp14 * fVec33[(IOTA-iTemp152)&16383]) / fTemp13)) + (fTemp15 * fRec16[1]));
fRec14[0] = fRec16[0];
fRec114[0] = (fSlow105 + (0.9999f * ((iSlow104 * iTemp0) + fRec114[1])));
int iTemp234 = int((fRec114[0] - 1.49999f));
float fTemp235 = (fRec114[0] - iTemp234);
float fTemp236 = ((2.0f + iTemp234) - fRec114[0]);
float fTemp237 = ((0.7071067811865476f * fTemp205) + (0.7071067811865475f * fTemp232));
fVec34[IOTA&16383] = fTemp237;
int iTemp238 = int((iTemp234 & 8191));
fRec113[0] = ((fVec34[(IOTA-int((1 + iTemp238)))&16383] + ((fVec34[(IOTA-iTemp238)&16383] * fTemp236) / fTemp235)) + ((0 - (fTemp236 / fTemp235)) * fRec113[1]));
fRec15[0] = fRec113[0];
float fTemp239 = ((fSlow4 * fRec18[0]) + (fSlow101 * fRec15[1]));
float fTemp240 = ((fSlow101 * fTemp239) + (fSlow5 * fRec11[1]));
float fTemp241 = ((fSlow4 * fRec97[0]) + (fSlow101 * fRec14[1]));
float fTemp242 = ((fSlow101 * fTemp241) + (fSlow5 * fRec10[1]));
float fTemp243 = ((0.7071067811865476f * fTemp242) - (0.7071067811865475f * fTemp240));
fVec35[IOTA&16383] = fTemp243;
fRec12[0] = ((fVec35[(IOTA-iTemp173)&16383] + ((fTemp10 * fVec35[(IOTA-iTemp172)&16383]) / fTemp9)) + (fTemp11 * fRec12[1]));
fRec10[0] = fRec12[0];
float fTemp244 = ((0.7071067811865476f * fTemp240) + (0.7071067811865475f * fTemp242));
fVec36[IOTA&16383] = fTemp244;
fRec115[0] = ((fVec36[(IOTA-iTemp166)&16383] + ((fTemp162 * fVec36[(IOTA-iTemp165)&16383]) / fTemp161)) + (fTemp163 * fRec115[1]));
fRec11[0] = fRec115[0];
float fTemp245 = ((fSlow4 * fTemp239) + (fSlow101 * fRec11[1]));
float fTemp246 = ((fSlow101 * fTemp245) + (fSlow5 * fRec7[1]));
float fTemp247 = ((fSlow4 * fTemp241) + (fSlow101 * fRec10[1]));
float fTemp248 = ((fSlow101 * fTemp247) + (fSlow5 * fRec6[1]));
float fTemp249 = ((0.7071067811865476f * fTemp248) - (0.7071067811865475f * fTemp246));
fVec37[IOTA&16383] = fTemp249;
fRec8[0] = ((fVec37[(IOTA-iTemp176)&16383] + ((fTemp6 * fVec37[(IOTA-iTemp175)&16383]) / fTemp5)) + (fTemp7 * fRec8[1]));
fRec6[0] = fRec8[0];
fRec117[0] = (fSlow107 + (0.9999f * ((iSlow106 * iTemp0) + fRec117[1])));
int iTemp250 = int((fRec117[0] - 1.49999f));
float fTemp251 = (fRec117[0] - iTemp250);
float fTemp252 = ((2.0f + iTemp250) - fRec117[0]);
float fTemp253 = ((0.7071067811865476f * fTemp246) + (0.7071067811865475f * fTemp248));
fVec38[IOTA&16383] = fTemp253;
int iTemp254 = int((iTemp250 & 8191));
fRec116[0] = ((fVec38[(IOTA-int((1 + iTemp254)))&16383] + ((fVec38[(IOTA-iTemp254)&16383] * fTemp252) / fTemp251)) + ((0 - (fTemp252 / fTemp251)) * fRec116[1]));
fRec7[0] = fRec116[0];
float fTemp255 = ((fSlow4 * fTemp245) + (fSlow101 * fRec7[1]));
float fTemp256 = ((fSlow101 * fTemp255) + (fSlow5 * fRec3[1]));
float fTemp257 = ((fSlow4 * fTemp247) + (fSlow101 * fRec6[1]));
float fTemp258 = ((fSlow101 * fTemp257) + (fSlow5 * fRec2[1]));
float fTemp259 = ((0.7071067811865476f * fTemp258) - (0.7071067811865475f * fTemp256));
fVec39[IOTA&16383] = fTemp259;
int iTemp260 = int((iTemp1 & 8191));
fRec4[0] = ((fVec39[(IOTA-int((1 + iTemp260)))&16383] + ((fVec39[(IOTA-iTemp260)&16383] * fTemp3) / fTemp2)) + ((0 - (fTemp3 / fTemp2)) * fRec4[1]));
fRec2[0] = fRec4[0];
float fTemp261 = ((0.7071067811865476f * fTemp256) + (0.7071067811865475f * fTemp258));
fVec40[IOTA&16383] = fTemp261;
fRec118[0] = ((fVec40[(IOTA-iTemp189)&16383] + ((fTemp185 * fVec40[(IOTA-iTemp188)&16383]) / fTemp184)) + (fTemp186 * fRec118[1]));
fRec3[0] = fRec118[0];
fRec0[0] = ((fSlow4 * fTemp257) + (fSlow101 * fRec2[1]));
fRec1[0] = ((fSlow4 * fTemp255) + (fSlow101 * fRec3[1]));
output0[i] = (FAUSTFLOAT)fRec0[0];
output1[i] = (FAUSTFLOAT)fRec1[0];
// post processing
fRec1[1] = fRec1[0];
fRec0[1] = fRec0[0];
fRec3[1] = fRec3[0];
fRec118[1] = fRec118[0];
fRec2[1] = fRec2[0];
fRec4[1] = fRec4[0];
fRec7[1] = fRec7[0];
fRec116[1] = fRec116[0];
fRec117[1] = fRec117[0];
fRec6[1] = fRec6[0];
fRec8[1] = fRec8[0];
fRec11[1] = fRec11[0];
fRec115[1] = fRec115[0];
fRec10[1] = fRec10[0];
fRec12[1] = fRec12[0];
fRec15[1] = fRec15[0];
fRec113[1] = fRec113[0];
fRec114[1] = fRec114[0];
fRec14[1] = fRec14[0];
fRec16[1] = fRec16[0];
fRec97[1] = fRec97[0];
fRec109[2] = fRec109[1]; fRec109[1] = fRec109[0];
fRec110[2] = fRec110[1]; fRec110[1] = fRec110[0];
fRec111[2] = fRec111[1]; fRec111[1] = fRec111[0];
fRec112[1] = fRec112[0];
fRec106[2] = fRec106[1]; fRec106[1] = fRec106[0];
fRec107[2] = fRec107[1]; fRec107[1] = fRec107[0];
fRec108[1] = fRec108[0];
fRec98[2] = fRec98[1]; fRec98[1] = fRec98[0];
fRec99[2] = fRec99[1]; fRec99[1] = fRec99[0];
fRec100[1] = fRec100[0];
fVec31[1] = fVec31[0];
fRec101[2] = fRec101[1]; fRec101[1] = fRec101[0];
fRec102[2] = fRec102[1]; fRec102[1] = fRec102[0];
fRec103[1] = fRec103[0];
fRec104[1] = fRec104[0];
fRec105[1] = fRec105[0];
fRec18[1] = fRec18[0];
fRec93[2] = fRec93[1]; fRec93[1] = fRec93[0];
fRec94[2] = fRec94[1]; fRec94[1] = fRec94[0];
fRec95[2] = fRec95[1]; fRec95[1] = fRec95[0];
fRec96[1] = fRec96[0];
fRec90[2] = fRec90[1]; fRec90[1] = fRec90[0];
fRec91[2] = fRec91[1]; fRec91[1] = fRec91[0];
fRec92[1] = fRec92[0];
fRec19[2] = fRec19[1]; fRec19[1] = fRec19[0];
fRec20[2] = fRec20[1]; fRec20[1] = fRec20[0];
fRec21[1] = fRec21[0];
fVec27[1] = fVec27[0];
fRec22[2] = fRec22[1]; fRec22[1] = fRec22[0];
fRec23[2] = fRec23[1]; fRec23[1] = fRec23[0];
fRec24[1] = fRec24[0];
fRec25[1] = fRec25[0];
fRec28[1] = fRec28[0];
fRec88[1] = fRec88[0];
fRec89[1] = fRec89[0];
fRec27[1] = fRec27[0];
fRec29[1] = fRec29[0];
fRec32[1] = fRec32[0];
fRec87[1] = fRec87[0];
fRec31[1] = fRec31[0];
fRec33[1] = fRec33[0];
fRec35[1] = fRec35[0];
fRec85[1] = fRec85[0];
fRec86[1] = fRec86[0];
fRec34[1] = fRec34[0];
fRec36[1] = fRec36[0];
fRec39[1] = fRec39[0];
fRec84[1] = fRec84[0];
fRec38[1] = fRec38[0];
fRec40[1] = fRec40[0];
fRec43[1] = fRec43[0];
fRec82[1] = fRec82[0];
fRec83[1] = fRec83[0];
fRec42[1] = fRec42[0];
fRec44[1] = fRec44[0];
fRec80[1] = fRec80[0];
fRec81[1] = fRec81[0];
fRec46[1] = fRec46[0];
fRec79[1] = fRec79[0];
fRec78[1] = fRec78[0];
fRec49[1] = fRec49[0];
fRec76[1] = fRec76[0];
fRec77[1] = fRec77[0];
fRec48[1] = fRec48[0];
fRec50[1] = fRec50[0];
fRec53[1] = fRec53[0];
fRec74[1] = fRec74[0];
fRec75[1] = fRec75[0];
fRec52[1] = fRec52[0];
fRec54[1] = fRec54[0];
fRec57[1] = fRec57[0];
fRec72[1] = fRec72[0];
fRec73[1] = fRec73[0];
fRec56[1] = fRec56[0];
fRec58[1] = fRec58[0];
fRec61[1] = fRec61[0];
fRec70[1] = fRec70[0];
fRec71[1] = fRec71[0];
fRec60[1] = fRec60[0];
fRec62[1] = fRec62[0];
fRec65[1] = fRec65[0];
fRec68[1] = fRec68[0];
fRec69[1] = fRec69[0];
fRec64[1] = fRec64[0];
fRec66[1] = fRec66[0];
IOTA = IOTA+1;
fRec67[1] = fRec67[0];
fRec63[1] = fRec63[0];
fRec59[1] = fRec59[0];
fRec55[1] = fRec55[0];
fRec51[1] = fRec51[0];
fRec47[1] = fRec47[0];
fRec45[1] = fRec45[0];
fRec41[1] = fRec41[0];
fRec37[1] = fRec37[0];
fRec30[1] = fRec30[0];
fRec26[1] = fRec26[0];
fRec17[1] = fRec17[0];
fRec13[1] = fRec13[0];
fRec9[1] = fRec9[0];
fRec5[1] = fRec5[0];
iVec0[1] = iVec0[0];
}
}
};
//----------------------------------------------------------------------------
// SuperCollider/Faust interface
//----------------------------------------------------------------------------
struct Faust : public Unit
{
// Faust dsp instance
FAUSTCLASS mDSP;
// Buffers for control to audio rate conversion
float** mInBufCopy;
float* mInBufValue;
// Controls
size_t mNumControls;
// NOTE: This needs to be the last field!
//
// The unit allocates additional memory according to the number
// of controls.
Control mControls[0];
int getNumAudioInputs() { return mDSP.getNumInputs(); }
};
// Global state
static size_t g_numControls; // Number of controls
static const char* g_unitName; // Unit name
// Initialize the global state with unit name and sample rate.
void initState(const std::string& name, int sampleRate);
// Return the unit size in bytes, including static fields and controls.
static size_t unitSize();
// Convert a file name to a valid unit name.
static std::string fileNameToUnitName(const std::string& fileName);
// Convert the XML unit name to a valid class name.
static std::string normalizeClassName(const std::string& name);
void initState(const std::string& name, int sampleRate)
{
g_unitName = strdup(name.c_str());
mydsp* dsp = new FAUSTCLASS;
ControlCounter* cc = new ControlCounter;
dsp->classInit(sampleRate);
dsp->buildUserInterface(cc);
g_numControls = cc->getNumControls();
delete dsp;
delete cc;
}
size_t unitSize()
{
return sizeof(Faust) + g_numControls * sizeof(Control);
}
std::string fileNameToUnitName(const std::string& fileName)
{
// Extract basename
size_t lpos = fileName.rfind('/', fileName.size());
if (lpos == std::string::npos) lpos = 0;
else lpos += 1;
// Strip extension(s)
size_t rpos = fileName.find('.', lpos);
// Return substring
return fileName.substr(lpos, rpos > lpos ? rpos - lpos : 0);
}
// Globals
static InterfaceTable *ft;
// The SuperCollider UGen class name generated here must match
// that generated by faust2sc:
static std::string normalizeClassName(const std::string& name)
{
std::string s;
char c;
unsigned int i=0;
bool upnext=true;
while (c=name[i++]) {
if (upnext) { c = toupper(c); upnext=false; }
if ( (c == '_') || (c == '-') || isspace(c)) { upnext=true; continue; }
s += c;
if (i > 31) { break; }
}
return s;
}
extern "C"
{
#ifdef SC_API_EXPORT
int api_version(void);
#endif
void load(InterfaceTable*);
void Faust_next(Faust*, int);
void Faust_next_copy(Faust*, int);
void Faust_next_clear(Faust*, int);
void Faust_Ctor(Faust*);
void Faust_Dtor(Faust*);
};
inline static void fillBuffer(float* dst, int n, float v)
{
Fill(n, dst, v);
}
inline static void fillBuffer(float* dst, int n, float v0, float v1)
{
Fill(n, dst, v0, (v1 - v0) / n);
}
inline static void copyBuffer(float* dst, int n, float* src)
{
Copy(n, dst, src);
}
inline static void Faust_updateControls(Faust* unit)
{
Control* controls = unit->mControls;
int numControls = unit->mNumControls;
int curControl = unit->mDSP.getNumInputs();
for (int i=0; i < numControls; ++i) {
float value = IN0(curControl);
(controls++)->update(value);
curControl++;
}
}
void Faust_next(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// dsp computation
unit->mDSP.compute(inNumSamples, unit->mInBuf, unit->mOutBuf);
}
void Faust_next_copy(Faust* unit, int inNumSamples)
{
// update controls
Faust_updateControls(unit);
// Copy buffers
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
float* b = unit->mInBufCopy[i];
if (INRATE(i) == calc_FullRate) {
// Audio rate: copy buffer
copyBuffer(b, inNumSamples, unit->mInBuf[i]);
} else {
// Control rate: linearly interpolate input
float v1 = IN0(i);
fillBuffer(b, inNumSamples, unit->mInBufValue[i], v1);
unit->mInBufValue[i] = v1;
}
}
// dsp computation
unit->mDSP.compute(inNumSamples, unit->mInBufCopy, unit->mOutBuf);
}
void Faust_next_clear(Faust* unit, int inNumSamples)
{
ClearUnitOutputs(unit, inNumSamples);
}
void Faust_Ctor(Faust* unit) // module constructor
{
// init dsp
unit->mDSP.instanceInit((int)SAMPLERATE);
// allocate controls
unit->mNumControls = g_numControls;
ControlAllocator ca(unit->mControls);
unit->mDSP.buildUserInterface(&ca);
unit->mInBufCopy = 0;
unit->mInBufValue = 0;
// check input/output channel configuration
const size_t numInputs = unit->mDSP.getNumInputs() + unit->mNumControls;
const size_t numOutputs = unit->mDSP.getNumOutputs();
bool channelsValid = (numInputs == unit->mNumInputs)
&& (numOutputs == unit->mNumOutputs);
if (channelsValid) {
bool rateValid = true;
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
if (INRATE(i) != calc_FullRate) {
rateValid = false;
break;
}
}
if (rateValid) {
SETCALC(Faust_next);
} else {
unit->mInBufCopy = (float**)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float*));
// Allocate memory for input buffer copies (numInputs * bufLength)
// and linear interpolation state (numInputs)
// = numInputs * (bufLength + 1)
unit->mInBufValue = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float));
// Aquire memory for interpolator state.
float* mem = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*BUFLENGTH*sizeof(float));
for (int i=0; i < unit->getNumAudioInputs(); ++i) {
// Initialize interpolator.
unit->mInBufValue[i] = IN0(i);
// Aquire buffer memory.
unit->mInBufCopy[i] = mem;
mem += BUFLENGTH;
}
SETCALC(Faust_next_copy);
}
#if !defined(NDEBUG)
Print("Faust[%s]:\n", g_unitName);
Print(" Inputs: %d\n"
" Outputs: %d\n"
" Callback: %s\n",
numInputs, numOutputs,
unit->mCalcFunc == (UnitCalcFunc)Faust_next ? "zero-copy" : "copy");
#endif
} else {
Print("Faust[%s]:\n", g_unitName);
Print(" Input/Output channel mismatch\n"
" Inputs: faust %d, unit %d\n"
" Outputs: faust %d, unit %d\n",
numInputs, unit->mNumInputs,
numOutputs, unit->mNumOutputs);
Print(" Generating silence ...\n");
SETCALC(Faust_next_clear);
}
}
void Faust_Dtor(Faust* unit) // module destructor
{
if (unit->mInBufValue) {
RTFree(unit->mWorld, unit->mInBufValue);
}
if (unit->mInBufCopy) {
if (unit->mInBufCopy[0]) {
RTFree(unit->mWorld, unit->mInBufCopy[0]);
}
RTFree(unit->mWorld, unit->mInBufCopy);
}
}
#ifdef SC_API_EXPORT
FAUST_EXPORT int api_version(void) { return sc_api_version; }
#endif
FAUST_EXPORT void load(InterfaceTable* inTable)
{
ft = inTable;
MetaData meta;
FAUSTCLASS::metadata(&meta);
std::string name = meta["name"];
if (name.empty()) {
name = fileNameToUnitName(__FILE__);
}
name = normalizeClassName(name);
#if !defined(NDEBUG) & defined(SC_API_EXPORT)
Print("Faust: supercollider.cpp: sc_api_version = %d\n",sc_api_version);
#endif
if (name.empty()) {
// Catch empty name
Print("Faust [supercollider.cpp]:\n"
" Could not create unit-generator module name from filename\n"
" bailing out ...\n");
return;
}
if (strncmp(name.c_str(),SC_FAUST_PREFIX,strlen(SC_FAUST_PREFIX))!=0){
name = SC_FAUST_PREFIX + name;
}
// Initialize global data
// TODO: Use correct sample rate
initState(name, 48000);
// Register ugen
(*ft->fDefineUnit)(
(char*)name.c_str(),
unitSize(),
(UnitCtorFunc)&Faust_Ctor,
(UnitDtorFunc)&Faust_Dtor,
kUnitDef_CantAliasInputsToOutputs
);
#if !defined(NDEBUG)
Print("Faust: %s numControls=%d\n", name.c_str(), g_numControls);
#endif // NDEBUG
}
// EOF
declare name "JPverbRaw";
declare version "1.0";
declare author "Julian Parker";
declare license "GPL2+";
declare copyright "(c) Julian Parker 2013";
import("oscillator.lib");
//import("math.lib");
//import("maxmsp.lib");
//import("music.lib");
//import("reduce.lib");
//import("filter.lib");
//import("effect.lib");
allpass_stretched(maxdel,N,a) = (+ <: fdelay1a(maxdel,N-1),*(a)) ~ *(-a) : mem, _ : + ;
prime_delays = ffunction(int primes (int),<jprev.h>,"primes");
gi = 1.618;
depth = 50*hslider("mDepth",0.1,0.0,1.0,0.001);
freq = hslider("mFreq",2.0,0.0,10.0,0.01);
wet = hslider("wet",0.5,0.0,1.0,0.01);
low = hslider("lowX",1.0,0.0,1.0,0.01);
mid = hslider("midX",1.0,0.0,1.0,0.01);
high = hslider("highX",1.0,0.0,1.0,0.01);
early_diff = hslider("earlyDiff", 0.707, 0.0 ,0.99,0.001);
low_cutoff = hslider("lowBand",500,100.0,6000.0,0.1);
high_cutoff = hslider("highBand",2000,1000.0,10000.0,0.1);
size = hslider("size",1.0, 0.5,3.0,0.01);
T60 = hslider("t60",1.0,0.1,60.0,0.1);
damping = hslider("damp",0.0,0.0,0.999,0.0001);
calib = 1.7; // Calibration constant given by T60 in seconds when fb = 0.5
total_length = calib*0.1*(size*5/4 -1/4);
fb = 10^(-3/((T60)/(total_length)));
smooth_init(s,default) = *(1.0 - s) : + ~ (+(default*init(1)):*(s))
with
{
init(value) = value - value';
};
diffuser(angle,g,scale1,scale2) = bus(2) <: ( (bus(2) :par(i,2,*(c_norm))
: (( bus(4) :> bus(2) :rotator(angle) : (
fdelay1a(8192, prime_delays(size*scale1):smooth_init(0.9999,prime_delays(size*scale1)) -1 ),
fdelay1a(8192, prime_delays(size*scale2):smooth_init(0.9999,prime_delays(size*scale2)) -1 )
) )~par(i,2,*(-s_norm)))
: par(i,2,mem:*(c_norm)) )
,
par(i,2,*(s_norm)))
:> bus(2)
with
{
rotator(angle) = bus(2) <: (*(c),*(-s),*(s),*(c)) :(+,+) : bus(2)
with{
c = cos(angle);
s = sin(angle);
};
c_norm = cos(g);
s_norm = sin(g);
};
reverb = ( ( bus(4) :> (fdelay4(512, depth + depth*oscrs(freq) +5 ),fdelay4(512, depth + depth*oscrc(freq)+ 5 ) )
: par(i,2,smooth(damping)) : diffuser(PI/4,early_diff,55,240) :diffuser(PI/4,early_diff,215,85):diffuser(PI/4,early_diff,115,190):diffuser(PI/4,early_diff,175,145)
) ~(
seq(i,5,diffuser(PI/4,0.707,10+30*i,110 + 30*i) ): par(i,2,fdelay4(512, depth + (-1^i)*depth*oscrc(freq)+5):fdelay1a(8192,(prime_delays(size*(54+150*i)):smooth_init(0.995,prime_delays(size*(54+150*i)))) -1 )) :
seq(i,5,diffuser(PI/4,0.707,125+30*i, 25+30*i) ): par(i,2,fdelay4(8192, depth + (-1^i)*depth*oscrs(freq) + 5) : fdelay1a(8192,(prime_delays(size*(134-100*i)):smooth_init(0.995,prime_delays(size*(134-100*i)))) -1 )) :
par(i,2, filterbank(5,(low_cutoff,high_cutoff) ):(_*(high),_*(mid),_*(low)) :> _ ):
par(i,2,*(fb))
));
//Alesis Style 2-channel
// with wet control
// process = (_,_) <: ((reverb:par(i,2,_*(wet))), par(i,2,_*(1-wet))) :> (_,_);
// without wet control
process = (_,_) : reverb : (_,_);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment