Skip to content

Instantly share code, notes, and snippets.

@petersalomonsen
Last active November 2, 2021 18:08
Show Gist options
  • Save petersalomonsen/58c3d977d35c60bfee58c4f5d19aa9f5 to your computer and use it in GitHub Desktop.
Save petersalomonsen/58c3d977d35c60bfee58c4f5d19aa9f5 to your computer and use it in GitHub Desktop.
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;