Skip to content

Instantly share code, notes, and snippets.

@petersalomonsen
Last active November 2, 2021 18:08
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Embed
What would you like to do?
WebAssembly music to native executable

WebAssembly music compiled to native executable using wasm2c

This is an example of using wasm2c for creating a native executable for playing music. The music is generated from the livecoding music web app https://github.com/petersalomonsen/javascriptmusic, where the sequence is written in javascript and the synthesizer is written in AssemblyScript.

The executable song is compiled for Linux as shown below:

wasm2c song.wasm -o song.c
gcc -O3 -I$(WASM2C) main.c song.c $(WASM2C)/wasm-rt-impl.c -lm -lsoundio -o song
#include "song.h"
#include <soundio/soundio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
u32 samplebuffer;
int samplebufferpos = 128;
static const float PI = 3.1415926535f;
static float seconds_offset = 0.0f;
static void write_callback(struct SoundIoOutStream *outstream,
int frame_count_min, int frame_count_max)
{
const struct SoundIoChannelLayout *layout = &outstream->layout;
struct SoundIoChannelArea *areas;
int frames_left = frame_count_max;
int err;
while (frames_left > 0) {
int frame_count = frames_left;
if ((err = soundio_outstream_begin_write(outstream, &areas, &frame_count))) {
fprintf(stderr, "%s\n", soundio_strerror(err));
exit(1);
}
if (!frame_count)
break;
for (int frame = 0; frame < frame_count; frame += 1) {
if(samplebufferpos == 128) {
Z_fillSampleBufferZ_vv();
samplebufferpos = 0;
}
float left = *((float*)(Z_memory->data + samplebuffer + (samplebufferpos) *4 ));
float right = *((float*)(Z_memory->data + samplebuffer + 128 * 4 + (samplebufferpos) *4 ));
float *leftptr = (float*)(areas[0].ptr + areas[0].step * frame);
float *rightptr = (float*)(areas[1].ptr + areas[1].step * frame);
*leftptr = left;
*rightptr = right;
samplebufferpos++;
}
if ((err = soundio_outstream_end_write(outstream))) {
fprintf(stderr, "%s\n", soundio_strerror(err));
exit(1);
}
frames_left -= frame_count;
}
}
int main(int argc, char **argv) {
int err;
struct SoundIo *soundio = soundio_create();
if (!soundio) {
fprintf(stderr, "out of memory\n");
return 1;
}
if ((err = soundio_connect(soundio))) {
fprintf(stderr, "error connecting: %s", soundio_strerror(err));
return 1;
}
soundio_flush_events(soundio);
int default_out_device_index = soundio_default_output_device_index(soundio);
if (default_out_device_index < 0) {
fprintf(stderr, "no output device found");
return 1;
}
struct SoundIoDevice *device = soundio_get_output_device(soundio, default_out_device_index);
if (!device) {
fprintf(stderr, "out of memory");
return 1;
}
fprintf(stderr, "Output device: %s\n", device->name);
init();
samplebuffer = Z_allocateSampleBufferZ_ii(128);
struct SoundIoOutStream *outstream = soundio_outstream_create(device);
outstream->format = SoundIoFormatFloat32NE;
outstream->write_callback = write_callback;
outstream->sample_rate = 44100;
if ((err = soundio_outstream_open(outstream))) {
fprintf(stderr, "unable to open device: %s", soundio_strerror(err));
return 1;
}
if (outstream->layout_error)
fprintf(stderr, "unable to set channel layout: %s\n", soundio_strerror(outstream->layout_error));
if ((err = soundio_outstream_start(outstream))) {
fprintf(stderr, "unable to start device: %s", soundio_strerror(err));
return 1;
}
for (;;)
soundio_wait_events(soundio);
soundio_outstream_destroy(outstream);
soundio_device_unref(device);
soundio_destroy(soundio);
return 0;
}
# replace with wasm2c location
WASM2C=/home/peter/git/wabt/wasm2c
all:
wasm2c song.wasm -o song.c
gcc -O3 -I$(WASM2C) main.c song.c $(WASM2C)/wasm-rt-impl.c -lm -lsoundio -o song
/* Automically generated by wasm2c */
#include <math.h>
#include <string.h>
#include "song.h"
#define UNLIKELY(x) __builtin_expect(!!(x), 0)
#define LIKELY(x) __builtin_expect(!!(x), 1)
#define TRAP(x) (wasm_rt_trap(WASM_RT_TRAP_##x), 0)
#define FUNC_PROLOGUE \
if (++wasm_rt_call_stack_depth > WASM_RT_MAX_CALL_STACK_DEPTH) \
TRAP(EXHAUSTION)
#define FUNC_EPILOGUE --wasm_rt_call_stack_depth
#define UNREACHABLE TRAP(UNREACHABLE)
#define CALL_INDIRECT(table, t, ft, x, ...) \
(LIKELY((x) < table.size && table.data[x].func && \
table.data[x].func_type == func_types[ft]) \
? ((t)table.data[x].func)(__VA_ARGS__) \
: TRAP(CALL_INDIRECT))
#if WASM_RT_MEMCHECK_SIGNAL_HANDLER
#define MEMCHECK(mem, a, t)
#else
#define MEMCHECK(mem, a, t) \
if (UNLIKELY((a) + sizeof(t) > mem->size)) TRAP(OOB)
#endif
#define DEFINE_LOAD(name, t1, t2, t3) \
static inline t3 name(wasm_rt_memory_t* mem, u64 addr) { \
MEMCHECK(mem, addr, t1); \
t1 result; \
__builtin_memcpy(&result, &mem->data[addr], sizeof(t1)); \
return (t3)(t2)result; \
}
#define DEFINE_STORE(name, t1, t2) \
static inline void name(wasm_rt_memory_t* mem, u64 addr, t2 value) { \
MEMCHECK(mem, addr, t1); \
t1 wrapped = (t1)value; \
__builtin_memcpy(&mem->data[addr], &wrapped, sizeof(t1)); \
}
DEFINE_LOAD(i32_load, u32, u32, u32);
DEFINE_LOAD(i64_load, u64, u64, u64);
DEFINE_LOAD(f32_load, f32, f32, f32);
DEFINE_LOAD(f64_load, f64, f64, f64);
DEFINE_LOAD(i32_load8_s, s8, s32, u32);
DEFINE_LOAD(i64_load8_s, s8, s64, u64);
DEFINE_LOAD(i32_load8_u, u8, u32, u32);
DEFINE_LOAD(i64_load8_u, u8, u64, u64);
DEFINE_LOAD(i32_load16_s, s16, s32, u32);
DEFINE_LOAD(i64_load16_s, s16, s64, u64);
DEFINE_LOAD(i32_load16_u, u16, u32, u32);
DEFINE_LOAD(i64_load16_u, u16, u64, u64);
DEFINE_LOAD(i64_load32_s, s32, s64, u64);
DEFINE_LOAD(i64_load32_u, u32, u64, u64);
DEFINE_STORE(i32_store, u32, u32);
DEFINE_STORE(i64_store, u64, u64);
DEFINE_STORE(f32_store, f32, f32);
DEFINE_STORE(f64_store, f64, f64);
DEFINE_STORE(i32_store8, u8, u32);
DEFINE_STORE(i32_store16, u16, u32);
DEFINE_STORE(i64_store8, u8, u64);
DEFINE_STORE(i64_store16, u16, u64);
DEFINE_STORE(i64_store32, u32, u64);
#define I32_CLZ(x) ((x) ? __builtin_clz(x) : 32)
#define I64_CLZ(x) ((x) ? __builtin_clzll(x) : 64)
#define I32_CTZ(x) ((x) ? __builtin_ctz(x) : 32)
#define I64_CTZ(x) ((x) ? __builtin_ctzll(x) : 64)
#define I32_POPCNT(x) (__builtin_popcount(x))
#define I64_POPCNT(x) (__builtin_popcountll(x))
#define DIV_S(ut, min, x, y) \
((UNLIKELY((y) == 0)) ? TRAP(DIV_BY_ZERO) \
: (UNLIKELY((x) == min && (y) == -1)) ? TRAP(INT_OVERFLOW) \
: (ut)((x) / (y)))
#define REM_S(ut, min, x, y) \
((UNLIKELY((y) == 0)) ? TRAP(DIV_BY_ZERO) \
: (UNLIKELY((x) == min && (y) == -1)) ? 0 \
: (ut)((x) % (y)))
#define I32_DIV_S(x, y) DIV_S(u32, INT32_MIN, (s32)x, (s32)y)
#define I64_DIV_S(x, y) DIV_S(u64, INT64_MIN, (s64)x, (s64)y)
#define I32_REM_S(x, y) REM_S(u32, INT32_MIN, (s32)x, (s32)y)
#define I64_REM_S(x, y) REM_S(u64, INT64_MIN, (s64)x, (s64)y)
#define DIVREM_U(op, x, y) \
((UNLIKELY((y) == 0)) ? TRAP(DIV_BY_ZERO) : ((x) op (y)))
#define DIV_U(x, y) DIVREM_U(/, x, y)
#define REM_U(x, y) DIVREM_U(%, x, y)
#define ROTL(x, y, mask) \
(((x) << ((y) & (mask))) | ((x) >> (((mask) - (y) + 1) & (mask))))
#define ROTR(x, y, mask) \
(((x) >> ((y) & (mask))) | ((x) << (((mask) - (y) + 1) & (mask))))
#define I32_ROTL(x, y) ROTL(x, y, 31)
#define I64_ROTL(x, y) ROTL(x, y, 63)
#define I32_ROTR(x, y) ROTR(x, y, 31)
#define I64_ROTR(x, y) ROTR(x, y, 63)
#define FMIN(x, y) \
((UNLIKELY((x) != (x))) ? NAN \
: (UNLIKELY((y) != (y))) ? NAN \
: (UNLIKELY((x) == 0 && (y) == 0)) ? (signbit(x) ? x : y) \
: (x < y) ? x : y)
#define FMAX(x, y) \
((UNLIKELY((x) != (x))) ? NAN \
: (UNLIKELY((y) != (y))) ? NAN \
: (UNLIKELY((x) == 0 && (y) == 0)) ? (signbit(x) ? y : x) \
: (x > y) ? x : y)
#define TRUNC_S(ut, st, ft, min, max, maxop, x) \
((UNLIKELY((x) != (x))) ? TRAP(INVALID_CONVERSION) \
: (UNLIKELY((x) < (ft)(min) || (x) maxop (ft)(max))) ? TRAP(INT_OVERFLOW) \
: (ut)(st)(x))
#define I32_TRUNC_S_F32(x) TRUNC_S(u32, s32, f32, INT32_MIN, INT32_MAX, >=, x)
#define I64_TRUNC_S_F32(x) TRUNC_S(u64, s64, f32, INT64_MIN, INT64_MAX, >=, x)
#define I32_TRUNC_S_F64(x) TRUNC_S(u32, s32, f64, INT32_MIN, INT32_MAX, >, x)
#define I64_TRUNC_S_F64(x) TRUNC_S(u64, s64, f64, INT64_MIN, INT64_MAX, >=, x)
#define TRUNC_U(ut, ft, max, maxop, x) \
((UNLIKELY((x) != (x))) ? TRAP(INVALID_CONVERSION) \
: (UNLIKELY((x) <= (ft)-1 || (x) maxop (ft)(max))) ? TRAP(INT_OVERFLOW) \
: (ut)(x))
#define I32_TRUNC_U_F32(x) TRUNC_U(u32, f32, UINT32_MAX, >=, x)
#define I64_TRUNC_U_F32(x) TRUNC_U(u64, f32, UINT64_MAX, >=, x)
#define I32_TRUNC_U_F64(x) TRUNC_U(u32, f64, UINT32_MAX, >, x)
#define I64_TRUNC_U_F64(x) TRUNC_U(u64, f64, UINT64_MAX, >=, x)
#define DEFINE_REINTERPRET(name, t1, t2) \
static inline t2 name(t1 x) { \
t2 result; \
memcpy(&result, &x, sizeof(result)); \
return result; \
}
DEFINE_REINTERPRET(f32_reinterpret_i32, u32, f32)
DEFINE_REINTERPRET(i32_reinterpret_f32, f32, u32)
DEFINE_REINTERPRET(f64_reinterpret_i64, u64, f64)
DEFINE_REINTERPRET(i64_reinterpret_f64, f64, u64)
static u32 func_types[18];
static void init_func_types(void) {
func_types[0] = wasm_rt_register_func_type(1, 0, WASM_RT_F32);
func_types[1] = wasm_rt_register_func_type(0, 1, WASM_RT_I32);
func_types[2] = wasm_rt_register_func_type(1, 0, WASM_RT_I32);
func_types[3] = wasm_rt_register_func_type(2, 1, WASM_RT_I32, WASM_RT_F32, WASM_RT_F32);
func_types[4] = wasm_rt_register_func_type(3, 0, WASM_RT_I32, WASM_RT_I32, WASM_RT_I32);
func_types[5] = wasm_rt_register_func_type(2, 0, WASM_RT_I32, WASM_RT_F32);
func_types[6] = wasm_rt_register_func_type(1, 1, WASM_RT_I32, WASM_RT_F32);
func_types[7] = wasm_rt_register_func_type(0, 0);
func_types[8] = wasm_rt_register_func_type(1, 1, WASM_RT_I32, WASM_RT_I32);
func_types[9] = wasm_rt_register_func_type(2, 1, WASM_RT_I32, WASM_RT_I32, WASM_RT_I32);
func_types[10] = wasm_rt_register_func_type(2, 0, WASM_RT_I32, WASM_RT_I32);
func_types[11] = wasm_rt_register_func_type(1, 1, WASM_RT_F32, WASM_RT_F32);
func_types[12] = wasm_rt_register_func_type(4, 0, WASM_RT_I32, WASM_RT_I32, WASM_RT_F32, WASM_RT_F32);
func_types[13] = wasm_rt_register_func_type(3, 0, WASM_RT_I32, WASM_RT_F32, WASM_RT_F32);
func_types[14] = wasm_rt_register_func_type(1, 0, WASM_RT_F64);
func_types[15] = wasm_rt_register_func_type(2, 1, WASM_RT_F32, WASM_RT_F32, WASM_RT_I32);
func_types[16] = wasm_rt_register_func_type(4, 1, WASM_RT_F32, WASM_RT_F32, WASM_RT_F32, WASM_RT_F32, WASM_RT_I32);
func_types[17] = wasm_rt_register_func_type(0, 1, WASM_RT_F64);
}
static void w2c_f0(u32);
static u32 w2c_f1(u32, u32);
static f32 w2c_f2(f32);
static void w2c_f3(u32, u32, f32, f32);
static u32 w2c_f4(void);
static u32 w2c_f5(f32, f32);
static u32 w2c_f6(void);
static u32 w2c_f7(f32, f32, f32, f32);
static u32 w2c_f8(void);
static void w2c_f9(u32, f32, f32);
static u32 w2c_f10(f32, f32);
static u32 w2c_f11(void);
static u32 w2c_f12(void);
static u32 w2c_f13(void);
static void w2c_f14(u32, u32);
static void w2c_f15(u32, u32, u32);
static u32 w2c_f16(u32, u32);
static void w2c_f17(u32, u32, u32);
static u32 w2c_f18(void);
static u32 w2c_f19(void);
static u32 w2c_f20(void);
static u32 w2c_f21(void);
static void w2c_f22(u32);
static void w2c_f23(u32, f32);
static void w2c_f24(u32);
static u32 w2c_f25(u32);
static u32 w2c_f26(u32);
static u32 w2c_f27(u32, u32);
static u32 w2c_f28(u32);
static u32 w2c_f29(void);
static void w2c_f30(void);
static void w2c_setPatternsPtr(u32);
static void w2c_setInstrumentPatternListPtr(u32, u32, u32);
static void w2c_setBPM(f32);
static void w2c_setTick(f64);
static f64 w2c_getTick(void);
static void w2c_setMilliSecondPosition(f64);
static u32 w2c_getPatternIndex(void);
static u32 w2c_getPatternNoteIndex(void);
static f32 w2c_f39(f32);
static void w2c_f40(f32);
static void w2c_f41(f32);
static void w2c_f42(f32);
static void w2c_f43(f32);
static void w2c_f44(f32);
static void w2c_f45(f32);
static u32 w2c_f46(u32, u32);
static void w2c_f47(u32, f32);
static void w2c_f48(f32);
static void w2c_f49(f32);
static void w2c_f50(f32);
static void w2c_f51(f32);
static void w2c_f52(f32);
static void w2c_f53(f32);
static void w2c_f54(f32);
static void w2c_f55(f32);
static void w2c_f56(f32);
static void w2c_f57(f32);
static void w2c_f58(f32);
static void w2c_f59(f32);
static void w2c_f60(f32);
static void w2c_f61(f32);
static void w2c_f62(f32);
static void w2c_f63(u32, f32);
static void w2c_f64(f32);
static void w2c_f65(f32);
static void w2c_f66(f32);
static void w2c_f67(f32);
static void w2c_f68(f32);
static void w2c_setChannelValue(u32, f32);
static void w2c_toggleSongPlay(u32);
static u32 w2c_isPlaying(void);
static u32 w2c_getHoldChannelValuesBufferPtr(void);
static void w2c_recordChannelValue(u32, f32);
static u32 w2c_allocatePatterns(u32);
static u32 w2c_allocateInstrumentPatternList(u32, u32);
static u32 w2c_allocateSampleBuffer(u32);
static u32 w2c_getCurrentChannelValuesBufferPtr(void);
static void w2c_f78(void);
static void w2c_f79(u32);
static f32 w2c_f80(u32);
static f32 w2c_f81(u32);
static f32 w2c_f82(u32, f32);
static f32 w2c_f83(u32, f32);
static void w2c_f84(u32);
static void w2c_f85(u32, u32, f32, f32);
static f32 w2c_f86(u32);
static void w2c_f87(u32, f32, f32);
static f32 w2c_f88(u32, f32);
static void w2c_f89(u32);
static f32 w2c_f90(u32);
static f32 w2c_f91(u32);
static void w2c_f92(u32);
static void w2c_f93(u32);
static void w2c_f94(u32);
static void w2c_f95(u32);
static void w2c_f96(u32);
static void w2c_f97(u32);
static void w2c_f98(u32, u32, u32);
static void w2c_f99(u32, u32);
static void w2c_f100(u32);
static void w2c_f101(u32, u32, u32);
static f32 w2c_f102(u32);
static void w2c_f103(u32, f32);
static f32 w2c_f104(u32, f32);
static f32 w2c_f105(u32, f32);
static void w2c_f106(u32, u32);
static f32 w2c_f107(u32, f32);
static f32 w2c_f108(u32, f32);
static f32 w2c_f109(f32);
static void w2c_f110(u32, u32);
static void w2c_fillSampleBuffer(void);
static void w2c_fillSampleBufferInterleaved(void);
static void w2c_f113(void);
static u32 w2c_g0;
static u32 w2c_g1;
static u32 w2c_g2;
static u32 w2c_g3;
static u32 w2c_g4;
static u32 w2c_g5;
static u32 w2c_g6;
static f64 w2c_g7;
static u32 w2c_g8;
static u32 w2c_g9;
static u32 w2c_g10;
static u32 w2c_g11;
static u32 w2c_g12;
static u32 w2c_g13;
static u32 w2c_g14;
static u32 w2c_g15;
static u32 w2c_g16;
static u32 w2c_g17;
static u32 w2c_g18;
static f32 w2c_g19;
static u32 w2c_g20;
static u32 w2c_g21;
static u32 w2c_g22;
static u32 w2c_g23;
static u32 w2c_g24;
static u32 w2c_g25;
static u32 w2c_g26;
static u32 w2c_g27;
static u32 w2c_g28;
static u32 w2c_g29;
static u32 w2c_g30;
static u32 w2c_g31;
static u32 w2c_g32;
static u32 w2c_g33;
static u32 w2c_g34;
static u32 w2c_g35;
static u32 w2c_g36;
static u32 w2c_g37;
static f64 w2c_g38;
static u32 w2c_g39;
static u32 w2c_g40;
static f64 w2c_g41;
static f32 w2c_g42;
static f32 w2c_g43;
static f32 w2c_g44;
static f32 w2c_g45;
static u32 w2c_g46;
static void init_globals(void) {
w2c_g0 = 123456789u;
w2c_g1 = 234567891u;
w2c_g2 = 345678912u;
w2c_g3 = 456789123u;
w2c_g4 = 0u;
w2c_g5 = 0u;
w2c_g6 = 0u;
w2c_g7 = 0;
w2c_g8 = 0u;
w2c_g9 = 0u;
w2c_g10 = 0u;
w2c_g11 = 0u;
w2c_g12 = 0u;
w2c_g13 = 0u;
w2c_g14 = 0u;
w2c_g15 = 0u;
w2c_g16 = 0u;
w2c_g17 = 0u;
w2c_g18 = 0u;
w2c_g19 = 1;
w2c_g20 = 0u;
w2c_g21 = 0u;
w2c_g22 = 0u;
w2c_g23 = 0u;
w2c_g24 = 0u;
w2c_g25 = 0u;
w2c_g26 = 0u;
w2c_g27 = 0u;
w2c_g28 = 0u;
w2c_g29 = 0u;
w2c_g30 = 0u;
w2c_g31 = 0u;
w2c_g32 = 0u;
w2c_g33 = 0u;
w2c_g34 = 0u;
w2c_g35 = 0u;
w2c_g36 = 0u;
w2c_g37 = 0u;
w2c_g38 = 0;
w2c_g39 = 0u;
w2c_g40 = 4294967295u;
w2c_g41 = 0;
w2c_g42 = 0;
w2c_g43 = 120;
w2c_g44 = 0;
w2c_g45 = 0;
w2c_g46 = 1u;
}
static wasm_rt_memory_t w2c_memory;
static wasm_rt_table_t w2c_T0;
static void w2c_f0(u32 w2c_p0) {
u32 w2c_l1 = 0, w2c_l2 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2, w2c_i3;
w2c_i0 = w2c_p0;
w2c_i1 = w2c_memory.pages;
w2c_l2 = w2c_i1;
w2c_i2 = 16u;
w2c_i1 <<= (w2c_i2 & 31);
w2c_l1 = w2c_i1;
w2c_i0 = w2c_i0 > w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_l2;
w2c_i1 = w2c_p0;
w2c_i2 = w2c_l1;
w2c_i1 -= w2c_i2;
w2c_i2 = 65535u;
w2c_i1 += w2c_i2;
w2c_i2 = 4294901760u;
w2c_i1 &= w2c_i2;
w2c_i2 = 16u;
w2c_i1 >>= (w2c_i2 & 31);
w2c_l1 = w2c_i1;
w2c_i2 = w2c_l2;
w2c_i3 = w2c_l1;
w2c_i2 = (u32)((s32)w2c_i2 > (s32)w2c_i3);
w2c_i0 = w2c_i2 ? w2c_i0 : w2c_i1;
w2c_i0 = wasm_rt_grow_memory((&w2c_memory), w2c_i0);
w2c_i1 = 0u;
w2c_i0 = (u32)((s32)w2c_i0 < (s32)w2c_i1);
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_i0 = wasm_rt_grow_memory((&w2c_memory), w2c_i0);
w2c_i1 = 0u;
w2c_i0 = (u32)((s32)w2c_i0 < (s32)w2c_i1);
if (w2c_i0) {
UNREACHABLE;
}
}
}
w2c_i0 = w2c_p0;
w2c_g5 = w2c_i0;
FUNC_EPILOGUE;
}
static u32 w2c_f1(u32 w2c_p0, u32 w2c_p1) {
u32 w2c_l2 = 0, w2c_l3 = 0, w2c_l4 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2, w2c_i3, w2c_i4;
w2c_i0 = w2c_p0;
w2c_i1 = 1073741808u;
w2c_i0 = w2c_i0 > w2c_i1;
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_g5;
w2c_i1 = 16u;
w2c_i0 += w2c_i1;
w2c_l3 = w2c_i0;
w2c_i1 = w2c_p0;
w2c_i2 = 15u;
w2c_i1 += w2c_i2;
w2c_i2 = 4294967280u;
w2c_i1 &= w2c_i2;
w2c_l2 = w2c_i1;
w2c_i2 = 16u;
w2c_i3 = w2c_l2;
w2c_i4 = 16u;
w2c_i3 = w2c_i3 > w2c_i4;
w2c_i1 = w2c_i3 ? w2c_i1 : w2c_i2;
w2c_l4 = w2c_i1;
w2c_i0 += w2c_i1;
w2c_f0(w2c_i0);
w2c_i0 = w2c_l3;
w2c_i1 = 16u;
w2c_i0 -= w2c_i1;
w2c_l2 = w2c_i0;
w2c_i1 = w2c_l4;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l2;
w2c_i1 = 1u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l2;
w2c_i1 = w2c_p1;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l2;
w2c_i1 = w2c_p0;
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l3;
FUNC_EPILOGUE;
return w2c_i0;
}
static f32 w2c_f2(f32 w2c_p0) {
f32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i2, w2c_i3;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 0.318309873;
w2c_f0_0 *= w2c_f1_0;
w2c_l1 = w2c_f0_0;
w2c_f0_0 = floorf(w2c_f0_0);
w2c_p0 = w2c_f0_0;
w2c_f0_0 = w2c_l1;
w2c_f1_0 = w2c_p0;
w2c_f0_0 -= w2c_f1_0;
w2c_l1 = w2c_f0_0;
w2c_f1_0 = 1;
w2c_f2_0 = w2c_l1;
w2c_f1_0 -= w2c_f2_0;
w2c_f0_0 *= w2c_f1_0;
w2c_l1 = w2c_f0_0;
w2c_f1_0 = 3.5999999;
w2c_f2_0 = w2c_l1;
w2c_f1_0 *= w2c_f2_0;
w2c_f2_0 = 3.0999999;
w2c_f1_0 += w2c_f2_0;
w2c_f0_0 *= w2c_f1_0;
w2c_l1 = w2c_f0_0;
w2c_f0_0 = -(w2c_f0_0);
w2c_f1_0 = w2c_l1;
w2c_f2_0 = w2c_p0;
w2c_i2 = I32_TRUNC_S_F32(w2c_f2_0);
w2c_i3 = 1u;
w2c_i2 &= w2c_i3;
w2c_f0_0 = w2c_i2 ? w2c_f0_0 : w2c_f1_0;
FUNC_EPILOGUE;
return w2c_f0_0;
}
static void w2c_f3(u32 w2c_p0, u32 w2c_p1, f32 w2c_p2, f32 w2c_p3) {
f32 w2c_l4 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0, w2c_f3_0;
w2c_f0_0 = 6.28318548;
w2c_f1_0 = w2c_p2;
w2c_f0_0 *= w2c_f1_0;
w2c_f1_0 = 44100;
w2c_f0_0 /= w2c_f1_0;
w2c_p2 = w2c_f0_0;
w2c_i0 = w2c_p1;
w2c_i1 = 1u;
w2c_i0 = w2c_i0 != w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_p1;
w2c_i1 = 2u;
w2c_i0 -= w2c_i1;
switch (w2c_i0) {
case 0: goto w2c_B3;
case 1: goto w2c_B2;
case 2: goto w2c_B1;
default: goto w2c_B0;
}
}
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_p2;
w2c_f2_0 = w2c_p2;
w2c_f3_0 = 1;
w2c_f2_0 += w2c_f3_0;
w2c_f1_0 /= w2c_f2_0;
w2c_p2 = w2c_f1_0;
w2c_f2_0 = 1;
w2c_f1_0 -= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_p2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
goto w2c_B0;
w2c_B3:;
w2c_f0_0 = w2c_p2;
w2c_f0_0 = w2c_f2(w2c_f0_0);
w2c_f1_0 = 2;
w2c_f2_0 = w2c_p3;
w2c_f1_0 *= w2c_f2_0;
w2c_f0_0 /= w2c_f1_0;
w2c_p3 = w2c_f0_0;
w2c_f0_0 = w2c_p2;
w2c_f1_0 = 1.57079637;
w2c_f0_0 += w2c_f1_0;
w2c_f0_0 = w2c_f2(w2c_f0_0);
w2c_l4 = w2c_f0_0;
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = -2;
w2c_f2_0 = w2c_l4;
w2c_f1_0 *= w2c_f2_0;
w2c_f2_0 = 1;
w2c_f3_0 = w2c_p3;
w2c_f2_0 += w2c_f3_0;
w2c_p2 = w2c_f2_0;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p3;
w2c_f1_0 -= w2c_f2_0;
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 1;
w2c_f2_0 = w2c_l4;
w2c_f1_0 -= w2c_f2_0;
w2c_p3 = w2c_f1_0;
w2c_f2_0 = 0.5;
w2c_f1_0 *= w2c_f2_0;
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
w2c_l4 = w2c_f1_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_p3;
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_l4;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
goto w2c_B0;
w2c_B2:;
w2c_f0_0 = w2c_p2;
w2c_f0_0 = w2c_f2(w2c_f0_0);
w2c_f1_0 = 2;
w2c_f2_0 = w2c_p3;
w2c_f1_0 *= w2c_f2_0;
w2c_f0_0 /= w2c_f1_0;
w2c_p3 = w2c_f0_0;
w2c_f0_0 = w2c_p2;
w2c_f1_0 = 1.57079637;
w2c_f0_0 += w2c_f1_0;
w2c_f0_0 = w2c_f2(w2c_f0_0);
w2c_l4 = w2c_f0_0;
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = -2;
w2c_f2_0 = w2c_l4;
w2c_f1_0 *= w2c_f2_0;
w2c_f2_0 = 1;
w2c_f3_0 = w2c_p3;
w2c_f2_0 += w2c_f3_0;
w2c_p2 = w2c_f2_0;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p3;
w2c_f1_0 -= w2c_f2_0;
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 1;
w2c_f2_0 = w2c_l4;
w2c_f1_0 += w2c_f2_0;
w2c_p3 = w2c_f1_0;
w2c_f2_0 = 0.5;
w2c_f1_0 *= w2c_f2_0;
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
w2c_l4 = w2c_f1_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_p3;
w2c_f1_0 = -(w2c_f1_0);
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_l4;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
goto w2c_B0;
w2c_B1:;
w2c_f0_0 = w2c_p2;
w2c_f0_0 = w2c_f2(w2c_f0_0);
w2c_f1_0 = 2;
w2c_f2_0 = w2c_p3;
w2c_f1_0 *= w2c_f2_0;
w2c_f0_0 /= w2c_f1_0;
w2c_p3 = w2c_f0_0;
w2c_f0_0 = -2;
w2c_f1_0 = w2c_p2;
w2c_f2_0 = 1.57079637;
w2c_f1_0 += w2c_f2_0;
w2c_f1_0 = w2c_f2(w2c_f1_0);
w2c_f0_0 *= w2c_f1_0;
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p3;
w2c_f1_0 += w2c_f2_0;
w2c_p2 = w2c_f1_0;
w2c_f0_0 /= w2c_f1_0;
w2c_l4 = w2c_f0_0;
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_l4;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p3;
w2c_f1_0 -= w2c_f2_0;
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p2;
w2c_f1_0 /= w2c_f2_0;
w2c_p2 = w2c_f1_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_l4;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_p2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
w2c_B0:;
FUNC_EPILOGUE;
}
static u32 w2c_f4(void) {
u32 w2c_l0 = 0, w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = 28u;
w2c_i1 = 6u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_f1_0);
w2c_i0 = 20u;
w2c_i1 = 7u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l1 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l1;
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f5(f32 w2c_p0, f32 w2c_p1) {
u32 w2c_l2 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f2_0, w2c_f3_0;
w2c_i0 = 16u;
w2c_i1 = 5u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l2 = w2c_i0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l2;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l2;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l2;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l2;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i1 = 2u;
w2c_f2_0 = w2c_p1;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l2;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 2u;
w2c_f2_0 = w2c_p1;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l2;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 3u;
w2c_f2_0 = w2c_p0;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l2;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 3u;
w2c_f2_0 = w2c_p0;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l2;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f6(void) {
u32 w2c_l0 = 0, w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0;
w2c_i0 = 12u;
w2c_i1 = 4u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_f0_0 = 20;
w2c_f1_0 = 400;
w2c_i0 = w2c_f5(w2c_f0_0, w2c_f1_0);
w2c_l1 = w2c_i0;
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l1;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_f0_0 = 400;
w2c_f1_0 = 6500;
w2c_i0 = w2c_f5(w2c_f0_0, w2c_f1_0);
w2c_l1 = w2c_i0;
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l1;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_f0_0 = 6500;
w2c_f1_0 = 19500;
w2c_i0 = w2c_f5(w2c_f0_0, w2c_f1_0);
w2c_l1 = w2c_i0;
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l1;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f7(f32 w2c_p0, f32 w2c_p1, f32 w2c_p2, f32 w2c_p3) {
u32 w2c_l4 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0, w2c_f2_0, w2c_f3_0;
w2c_i0 = 24u;
w2c_i1 = 9u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l4 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_i1 = 4u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l4;
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p0;
w2c_f3_0 = 44100;
w2c_f2_0 *= w2c_f3_0;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p1;
w2c_f3_0 = 44100;
w2c_f2_0 *= w2c_f3_0;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p3;
w2c_f3_0 = 44100;
w2c_f2_0 *= w2c_f3_0;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_l4;
w2c_f1_0 = w2c_p2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_l4;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f8(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = 8u;
w2c_i1 = 10u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static void w2c_f9(u32 w2c_p0, f32 w2c_p1, f32 w2c_p2) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f2_0, w2c_f3_0;
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i1 = 2u;
w2c_f2_0 = w2c_p2;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 3u;
w2c_f2_0 = w2c_p1;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
FUNC_EPILOGUE;
}
static u32 w2c_f10(f32 w2c_p0, f32 w2c_p1) {
u32 w2c_l2 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0, w2c_f2_0;
w2c_i0 = 8u;
w2c_i1 = 11u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l2 = w2c_i0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l2;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l2;
w2c_f1_0 = w2c_p0;
w2c_f2_0 = w2c_p1;
w2c_f9(w2c_i0, w2c_f1_0, w2c_f2_0);
w2c_i0 = w2c_l2;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f11(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = 8u;
w2c_i1 = 12u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f12(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = 8u;
w2c_i1 = 14u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f13(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0;
w2c_i0 = 52u;
w2c_i1 = 20u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.100000001;
w2c_f3_0 = 1;
w2c_f4_0 = 0.100000001;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00100000005;
w2c_f2_0 = 1;
w2c_f3_0 = 1;
w2c_f4_0 = 0.100000001;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.0199999996;
w2c_f2_0 = 3;
w2c_f3_0 = 0.200000003;
w2c_f4_0 = 2;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f12();
i32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 40, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 44, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 48, w2c_i1);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static void w2c_f14(u32 w2c_p0, u32 w2c_p1) {
u32 w2c_l2 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
w2c_L0:
w2c_i0 = w2c_p1;
if (w2c_i0) {
w2c_i0 = w2c_p0;
w2c_l2 = w2c_i0;
w2c_i1 = 1u;
w2c_i0 += w2c_i1;
w2c_p0 = w2c_i0;
w2c_i0 = w2c_l2;
w2c_i1 = 0u;
i32_store8((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_p1;
w2c_i1 = 1u;
w2c_i0 -= w2c_i1;
w2c_p1 = w2c_i0;
goto w2c_L0;
}
FUNC_EPILOGUE;
}
static void w2c_f15(u32 w2c_p0, u32 w2c_p1, u32 w2c_p2) {
u32 w2c_l3 = 0, w2c_l4 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2;
w2c_i0 = w2c_p2;
w2c_l4 = w2c_i0;
w2c_i0 = w2c_p0;
w2c_i1 = w2c_p1;
w2c_i0 = w2c_i0 == w2c_i1;
if (w2c_i0) {goto w2c_B0;}
w2c_i0 = w2c_p0;
w2c_i1 = w2c_p1;
w2c_i0 = w2c_i0 < w2c_i1;
if (w2c_i0) {
w2c_L2:
w2c_i0 = w2c_l4;
if (w2c_i0) {
w2c_i0 = w2c_p0;
w2c_p2 = w2c_i0;
w2c_i1 = 1u;
w2c_i0 += w2c_i1;
w2c_p0 = w2c_i0;
w2c_i0 = w2c_p1;
w2c_l3 = w2c_i0;
w2c_i1 = 1u;
w2c_i0 += w2c_i1;
w2c_p1 = w2c_i0;
w2c_i0 = w2c_p2;
w2c_i1 = w2c_l3;
w2c_i1 = i32_load8_u((&w2c_memory), (u64)(w2c_i1));
i32_store8((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l4;
w2c_i1 = 1u;
w2c_i0 -= w2c_i1;
w2c_l4 = w2c_i0;
goto w2c_L2;
}
} else {
w2c_L4:
w2c_i0 = w2c_l4;
if (w2c_i0) {
w2c_i0 = w2c_l4;
w2c_i1 = 1u;
w2c_i0 -= w2c_i1;
w2c_l4 = w2c_i0;
w2c_i1 = w2c_p0;
w2c_i0 += w2c_i1;
w2c_i1 = w2c_p1;
w2c_i2 = w2c_l4;
w2c_i1 += w2c_i2;
w2c_i1 = i32_load8_u((&w2c_memory), (u64)(w2c_i1));
i32_store8((&w2c_memory), (u64)(w2c_i0), w2c_i1);
goto w2c_L4;
}
}
w2c_B0:;
FUNC_EPILOGUE;
}
static u32 w2c_f16(u32 w2c_p0, u32 w2c_p1) {
u32 w2c_l2 = 0, w2c_l3 = 0, w2c_l4 = 0, w2c_l5 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2, w2c_i3;
w2c_i0 = w2c_p0;
w2c_i1 = 15u;
w2c_i0 &= w2c_i1;
w2c_i0 = !(w2c_i0);
w2c_i1 = 0u;
w2c_i2 = w2c_p0;
w2c_i0 = w2c_i2 ? w2c_i0 : w2c_i1;
w2c_i0 = !(w2c_i0);
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_p0;
w2c_i1 = 16u;
w2c_i0 -= w2c_i1;
w2c_l3 = w2c_i0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_l4 = w2c_i0;
w2c_i0 = w2c_l3;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 1u;
w2c_i0 = w2c_i0 != w2c_i1;
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_g5;
w2c_i1 = w2c_p0;
w2c_i2 = w2c_l4;
w2c_i1 += w2c_i2;
w2c_i0 = w2c_i0 == w2c_i1;
w2c_l5 = w2c_i0;
w2c_i0 = w2c_p1;
w2c_i1 = 15u;
w2c_i0 += w2c_i1;
w2c_i1 = 4294967280u;
w2c_i0 &= w2c_i1;
w2c_l2 = w2c_i0;
w2c_i0 = w2c_p1;
w2c_i1 = w2c_l4;
w2c_i0 = w2c_i0 > w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_l5;
if (w2c_i0) {
w2c_i0 = w2c_p1;
w2c_i1 = 1073741808u;
w2c_i0 = w2c_i0 > w2c_i1;
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_p0;
w2c_i1 = w2c_l2;
w2c_i0 += w2c_i1;
w2c_f0(w2c_i0);
w2c_i0 = w2c_l3;
w2c_i1 = w2c_l2;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
} else {
w2c_i0 = w2c_l2;
w2c_i1 = w2c_l4;
w2c_i2 = 1u;
w2c_i1 <<= (w2c_i2 & 31);
w2c_l4 = w2c_i1;
w2c_i2 = w2c_l2;
w2c_i3 = w2c_l4;
w2c_i2 = w2c_i2 > w2c_i3;
w2c_i0 = w2c_i2 ? w2c_i0 : w2c_i1;
w2c_i1 = w2c_l3;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1) + 8u);
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l2 = w2c_i0;
w2c_i1 = w2c_p0;
w2c_i2 = w2c_l3;
w2c_i2 = i32_load((&w2c_memory), (u64)(w2c_i2) + 12u);
w2c_f15(w2c_i0, w2c_i1, w2c_i2);
w2c_i0 = w2c_l2;
w2c_p0 = w2c_i0;
w2c_i1 = 16u;
w2c_i0 -= w2c_i1;
w2c_l3 = w2c_i0;
}
} else {
w2c_i0 = w2c_l5;
if (w2c_i0) {
w2c_i0 = w2c_p0;
w2c_i1 = w2c_l2;
w2c_i0 += w2c_i1;
w2c_g5 = w2c_i0;
w2c_i0 = w2c_l3;
w2c_i1 = w2c_l2;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
}
}
w2c_i0 = w2c_l3;
w2c_i1 = w2c_p1;
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_p0;
FUNC_EPILOGUE;
return w2c_i0;
}
static void w2c_f17(u32 w2c_p0, u32 w2c_p1, u32 w2c_p2) {
u32 w2c_l3 = 0, w2c_l4 = 0, w2c_l5 = 0, w2c_l6 = 0, w2c_l7 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2, w2c_i3;
w2c_i0 = w2c_p1;
w2c_i1 = w2c_p0;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1) + 12u);
w2c_i0 = w2c_i0 >= w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_p1;
w2c_i1 = 0u;
w2c_i0 = (u32)((s32)w2c_i0 < (s32)w2c_i1);
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_p1;
w2c_i1 = 1u;
w2c_i0 += w2c_i1;
w2c_l4 = w2c_i0;
w2c_l3 = w2c_i0;
w2c_i0 = w2c_l4;
w2c_i1 = w2c_p0;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1) + 8u);
w2c_l5 = w2c_i1;
w2c_i2 = 2u;
w2c_i1 >>= (w2c_i2 & 31);
w2c_i0 = w2c_i0 > w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_l3;
w2c_i1 = 268435452u;
w2c_i0 = w2c_i0 > w2c_i1;
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_l5;
w2c_i1 = w2c_p0;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1));
w2c_l7 = w2c_i1;
w2c_i2 = w2c_l3;
w2c_i3 = 2u;
w2c_i2 <<= (w2c_i3 & 31);
w2c_l6 = w2c_i2;
w2c_i1 = w2c_f16(w2c_i1, w2c_i2);
w2c_l3 = w2c_i1;
w2c_i0 += w2c_i1;
w2c_i1 = w2c_l6;
w2c_i2 = w2c_l5;
w2c_i1 -= w2c_i2;
w2c_f14(w2c_i0, w2c_i1);
w2c_i0 = w2c_l3;
w2c_i1 = w2c_l7;
w2c_i0 = w2c_i0 != w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_p0;
w2c_i1 = w2c_l3;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_p0;
w2c_i1 = w2c_l3;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
}
w2c_i0 = w2c_p0;
w2c_i1 = w2c_l6;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
}
w2c_i0 = w2c_p0;
w2c_i1 = w2c_l4;
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
}
w2c_i0 = w2c_p2;
w2c_i1 = w2c_p0;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1) + 4u);
w2c_i2 = w2c_p1;
w2c_i3 = 2u;
w2c_i2 <<= (w2c_i3 & 31);
w2c_i1 += w2c_i2;
w2c_p0 = w2c_i1;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1));
w2c_i0 = w2c_i0 != w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_p0;
w2c_i1 = w2c_p2;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
}
FUNC_EPILOGUE;
}
static u32 w2c_f18(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = 4u;
w2c_i1 = 23u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0.5;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f19(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = 8u;
w2c_i1 = 26u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f20(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0;
w2c_i0 = 56u;
w2c_i1 = 25u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.200000003;
w2c_f3_0 = 0.699999988;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.400000006;
w2c_f3_0 = 0;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f19();
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 40, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f18();
i32_store((&w2c_memory), (u64)(w2c_i0) + 44, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f18();
i32_store((&w2c_memory), (u64)(w2c_i0) + 48, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 52, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 28u);
w2c_i1 = 3u;
w2c_f2_0 = 35;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 32u);
w2c_i1 = 3u;
w2c_f2_0 = 35;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 44u);
w2c_f1_0 = 0.300000012;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 48u);
w2c_f1_0 = 0.300000012;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f21(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0;
w2c_i0 = 44u;
w2c_i1 = 27u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f12();
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f19();
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.0199999996;
w2c_f2_0 = 1.5;
w2c_f3_0 = 0.100000001;
w2c_f4_0 = 0.400000006;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 200;
w2c_f2_0 = 350;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.600000024;
w2c_f3_0 = 0.0199999996;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 3000;
w2c_f2_0 = 7000;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.100000001;
w2c_f3_0 = 0;
w2c_f4_0 = 0.100000001;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 10;
w2c_f2_0 = 150;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 40, w2c_i1);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static void w2c_f22(u32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2, w2c_i3;
f32 w2c_f1_0, w2c_f2_0, w2c_f3_0;
w2c_i0 = w2c_p0;
w2c_i1 = w2c_p0;
w2c_f1_0 = f32_load((&w2c_memory), (u64)(w2c_i1) + 104u);
w2c_i2 = w2c_p0;
w2c_f2_0 = f32_load((&w2c_memory), (u64)(w2c_i2) + 108u);
w2c_f3_0 = 2;
w2c_f2_0 /= w2c_f3_0;
w2c_f3_0 = 0.5;
w2c_f2_0 += w2c_f3_0;
w2c_f1_0 *= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 96, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i1 = w2c_p0;
w2c_f1_0 = f32_load((&w2c_memory), (u64)(w2c_i1) + 104u);
w2c_f2_0 = 1;
w2c_i3 = w2c_p0;
w2c_f3_0 = f32_load((&w2c_memory), (u64)(w2c_i3) + 108u);
w2c_f2_0 -= w2c_f3_0;
w2c_f3_0 = 2;
w2c_f2_0 /= w2c_f3_0;
w2c_f1_0 *= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 100, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f23(u32 w2c_p0, f32 w2c_p1) {
FUNC_PROLOGUE;
u32 w2c_i0;
f32 w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_p0;
w2c_f1_0 = w2c_p1;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_f1_0 = 1;
w2c_f2_0 = w2c_p1;
w2c_f1_0 -= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f24(u32 w2c_p0) {
f32 w2c_l1 = 0, w2c_l2 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i1 = w2c_p0;
w2c_i1 = i32_load8_u((&w2c_memory), (u64)(w2c_i1) + 128u);
if (w2c_i1) {
w2c_f1_0 = 1;
} else {
w2c_i1 = w2c_p0;
w2c_f1_0 = f32_load((&w2c_memory), (u64)(w2c_i1) + 120u);
w2c_l1 = w2c_f1_0;
w2c_i1 = w2c_p0;
w2c_f1_0 = f32_load((&w2c_memory), (u64)(w2c_i1) + 124u);
}
w2c_l2 = w2c_f1_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 20u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 20u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 28u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 28u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 32u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 36u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 32u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 36u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 40u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 44u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 40u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 44u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 48u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 52u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 48u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 52u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 56u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 60u);
w2c_f1_0 = w2c_l2;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 56u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 60u);
w2c_f1_0 = w2c_l1;
w2c_f23(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static u32 w2c_f25(u32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2;
f32 w2c_f1_0;
f64 w2c_d1;
w2c_i0 = 44u;
w2c_i1 = 31u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l1 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l1;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l1;
w2c_d1 = 0;
f64_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_d1);
w2c_i0 = w2c_l1;
w2c_d1 = 0;
f64_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_d1);
w2c_i0 = w2c_l1;
w2c_i1 = w2c_p0;
i32_store((&w2c_memory), (u64)(w2c_i0) + 40, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i1 = w2c_p0;
w2c_d1 = (f64)(w2c_i1);
f64_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_d1);
w2c_i0 = w2c_l1;
w2c_i1 = w2c_p0;
w2c_i2 = 2u;
w2c_i1 <<= (w2c_i2 & 31);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i1 = w2c_l1;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1) + 8u);
w2c_i2 = 0u;
w2c_i1 = w2c_f1(w2c_i1, w2c_i2);
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l1;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f26(u32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = 20u;
w2c_i1 = 30u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l1 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = w2c_f25(w2c_i0);
w2c_p0 = w2c_i0;
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i0 = w2c_l1;
w2c_i1 = w2c_p0;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0.5;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0.5;
f32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = 0.5;
f32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_f1_0);
w2c_i0 = w2c_l1;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f27(u32 w2c_p0, u32 w2c_p1) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0;
w2c_i0 = w2c_p0;
w2c_f0_0 = (f32)(w2c_i0);
w2c_i1 = w2c_p1;
w2c_f1_0 = (f32)(w2c_i1);
w2c_f0_0 *= w2c_f1_0;
w2c_f1_0 = 44100;
w2c_f0_0 /= w2c_f1_0;
w2c_i0 = I32_TRUNC_U_F32(w2c_f0_0);
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f28(u32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
w2c_i0 = 4u;
w2c_i1 = 32u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l1 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_p0;
w2c_i0 = w2c_f25(w2c_i0);
w2c_p0 = w2c_i0;
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i0 = w2c_l1;
w2c_i1 = w2c_p0;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l1;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_f29(void) {
u32 w2c_l0 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2;
f32 w2c_f1_0;
w2c_i0 = 129u;
w2c_i1 = 29u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_i1 = 1116u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1116u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1211u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1188u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1300u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1277u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1379u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1356u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1445u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1422u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1514u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 40, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1491u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 44, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1580u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 48, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1557u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 52, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1640u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 56, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 1617u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f26(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 60, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 556u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 64, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 579u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 68, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 441u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 72, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 464u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 76, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 341u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 80, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 364u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 84, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 225u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 88, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 248u;
w2c_i2 = w2c_g8;
w2c_i1 = w2c_f27(w2c_i1, w2c_i2);
w2c_i1 = w2c_f28(w2c_i1);
i32_store((&w2c_memory), (u64)(w2c_i0) + 92, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 96, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 100, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 104, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 108, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 112, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 116, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 120, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 124, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store8((&w2c_memory), (u64)(w2c_i0) + 128, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 3;
f32_store((&w2c_memory), (u64)(w2c_i0) + 104, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f22(w2c_i0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.5;
f32_store((&w2c_memory), (u64)(w2c_i0) + 108, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f22(w2c_i0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.200000003;
f32_store((&w2c_memory), (u64)(w2c_i0) + 120, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f24(w2c_i0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.895999968;
f32_store((&w2c_memory), (u64)(w2c_i0) + 124, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f24(w2c_i0);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store8((&w2c_memory), (u64)(w2c_i0) + 128, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 1;
f32_store((&w2c_memory), (u64)(w2c_i0) + 116, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f24(w2c_i0);
w2c_i0 = w2c_l0;
FUNC_EPILOGUE;
return w2c_i0;
}
static void w2c_f30(void) {
u32 w2c_l0 = 0, w2c_l1 = 0, w2c_l2 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2;
f32 w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0;
f64 w2c_d0, w2c_d1;
w2c_i0 = 4688u;
w2c_g5 = w2c_i0;
w2c_i0 = 65536u;
w2c_i1 = 3u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_g6 = w2c_i0;
w2c_d0 = 8.175798915643707;
w2c_g7 = w2c_d0;
w2c_L0:
w2c_i0 = w2c_l0;
w2c_i1 = 16384u;
w2c_i0 = w2c_i0 < w2c_i1;
if (w2c_i0) {
w2c_i0 = w2c_g6;
w2c_i1 = w2c_l0;
w2c_i2 = 2u;
w2c_i1 <<= (w2c_i2 & 31);
w2c_i0 += w2c_i1;
w2c_d1 = w2c_g7;
w2c_f1_0 = (f32)(w2c_d1);
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_d0 = w2c_g7;
w2c_d1 = 1.0004513695322617;
w2c_d0 *= w2c_d1;
w2c_g7 = w2c_d0;
w2c_i0 = w2c_l0;
w2c_i1 = 1u;
w2c_i0 += w2c_i1;
w2c_l0 = w2c_i0;
goto w2c_L0;
}
w2c_i0 = 44100u;
w2c_g8 = w2c_i0;
w2c_i0 = w2c_f6();
w2c_g9 = w2c_i0;
w2c_i0 = w2c_f6();
w2c_g10 = w2c_i0;
w2c_i0 = 32u;
w2c_i1 = 8u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.300000012;
w2c_f3_0 = 0.800000012;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.200000003;
w2c_f3_0 = 0.100000001;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 1000;
w2c_f2_0 = 2000;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_g11 = w2c_i0;
w2c_i0 = 52u;
w2c_i1 = 13u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f12();
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
w2c_i2 = 15u;
w2c_i1 = w2c_f1(w2c_i1, w2c_i2);
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00100000005;
w2c_f2_0 = 1;
w2c_f3_0 = 0.800000012;
w2c_f4_0 = 0.300000012;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 200;
w2c_f2_0 = 350;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.100000001;
w2c_f2_0 = 0.200000003;
w2c_f3_0 = 0.5;
w2c_f4_0 = 1;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 3000;
w2c_f2_0 = 7000;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00100000005;
w2c_f2_0 = 0.300000012;
w2c_f3_0 = 0.100000001;
w2c_f4_0 = 0.100000001;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 40, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 10;
w2c_f2_0 = 150;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 44, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 48, w2c_i1);
w2c_i0 = w2c_l0;
w2c_g12 = w2c_i0;
w2c_i0 = 32u;
w2c_i1 = 16u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
w2c_f2_0 = 0.200000003;
w2c_f3_0 = 0;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
w2c_f2_0 = 0.0500000007;
w2c_f3_0 = 0.0500000007;
w2c_f4_0 = 0.100000001;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
w2c_i2 = 15u;
w2c_i1 = w2c_f1(w2c_i1, w2c_i2);
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_g13 = w2c_i0;
w2c_i0 = 32u;
w2c_i1 = 17u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.200000003;
w2c_f3_0 = 0;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.5;
w2c_f3_0 = 0.5;
w2c_f4_0 = 0.300000012;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
w2c_i2 = 15u;
w2c_i1 = w2c_f1(w2c_i1, w2c_i2);
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i0 = !(w2c_i0);
if (w2c_i0) {
w2c_i0 = 4u;
w2c_i1 = 18u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
}
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 28u);
w2c_i1 = 2u;
w2c_f2_0 = 13000;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l0;
w2c_g14 = w2c_i0;
w2c_i0 = 24u;
w2c_i1 = 19u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
w2c_f2_0 = 0.0799999982;
w2c_f3_0 = 0;
w2c_f4_0 = 0.100000001;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
w2c_i2 = 15u;
w2c_i1 = w2c_f1(w2c_i1, w2c_i2);
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_g15 = w2c_i0;
w2c_i0 = w2c_f4();
w2c_g16 = w2c_i0;
w2c_i0 = w2c_f4();
w2c_g17 = w2c_i0;
w2c_i0 = w2c_g16;
w2c_i1 = 2u;
w2c_f2_0 = 20000;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_g17;
w2c_i1 = 2u;
w2c_f2_0 = 20000;
w2c_f3_0 = 0.707106769;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = 16u;
w2c_i1 = 21u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = 40u;
w2c_i1 = 0u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l2 = w2c_i0;
w2c_i1 = 40u;
w2c_f14(w2c_i0, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l2;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l2;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 40u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 10u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_L3:
w2c_i0 = w2c_l1;
w2c_i1 = 10u;
w2c_i0 = (u32)((s32)w2c_i0 < (s32)w2c_i1);
if (w2c_i0) {
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l1;
w2c_i2 = w2c_f13();
w2c_f17(w2c_i0, w2c_i1, w2c_i2);
w2c_i0 = w2c_l1;
w2c_i1 = 1u;
w2c_i0 += w2c_i1;
w2c_l1 = w2c_i0;
goto w2c_L3;
}
w2c_i0 = w2c_l0;
w2c_g18 = w2c_i0;
w2c_i0 = 44u;
w2c_i1 = 22u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f12();
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f12();
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.0199999996;
w2c_f2_0 = 0.100000001;
w2c_f3_0 = 0.200000003;
w2c_f4_0 = 0.300000012;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.00999999978;
w2c_f2_0 = 0.0199999996;
w2c_f3_0 = 0.100000001;
w2c_f4_0 = 0.300000012;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
w2c_i2 = 15u;
w2c_i1 = w2c_f1(w2c_i1, w2c_i2);
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f4();
i32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 400;
w2c_f2_0 = 2000;
w2c_i1 = w2c_f10(w2c_f1_0, w2c_f2_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f18();
i32_store((&w2c_memory), (u64)(w2c_i0) + 40, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 28u);
w2c_i1 = 3u;
w2c_f2_0 = 7000;
w2c_f3_0 = 0.5;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 32u);
w2c_i1 = 3u;
w2c_f2_0 = 7000;
w2c_f3_0 = 0.5;
w2c_f3(w2c_i0, w2c_i1, w2c_f2_0, w2c_f3_0);
w2c_i0 = w2c_l0;
w2c_g20 = w2c_i0;
w2c_i0 = 40u;
w2c_i1 = 24u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0.0299999993;
w2c_f2_0 = 1;
w2c_f3_0 = 0.600000024;
w2c_f4_0 = 0.200000003;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f8();
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f18();
i32_store((&w2c_memory), (u64)(w2c_i0) + 16, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f11();
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 1;
w2c_f2_0 = 0;
w2c_f3_0 = 1;
w2c_f4_0 = 0.100000001;
w2c_i1 = w2c_f7(w2c_f1_0, w2c_f2_0, w2c_f3_0, w2c_f4_0);
i32_store((&w2c_memory), (u64)(w2c_i0) + 24, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_f12();
i32_store((&w2c_memory), (u64)(w2c_i0) + 28, w2c_i1);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_f1_0 = 0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_f1_0);
w2c_i0 = w2c_l0;
w2c_g21 = w2c_i0;
w2c_i0 = w2c_f20();
w2c_g22 = w2c_i0;
w2c_i0 = 0u;
w2c_l1 = w2c_i0;
w2c_i0 = 16u;
w2c_i1 = 28u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l0 = w2c_i0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_i0 = 20u;
w2c_i1 = 0u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_l2 = w2c_i0;
w2c_i1 = 20u;
w2c_f14(w2c_i0, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l2;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l2;
i32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 20u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 8, w2c_i1);
w2c_i0 = w2c_l0;
w2c_i1 = 5u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 12, w2c_i1);
w2c_L5:
w2c_i0 = w2c_l1;
w2c_i1 = 5u;
w2c_i0 = (u32)((s32)w2c_i0 < (s32)w2c_i1);
if (w2c_i0) {
w2c_i0 = w2c_l0;
w2c_i1 = w2c_l1;
w2c_i2 = w2c_f21();
w2c_f17(w2c_i0, w2c_i1, w2c_i2);
w2c_i0 = w2c_l1;
w2c_i1 = 1u;
w2c_i0 += w2c_i1;
w2c_l1 = w2c_i0;
goto w2c_L5;
}
w2c_i0 = w2c_l0;
w2c_g23 = w2c_i0;
w2c_i0 = w2c_f11();
w2c_g24 = w2c_i0;
w2c_i0 = w2c_f11();
w2c_g25 = w2c_i0;
w2c_i0 = w2c_f29();
w2c_g26 = w2c_i0;
w2c_i0 = 16537u;
w2c_i0 = w2c_f25(w2c_i0);
w2c_g27 = w2c_i0;
w2c_i0 = 16537u;
w2c_i0 = w2c_f25(w2c_i0);
w2c_g28 = w2c_i0;
w2c_i0 = w2c_f11();
w2c_g29 = w2c_i0;
FUNC_EPILOGUE;
}
static void w2c_setPatternsPtr(u32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0;
w2c_i0 = w2c_p0;
w2c_g33 = w2c_i0;
FUNC_EPILOGUE;
}
static void w2c_setInstrumentPatternListPtr(u32 w2c_p0, u32 w2c_p1, u32 w2c_p2) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
w2c_i0 = w2c_p0;
w2c_g34 = w2c_i0;
w2c_i0 = w2c_p2;
w2c_g30 = w2c_i0;
w2c_i0 = w2c_p1;
w2c_g37 = w2c_i0;
w2c_i0 = w2c_g30;
w2c_i1 = 2u;
w2c_i0 <<= (w2c_i1 & 31);
w2c_i1 = 3u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_g32 = w2c_i0;
w2c_i0 = w2c_g30;
w2c_i1 = 2u;
w2c_i0 <<= (w2c_i1 & 31);
w2c_i1 = 3u;
w2c_i0 = w2c_f1(w2c_i0, w2c_i1);
w2c_g31 = w2c_i0;
FUNC_EPILOGUE;
}
static void w2c_setBPM(f32 w2c_p0) {
FUNC_PROLOGUE;
f32 w2c_f0_0, w2c_f1_0;
w2c_f0_0 = w2c_p0;
w2c_g43 = w2c_f0_0;
w2c_f0_0 = w2c_g42;
w2c_f1_0 = w2c_p0;
w2c_f0_0 *= w2c_f1_0;
w2c_f1_0 = 60;
w2c_f0_0 /= w2c_f1_0;
w2c_g44 = w2c_f0_0;
w2c_f0_0 = w2c_g44;
w2c_f1_0 = 44100;
w2c_f0_0 /= w2c_f1_0;
w2c_g45 = w2c_f0_0;
FUNC_EPILOGUE;
}
static void w2c_setTick(f64 w2c_p0) {
FUNC_PROLOGUE;
f64 w2c_d0;
w2c_d0 = w2c_p0;
w2c_g41 = w2c_d0;
FUNC_EPILOGUE;
}
static f64 w2c_getTick(void) {
FUNC_PROLOGUE;
f64 w2c_d0;
w2c_d0 = w2c_g41;
FUNC_EPILOGUE;
return w2c_d0;
}
static void w2c_setMilliSecondPosition(f64 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i2;
f32 w2c_f1_0;
f64 w2c_d0, w2c_d1, w2c_d2, w2c_d3;
w2c_d0 = w2c_p0;
w2c_f1_0 = w2c_g44;
w2c_d1 = (f64)(w2c_f1_0);
w2c_d0 *= w2c_d1;
w2c_d1 = 1000;
w2c_d0 /= w2c_d1;
w2c_p0 = w2c_d0;
w2c_d1 = w2c_p0;
w2c_i2 = w2c_g37;
w2c_d2 = (f64)(w2c_i2);
w2c_d3 = 16;
w2c_d2 *= w2c_d3;
w2c_p0 = w2c_d2;
w2c_d1 /= w2c_d2;
w2c_d1 = floor(w2c_d1);
w2c_d2 = w2c_p0;
w2c_d1 *= w2c_d2;
w2c_d0 -= w2c_d1;
w2c_p0 = w2c_d0;
w2c_d1 = w2c_g41;
w2c_d0 -= w2c_d1;
w2c_d0 = fabs(w2c_d0);
w2c_d1 = 1;
w2c_i0 = w2c_d0 > w2c_d1;
if (w2c_i0) {
w2c_d0 = w2c_p0;
w2c_g41 = w2c_d0;
}
FUNC_EPILOGUE;
}
static u32 w2c_getPatternIndex(void) {
FUNC_PROLOGUE;
u32 w2c_i0;
w2c_i0 = w2c_g39;
FUNC_EPILOGUE;
return w2c_i0;
}
static u32 w2c_getPatternNoteIndex(void) {
FUNC_PROLOGUE;
u32 w2c_i0;
w2c_i0 = w2c_g40;
FUNC_EPILOGUE;
return w2c_i0;
}
static f32 w2c_f39(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_g6;
w2c_f1_0 = w2c_p0;
w2c_f2_0 = 128;
w2c_f1_0 *= w2c_f2_0;
w2c_i1 = I32_TRUNC_U_F32(w2c_f1_0);
w2c_i2 = 2u;
w2c_i1 <<= (w2c_i2 & 31);
w2c_i0 += w2c_i1;
w2c_f0_0 = f32_load((&w2c_memory), (u64)(w2c_i0));
FUNC_EPILOGUE;
return w2c_f0_0;
}
static void w2c_f40(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0;
w2c_i0 = w2c_g11;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_f1_0 = w2c_p0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
} else {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f41(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_g12;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_f1_0 = w2c_p0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_f1_0 = w2c_p0;
w2c_f2_0 = 0.100000001;
w2c_f1_0 -= w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_f1_0 = w2c_p0;
w2c_f2_0 = 0.100000001;
w2c_f1_0 += w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_f1_0 = 4;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 32u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 40u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
} else {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 32u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 40u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f42(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0;
w2c_i0 = w2c_g20;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_f1_0 = w2c_p0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_f1_0 = 8;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
} else {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
FUNC_EPILOGUE;
}
static void w2c_f43(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_g13;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_f1_0 = 150;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
w2c_f2_0 = 16;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
} else {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f44(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_g14;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_f1_0 = 200;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
w2c_f2_0 = 16;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
} else {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
FUNC_EPILOGUE;
}
static void w2c_f45(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_g15;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
w2c_f2_0 = 32;
w2c_f1_0 /= w2c_f2_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
} else {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
FUNC_EPILOGUE;
}
static u32 w2c_f46(u32 w2c_p0, u32 w2c_p1) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2;
w2c_i0 = w2c_p1;
w2c_i1 = w2c_p0;
w2c_i1 = i32_load((&w2c_memory), (u64)(w2c_i1) + 12u);
w2c_i0 = w2c_i0 >= w2c_i1;
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = w2c_p1;
w2c_i2 = 2u;
w2c_i1 <<= (w2c_i2 & 31);
w2c_i0 += w2c_i1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0));
w2c_p0 = w2c_i0;
w2c_p1 = w2c_i0;
w2c_i0 = w2c_p0;
w2c_i0 = !(w2c_i0);
if (w2c_i0) {
UNREACHABLE;
}
w2c_i0 = w2c_p1;
FUNC_EPILOGUE;
return w2c_i0;
}
static void w2c_f47(u32 w2c_p0, f32 w2c_p1) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_f0_0 = w2c_p1;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 36u);
w2c_f1_0 = 1;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 36u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0), w2c_i1);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_f1_0 = w2c_p1;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 20u);
w2c_f1_0 = w2c_p1;
w2c_f2_0 = 0.0299999993;
w2c_f1_0 += w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_f1_0 = w2c_p1;
w2c_f2_0 = 0.0299999993;
w2c_f1_0 -= w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 28u);
w2c_f1_0 = w2c_p1;
w2c_f2_0 = 0.0599999987;
w2c_f1_0 += w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 32u);
w2c_f1_0 = w2c_p1;
w2c_f2_0 = 0.0599999987;
w2c_f1_0 -= w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_p0;
w2c_f1_0 = w2c_p1;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
} else {
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 8u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_p0;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 12u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
FUNC_EPILOGUE;
}
static void w2c_f48(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 0u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f49(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 1u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f50(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 2u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f51(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 3u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f52(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 4u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f53(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 5u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f54(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 6u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f55(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 7u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f56(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 8u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f57(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f1_0;
w2c_i0 = w2c_g18;
w2c_i1 = 9u;
w2c_i0 = w2c_f46(w2c_i0, w2c_i1);
w2c_f1_0 = w2c_p0;
w2c_f47(w2c_i0, w2c_f1_0);
FUNC_EPILOGUE;
}
static void w2c_f58(f32 w2c_p0) {
FUNC_PROLOGUE;
u32 w2c_i0;
f32 w2c_f0_0, w2c_f1_0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 0;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 100;
w2c_f0_0 /= w2c_f1_0;
w2c_g19 = w2c_f0_0;
}
FUNC_EPILOGUE;
}
static void w2c_f59(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1, w2c_i2;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_g21;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 16u);
w2c_f1_0 = 0.5;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
w2c_i2 = w2c_l1;
w2c_f2_0 = f32_load((&w2c_memory), (u64)(w2c_i2) + 36u);
w2c_f1_0 += w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 28u);
w2c_f1_0 = 8;
f32_store((&w2c_memory), (u64)(w2c_i0) + 4, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_i1 = 0u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_f1_0 = w2c_p0;
f32_store((&w2c_memory), (u64)(w2c_i0), w2c_f1_0);
} else {
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 4u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
w2c_i0 = w2c_l1;
w2c_i0 = i32_load((&w2c_memory), (u64)(w2c_i0) + 24u);
w2c_i1 = 3u;
i32_store((&w2c_memory), (u64)(w2c_i0) + 20, w2c_i1);
}
FUNC_EPILOGUE;
}
static void w2c_f60(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 0;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_g21;
w2c_l1 = w2c_i0;
w2c_f1_0 = w2c_p0;
w2c_f2_0 = 64;
w2c_f1_0 -= w2c_f2_0;
w2c_f2_0 = 32;
w2c_f1_0 /= w2c_f2_0;
w2c_p0 = w2c_f1_0;
f32_store((&w2c_memory), (u64)(w2c_i0) + 36, w2c_f1_0);
w2c_i0 = w2c_l1;
w2c_i1 = w2c_l1;
w2c_f1_0 = f32_load((&w2c_memory), (u64)(w2c_i1));
w2c_f2_0 = w2c_p0;
w2c_f1_0 += w2c_f2_0;
w2c_f1_0 = w2c_f39(w2c_f1_0);
f32_store((&w2c_memory), (u64)(w2c_i0) + 32, w2c_f1_0);
}
FUNC_EPILOGUE;
}
static void w2c_f61(f32 w2c_p0) {
u32 w2c_l1 = 0;
FUNC_PROLOGUE;
u32 w2c_i0, w2c_i1;
f32 w2c_f0_0, w2c_f1_0, w2c_f2_0;
w2c_i0 = w2c_g22;
w2c_l1 = w2c_i0;
w2c_f0_0 = w2c_p0;
w2c_f1_0 = 1;
w2c_i0 = w2c_f0_0 > w2c_f1_0;
if (w2c_i0) {
w2c_i0 = w2c_l1;