Optimized binaries (use local vars if they are not needed as persistent vars); added "dummy" do-nothing mode for benchmarking the "vm".

Even bin4 has now >500k iter/sec (needs 3.5 secs for 2000000 steps) on
a Core2 Duo 2.1 GHz
This commit is contained in:
Stefan Bühler 2009-06-30 11:09:05 +02:00
parent 821c94289b
commit 766343e524
7 changed files with 93 additions and 2193 deletions

View File

@ -65,17 +65,25 @@ void ovm_print_c(ovm_t *ovm, const gchar *filename) {
gdouble *vi = ovm->values;
guint64 *uvi = (guint64*) ovm->values;
guchar *usedv = g_slice_alloc0(ovm->used*sizeof(guchar));
guchar *localv = g_slice_alloc0(ovm->used*sizeof(guchar));
GString *str = g_string_sized_new(0), *buf = g_string_sized_new(0);
int f = g_open(filename, O_CREAT | O_TRUNC | O_WRONLY, 0644);
gboolean first;
if (-1 == f) {
fprintf(stderr, "Couldn't open file %s: %s\n", filename, g_strerror(errno));
exit(2);
}
g_string_append_len(buf, CONST_STR_LEN(
"void ovm_step(guint scenario, gdouble *in, gdouble *out) {\n"
));
g_string_truncate(buf, 0);
#define LOCAL(i) do { \
if (!usedv[i]) { \
usedv[i] = TRUE; \
localv[i] = TRUE; \
} \
} while (0)
#define USED(i) (usedv[i] = TRUE, i)
#define USED_IN(i) (max_in = max_in > i ? max_in : i, i)
#define USED_OUT(i) (max_out = max_out > i ? max_out : i, i)
@ -126,41 +134,49 @@ void ovm_print_c(ovm_t *ovm, const gchar *filename) {
}
break;
case SOP_SQRT:
g_string_printf(str, "\tv%u.d = sqrt(v%u.d);\n", USED(i), USED(instr_sop_r1(oi[i])));
g_string_printf(str, "\tv%u.d = sqrt(v%u.d);\n", i, USED(instr_sop_r1(oi[i])));
LOCAL(i);
break;
case SOP_COPY:
g_string_printf(str, "\tv%u.d = v%u.d;\n", USED(i), USED(instr_sop_r1(oi[i])));
g_string_printf(str, "\tv%u.d = v%u.d;\n", i, USED(instr_sop_r1(oi[i])));
LOCAL(i);
break;
case SOP_IN:
if (0x3e80 == instr_sop_r1(oi[i])) {
g_string_printf(str, "\tv%u.d = scenario;\n", USED(i));
g_string_printf(str, "\tv%u.d = scenario;\n", i);
} else {
g_string_printf(str, "\tv%u.d = in[%u];\n", USED(i), USED_IN(instr_sop_r1(oi[i])));
g_string_printf(str, "\tv%u.d = in[%u];\n", i, USED_IN(instr_sop_r1(oi[i])));
}
LOCAL(i);
break;
}
break;
case OP_ADD:
g_string_printf(str, "\tv%u.d = v%u.d + v%u.d;\n", USED(i), USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
g_string_printf(str, "\tv%u.d = v%u.d + v%u.d;\n", i, USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
LOCAL(i);
break;
case OP_SUB:
g_string_printf(str, "\tv%u.d = v%u.d - v%u.d;\n", USED(i), USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
g_string_printf(str, "\tv%u.d = v%u.d - v%u.d;\n", i, USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
LOCAL(i);
break;
case OP_MULT:
g_string_printf(str, "\tv%u.d = v%u.d * v%u.d;\n", USED(i), USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
g_string_printf(str, "\tv%u.d = v%u.d * v%u.d;\n", i, USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
LOCAL(i);
break;
case OP_DIV:
#ifdef CMPEPS
g_string_printf(str, "\tv%u.d = (fabs(v%u.d) < eps) ? 0.0 : v%u.d / v%u.d;\n", USED(i), USED(instr_dop_r2(oi[i])), USED(instr_dop_r1(oi[i])), instr_dop_r2(oi[i]));
g_string_printf(str, "\tv%u.d = (fabs(v%u.d) < eps) ? 0.0 : v%u.d / v%u.d;\n", i, USED(instr_dop_r2(oi[i])), USED(instr_dop_r1(oi[i])), instr_dop_r2(oi[i]));
#else
g_string_printf(str, "\tv%u.d = (v%u.d == 0) ? 0.0 : v%u.d / v%u.d;\n", USED(i), USED(instr_dop_r2(oi[i])), USED(instr_dop_r1(oi[i])), instr_dop_r2(oi[i]));
g_string_printf(str, "\tv%u.d = (v%u.d == 0) ? 0.0 : v%u.d / v%u.d;\n", i, USED(instr_dop_r2(oi[i])), USED(instr_dop_r1(oi[i])), instr_dop_r2(oi[i]));
#endif
LOCAL(i);
break;
case OP_OUT:
g_string_printf(str, "\tout[%u] = v%u.d;\n", USED_OUT(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
break;
case OP_PHI:
g_string_printf(str, "\tv%u.d = ovm_status ? v%u.d : v%u.d;\n", USED(i), USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
g_string_printf(str, "\tv%u.d = ovm_status ? v%u.d : v%u.d;\n", i, USED(instr_dop_r1(oi[i])), USED(instr_dop_r2(oi[i])));
LOCAL(i);
break;
}
g_string_append_len(buf, GSTR_LEN(str));
@ -191,22 +207,25 @@ void ovm_print_c(ovm_t *ovm, const gchar *filename) {
write(f, GSTR_LEN(str));
write(f, CONST_STR_LEN(
"\n"
"static double_int v0"
));
for (i = 1; i < ovm->used; i++) {
if (!usedv[i]) continue;
g_string_printf(str, ", v%u", i);
first = TRUE;
for (i = 0; i < ovm->used; i++) {
if (!usedv[i] || localv[i]) continue;
if (first)
g_string_printf(str, "static double_int v%u", i);
else
g_string_printf(str, ", v%u", i);
first = FALSE;
write(f, GSTR_LEN(str));
}
if (!first) write(f, CONST_STR_LEN(";\n\n"));
write(f, CONST_STR_LEN(
";\n"
"\n"
"void ovm_init() {\n"
"\tovm_status = FALSE;\n"
"\n"
));
for (i = 0; i < ovm->used; i++) {
if (!usedv[i]) continue;
if (!usedv[i] || localv[i]) continue;
/* g_string_printf(str, "\tv%u.d = %f;\n", i, vi[i]); */
g_string_printf(str, "\tv%u.i = G_GUINT64_CONSTANT(%" G_GUINT64_FORMAT "); /* %f */ \n", i, uvi[i], vi[i]);
write(f, GSTR_LEN(str));
@ -217,10 +236,30 @@ void ovm_print_c(ovm_t *ovm, const gchar *filename) {
"\n"
));
write(f, CONST_STR_LEN(
"void ovm_step(guint scenario, gdouble *__restrict__ in, gdouble *__restrict__ out) {\n"
));
first = TRUE;
for (i = 0; i < ovm->used; i++) {
if (localv[i]) {
if (first)
g_string_printf(str, "\tdouble_int v%u", i);
else
g_string_printf(str, ", v%u", i);
first = FALSE;
write(f, GSTR_LEN(str));
}
}
if (!first) write(f, CONST_STR_LEN(";\n"));
write(f, GSTR_LEN(buf));
close(f);
g_slice_free1(ovm->used*sizeof(guchar), usedv);
g_slice_free1(ovm->used*sizeof(guchar), localv);
g_string_free(str, TRUE);
g_string_free(buf, TRUE);
}

View File

@ -20,7 +20,7 @@ void task_trace_end(task_t *task);
void task_trace_step(task_t *task);
void ovm_init();
void ovm_step(guint scenario, gdouble *in, gdouble *out);
void ovm_step(guint scenario, gdouble *__restrict__ in, gdouble *__restrict__ out);
extern const guint ovm_outs, ovm_ins;
#endif

View File

@ -20,12 +20,25 @@ static inline void trace_simulate(task_t *task, gpointer userdata) {
guint32 i;
trace->pos++;
for (i = 0; i < te->count; i++) {
if (te->data[i].addr != 0x3e80)
if (te->data[i].addr != 0x3e80) {
if (te->data[i].addr >= ovm_ins) {
fprintf(stderr, "in[]-index out of range: %u at timestamp %u\n", te->data[i].addr, (guint) task->timestamp);
exit(1);
}
task->in[te->data[i].addr] = te->data[i].value;
} else if (te->data[i].value != (gdouble) task->scenario) {
fprintf(stderr, "Setting wrong scenario at timestamp %u\n", (guint) task->timestamp);
exit(1);
}
}
}
}
static inline void task_do_nothing(task_t *task, gpointer userdata) {
UNUSED(task);
UNUSED(userdata);
}
static inline gdouble task_run(task_t *task, task_app_t app, gpointer userdata, const gchar *tracefile) {
gboolean dotrace = (NULL != tracefile);
ovm_init();
@ -53,13 +66,14 @@ static inline void task_main(int argc, char **argv, task_app_t app, task_app_t d
guint scenario = default_scenario;
const gchar *tracefile = NULL;
const gchar *simulate_file = NULL;
gboolean debug = FALSE;
gboolean debug = FALSE, do_nothing = FALSE;
GOptionEntry entries[] = {
{ "scenario", 's', 0, G_OPTION_ARG_INT, &scenario, "run scenario", "number" },
{ "simulate", 'm', 0, G_OPTION_ARG_FILENAME, &simulate_file, "Save trace in file", "PATH" },
{ "trace", 't', 0, G_OPTION_ARG_FILENAME, &tracefile, "Run input data (trace from another run)", "PATH" },
{ "debug", 'd', 0, G_OPTION_ARG_NONE, &debug, "Show debug", NULL },
{ "nothing", 'n', 0, G_OPTION_ARG_NONE, &do_nothing, "Do nothing", NULL },
{ NULL, 0, 0, 0, NULL, NULL, NULL }
};
@ -84,11 +98,14 @@ static inline void task_main(int argc, char **argv, task_app_t app, task_app_t d
fprintf(stderr, "Simulating solution: Team #%u, Scenario %u\n\n", (guint) trace->team, (guint) trace->scenario);
} else if (debug) {
app = debug_app;
} else if (do_nothing) {
app = task_do_nothing;
}
task = task_new(scenario);
score = task_run(task, app, userdata, tracefile);
fprintf(stderr, "Finale score: %f (steps: %u)\n", score, (guint) task->timestamp);
fprintf(stderr, "Fuel: %f, Position: %f/%f\n", task->out[1], task->out[2], task->out[3]);
task_free(task);
}

View File

@ -7,203 +7,41 @@ static gboolean ovm_status;
const guint ovm_outs = 5, ovm_ins = 4;
static double_int v0, v1, v2, v3, v4, v5, v7, v8, v9, v11, v12, v14, v15, v16, v18, v19, v20, v22, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v35, v36, v37, v38, v39, v41, v42, v43, v44, v46, v47, v48, v50, v52, v53, v54, v55, v57, v59, v60, v62, v64, v66, v67, v69, v70, v71, v72, v74, v75, v77, v78, v80, v81, v83, v84, v86, v88, v89, v90, v91, v92, v93, v94, v95, v96, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108, v109, v110, v111, v113, v114, v116, v117, v119, v121, v122, v123, v124, v125, v126, v127, v128, v129, v130, v131, v132, v133, v135, v137, v139, v141, v143, v144, v145, v146, v147, v148, v149, v150, v151, v152, v153, v155, v156, v157, v158, v159, v160, v161, v163, v164, v166, v167, v168, v169, v170, v171, v172, v173, v174, v175, v176, v177, v178, v179, v180, v181, v182, v183, v184, v185, v186, v187, v188, v189, v191, v193, v195, v197, v199, v200, v202, v203, v205, v206, v207, v208, v210, v212, v213, v214, v216, v217, v218, v219, v220, v221, v222, v223, v224, v225, v226, v227, v228, v230, v231, v232, v234, v235, v237, v238, v239, v241, v242, v248, v249, v250, v251, v252, v253, v254, v255, v256, v257, v258, v259, v260, v261, v262, v263, v264, v265;
static double_int v0, v2, v3, v16, v19, v27, v28, v31, v36, v38, v43, v47, v54, v55, v60, v78, v81, v84, v96, v99, v111, v114, v117, v133, v189, v214, v219, v220, v226, v238, v242, v248, v249, v250, v251, v252, v253, v254, v255, v256, v257, v258, v259, v260, v261, v262, v263, v264, v265;
void ovm_init() {
ovm_status = FALSE;
v0.i = G_GUINT64_CONSTANT(4607182418800017408); /* 1.000000 */
v1.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v2.i = G_GUINT64_CONSTANT(4629137466983448576); /* 30.000000 */
v3.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v4.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v5.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v7.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v8.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v9.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v11.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v12.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v14.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v15.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v16.i = G_GUINT64_CONSTANT(4652007308841189376); /* 1000.000000 */
v18.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v19.i = G_GUINT64_CONSTANT(4611686018427387904); /* 2.000000 */
v20.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v22.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v24.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v25.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v26.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v27.i = G_GUINT64_CONSTANT(4607632778762754458); /* 1.100000 */
v28.i = G_GUINT64_CONSTANT(4676027789617397760); /* 42164.000000 */
v29.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v30.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v31.i = G_GUINT64_CONSTANT(4652042493213278208); /* 1004.000000 */
v32.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v33.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v35.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v36.i = G_GUINT64_CONSTANT(4609434218613702656); /* 1.500000 */
v37.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v38.i = G_GUINT64_CONSTANT(4652033697120256000); /* 1003.000000 */
v39.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v41.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v42.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v43.i = G_GUINT64_CONSTANT(4652024901027233792); /* 1002.000000 */
v44.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v46.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v47.i = G_GUINT64_CONSTANT(4652016104934211584); /* 1001.000000 */
v48.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v50.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v52.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v53.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v54.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v55.i = G_GUINT64_CONSTANT(4708691161932365824); /* 6457000.000000 */
v57.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v59.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v60.i = G_GUINT64_CONSTANT(13931955824604741632); /* -6357000.000000 */
v62.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v64.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v66.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v67.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v69.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v70.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v71.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v72.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v74.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v75.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v77.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v78.i = G_GUINT64_CONSTANT(4710731271397965824); /* 8357000.000000 */
v80.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v81.i = G_GUINT64_CONSTANT(4708583787749965824); /* 6357000.000000 */
v83.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v84.i = G_GUINT64_CONSTANT(4708798536114765824); /* 6557000.000000 */
v86.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v88.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v89.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v90.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v91.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v92.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v93.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v94.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v95.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v96.i = G_GUINT64_CONSTANT(4977561924064720455); /* 5999999999999999899336704.000000 */
v98.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v99.i = G_GUINT64_CONSTANT(4454720405870426065); /* 0.000000 */
v100.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v101.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v102.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v103.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v104.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v105.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v106.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v107.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v108.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v109.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v110.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v111.i = G_GUINT64_CONSTANT(13887705239773928485); /* -6922.335359 */
v113.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v114.i = G_GUINT64_CONSTANT(13885282996472059492); /* -4719.317909 */
v116.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v117.i = G_GUINT64_CONSTANT(13888686660972151467); /* -7814.932739 */
v119.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v121.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v122.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v123.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v124.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v125.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v126.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v127.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v128.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v129.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v130.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v131.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v132.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v133.i = G_GUINT64_CONSTANT(13888752942495952064); /* -7875.215433 */
v135.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v137.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v139.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v141.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v143.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v144.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v145.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v146.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v147.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v148.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v149.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v150.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v151.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v152.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v153.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v155.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v156.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v157.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v158.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v159.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v160.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v161.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v163.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v164.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v166.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v167.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v168.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v169.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v170.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v171.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v172.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v173.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v174.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v175.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v176.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v177.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v178.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v179.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v180.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v181.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v182.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v183.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v184.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v185.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v186.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v187.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v188.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v189.i = G_GUINT64_CONSTANT(4607182418800017408); /* 1.000000 */
v191.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v193.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v195.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v197.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v199.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v200.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v202.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v203.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v205.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v206.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v207.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v208.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v210.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v212.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v213.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v214.i = G_GUINT64_CONSTANT(4666723172467343360); /* 10000.000000 */
v216.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v217.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v218.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v219.i = G_GUINT64_CONSTANT(4627730092099895296); /* 25.000000 */
v220.i = G_GUINT64_CONSTANT(4631530004285489152); /* 45.000000 */
v221.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v222.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v223.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v224.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v225.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v226.i = G_GUINT64_CONSTANT(4651127699538968576); /* 900.000000 */
v227.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v228.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v230.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v231.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v232.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v234.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v235.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v237.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v238.i = G_GUINT64_CONSTANT(4708583787749965824); /* 6357000.000000 */
v239.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v241.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v242.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v248.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v249.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
@ -225,7 +63,8 @@ void ovm_init() {
v265.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
}
void ovm_step(guint scenario, gdouble *in, gdouble *out) {
void ovm_step(guint scenario, gdouble *__restrict__ in, gdouble *__restrict__ out) {
double_int v1, v4, v5, v7, v8, v9, v11, v12, v14, v15, v18, v20, v22, v24, v25, v26, v29, v30, v32, v33, v35, v37, v39, v41, v42, v44, v46, v48, v50, v52, v53, v57, v59, v62, v64, v66, v67, v69, v70, v71, v72, v74, v75, v77, v80, v83, v86, v88, v89, v90, v91, v92, v93, v94, v95, v98, v100, v101, v102, v103, v104, v105, v106, v107, v108, v109, v110, v113, v116, v119, v121, v122, v123, v124, v125, v126, v127, v128, v129, v130, v131, v132, v135, v137, v139, v141, v143, v144, v145, v146, v147, v148, v149, v150, v151, v152, v153, v155, v156, v157, v158, v159, v160, v161, v163, v164, v166, v167, v168, v169, v170, v171, v172, v173, v174, v175, v176, v177, v178, v179, v180, v181, v182, v183, v184, v185, v186, v187, v188, v191, v193, v195, v197, v199, v200, v202, v203, v205, v206, v207, v208, v210, v212, v213, v216, v217, v218, v221, v222, v223, v224, v225, v227, v228, v230, v231, v232, v234, v235, v237, v239, v241;
v1.d = v265.d;
v4.d = v248.d;
v5.d = v4.d - v3.d;

View File

@ -7,295 +7,44 @@ static gboolean ovm_status;
const guint ovm_outs = 6, ovm_ins = 4;
static double_int v0, v1, v2, v3, v4, v5, v7, v8, v9, v11, v12, v14, v15, v16, v17, v19, v20, v22, v24, v25, v26, v27, v28, v29, v30, v31, v33, v34, v35, v37, v38, v39, v40, v42, v43, v44, v46, v48, v49, v51, v52, v53, v54, v56, v57, v59, v60, v62, v64, v66, v67, v69, v70, v71, v72, v73, v74, v75, v76, v77, v78, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v91, v92, v94, v95, v97, v99, v100, v101, v102, v103, v104, v105, v106, v108, v109, v110, v112, v113, v114, v116, v117, v118, v120, v122, v124, v126, v128, v130, v131, v132, v133, v135, v137, v138, v140, v141, v143, v145, v147, v149, v151, v153, v154, v155, v156, v157, v158, v159, v160, v161, v162, v163, v164, v165, v166, v168, v169, v171, v172, v174, v176, v178, v180, v182, v184, v185, v186, v187, v188, v189, v190, v191, v192, v193, v195, v197, v198, v200, v202, v204, v205, v206, v207, v208, v209, v210, v211, v212, v213, v214, v216, v218, v220, v222, v224, v226, v228, v230, v232, v233, v234, v235, v236, v237, v238, v239, v240, v241, v242, v243, v244, v245, v247, v248, v250, v251, v252, v253, v254, v255, v256, v257, v258, v259, v260, v261, v262, v263, v264, v265, v266, v267, v268, v269, v270, v271, v273, v275, v277, v279, v281, v282, v283, v284, v285, v286, v287, v288, v289, v290, v291, v292, v293, v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v305, v307, v309, v311, v313, v315, v317, v319, v321, v322, v324, v325, v327, v328, v329, v330, v331, v332, v334, v336, v337, v338, v340, v341, v342, v343, v344, v345, v346, v347, v348, v349, v350, v351, v352, v354, v355, v356, v358, v359, v361, v362, v363, v364, v365, v366, v367, v368, v369, v371, v372, v379, v380, v381, v382, v383, v384, v385, v386, v387, v388, v389, v390, v391, v392, v393, v394, v395, v396, v397, v398, v399, v400;
static double_int v0, v2, v3, v15, v17, v27, v28, v29, v34, v38, v39, v43, v57, v60, v76, v78, v89, v92, v95, v104, v138, v141, v169, v172, v193, v198, v214, v271, v338, v343, v344, v350, v362, v372, v379, v380, v381, v382, v383, v384, v385, v386, v387, v388, v389, v390, v391, v392, v393, v394, v395, v396, v397, v398, v399, v400;
void ovm_init() {
ovm_status = FALSE;
v0.i = G_GUINT64_CONSTANT(4607182418800017408); /* 1.000000 */
v1.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v2.i = G_GUINT64_CONSTANT(4629137466983448576); /* 30.000000 */
v3.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v4.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v5.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v7.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v8.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v9.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v11.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v12.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v14.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v15.i = G_GUINT64_CONSTANT(4611686018427387904); /* 2.000000 */
v16.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v17.i = G_GUINT64_CONSTANT(4652007308841189376); /* 1000.000000 */
v19.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v20.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v22.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v24.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v25.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v26.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v27.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v28.i = G_GUINT64_CONSTANT(4710731271397965824); /* 8357000.000000 */
v29.i = G_GUINT64_CONSTANT(4656528500654604288); /* 2004.000000 */
v30.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v31.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v33.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v34.i = G_GUINT64_CONSTANT(4656524102608093184); /* 2003.000000 */
v35.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v37.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v38.i = G_GUINT64_CONSTANT(13931955824604741632); /* -6357000.000000 */
v39.i = G_GUINT64_CONSTANT(4656519704561582080); /* 2002.000000 */
v40.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v42.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v43.i = G_GUINT64_CONSTANT(4656515306515070976); /* 2001.000000 */
v44.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v46.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v48.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v49.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v51.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v52.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v53.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v54.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v56.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v57.i = G_GUINT64_CONSTANT(4709657529573965824); /* 7357000.000000 */
v59.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v60.i = G_GUINT64_CONSTANT(4723801030825869312); /* 63570000.000000 */
v62.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v64.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v66.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v67.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v69.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v70.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v71.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v72.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v73.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v74.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v75.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v76.i = G_GUINT64_CONSTANT(4454720405870426065); /* 0.000000 */
v77.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v78.i = G_GUINT64_CONSTANT(4977561924064720455); /* 5999999999999999899336704.000000 */
v80.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v81.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v82.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v83.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v84.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v85.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v86.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v87.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v88.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v89.i = G_GUINT64_CONSTANT(13888206039281662492); /* -7377.809857 */
v91.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v92.i = G_GUINT64_CONSTANT(13881068685215932186); /* -2491.212075 */
v94.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v95.i = G_GUINT64_CONSTANT(13887705239773928485); /* -6922.335359 */
v97.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v99.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v100.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v101.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v102.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v103.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v104.i = G_GUINT64_CONSTANT(4708691161932365824); /* 6457000.000000 */
v105.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v106.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v108.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v109.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v110.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v112.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v113.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v114.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v116.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v117.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v118.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v120.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v122.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v124.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v126.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v128.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v130.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v131.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v132.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v133.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v135.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v137.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v138.i = G_GUINT64_CONSTANT(4708583787749965824); /* 6357000.000000 */
v140.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v141.i = G_GUINT64_CONSTANT(4708798536114765824); /* 6557000.000000 */
v143.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v145.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v147.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v149.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v151.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v153.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v154.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v155.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v156.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v157.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v158.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v159.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v160.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v161.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v162.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v163.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v164.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v165.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v166.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v168.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v169.i = G_GUINT64_CONSTANT(13885282996472059492); /* -4719.317909 */
v171.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v172.i = G_GUINT64_CONSTANT(13888686660972151467); /* -7814.932739 */
v174.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v176.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v178.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v180.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v182.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v184.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v185.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v186.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v187.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v188.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v189.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v190.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v191.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v192.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v193.i = G_GUINT64_CONSTANT(4664333202919152677); /* 6922.335359 */
v195.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v197.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v198.i = G_GUINT64_CONSTANT(13866341226678910608); /* -249.121207 */
v200.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v202.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v204.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v205.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v206.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v207.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v208.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v209.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v210.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v211.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v212.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v213.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v214.i = G_GUINT64_CONSTANT(4665380905641176256); /* 7875.215433 */
v216.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v218.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v220.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v222.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v224.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v226.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v228.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v230.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v232.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v233.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v234.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v235.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v236.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v237.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v238.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v239.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v240.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v241.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v242.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v243.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v244.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v245.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v247.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v248.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v250.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v251.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v252.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v253.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v254.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v255.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v256.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v257.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v258.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v259.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v260.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v261.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v262.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v263.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v264.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v265.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v266.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v267.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v268.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v269.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v270.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v271.i = G_GUINT64_CONSTANT(4607182418800017408); /* 1.000000 */
v273.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v275.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v277.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v279.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v281.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v282.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v283.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v284.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v285.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v286.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v287.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v288.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v289.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v290.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v291.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v292.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v293.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v294.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v295.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v296.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v297.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v298.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v299.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v300.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v301.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v302.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v303.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v305.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v307.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v309.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v311.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v313.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v315.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v317.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v319.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v321.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v322.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v324.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v325.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v327.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v328.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v329.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v330.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v331.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v332.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v334.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v336.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v337.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v338.i = G_GUINT64_CONSTANT(4677104761256804352); /* 50000.000000 */
v340.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v341.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v342.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v343.i = G_GUINT64_CONSTANT(4627730092099895296); /* 25.000000 */
v344.i = G_GUINT64_CONSTANT(4631530004285489152); /* 45.000000 */
v345.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v346.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v347.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v348.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v349.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v350.i = G_GUINT64_CONSTANT(4651127699538968576); /* 900.000000 */
v351.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v352.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v354.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v355.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v356.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v358.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v359.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v361.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v362.i = G_GUINT64_CONSTANT(4708583787749965824); /* 6357000.000000 */
v363.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v364.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v365.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v366.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v367.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v368.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v369.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v371.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v372.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v379.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v380.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
@ -321,7 +70,8 @@ void ovm_init() {
v400.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
}
void ovm_step(guint scenario, gdouble *in, gdouble *out) {
void ovm_step(guint scenario, gdouble *__restrict__ in, gdouble *__restrict__ out) {
double_int v1, v4, v5, v7, v8, v9, v11, v12, v14, v16, v19, v20, v22, v24, v25, v26, v30, v31, v33, v35, v37, v40, v42, v44, v46, v48, v49, v51, v52, v53, v54, v56, v59, v62, v64, v66, v67, v69, v70, v71, v72, v73, v74, v75, v77, v80, v81, v82, v83, v84, v85, v86, v87, v88, v91, v94, v97, v99, v100, v101, v102, v103, v105, v106, v108, v109, v110, v112, v113, v114, v116, v117, v118, v120, v122, v124, v126, v128, v130, v131, v132, v133, v135, v137, v140, v143, v145, v147, v149, v151, v153, v154, v155, v156, v157, v158, v159, v160, v161, v162, v163, v164, v165, v166, v168, v171, v174, v176, v178, v180, v182, v184, v185, v186, v187, v188, v189, v190, v191, v192, v195, v197, v200, v202, v204, v205, v206, v207, v208, v209, v210, v211, v212, v213, v216, v218, v220, v222, v224, v226, v228, v230, v232, v233, v234, v235, v236, v237, v238, v239, v240, v241, v242, v243, v244, v245, v247, v248, v250, v251, v252, v253, v254, v255, v256, v257, v258, v259, v260, v261, v262, v263, v264, v265, v266, v267, v268, v269, v270, v273, v275, v277, v279, v281, v282, v283, v284, v285, v286, v287, v288, v289, v290, v291, v292, v293, v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v305, v307, v309, v311, v313, v315, v317, v319, v321, v322, v324, v325, v327, v328, v329, v330, v331, v332, v334, v336, v337, v340, v341, v342, v345, v346, v347, v348, v349, v351, v352, v354, v355, v356, v358, v359, v361, v363, v364, v365, v366, v367, v368, v369, v371;
v1.d = v400.d;
v4.d = v379.d;
v5.d = v4.d - v3.d;

View File

@ -7,305 +7,50 @@ static gboolean ovm_status;
const guint ovm_outs = 6, ovm_ins = 4;
static double_int v0, v1, v2, v3, v4, v5, v7, v8, v9, v11, v12, v14, v15, v16, v17, v19, v20, v22, v24, v25, v26, v27, v28, v29, v30, v31, v33, v34, v35, v37, v38, v39, v40, v42, v43, v44, v46, v48, v49, v51, v52, v53, v54, v56, v57, v59, v60, v62, v64, v66, v67, v69, v70, v71, v72, v73, v74, v75, v76, v77, v78, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v91, v92, v94, v95, v97, v99, v100, v101, v102, v103, v104, v105, v106, v107, v109, v110, v111, v112, v114, v115, v116, v117, v119, v120, v121, v122, v124, v125, v127, v128, v130, v131, v133, v134, v136, v138, v139, v140, v141, v143, v145, v146, v148, v149, v151, v153, v155, v157, v159, v161, v162, v163, v164, v165, v166, v167, v168, v169, v170, v171, v172, v173, v174, v175, v177, v178, v180, v181, v183, v185, v187, v189, v191, v193, v194, v195, v196, v197, v198, v199, v200, v201, v202, v204, v206, v207, v209, v211, v213, v214, v215, v216, v217, v218, v219, v220, v221, v222, v223, v225, v227, v229, v231, v233, v235, v237, v239, v241, v242, v243, v244, v245, v246, v247, v248, v249, v250, v251, v252, v253, v254, v256, v257, v259, v260, v261, v262, v263, v264, v265, v266, v267, v268, v269, v270, v271, v272, v273, v274, v275, v276, v277, v278, v279, v280, v282, v284, v286, v288, v290, v291, v292, v293, v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, v305, v306, v307, v308, v309, v310, v311, v312, v314, v316, v318, v320, v322, v324, v326, v328, v330, v331, v333, v334, v336, v337, v338, v339, v340, v341, v343, v345, v346, v347, v349, v350, v351, v352, v353, v354, v355, v356, v357, v358, v359, v360, v361, v362, v364, v365, v366, v368, v369, v371, v372, v373, v374, v375, v376, v377, v378, v379, v381, v382, v389, v390, v391, v392, v393, v394, v395, v396, v397, v398, v399, v400, v401, v402, v403, v404, v405, v406, v407, v408, v409, v410;
static double_int v0, v2, v3, v15, v17, v27, v28, v29, v34, v38, v39, v43, v57, v60, v76, v78, v89, v92, v95, v104, v105, v110, v115, v120, v146, v149, v175, v178, v181, v202, v207, v223, v280, v347, v352, v353, v354, v360, v372, v382, v389, v390, v391, v392, v393, v394, v395, v396, v397, v398, v399, v400, v401, v402, v403, v404, v405, v406, v407, v408, v409, v410;
void ovm_init() {
ovm_status = FALSE;
v0.i = G_GUINT64_CONSTANT(4607182418800017408); /* 1.000000 */
v1.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v2.i = G_GUINT64_CONSTANT(4629137466983448576); /* 30.000000 */
v3.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v4.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v5.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v7.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v8.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v9.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v11.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v12.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v14.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v15.i = G_GUINT64_CONSTANT(4611686018427387904); /* 2.000000 */
v16.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v17.i = G_GUINT64_CONSTANT(4652007308841189376); /* 1000.000000 */
v19.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v20.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v22.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v24.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v25.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v26.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v27.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v28.i = G_GUINT64_CONSTANT(4710731271397965824); /* 8357000.000000 */
v29.i = G_GUINT64_CONSTANT(4658824280933400576); /* 3004.000000 */
v30.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v31.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v33.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v34.i = G_GUINT64_CONSTANT(4658822081910145024); /* 3003.000000 */
v35.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v37.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v38.i = G_GUINT64_CONSTANT(13931955824604741632); /* -6357000.000000 */
v39.i = G_GUINT64_CONSTANT(4658819882886889472); /* 3002.000000 */
v40.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v42.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v43.i = G_GUINT64_CONSTANT(4658817683863633920); /* 3001.000000 */
v44.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v46.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v48.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v49.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v51.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v52.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v53.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v54.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v56.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v57.i = G_GUINT64_CONSTANT(4709657529573965824); /* 7357000.000000 */
v59.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v60.i = G_GUINT64_CONSTANT(4723801030825869312); /* 63570000.000000 */
v62.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v64.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v66.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v67.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v69.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v70.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v71.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v72.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v73.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v74.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v75.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v76.i = G_GUINT64_CONSTANT(4454720405870426065); /* 0.000000 */
v77.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v78.i = G_GUINT64_CONSTANT(4977561924064720455); /* 5999999999999999899336704.000000 */
v80.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v81.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v82.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v83.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v84.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v85.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v86.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v87.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v88.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v89.i = G_GUINT64_CONSTANT(13890276042591294842); /* -10328.933800 */
v91.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v92.i = G_GUINT64_CONSTANT(13880520861887188785); /* -2242.090867 */
v94.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v95.i = G_GUINT64_CONSTANT(13888466358595734467); /* -7614.568894 */
v97.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v99.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v100.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v101.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v102.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v103.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v104.i = G_GUINT64_CONSTANT(4708691161932365824); /* 6457000.000000 */
v105.i = G_GUINT64_CONSTANT(4656528500654604288); /* 2004.000000 */
v106.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v107.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v109.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v110.i = G_GUINT64_CONSTANT(4656524102608093184); /* 2003.000000 */
v111.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v112.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v114.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v115.i = G_GUINT64_CONSTANT(4656519704561582080); /* 2002.000000 */
v116.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v117.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v119.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v120.i = G_GUINT64_CONSTANT(4656515306515070976); /* 2001.000000 */
v121.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v122.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v124.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v125.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v127.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v128.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v130.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v131.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v133.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v134.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v136.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v138.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v139.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v140.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v141.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v143.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v145.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v146.i = G_GUINT64_CONSTANT(4708583787749965824); /* 6357000.000000 */
v148.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v149.i = G_GUINT64_CONSTANT(4708798536114765824); /* 6557000.000000 */
v151.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v153.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v155.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v157.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v159.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v161.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v162.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v163.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v164.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v165.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v166.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v167.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v168.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v169.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v170.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v171.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v172.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v173.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v174.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v175.i = G_GUINT64_CONSTANT(13887705239773928485); /* -6922.335359 */
v177.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v178.i = G_GUINT64_CONSTANT(13885282996472059492); /* -4719.317909 */
v180.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v181.i = G_GUINT64_CONSTANT(13888686660972151467); /* -7814.932739 */
v183.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v185.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v187.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v189.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v191.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v193.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v194.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v195.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v196.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v197.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v198.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v199.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v200.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v201.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v202.i = G_GUINT64_CONSTANT(4665094321740958659); /* 7614.568894 */
v204.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v206.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v207.i = G_GUINT64_CONSTANT(13865464709352921167); /* -224.209087 */
v209.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v211.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v213.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v214.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v215.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v216.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v217.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v218.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v219.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v220.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v221.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v222.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v223.i = G_GUINT64_CONSTANT(4665380905641176256); /* 7875.215433 */
v225.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v227.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v229.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v231.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v233.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v235.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v237.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v239.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v241.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v242.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v243.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v244.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v245.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v246.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v247.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v248.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v249.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v250.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v251.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v252.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v253.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v254.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v256.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v257.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v259.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v260.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v261.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v262.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v263.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v264.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v265.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v266.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v267.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v268.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v269.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v270.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v271.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v272.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v273.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v274.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v275.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v276.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v277.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v278.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v279.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v280.i = G_GUINT64_CONSTANT(4607182418800017408); /* 1.000000 */
v282.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v284.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v286.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v288.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v290.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v291.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v292.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v293.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v294.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v295.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v296.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v297.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v298.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v299.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v300.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v301.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v302.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v303.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v304.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v305.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v306.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v307.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v308.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v309.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v310.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v311.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v312.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v314.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v316.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v318.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v320.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v322.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v324.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v326.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v328.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v330.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v331.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v333.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v334.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v336.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v337.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v338.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v339.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v340.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v341.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v343.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v345.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v346.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v347.i = G_GUINT64_CONSTANT(4677104761256804352); /* 50000.000000 */
v349.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v350.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v351.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v352.i = G_GUINT64_CONSTANT(4616189618054758400); /* 4.000000 */
v353.i = G_GUINT64_CONSTANT(4627730092099895296); /* 25.000000 */
v354.i = G_GUINT64_CONSTANT(4631530004285489152); /* 45.000000 */
v355.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v356.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v357.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v358.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v359.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v360.i = G_GUINT64_CONSTANT(4651127699538968576); /* 900.000000 */
v361.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v362.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v364.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v365.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v366.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v368.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v369.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v371.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v372.i = G_GUINT64_CONSTANT(4708583787749965824); /* 6357000.000000 */
v373.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v374.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v375.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v376.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v377.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v378.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v379.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v381.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v382.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v389.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
v390.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
@ -331,7 +76,8 @@ void ovm_init() {
v410.i = G_GUINT64_CONSTANT(0); /* 0.000000 */
}
void ovm_step(guint scenario, gdouble *in, gdouble *out) {
void ovm_step(guint scenario, gdouble *__restrict__ in, gdouble *__restrict__ out) {
double_int v1, v4, v5, v7, v8, v9, v11, v12, v14, v16, v19, v20, v22, v24, v25, v26, v30, v31, v33, v35, v37, v40, v42, v44, v46, v48, v49, v51, v52, v53, v54, v56, v59, v62, v64, v66, v67, v69, v70, v71, v72, v73, v74, v75, v77, v80, v81, v82, v83, v84, v85, v86, v87, v88, v91, v94, v97, v99, v100, v101, v102, v103, v106, v107, v109, v111, v112, v114, v116, v117, v119, v121, v122, v124, v125, v127, v128, v130, v131, v133, v134, v136, v138, v139, v140, v141, v143, v145, v148, v151, v153, v155, v157, v159, v161, v162, v163, v164, v165, v166, v167, v168, v169, v170, v171, v172, v173, v174, v177, v180, v183, v185, v187, v189, v191, v193, v194, v195, v196, v197, v198, v199, v200, v201, v204, v206, v209, v211, v213, v214, v215, v216, v217, v218, v219, v220, v221, v222, v225, v227, v229, v231, v233, v235, v237, v239, v241, v242, v243, v244, v245, v246, v247, v248, v249, v250, v251, v252, v253, v254, v256, v257, v259, v260, v261, v262, v263, v264, v265, v266, v267, v268, v269, v270, v271, v272, v273, v274, v275, v276, v277, v278, v279, v282, v284, v286, v288, v290, v291, v292, v293, v294, v295, v296, v297, v298, v299, v300, v301, v302, v303, v304, v305, v306, v307, v308, v309, v310, v311, v312, v314, v316, v318, v320, v322, v324, v326, v328, v330, v331, v333, v334, v336, v337, v338, v339, v340, v341, v343, v345, v346, v349, v350, v351, v355, v356, v357, v358, v359, v361, v362, v364, v365, v366, v368, v369, v371, v373, v374, v375, v376, v377, v378, v379, v381;
v1.d = v410.d;
v4.d = v389.d;
v5.d = v4.d - v3.d;

File diff suppressed because one or more lines are too long