####### "compiled_vm.c"
static double div(double a, double b)
{
if (b == 0.0) return 0.0;
return a / b;
}
__declspec(dllexport) int run(int steps, double i2, double i3, double i16000, double * memory, double * output)
{
int cnt = 0;
#include "compiled_vm_declarations.inc"
for (cnt = 0; cnt < steps && output[0] == 0.0; cnt++)
{
#include "compiled_vm_statements.inc"
}
return cnt;
}
int initcompiled_vm()
{
return -1;
}
###### compiled_vm_declarations.inc
const unsigned long long long_27 = 0x3FF199999999999AL;
const double c27 = *(double*)&long_27; // 1.1
const unsigned long long long_36 = 0x3FF8000000000000L;
const double c36 = *(double*)&long_36; // 1.5
const unsigned long long long_96 = 0x4513DA329B633647L;
const double c96 = *(double*)&long_96; // 6e+24
const unsigned long long long_99 = 0x3DD2589B659737D1L;
const double c99 = *(double*)&long_99; // 6.67428e-11
const unsigned long long long_111 = 0xC0BB0A55DA0E5C25L;
const double c111 = *(double*)&long_111; // -6922.33535852
const unsigned long long long_114 = 0xC0B26F51627D1664L;
const double c114 = *(double*)&long_114; // -4719.31790907
const unsigned long long long_117 = 0xC0BE86EEC7F382ABL;
const double c117 = *(double*)&long_117; // -7814.93273851
const unsigned long long long_133 = 0xC0BEC33726A1ECC0L;
const double c133 = *(double*)&long_133; // -7875.21543324
const int pv248 = 0;
const int pv249 = 1;
const int pv250 = 2;
const int pv251 = 3;
const int pv254 = 4;
const int pv255 = 5;
const int pv257 = 6;
const int pv258 = 7;
const int pv259 = 8;
const int pv261 = 9;
const int pv262 = 10;
const int pv263 = 11;
const int pv264 = 12;
const int pv265 = 13;
double lv4;
double lv5;
double lv7;
double lv12;
double lv18;
double lv29;
double lv32;
double lv33;
double lv39;
double lv44;
double lv48;
double lv52;
double lv66;
double lv69;
double lv70;
double lv74;
double lv77;
double lv88;
double lv89;
double lv92;
double lv94;
double lv98;
double lv100;
double lv101;
double lv102;
double lv103;
double lv104;
double lv105;
double lv108;
double lv121;
double lv124;
double lv125;
double lv127;
double lv128;
double lv129;
double lv143;
double lv146;
double lv147;
double lv150;
double lv151;
double lv155;
double lv160;
double lv161;
double lv164;
double lv167;
double lv169;
double lv172;
double lv174;
double lv175;
double lv212;
double lv217;
double lv218;
double lv232;
###### compiled_vm_statements.inc
lv4 = memory[pv248];
lv5 = lv4 - 0.0;
lv7 = (lv5 == 0.0) ? 30.0 : memory[pv265];
lv12 = ((lv5 == 0.0) ? 1.0 : memory[pv263]) - 1.0;
lv18 = (lv5 == 0.0) ? 1000.0 : memory[pv264];
lv29 = 42164.0 * 1000.0;
lv32 = i16000;
lv33 = lv32 - 1004.0;
lv39 = lv32 - 1003.0;
lv44 = lv32 - 1002.0;
lv48 = lv32 - 1001.0;
lv52 = (lv5 == 0.0) ? ((lv48 == 0.0) ? lv29 : ((lv44 == 0.0) ? (lv29 / 2.0) : ((lv39 == 0.0) ? (lv29 / c36) : ((lv33 == 0.0) ? (lv29 / c27) : 0.0)))) : memory[pv262];
lv66 = (lv5 == 0.0) ? ((lv48 == 0.0) ? 0.0 : ((lv44 == 0.0) ? -6357000.0 : ((lv39 == 0.0) ? 0.0 : ((lv33 == 0.0) ? 6457000.0 : 0.0)))) : memory[pv255];
lv69 = (lv5 == 0.0) ? 0.0 : memory[pv250];
lv70 = lv69 - lv66;
lv74 = (lv5 == 0.0) ? 0.0 : memory[pv249];
lv77 = (lv33 == 0.0) ? 0.0 : 0.0;
lv88 = (lv5 == 0.0) ? ((lv48 == 0.0) ? 6557000.0 : ((lv44 == 0.0) ? 6357000.0 : ((lv39 == 0.0) ? 8357000.0 : lv77))) : memory[pv254];
lv89 = lv74 - lv88;
lv92 = sqrt(((lv89 * lv89) + (lv70 * lv70)));
lv94 = (lv92 * lv92) * lv92;
lv98 = (lv5 == 0.0) ? c96 : memory[pv251];
lv100 = c99 * lv98;
lv101 = div(lv100, lv94);
lv102 = lv70 * lv101;
lv103 = i3;
lv104 = 1.0 / 1.0;
lv105 = div(lv103, lv104);
lv108 = (lv104 * lv104) / 2.0;
lv121 = (lv5 == 0.0) ? ((lv48 == 0.0) ? c117 : ((lv44 == 0.0) ? c114 : ((lv39 == 0.0) ? c111 : lv77))) : memory[pv258];
lv124 = (lv66 + (lv121 * lv104)) + ((lv105 + lv102) * lv108);
lv125 = lv124 - lv69;
lv127 = lv89 * lv101;
lv128 = i2;
lv129 = div(lv128, lv104);
lv143 = (lv5 == 0.0) ? ((lv48 == 0.0) ? 0.0 : ((lv44 == 0.0) ? c114 : ((lv39 == 0.0) ? 0.0 : ((lv33 == 0.0) ? c133 : 0.0)))) : memory[pv257];
lv146 = (lv88 + (lv143 * lv104)) + ((lv129 + lv127) * lv108);
lv147 = lv146 - lv74;
lv150 = sqrt(((lv147 * lv147) + (lv125 * lv125)));
lv151 = lv150 - lv52;
lv155 = ((lv151 - 0.0) < 0.0) ? (0.0 - lv151) : lv151;
lv160 = sqrt(((lv129 * lv129) + (lv105 * lv105)));
lv161 = lv160 - 0.0;
lv164 = lv155 - 1000.0;
lv167 = lv69 - lv124;
lv169 = lv74 - lv146;
lv172 = sqrt(((lv169 * lv169) + (lv167 * lv167)));
lv174 = (lv172 * lv172) * lv172;
lv175 = div(lv100, lv174);
lv212 = (lv164 < 0.0) ? ((lv161 == 0.0) ? (memory[pv259] + 1.0) : 0.0) : 0.0;
lv217 = lv160 * lv104;
lv218 = ((lv5 == 0.0) ? 10000.0 : memory[pv261]) - lv217;
lv232 = 0.0 - 1.0;
output[0] = ((lv150 - 6357000.0) < 0.0) ? lv232 : (((10000.0 - lv217) < 0.0) ? lv232 : (((lv218 - 0.0) < 0.0) ? lv232 : (((div(900.0, lv104) - lv212) < 0.0) ? ((lv7 + (((10000.0 - lv218) / 10000.0) * 45.0)) + 25.0) : 0.0)));
output[1] = lv218;
output[2] = lv169;
output[3] = lv167;
output[4] = lv52;
memory[pv248] = lv4 + 1.0;
memory[pv249] = lv74;
memory[pv250] = lv69;
memory[pv251] = lv98;
memory[pv254] = lv146;
memory[pv255] = lv124;
memory[pv257] = lv143 + ((lv129 + (((lv169 * lv175) + lv127) / 2.0)) * lv104);
memory[pv258] = lv121 + ((lv105 + (((lv167 * lv175) + lv102) / 2.0)) * lv104);
memory[pv259] = lv212;
memory[pv261] = lv218;
memory[pv262] = lv52;
memory[pv263] = (lv12 == 0.0) ? lv18 : lv12;
memory[pv264] = (lv12 == 0.0) ? (lv18 * 2.0) : lv18;
memory[pv265] = (lv12 == 0.0) ? (lv7 - 1.0) : lv7;