shithub: mc

Download patch

ref: d68cb921e334d6fd802d6ae93398d6324cb784ff
parent: 2b398fd1053b03888f400011dda46d4e36986876
author: S. Gilles <sgilles@umd.edu>
date: Sat Jun 20 17:55:49 EDT 2020

Add tests for abi conformity.

Tests 001 through 003 are specific errors, and 004 through 006 are
batches of blanket fuzzing that uncovered at least one error each. The
blanket fuzzers test function calls between all combinations of
{myrddin, c} and {myrddin, c}, except for c functions calling c
functions.

--- /dev/null
+++ b/test/abi/001_in-c.glue.c
@@ -1,0 +1,25 @@
+/* CFLAGS: -I/usr/include/ */
+/* CFLAGS: -I/usr/include */
+/* LIBS: c */
+
+#include <stdint.h>
+#include "001_types.h"
+
+extern t1 fn_1_myr(void);
+
+t1
+fn_1_c(void)
+{
+    return (t1) {.field_1=(t2) {.field_1=249229305184256,.field_2=3.36328125}};
+}
+
+int
+const check_c_to_myr_fns(void)
+{
+    t1 ret_1 = fn_1_myr();
+    if (!(((ret_1.field_1.field_1==249229305184256) && (ret_1.field_1.field_2==3.36328125)))) {
+        return -1;
+    }
+
+    return 0;
+}
--- /dev/null
+++ b/test/abi/001_in-c.myr
@@ -1,0 +1,7 @@
+use std
+use "001_types"
+
+pkg = 
+    extern const fn_1_c : ( -> t1)
+    extern const check_c_to_myr_fns : (-> int)
+;;
--- /dev/null
+++ b/test/abi/001_in-myr.myr
@@ -1,0 +1,11 @@
+use std
+use "001_types"
+
+pkg =
+    const fn_1_myr : ( -> t1)
+;;
+
+const fn_1_myr = { 
+    -> [.field_1=(249229305184256,3.36328125)]
+}
+
--- /dev/null
+++ b/test/abi/001_main.myr
@@ -1,0 +1,29 @@
+use std
+use "001_types"
+use "001_in-myr"
+use "001_in-c"
+
+const main = {
+    /* myr calling myr */
+    var ret_1 : t1 = fn_1_myr()
+    if !(((ret_1.field_1.0==249229305184256) && (ret_1.field_1.1==3.36328125)))
+        std.put("ret_1 = {}\n", ret_1)
+        std.put("myr_to_myr 1 failed\n")
+        std.exit(1)
+    ;;
+
+    /* myr calling c */
+    ret_1 = fn_1_c()
+    if !(((ret_1.field_1.0==249229305184256) && (ret_1.field_1.1==3.36328125)))
+        std.put("ret_1 = {}\n", ret_1)
+        std.put("myr_to_c 1 failed\n")
+        std.exit(1)
+    ;;
+
+    if !(check_c_to_myr_fns() == 0)
+        std.put("c_to_myr failed\n")
+        std.exit(1)
+    ;;
+
+    std.exit(0)
+}
--- /dev/null
+++ b/test/abi/001_types.h
@@ -1,0 +1,2 @@
+typedef struct {uint64_t field_1;double field_2;} t2;
+typedef struct {t2 field_1;} t1;
--- /dev/null
+++ b/test/abi/001_types.myr
@@ -1,0 +1,5 @@
+pkg =
+        type t1 = struct
+                field_1 : (uint64,flt64)
+        ;;
+;;
--- /dev/null
+++ b/test/abi/002_main.myr
@@ -1,0 +1,24 @@
+use std
+
+pkg =
+        type foo = struct
+                bar : uint32
+        ;;
+;;
+
+const main = {
+        var a : foo = [.bar = 158747960]
+        call_me(a)
+
+        /*
+         * If argument alignment is not respected, the above will stuff
+         * all eight bytes of %rdi into four bytes of stack, and the
+         * overflow will clobber enough to cause a segfault. Explicitly
+         * exiting via std.exit(0) will mask this failure, however.
+         */
+}
+
+
+const call_me = { a : foo
+        -> void
+}
--- /dev/null
+++ b/test/abi/003_main.myr
@@ -1,0 +1,78 @@
+use std
+
+pkg =
+        type t1 = struct
+                a : uint64
+        ;;
+        type t2 = struct
+                f : uint8
+        ;;
+        type t3 = struct
+                a : uint64
+                b : uint64
+        ;;
+        type t4 = struct
+                dummy1 : uint8
+                dummy2 : uint8
+                dummy3 : uint8
+                dummy4 : uint8
+                f : uint8
+        ;;
+;;
+
+const main = {
+        var a : t1 = [.a=6]
+        var ret : t2
+
+        /* This one succeeds */
+        ret = fn_10_myr(a)
+
+        /*
+         * This one fails if gencall is too sloppy with the return type.
+         * Since t2 is so small, we might have clobbered the value of a.
+         */
+        ret = fn_10_myr(a)
+
+        if ret.f != 1
+                std.exit(1)
+        ;;
+
+        /*
+         * Now again, for slightly bigger types. This one probably won't
+         * happen due to the way the structs are aligned on stack, no
+         * matter how sloppy gencall gets.
+         */
+        var b : t3 = [ .a = 12, .b = 24 ]
+        var ret2 : t4
+        ret = fn_11_myr(b)
+        ret = fn_11_myr(b)
+
+        if ret.f != 1
+                std.exit(1)
+        ;;
+
+        std.exit(0)
+}
+
+
+const fn_10_myr = { a : t1
+        if a.a != 6
+                goto bad
+        ;;
+
+        -> [.f=1]
+
+:bad
+        -> [.f=2]
+}
+
+const fn_11_myr = { b : t3
+        if b.a != 12 || b.b != 24
+                goto bad
+        ;;
+
+        -> [.f=1]
+
+:bad
+        -> [.f=2]
+}
--- /dev/null
+++ b/test/abi/004_in-c.glue.c
@@ -1,0 +1,443 @@
+/* CFLAGS: -I/usr/include/ */
+/* CFLAGS: -I/usr/include */
+/* LIBS: c */
+
+#include <stdint.h>
+#include "004_types.h"
+
+extern t2 fn_1_myr(double a1);
+extern uint64_t fn_2_myr(double a1, t4 a2, t1 a3, t5 a4);
+extern t13 fn_3_myr(t1 a1, t3 a2, t7 a3, t4 a4, t9 a5, uint8_t a6, float a7, float a8);
+extern t19 fn_4_myr(t16 a1);
+extern t29 fn_5_myr(uint32_t a1, t11 a2, t21 a3, t23 a4, t24 a5, uint32_t a6, double a7, t26 a8, t27 a9, t28 a10);
+extern uint32_t fn_6_myr(t20 a1, t15 a2);
+extern t37 fn_7_myr(double a1, double a2, t31 a3, t21 a4, double a5, float a6, t35 a7, uint64_t a8);
+extern t42 fn_8_myr(t38 a1, t39 a2, double a3, uint8_t a4);
+extern uint64_t fn_9_myr(t46 a1, float a2, t26 a3, t47 a4, t48 a5, t54 a6, uint32_t a7, float a8, t55 a9, t56 a10);
+extern t3 fn_10_myr(uint64_t a1, double a2, t61 a3, uint8_t a4, t62 a5, uint8_t a6, double a7, uint64_t a8);
+
+t2
+fn_1_c(double a1)
+{
+    if (!(a1==-0.26171875)) {
+        goto bad;
+    }
+
+    return (t2) {.field_1=12459410325504,.field_2=98659448520704,.field_3=(t1) {.field_1=166,.field_2=107,.field_3=0.140625,.field_4=92389009653760},.field_4=-3.140625,.field_5=(t1) {.field_1=157,.field_2=191,.field_3=1.125,.field_4=644801363968}};
+
+bad:
+    return (t2) {.field_1=238850629042176,.field_2=48799761170432,.field_3=(t1) {.field_1=120,.field_2=183,.field_3=1.109375,.field_4=182937149505536},.field_4=3.46875,.field_5=(t1) {.field_1=140,.field_2=106,.field_3=-0.4375,.field_4=114576194142208}};
+}
+
+uint64_t
+fn_2_c(double a1, t4 a2, t1 a3, t5 a4)
+{
+    if (!(a1==-3.80078125)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==2.8203125) && (a2.field_2==1.40625) && ((a2.field_3.field_1==281155744301057) && ((a2.field_3.field_2.field_1==201484396396544) && (a2.field_3.field_2.field_2==167610483867648) && ((a2.field_3.field_2.field_3.field_1==241) && (a2.field_3.field_2.field_3.field_2==67) && (a2.field_3.field_2.field_3.field_3==-1.546875) && (a2.field_3.field_2.field_3.field_4==85217436499968)) && (a2.field_3.field_2.field_4==1.33203125) && ((a2.field_3.field_2.field_5.field_1==115) && (a2.field_3.field_2.field_5.field_2==174) && (a2.field_3.field_2.field_5.field_3==0.578125) && (a2.field_3.field_2.field_5.field_4==108879745908736))) && ((a2.field_3.field_3.field_1==46) && (a2.field_3.field_3.field_2==0) && (a2.field_3.field_3.field_3==0.484375) && (a2.field_3.field_3.field_4==41200816095232)) && (a2.field_3.field_4==1.640625) && (a2.field_3.field_5==4163457034)))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==179) && (a3.field_2==82) && (a3.field_3==0.796875) && (a3.field_4==149846806626304))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==132525092503552) && (a4.field_2==-1.3125))) {
+        goto bad;
+    }
+
+    return 132205860093952;
+
+bad:
+    return 224271076950016;
+}
+
+t13
+fn_3_c(t1 a1, t3 a2, t7 a3, t4 a4, t9 a5, uint8_t a6, float a7, float a8)
+{
+    if (!((a1.field_1==211) && (a1.field_2==183) && (a1.field_3==0.71875) && (a1.field_4==77205130182656))) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==186084876091392) && ((a2.field_2.field_1==162500698177536) && (a2.field_2.field_2==117147867938816) && ((a2.field_2.field_3.field_1==81) && (a2.field_2.field_3.field_2==185) && (a2.field_2.field_3.field_3==-1.171875) && (a2.field_2.field_3.field_4==80629570863104)) && (a2.field_2.field_4==-2.453125) && ((a2.field_2.field_5.field_1==49) && (a2.field_2.field_5.field_2==253) && (a2.field_2.field_5.field_3==0.03125) && (a2.field_2.field_5.field_4==266183655817216))) && ((a2.field_3.field_1==133) && (a2.field_3.field_2==78) && (a2.field_3.field_3==-1.15625) && (a2.field_3.field_4==208468516143104)) && (a2.field_4==0.625) && (a2.field_5==2593151244))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==104) && (a3.field_2==E_6_7) && ((a3.field_3.field_1==168319363710976) && (a3.field_3.field_2==1.015625)) && ((a3.field_4.field_1==105329353555968) && (a3.field_4.field_2==49345085177856) && ((a3.field_4.field_3.field_1==61) && (a3.field_4.field_3.field_2==176) && (a3.field_4.field_3.field_3==1.25) && (a3.field_4.field_3.field_4==102963779993600)) && (a3.field_4.field_4==3.734375) && ((a3.field_4.field_5.field_1==21) && (a3.field_4.field_5.field_2==143) && (a3.field_4.field_5.field_3==1.46875) && (a3.field_4.field_5.field_4==167234555215872))))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==3.12890625) && (a4.field_2==0.4375) && ((a4.field_3.field_1==63982214447104) && ((a4.field_3.field_2.field_1==135072305512448) && (a4.field_3.field_2.field_2==67998052515840) && ((a4.field_3.field_2.field_3.field_1==12) && (a4.field_3.field_2.field_3.field_2==71) && (a4.field_3.field_2.field_3.field_3==-0.578125) && (a4.field_3.field_2.field_3.field_4==187813731500032)) && (a4.field_3.field_2.field_4==3.07421875) && ((a4.field_3.field_2.field_5.field_1==205) && (a4.field_3.field_2.field_5.field_2==88) && (a4.field_3.field_2.field_5.field_3==-0.53125) && (a4.field_3.field_2.field_5.field_4==674692464640))) && ((a4.field_3.field_3.field_1==193) && (a4.field_3.field_3.field_2==11) && (a4.field_3.field_3.field_3==0.3125) && (a4.field_3.field_3.field_4==162599899496448)) && (a4.field_3.field_4==-0.62890625) && (a4.field_3.field_5==3331590902)))) {
+        goto bad;
+    }
+
+    if (!((a5.field_1==E_8_5) && (a5.field_2==3187538484))) {
+        goto bad;
+    }
+
+    if (!(a6==90)) {
+        goto bad;
+    }
+
+    if (!(a7==0.125)) {
+        goto bad;
+    }
+
+    if (!(a8==1.203125)) {
+        goto bad;
+    }
+
+    return (t13) {.field_1=650661816,.field_2=(t10) {.field_1=-0.015625,.field_2=2851726420},.field_3=(t11) {.field_1=-3.625,.field_2=(t2) {.field_1=74772813709312,.field_2=112035052126208,.field_3=(t1) {.field_1=41,.field_2=21,.field_3=-0.28125,.field_4=170067893944320},.field_4=0.52734375,.field_5=(t1) {.field_1=81,.field_2=216,.field_3=-0.328125,.field_4=156496708894720}}},.field_4=(t12) {.field_1=(t4) {.field_1=-3.19140625,.field_2=1.515625,.field_3=(t3) {.field_1=236308757348352,.field_2=(t2) {.field_1=263713238548480,.field_2=40608255049728,.field_3=(t1) {.field_1=138,.field_2=142,.field_3=-1.1875,.field_4=100184688558080},.field_4=2.76171875,.field_5=(t1) {.field_1=73,.field_2=65,.field_3=1.28125,.field_4=53591441145856}},.field_3=(t1) {.field_1=54,.field_2=81,.field_3=-0.5,.field_4=200208867524608},.field_4=3.7734375,.field_5=1624457196}},.field_2=(t1) {.field_1=250,.field_2=97,.field_3=0.125,.field_4=16842727882752},.field_3=(t5) {.field_1=222985090629632,.field_2=-1.109375}}};
+
+bad:
+    return (t13) {.field_1=2694026068,.field_2=(t10) {.field_1=-1.21875,.field_2=4260115106},.field_3=(t11) {.field_1=-3.71484375,.field_2=(t2) {.field_1=187395190947840,.field_2=23501456670720,.field_3=(t1) {.field_1=1,.field_2=129,.field_3=-1.5,.field_4=42547396608000},.field_4=-3.53515625,.field_5=(t1) {.field_1=148,.field_2=70,.field_3=-0.296875,.field_4=121552673308672}}},.field_4=(t12) {.field_1=(t4) {.field_1=0.47265625,.field_2=0.5,.field_3=(t3) {.field_1=96003926654976,.field_2=(t2) {.field_1=211416389124096,.field_2=246412730040320,.field_3=(t1) {.field_1=168,.field_2=23,.field_3=0.265625,.field_4=181009723555840},.field_4=-0.2265625,.field_5=(t1) {.field_1=144,.field_2=6,.field_3=-1.53125,.field_4=175496053391360}},.field_3=(t1) {.field_1=208,.field_2=40,.field_3=-0.78125,.field_4=260664153079808},.field_4=-2.7421875,.field_5=1183476516}},.field_2=(t1) {.field_1=151,.field_2=59,.field_3=-0.6875,.field_4=27338362322944},.field_3=(t5) {.field_1=71252360822784,.field_2=-0.203125}}};
+}
+
+t19
+fn_4_c(t16 a1)
+{
+    if (!((a1.field_1==E_14_1) && (a1.field_2==-0.734375) && (a1.field_3==31855997878272) && (a1.field_4==E_15_5))) {
+        goto bad;
+    }
+
+    return (t19) {.field_1=0.03125,.field_2=(t17) {.field_1=(t13) {.field_1=947051528,.field_2=(t10) {.field_1=0.96875,.field_2=241559198},.field_3=(t11) {.field_1=-0.125,.field_2=(t2) {.field_1=22236939157504,.field_2=74920569470976,.field_3=(t1) {.field_1=22,.field_2=25,.field_3=-0.46875,.field_4=99222545367040},.field_4=-2.25,.field_5=(t1) {.field_1=6,.field_2=66,.field_3=0.9375,.field_4=72999681130496}}},.field_4=(t12) {.field_1=(t4) {.field_1=-2.41015625,.field_2=-0.328125,.field_3=(t3) {.field_1=33373226926080,.field_2=(t2) {.field_1=264437028749312,.field_2=41455185559552,.field_3=(t1) {.field_1=58,.field_2=157,.field_3=-1.40625,.field_4=172834173747200},.field_4=2.96484375,.field_5=(t1) {.field_1=47,.field_2=72,.field_3=-0.8125,.field_4=161994014326784}},.field_3=(t1) {.field_1=98,.field_2=191,.field_3=0.9375,.field_4=54448237051904},.field_4=2.390625,.field_5=1201643174}},.field_2=(t1) {.field_1=69,.field_2=18,.field_3=-0.421875,.field_4=104603486781440},.field_3=(t5) {.field_1=119279618490368,.field_2=0.6875}}},.field_2=0.65625,.field_3=125926830637056,.field_4=250},.field_3=E_18_3,.field_4=(t2) {.field_1=198926511898624,.field_2=48406520135680,.field_3=(t1) {.field_1=198,.field_2=211,.field_3=-1.21875,.field_4=259336007450624},.field_4=-3.48828125,.field_5=(t1) {.field_1=185,.field_2=248,.field_3=0.53125,.field_4=170021025611776}}};
+
+bad:
+    return (t19) {.field_1=-1.078125,.field_2=(t17) {.field_1=(t13) {.field_1=4079464194,.field_2=(t10) {.field_1=1.09375,.field_2=3151538724},.field_3=(t11) {.field_1=-1.30078125,.field_2=(t2) {.field_1=167739336687616,.field_2=149124248371200,.field_3=(t1) {.field_1=134,.field_2=102,.field_3=0.96875,.field_4=224961458864128},.field_4=-0.203125,.field_5=(t1) {.field_1=45,.field_2=43,.field_3=1.25,.field_4=252713962045440}}},.field_4=(t12) {.field_1=(t4) {.field_1=1.9921875,.field_2=-0.484375,.field_3=(t3) {.field_1=247192255463424,.field_2=(t2) {.field_1=38160966352896,.field_2=14664874459136,.field_3=(t1) {.field_1=12,.field_2=232,.field_3=1.1875,.field_4=45492371193856},.field_4=2.5859375,.field_5=(t1) {.field_1=238,.field_2=226,.field_3=0.953125,.field_4=168620418269184}},.field_3=(t1) {.field_1=125,.field_2=246,.field_3=0.15625,.field_4=94751226331136},.field_4=1.5234375,.field_5=3789142650}},.field_2=(t1) {.field_1=238,.field_2=57,.field_3=-0.28125,.field_4=94165903343616},.field_3=(t5) {.field_1=9631686328320,.field_2=-0.921875}}},.field_2=2.4140625,.field_3=59577473957888,.field_4=97},.field_3=E_18_5,.field_4=(t2) {.field_1=30816459292672,.field_2=37695797854208,.field_3=(t1) {.field_1=13,.field_2=252,.field_3=-0.71875,.field_4=29337515720704},.field_4=-3.61328125,.field_5=(t1) {.field_1=45,.field_2=251,.field_3=-0.9375,.field_4=2851418144768}}};
+}
+
+t29
+fn_5_c(uint32_t a1, t11 a2, t21 a3, t23 a4, t24 a5, uint32_t a6, double a7, t26 a8, t27 a9, t28 a10)
+{
+    if (!(a1==3491579916)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==2.140625) && ((a2.field_2.field_1==17107741573120) && (a2.field_2.field_2==257014155051008) && ((a2.field_2.field_3.field_1==120) && (a2.field_2.field_3.field_2==241) && (a2.field_2.field_3.field_3==1.078125) && (a2.field_2.field_3.field_4==195206002114560)) && (a2.field_2.field_4==-1.15625) && ((a2.field_2.field_5.field_1==46) && (a2.field_2.field_5.field_2==186) && (a2.field_2.field_5.field_3==0.1875) && (a2.field_2.field_5.field_4==278368438321153))))) {
+        goto bad;
+    }
+
+    if (!((((a3.field_1.field_1.field_1==66) && (a3.field_1.field_1.field_2==239) && (a3.field_1.field_1.field_3==-1.203125) && (a3.field_1.field_1.field_4==89848418926592)) && ((a3.field_1.field_2.field_1==239095841685504) && (a3.field_1.field_2.field_2==165469104898048) && ((a3.field_1.field_2.field_3.field_1==67) && (a3.field_1.field_2.field_3.field_2==177) && (a3.field_1.field_2.field_3.field_3==-0.6875) && (a3.field_1.field_2.field_3.field_4==172891013120000)) && (a3.field_1.field_2.field_4==2.93359375) && ((a3.field_1.field_2.field_5.field_1==2) && (a3.field_1.field_2.field_5.field_2==44) && (a3.field_1.field_2.field_5.field_3==1.140625) && (a3.field_1.field_2.field_5.field_4==266978004566016)))) && (((a3.field_2.field_1.field_1==488880992) && ((a3.field_2.field_1.field_2.field_1==0.1875) && (a3.field_2.field_1.field_2.field_2==4283670802)) && ((a3.field_2.field_1.field_3.field_1==-2.4453125) && ((a3.field_2.field_1.field_3.field_2.field_1==86642904793088) && (a3.field_2.field_1.field_3.field_2.field_2==9550056259584) && ((a3.field_2.field_1.field_3.field_2.field_3.field_1==135) && (a3.field_2.field_1.field_3.field_2.field_3.field_2==40) && (a3.field_2.field_1.field_3.field_2.field_3.field_3==-1.234375) && (a3.field_2.field_1.field_3.field_2.field_3.field_4==14565778391040)) && (a3.field_2.field_1.field_3.field_2.field_4==3.859375) && ((a3.field_2.field_1.field_3.field_2.field_5.field_1==97) && (a3.field_2.field_1.field_3.field_2.field_5.field_2==149) && (a3.field_2.field_1.field_3.field_2.field_5.field_3==0.75) && (a3.field_2.field_1.field_3.field_2.field_5.field_4==208889540378624)))) && (((a3.field_2.field_1.field_4.field_1.field_1==3.3515625) && (a3.field_2.field_1.field_4.field_1.field_2==1.5625) && ((a3.field_2.field_1.field_4.field_1.field_3.field_1==190971227013120) && ((a3.field_2.field_1.field_4.field_1.field_3.field_2.field_1==13441050607616) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_2==89440160972800) && ((a3.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_1==135) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_2==162) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_3==0.25) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_4==62767721873408)) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_4==3.2578125) && ((a3.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_1==49) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_2==25) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_3==1.34375) && (a3.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_4==103776287981568))) && ((a3.field_2.field_1.field_4.field_1.field_3.field_3.field_1==246) && (a3.field_2.field_1.field_4.field_1.field_3.field_3.field_2==223) && (a3.field_2.field_1.field_4.field_1.field_3.field_3.field_3==-0.0625) && (a3.field_2.field_1.field_4.field_1.field_3.field_3.field_4==147071279038464)) && (a3.field_2.field_1.field_4.field_1.field_3.field_4==2.90625) && (a3.field_2.field_1.field_4.field_1.field_3.field_5==2875920810))) && ((a3.field_2.field_1.field_4.field_2.field_1==212) && (a3.field_2.field_1.field_4.field_2.field_2==231) && (a3.field_2.field_1.field_4.field_2.field_3==-0.9375) && (a3.field_2.field_1.field_4.field_2.field_4==278720009601025)) && ((a3.field_2.field_1.field_4.field_3.field_1==4008885223424) && (a3.field_2.field_1.field_4.field_3.field_2==-0.78125)))) && (a3.field_2.field_2==3.78125) && (a3.field_2.field_3==111604690845696) && (a3.field_2.field_4==213)) && (a3.field_3==0.703125) && (a3.field_4==E_15_1) && (a3.field_5==2.0625) && (a3.field_6==1.73828125))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==208) && (a4.field_2==1.30078125) && (a4.field_3==E_14_3) && (a4.field_4==E_22_2))) {
+        goto bad;
+    }
+
+    if (!(a5==E_24_4)) {
+        goto bad;
+    }
+
+    if (!(a6==157825342)) {
+        goto bad;
+    }
+
+    if (!(a7==3.765625)) {
+        goto bad;
+    }
+
+    if (!((((a8.field_1.field_1.field_1==E_8_6) && (a8.field_1.field_1.field_2==3815456600)) && (a8.field_1.field_2==-1.58203125) && (a8.field_1.field_3==16877321453568) && (a8.field_1.field_4==145567904956416) && (a8.field_1.field_5==-0.125) && (a8.field_1.field_6==1.76171875)) && (a8.field_2==171) && (a8.field_3==140444787539968) && (a8.field_4==15))) {
+        goto bad;
+    }
+
+    if (!(a9==E_27_5)) {
+        goto bad;
+    }
+
+    if (!(a10==E_28_3)) {
+        goto bad;
+    }
+
+    return E_29_1;
+
+bad:
+    return E_29_3;
+}
+
+uint32_t
+fn_6_c(t20 a1, t15 a2)
+{
+    if (!(((a1.field_1.field_1==141) && (a1.field_1.field_2==149) && (a1.field_1.field_3==-1.25) && (a1.field_1.field_4==58279295057920)) && ((a1.field_2.field_1==63572928888832) && (a1.field_2.field_2==46145049067520) && ((a1.field_2.field_3.field_1==109) && (a1.field_2.field_3.field_2==59) && (a1.field_2.field_3.field_3==-1.4375) && (a1.field_2.field_3.field_4==89364507131904)) && (a1.field_2.field_4==0.23828125) && ((a1.field_2.field_5.field_1==25) && (a1.field_2.field_5.field_2==213) && (a1.field_2.field_5.field_3==1.546875) && (a1.field_2.field_5.field_4==232592606363648))))) {
+        goto bad;
+    }
+
+    if (!(a2==E_15_6)) {
+        goto bad;
+    }
+
+    return 4008488864;
+
+bad:
+    return 2072402048;
+}
+
+t37
+fn_7_c(double a1, double a2, t31 a3, t21 a4, double a5, float a6, t35 a7, uint64_t a8)
+{
+    if (!(a1==2.84375)) {
+        goto bad;
+    }
+
+    if (!(a2==-3.25390625)) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==-2.56640625) && (a3.field_2==-0.59375) && (a3.field_3==-0.34375) && ((a3.field_4.field_1==83) && (a3.field_4.field_2==-0.8125) && (a3.field_4.field_3==245451030659072) && (a3.field_4.field_4==E_24_1) && (a3.field_4.field_5==0.58203125) && (a3.field_4.field_6==0.734375)))) {
+        goto bad;
+    }
+
+    if (!((((a4.field_1.field_1.field_1==154) && (a4.field_1.field_1.field_2==16) && (a4.field_1.field_1.field_3==1.53125) && (a4.field_1.field_1.field_4==240450872147968)) && ((a4.field_1.field_2.field_1==93431282270208) && (a4.field_1.field_2.field_2==243719039352832) && ((a4.field_1.field_2.field_3.field_1==176) && (a4.field_1.field_2.field_3.field_2==179) && (a4.field_1.field_2.field_3.field_3==1.421875) && (a4.field_1.field_2.field_3.field_4==211285330100224)) && (a4.field_1.field_2.field_4==-2.0546875) && ((a4.field_1.field_2.field_5.field_1==120) && (a4.field_1.field_2.field_5.field_2==11) && (a4.field_1.field_2.field_5.field_3==0.984375) && (a4.field_1.field_2.field_5.field_4==85609800400896)))) && (((a4.field_2.field_1.field_1==3734886520) && ((a4.field_2.field_1.field_2.field_1==-0.03125) && (a4.field_2.field_1.field_2.field_2==4178676130)) && ((a4.field_2.field_1.field_3.field_1==1.4609375) && ((a4.field_2.field_1.field_3.field_2.field_1==278857533489153) && (a4.field_2.field_1.field_3.field_2.field_2==40762444611584) && ((a4.field_2.field_1.field_3.field_2.field_3.field_1==255) && (a4.field_2.field_1.field_3.field_2.field_3.field_2==97) && (a4.field_2.field_1.field_3.field_2.field_3.field_3==-0.09375) && (a4.field_2.field_1.field_3.field_2.field_3.field_4==67201348272128)) && (a4.field_2.field_1.field_3.field_2.field_4==-1.9375) && ((a4.field_2.field_1.field_3.field_2.field_5.field_1==145) && (a4.field_2.field_1.field_3.field_2.field_5.field_2==208) && (a4.field_2.field_1.field_3.field_2.field_5.field_3==1.53125) && (a4.field_2.field_1.field_3.field_2.field_5.field_4==6521111838720)))) && (((a4.field_2.field_1.field_4.field_1.field_1==-0.2265625) && (a4.field_2.field_1.field_4.field_1.field_2==0.28125) && ((a4.field_2.field_1.field_4.field_1.field_3.field_1==24215899865088) && ((a4.field_2.field_1.field_4.field_1.field_3.field_2.field_1==128440090099712) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_2==124968190476288) && ((a4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_1==106) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_2==82) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_3==-1.15625) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_4==33900307021824)) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_4==-1.75390625) && ((a4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_1==226) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_2==91) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_3==0.765625) && (a4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_4==261485102891008))) && ((a4.field_2.field_1.field_4.field_1.field_3.field_3.field_1==43) && (a4.field_2.field_1.field_4.field_1.field_3.field_3.field_2==12) && (a4.field_2.field_1.field_4.field_1.field_3.field_3.field_3==0.9375) && (a4.field_2.field_1.field_4.field_1.field_3.field_3.field_4==185189970870272)) && (a4.field_2.field_1.field_4.field_1.field_3.field_4==-3.73046875) && (a4.field_2.field_1.field_4.field_1.field_3.field_5==2085882880))) && ((a4.field_2.field_1.field_4.field_2.field_1==166) && (a4.field_2.field_1.field_4.field_2.field_2==42) && (a4.field_2.field_1.field_4.field_2.field_3==-0.0625) && (a4.field_2.field_1.field_4.field_2.field_4==8114197757952)) && ((a4.field_2.field_1.field_4.field_3.field_1==179406660042752) && (a4.field_2.field_1.field_4.field_3.field_2==0.6875)))) && (a4.field_2.field_2==-1.7109375) && (a4.field_2.field_3==58423380148224) && (a4.field_2.field_4==136)) && (a4.field_3==-0.71875) && (a4.field_4==E_15_2) && (a4.field_5==-3.87109375) && (a4.field_6==2.8046875))) {
+        goto bad;
+    }
+
+    if (!(a5==-0.3046875)) {
+        goto bad;
+    }
+
+    if (!(a6==0.734375)) {
+        goto bad;
+    }
+
+    if (!(((a7.field_1.field_1==66690558)) && (((a7.field_2.field_1.field_1==201975036641280) && (a7.field_2.field_1.field_2==191791705096192) && ((a7.field_2.field_1.field_3.field_1==188) && (a7.field_2.field_1.field_3.field_2==255) && (a7.field_2.field_1.field_3.field_3==1.21875) && (a7.field_2.field_1.field_3.field_4==75962620575744)) && (a7.field_2.field_1.field_4==-1.81640625) && ((a7.field_2.field_1.field_5.field_1==30) && (a7.field_2.field_1.field_5.field_2==70) && (a7.field_2.field_1.field_5.field_3==-1.171875) && (a7.field_2.field_1.field_5.field_4==122844992372736))) && (a7.field_2.field_2==E_18_6)) && (a7.field_3==E_34_3))) {
+        goto bad;
+    }
+
+    if (!(a8==145924444127232)) {
+        goto bad;
+    }
+
+    return (t37) {.field_1=E_36_2};
+
+bad:
+    return (t37) {.field_1=E_36_3};
+}
+
+t42
+fn_8_c(t38 a1, t39 a2, double a3, uint8_t a4)
+{
+    if (!(a1==E_38_4)) {
+        goto bad;
+    }
+
+    if (!(a2==E_39_1)) {
+        goto bad;
+    }
+
+    if (!(a3==-2.69140625)) {
+        goto bad;
+    }
+
+    if (!(a4==17)) {
+        goto bad;
+    }
+
+    return (t42) {.field_1=86,.field_2=(t40) {.field_1=(t13) {.field_1=3264522662,.field_2=(t10) {.field_1=1.125,.field_2=3024392},.field_3=(t11) {.field_1=2.90625,.field_2=(t2) {.field_1=246587710898176,.field_2=98684395847680,.field_3=(t1) {.field_1=7,.field_2=232,.field_3=-0.25,.field_4=243343254224896},.field_4=1.3828125,.field_5=(t1) {.field_1=123,.field_2=151,.field_3=0.671875,.field_4=230200040620032}}},.field_4=(t12) {.field_1=(t4) {.field_1=-0.5,.field_2=-1.484375,.field_3=(t3) {.field_1=78257571102720,.field_2=(t2) {.field_1=202195772637184,.field_2=21507053977600,.field_3=(t1) {.field_1=42,.field_2=43,.field_3=0.453125,.field_4=259622561644544},.field_4=1.18359375,.field_5=(t1) {.field_1=201,.field_2=220,.field_3=-0.40625,.field_4=87732745404416}},.field_3=(t1) {.field_1=61,.field_2=181,.field_3=-1.34375,.field_4=27713052475392},.field_4=1.640625,.field_5=4052472574}},.field_2=(t1) {.field_1=249,.field_2=15,.field_3=1.484375,.field_4=248514888728576},.field_3=(t5) {.field_1=134716506374144,.field_2=1.046875}}},.field_2=2404422220},.field_3=246,.field_4=(t41) {.field_1=(t20) {.field_1=(t1) {.field_1=109,.field_2=70,.field_3=0.875,.field_4=242714521763840},.field_2=(t2) {.field_1=85381772738560,.field_2=16488017559552,.field_3=(t1) {.field_1=148,.field_2=97,.field_3=-0.859375,.field_4=211742737956864},.field_4=-3.73046875,.field_5=(t1) {.field_1=37,.field_2=103,.field_3=0.96875,.field_4=3251610451968}}},.field_2=E_29_7,.field_3=34127014920192}};
+
+bad:
+    return (t42) {.field_1=64,.field_2=(t40) {.field_1=(t13) {.field_1=2072157872,.field_2=(t10) {.field_1=-0.96875,.field_2=1499873962},.field_3=(t11) {.field_1=-2.40234375,.field_2=(t2) {.field_1=38436406689792,.field_2=91121526767616,.field_3=(t1) {.field_1=64,.field_2=27,.field_3=-0.921875,.field_4=205924771299328},.field_4=3.46484375,.field_5=(t1) {.field_1=196,.field_2=177,.field_3=-0.40625,.field_4=11710038278144}}},.field_4=(t12) {.field_1=(t4) {.field_1=-0.1953125,.field_2=-0.84375,.field_3=(t3) {.field_1=97091811147776,.field_2=(t2) {.field_1=150148618125312,.field_2=228580951588864,.field_3=(t1) {.field_1=185,.field_2=194,.field_3=0.203125,.field_4=210398628937728},.field_4=3.1875,.field_5=(t1) {.field_1=247,.field_2=142,.field_3=1.3125,.field_4=208583715848192}},.field_3=(t1) {.field_1=173,.field_2=43,.field_3=-0.875,.field_4=245248454164480},.field_4=0.15234375,.field_5=1786378194}},.field_2=(t1) {.field_1=2,.field_2=215,.field_3=0.53125,.field_4=32483101376512},.field_3=(t5) {.field_1=14001190862848,.field_2=-0.3125}}},.field_2=251181130},.field_3=208,.field_4=(t41) {.field_1=(t20) {.field_1=(t1) {.field_1=24,.field_2=109,.field_3=1.125,.field_4=160345918668800},.field_2=(t2) {.field_1=185513129279488,.field_2=57065717104640,.field_3=(t1) {.field_1=26,.field_2=120,.field_3=1.34375,.field_4=242789147082752},.field_4=-3.62890625,.field_5=(t1) {.field_1=172,.field_2=197,.field_3=-1.5625,.field_4=65287928938496}}},.field_2=E_29_7,.field_3=209522592579584}};
+}
+
+uint64_t
+fn_9_c(t46 a1, float a2, t26 a3, t47 a4, t48 a5, t54 a6, uint32_t a7, float a8, t55 a9, t56 a10)
+{
+    if (!((((a1.field_1.field_1.field_1==0.171875) && (a1.field_1.field_1.field_2==3226754646)) && (((a1.field_1.field_2.field_1.field_1==2.765625) && (a1.field_1.field_2.field_1.field_2==0.1875) && ((a1.field_1.field_2.field_1.field_3.field_1==276756521549824) && ((a1.field_1.field_2.field_1.field_3.field_2.field_1==152999296499712) && (a1.field_1.field_2.field_1.field_3.field_2.field_2==85664820494336) && ((a1.field_1.field_2.field_1.field_3.field_2.field_3.field_1==228) && (a1.field_1.field_2.field_1.field_3.field_2.field_3.field_2==103) && (a1.field_1.field_2.field_1.field_3.field_2.field_3.field_3==-0.71875) && (a1.field_1.field_2.field_1.field_3.field_2.field_3.field_4==189995730337792)) && (a1.field_1.field_2.field_1.field_3.field_2.field_4==2.2109375) && ((a1.field_1.field_2.field_1.field_3.field_2.field_5.field_1==167) && (a1.field_1.field_2.field_1.field_3.field_2.field_5.field_2==118) && (a1.field_1.field_2.field_1.field_3.field_2.field_5.field_3==-1.546875) && (a1.field_1.field_2.field_1.field_3.field_2.field_5.field_4==199486233247744))) && ((a1.field_1.field_2.field_1.field_3.field_3.field_1==94) && (a1.field_1.field_2.field_1.field_3.field_3.field_2==71) && (a1.field_1.field_2.field_1.field_3.field_3.field_3==-1.0625) && (a1.field_1.field_2.field_1.field_3.field_3.field_4==93572022140928)) && (a1.field_1.field_2.field_1.field_3.field_4==-1.046875) && (a1.field_1.field_2.field_1.field_3.field_5==3049108056))) && ((a1.field_1.field_2.field_2.field_1==185) && (a1.field_1.field_2.field_2.field_2==79) && (a1.field_1.field_2.field_2.field_3==1.03125) && (a1.field_1.field_2.field_2.field_4==217666636349440)) && ((a1.field_1.field_2.field_3.field_1==129819186561024) && (a1.field_1.field_2.field_3.field_2==-1.421875))) && ((a1.field_1.field_3.field_1==-1.60546875) && (a1.field_1.field_3.field_2==0.125) && ((a1.field_1.field_3.field_3.field_1==37068096536576) && ((a1.field_1.field_3.field_3.field_2.field_1==239555475144704) && (a1.field_1.field_3.field_3.field_2.field_2==81311387615232) && ((a1.field_1.field_3.field_3.field_2.field_3.field_1==252) && (a1.field_1.field_3.field_3.field_2.field_3.field_2==105) && (a1.field_1.field_3.field_3.field_2.field_3.field_3==-0.71875) && (a1.field_1.field_3.field_3.field_2.field_3.field_4==148899603939328)) && (a1.field_1.field_3.field_3.field_2.field_4==1.68359375) && ((a1.field_1.field_3.field_3.field_2.field_5.field_1==42) && (a1.field_1.field_3.field_3.field_2.field_5.field_2==238) && (a1.field_1.field_3.field_3.field_2.field_5.field_3==1.53125) && (a1.field_1.field_3.field_3.field_2.field_5.field_4==236603073363968))) && ((a1.field_1.field_3.field_3.field_3.field_1==183) && (a1.field_1.field_3.field_3.field_3.field_2==164) && (a1.field_1.field_3.field_3.field_3.field_3==-0.609375) && (a1.field_1.field_3.field_3.field_3.field_4==202904325324800)) && (a1.field_1.field_3.field_3.field_4==-1.15234375) && (a1.field_1.field_3.field_3.field_5==2895375692)))) && (a1.field_2==E_44_7) && ((a1.field_3.field_1==2208687568)) && (a1.field_4==1848386781184) && ((a1.field_5.field_1==-1.05859375) && (a1.field_5.field_2==-0.859375) && ((a1.field_5.field_3.field_1==205448639807488) && ((a1.field_5.field_3.field_2.field_1==190494723801088) && (a1.field_5.field_3.field_2.field_2==14572431867904) && ((a1.field_5.field_3.field_2.field_3.field_1==128) && (a1.field_5.field_3.field_2.field_3.field_2==35) && (a1.field_5.field_3.field_2.field_3.field_3==-1.25) && (a1.field_5.field_3.field_2.field_3.field_4==224517446828032)) && (a1.field_5.field_3.field_2.field_4==1.37109375) && ((a1.field_5.field_3.field_2.field_5.field_1==59) && (a1.field_5.field_3.field_2.field_5.field_2==166) && (a1.field_5.field_3.field_2.field_5.field_3==1.453125) && (a1.field_5.field_3.field_2.field_5.field_4==61154056208384))) && ((a1.field_5.field_3.field_3.field_1==15) && (a1.field_5.field_3.field_3.field_2==60) && (a1.field_5.field_3.field_3.field_3==0.765625) && (a1.field_5.field_3.field_3.field_4==218183195164672)) && (a1.field_5.field_3.field_4==-0.765625) && (a1.field_5.field_3.field_5==2915453416))) && (a1.field_6==32
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!(a2==-0.328125)) {
+        goto bad;
+    }
+
+    if (!((((a3.field_1.field_1.field_1==E_8_1) && (a3.field_1.field_1.field_2==3258536312)) && (a3.field_1.field_2==-2.17578125) && (a3.field_1.field_3==31978917462016) && (a3.field_1.field_4==76825007489024) && (a3.field_1.field_5==-0.859375) && (a3.field_1.field_6==-0.171875)) && (a3.field_2==127) && (a3.field_3==269734934740992) && (a3.field_4==39))) {
+        goto bad;
+    }
+
+    if (!(a4==E_47_3)) {
+        goto bad;
+    }
+
+    if (!(a5==E_48_7)) {
+        goto bad;
+    }
+
+    if (!(((a6.field_1.field_1==613960680)) && ((a6.field_2.field_1==-0.125) && ((a6.field_2.field_2.field_1==469993662)) && (a6.field_2.field_3==201131156307968) && (a6.field_2.field_4==3.79296875)) && (a6.field_3==E_51_4) && ((a6.field_4.field_1==0.09375) && (a6.field_4.field_2==E_51_6) && (a6.field_4.field_3==134) && (a6.field_4.field_4==1.234375) && (a6.field_4.field_5==1.359375)) && (a6.field_5==E_51_2) && (a6.field_6==E_53_4))) {
+        goto bad;
+    }
+
+    if (!(a7==604879132)) {
+        goto bad;
+    }
+
+    if (!(a8==0.640625)) {
+        goto bad;
+    }
+
+    if (!(a9==E_55_3)) {
+        goto bad;
+    }
+
+    if (!(a10==E_56_4)) {
+        goto bad;
+    }
+
+    return 219771358019584;
+
+bad:
+    return 168173477429248;
+}
+
+t3
+fn_10_c(uint64_t a1, double a2, t61 a3, uint8_t a4, t62 a5, uint8_t a6, double a7, uint64_t a8)
+{
+    if (!(a1==160708767514624)) {
+        goto bad;
+    }
+
+    if (!(a2==0.36328125)) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==E_57_5) && ((a3.field_2.field_1==-0.27734375) && (a3.field_2.field_2==E_36_3)) && ((a3.field_3.field_1==97) && (a3.field_3.field_2==33865353396224)) && ((a3.field_4.field_1==216701139681280) && (a3.field_4.field_2==-1.03125) && ((a3.field_4.field_3.field_1==-0.8515625) && (a3.field_4.field_3.field_2==0.71875) && ((a3.field_4.field_3.field_3.field_1==244705840726016) && ((a3.field_4.field_3.field_3.field_2.field_1==53149469900800) && (a3.field_4.field_3.field_3.field_2.field_2==161998735409152) && ((a3.field_4.field_3.field_3.field_2.field_3.field_1==127) && (a3.field_4.field_3.field_3.field_2.field_3.field_2==47) && (a3.field_4.field_3.field_3.field_2.field_3.field_3==1.25) && (a3.field_4.field_3.field_3.field_2.field_3.field_4==59620799152128)) && (a3.field_4.field_3.field_3.field_2.field_4==-1.41015625) && ((a3.field_4.field_3.field_3.field_2.field_5.field_1==130) && (a3.field_4.field_3.field_3.field_2.field_5.field_2==161) && (a3.field_4.field_3.field_3.field_2.field_5.field_3==-1.453125) && (a3.field_4.field_3.field_3.field_2.field_5.field_4==49656372789248))) && ((a3.field_4.field_3.field_3.field_3.field_1==136) && (a3.field_4.field_3.field_3.field_3.field_2==83) && (a3.field_4.field_3.field_3.field_3.field_3==-1.15625) && (a3.field_4.field_3.field_3.field_3.field_4==278799917907969)) && (a3.field_4.field_3.field_3.field_4==2.5234375) && (a3.field_4.field_3.field_3.field_5==3744252854))) && (a3.field_4.field_4==E_38_1)))) {
+        goto bad;
+    }
+
+    if (!(a4==202)) {
+        goto bad;
+    }
+
+    if (!(a5==E_62_3)) {
+        goto bad;
+    }
+
+    if (!(a6==0)) {
+        goto bad;
+    }
+
+    if (!(a7==2.234375)) {
+        goto bad;
+    }
+
+    if (!(a8==215484511158272)) {
+        goto bad;
+    }
+
+    return (t3) {.field_1=268633981059072,.field_2=(t2) {.field_1=24949413642240,.field_2=153583813787648,.field_3=(t1) {.field_1=35,.field_2=252,.field_3=0.8125,.field_4=128878867382272},.field_4=-0.03125,.field_5=(t1) {.field_1=98,.field_2=126,.field_3=0.546875,.field_4=258416610377728}},.field_3=(t1) {.field_1=209,.field_2=206,.field_3=1.28125,.field_4=180894750212096},.field_4=1.390625,.field_5=4104417000};
+
+bad:
+    return (t3) {.field_1=194724296130560,.field_2=(t2) {.field_1=131606075277312,.field_2=177386963992576,.field_3=(t1) {.field_1=80,.field_2=184,.field_3=0.453125,.field_4=88961125056512},.field_4=-3.15625,.field_5=(t1) {.field_1=110,.field_2=126,.field_3=1.140625,.field_4=266037895757824}},.field_3=(t1) {.field_1=137,.field_2=208,.field_3=-1.46875,.field_4=23546486325248},.field_4=3.55078125,.field_5=90406856};
+}
+
+int
+const check_c_to_myr_fns(void)
+{
+    double a_1_1 = -0.26171875;
+    t2 ret_1 = fn_1_myr(a_1_1);
+    if (!((ret_1.field_1==12459410325504) && (ret_1.field_2==98659448520704) && ((ret_1.field_3.field_1==166) && (ret_1.field_3.field_2==107) && (ret_1.field_3.field_3==0.140625) && (ret_1.field_3.field_4==92389009653760)) && (ret_1.field_4==-3.140625) && ((ret_1.field_5.field_1==157) && (ret_1.field_5.field_2==191) && (ret_1.field_5.field_3==1.125) && (ret_1.field_5.field_4==644801363968)))) {
+        return -1;
+    }
+
+    double a_2_1 = -3.80078125;
+    t4 a_2_2 = (t4) {.field_1=2.8203125,.field_2=1.40625,.field_3=(t3) {.field_1=281155744301057,.field_2=(t2) {.field_1=201484396396544,.field_2=167610483867648,.field_3=(t1) {.field_1=241,.field_2=67,.field_3=-1.546875,.field_4=85217436499968},.field_4=1.33203125,.field_5=(t1) {.field_1=115,.field_2=174,.field_3=0.578125,.field_4=108879745908736}},.field_3=(t1) {.field_1=46,.field_2=0,.field_3=0.484375,.field_4=41200816095232},.field_4=1.640625,.field_5=4163457034}};
+    t1 a_2_3 = (t1) {.field_1=179,.field_2=82,.field_3=0.796875,.field_4=149846806626304};
+    t5 a_2_4 = (t5) {.field_1=132525092503552,.field_2=-1.3125};
+    uint64_t ret_2 = fn_2_myr(a_2_1, a_2_2, a_2_3, a_2_4);
+    if (!(ret_2==132205860093952)) {
+        return -1;
+    }
+
+    t1 a_3_1 = (t1) {.field_1=211,.field_2=183,.field_3=0.71875,.field_4=77205130182656};
+    t3 a_3_2 = (t3) {.field_1=186084876091392,.field_2=(t2) {.field_1=162500698177536,.field_2=117147867938816,.field_3=(t1) {.field_1=81,.field_2=185,.field_3=-1.171875,.field_4=80629570863104},.field_4=-2.453125,.field_5=(t1) {.field_1=49,.field_2=253,.field_3=0.03125,.field_4=266183655817216}},.field_3=(t1) {.field_1=133,.field_2=78,.field_3=-1.15625,.field_4=208468516143104},.field_4=0.625,.field_5=2593151244};
+    t7 a_3_3 = (t7) {.field_1=104,.field_2=E_6_7,.field_3=(t5) {.field_1=168319363710976,.field_2=1.015625},.field_4=(t2) {.field_1=105329353555968,.field_2=49345085177856,.field_3=(t1) {.field_1=61,.field_2=176,.field_3=1.25,.field_4=102963779993600},.field_4=3.734375,.field_5=(t1) {.field_1=21,.field_2=143,.field_3=1.46875,.field_4=167234555215872}}};
+    t4 a_3_4 = (t4) {.field_1=3.12890625,.field_2=0.4375,.field_3=(t3) {.field_1=63982214447104,.field_2=(t2) {.field_1=135072305512448,.field_2=67998052515840,.field_3=(t1) {.field_1=12,.field_2=71,.field_3=-0.578125,.field_4=187813731500032},.field_4=3.07421875,.field_5=(t1) {.field_1=205,.field_2=88,.field_3=-0.53125,.field_4=674692464640}},.field_3=(t1) {.field_1=193,.field_2=11,.field_3=0.3125,.field_4=162599899496448},.field_4=-0.62890625,.field_5=3331590902}};
+    t9 a_3_5 = (t9) {.field_1=E_8_5,.field_2=3187538484};
+    uint8_t a_3_6 = 90;
+    float a_3_7 = 0.125;
+    float a_3_8 = 1.203125;
+    t13 ret_3 = fn_3_myr(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6, a_3_7, a_3_8);
+    if (!((ret_3.field_1==650661816) && ((ret_3.field_2.field_1==-0.015625) && (ret_3.field_2.field_2==2851726420)) && ((ret_3.field_3.field_1==-3.625) && ((ret_3.field_3.field_2.field_1==74772813709312) && (ret_3.field_3.field_2.field_2==112035052126208) && ((ret_3.field_3.field_2.field_3.field_1==41) && (ret_3.field_3.field_2.field_3.field_2==21) && (ret_3.field_3.field_2.field_3.field_3==-0.28125) && (ret_3.field_3.field_2.field_3.field_4==170067893944320)) && (ret_3.field_3.field_2.field_4==0.52734375) && ((ret_3.field_3.field_2.field_5.field_1==81) && (ret_3.field_3.field_2.field_5.field_2==216) && (ret_3.field_3.field_2.field_5.field_3==-0.328125) && (ret_3.field_3.field_2.field_5.field_4==156496708894720)))) && (((ret_3.field_4.field_1.field_1==-3.19140625) && (ret_3.field_4.field_1.field_2==1.515625) && ((ret_3.field_4.field_1.field_3.field_1==236308757348352) && ((ret_3.field_4.field_1.field_3.field_2.field_1==263713238548480) && (ret_3.field_4.field_1.field_3.field_2.field_2==40608255049728) && ((ret_3.field_4.field_1.field_3.field_2.field_3.field_1==138) && (ret_3.field_4.field_1.field_3.field_2.field_3.field_2==142) && (ret_3.field_4.field_1.field_3.field_2.field_3.field_3==-1.1875) && (ret_3.field_4.field_1.field_3.field_2.field_3.field_4==100184688558080)) && (ret_3.field_4.field_1.field_3.field_2.field_4==2.76171875) && ((ret_3.field_4.field_1.field_3.field_2.field_5.field_1==73) && (ret_3.field_4.field_1.field_3.field_2.field_5.field_2==65) && (ret_3.field_4.field_1.field_3.field_2.field_5.field_3==1.28125) && (ret_3.field_4.field_1.field_3.field_2.field_5.field_4==53591441145856))) && ((ret_3.field_4.field_1.field_3.field_3.field_1==54) && (ret_3.field_4.field_1.field_3.field_3.field_2==81) && (ret_3.field_4.field_1.field_3.field_3.field_3==-0.5) && (ret_3.field_4.field_1.field_3.field_3.field_4==200208867524608)) && (ret_3.field_4.field_1.field_3.field_4==3.7734375) && (ret_3.field_4.field_1.field_3.field_5==1624457196))) && ((ret_3.field_4.field_2.field_1==250) && (ret_3.field_4.field_2.field_2==97) && (ret_3.field_4.field_2.field_3==0.125) && (ret_3.field_4.field_2.field_4==16842727882752)) && ((ret_3.field_4.field_3.field_1==222985090629632) && (ret_3.field_4.field_3.field_2==-1.109375))))) {
+        return -1;
+    }
+
+    t16 a_4_1 = (t16) {.field_1=E_14_1,.field_2=-0.734375,.field_3=31855997878272,.field_4=E_15_5};
+    t19 ret_4 = fn_4_myr(a_4_1);
+    if (!((ret_4.field_1==0.03125) && (((ret_4.field_2.field_1.field_1==947051528) && ((ret_4.field_2.field_1.field_2.field_1==0.96875) && (ret_4.field_2.field_1.field_2.field_2==241559198)) && ((ret_4.field_2.field_1.field_3.field_1==-0.125) && ((ret_4.field_2.field_1.field_3.field_2.field_1==22236939157504) && (ret_4.field_2.field_1.field_3.field_2.field_2==74920569470976) && ((ret_4.field_2.field_1.field_3.field_2.field_3.field_1==22) && (ret_4.field_2.field_1.field_3.field_2.field_3.field_2==25) && (ret_4.field_2.field_1.field_3.field_2.field_3.field_3==-0.46875) && (ret_4.field_2.field_1.field_3.field_2.field_3.field_4==99222545367040)) && (ret_4.field_2.field_1.field_3.field_2.field_4==-2.25) && ((ret_4.field_2.field_1.field_3.field_2.field_5.field_1==6) && (ret_4.field_2.field_1.field_3.field_2.field_5.field_2==66) && (ret_4.field_2.field_1.field_3.field_2.field_5.field_3==0.9375) && (ret_4.field_2.field_1.field_3.field_2.field_5.field_4==72999681130496)))) && (((ret_4.field_2.field_1.field_4.field_1.field_1==-2.41015625) && (ret_4.field_2.field_1.field_4.field_1.field_2==-0.328125) && ((ret_4.field_2.field_1.field_4.field_1.field_3.field_1==33373226926080) && ((ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_1==264437028749312) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_2==41455185559552) && ((ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_1==58) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_2==157) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_3==-1.40625) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_4==172834173747200)) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_4==2.96484375) && ((ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_1==47) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_2==72) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_3==-0.8125) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_4==161994014326784))) && ((ret_4.field_2.field_1.field_4.field_1.field_3.field_3.field_1==98) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_3.field_2==191) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_3.field_3==0.9375) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_3.field_4==54448237051904)) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_4==2.390625) && (ret_4.field_2.field_1.field_4.field_1.field_3.field_5==1201643174))) && ((ret_4.field_2.field_1.field_4.field_2.field_1==69) && (ret_4.field_2.field_1.field_4.field_2.field_2==18) && (ret_4.field_2.field_1.field_4.field_2.field_3==-0.421875) && (ret_4.field_2.field_1.field_4.field_2.field_4==104603486781440)) && ((ret_4.field_2.field_1.field_4.field_3.field_1==119279618490368) && (ret_4.field_2.field_1.field_4.field_3.field_2==0.6875)))) && (ret_4.field_2.field_2==0.65625) && (ret_4.field_2.field_3==125926830637056) && (ret_4.field_2.field_4==250)) && (ret_4.field_3==E_18_3) && ((ret_4.field_4.field_1==198926511898624) && (ret_4.field_4.field_2==48406520135680) && ((ret_4.field_4.field_3.field_1==198) && (ret_4.field_4.field_3.field_2==211) && (ret_4.field_4.field_3.field_3==-1.21875) && (ret_4.field_4.field_3.field_4==259336007450624)) && (ret_4.field_4.field_4==-3.48828125) && ((ret_4.field_4.field_5.field_1==185) && (ret_4.field_4.field_5.field_2==248) && (ret_4.field_4.field_5.field_3==0.53125) && (ret_4.field_4.field_5.field_4==170021025611776))))) {
+        return -1;
+    }
+
+    uint32_t a_5_1 = 3491579916;
+    t11 a_5_2 = (t11) {.field_1=2.140625,.field_2=(t2) {.field_1=17107741573120,.field_2=257014155051008,.field_3=(t1) {.field_1=120,.field_2=241,.field_3=1.078125,.field_4=195206002114560},.field_4=-1.15625,.field_5=(t1) {.field_1=46,.field_2=186,.field_3=0.1875,.field_4=278368438321153}}};
+    t21 a_5_3 = (t21) {.field_1=(t20) {.field_1=(t1) {.field_1=66,.field_2=239,.field_3=-1.203125,.field_4=89848418926592},.field_2=(t2) {.field_1=239095841685504,.field_2=165469104898048,.field_3=(t1) {.field_1=67,.field_2=177,.field_3=-0.6875,.field_4=172891013120000},.field_4=2.93359375,.field_5=(t1) {.field_1=2,.field_2=44,.field_3=1.140625,.field_4=266978004566016}}},.field_2=(t17) {.field_1=(t13) {.field_1=488880992,.field_2=(t10) {.field_1=0.1875,.field_2=4283670802},.field_3=(t11) {.field_1=-2.4453125,.field_2=(t2) {.field_1=86642904793088,.field_2=9550056259584,.field_3=(t1) {.field_1=135,.field_2=40,.field_3=-1.234375,.field_4=14565778391040},.field_4=3.859375,.field_5=(t1) {.field_1=97,.field_2=149,.field_3=0.75,.field_4=208889540378624}}},.field_4=(t12) {.field_1=(t4) {.field_1=3.3515625,.field_2=1.5625,.field_3=(t3) {.field_1=190971227013120,.field_2=(t2) {.field_1=13441050607616,.field_2=89440160972800,.field_3=(t1) {.field_1=135,.field_2=162,.field_3=0.25,.field_4=62767721873408},.field_4=3.2578125,.field_5=(t1) {.field_1=49,.field_2=25,.field_3=1.34375,.field_4=103776287981568}},.field_3=(t1) {.field_1=246,.field_2=223,.field_3=-0.0625,.field_4=147071279038464},.field_4=2.90625,.field_5=2875920810}},.field_2=(t1) {.field_1=212,.field_2=231,.field_3=-0.9375,.field_4=278720009601025},.field_3=(t5) {.field_1=4008885223424,.field_2=-0.78125}}},.field_2=3.78125,.field_3=111604690845696,.field_4=213},.field_3=0.703125,.field_4=E_15_1,.field_5=2.0625,.field_6=1.73828125};
+    t23 a_5_4 = (t23) {.field_1=208,.field_2=1.30078125,.field_3=E_14_3,.field_4=E_22_2};
+    t24 a_5_5 = E_24_4;
+    uint32_t a_5_6 = 157825342;
+    double a_5_7 = 3.765625;
+    t26 a_5_8 = (t26) {.field_1=(t25) {.field_1=(t9) {.field_1=E_8_6,.field_2=3815456600},.field_2=-1.58203125,.field_3=16877321453568,.field_4=145567904956416,.field_5=-0.125,.field_6=1.76171875},.field_2=171,.field_3=140444787539968,.field_4=15};
+    t27 a_5_9 = E_27_5;
+    t28 a_5_10 = E_28_3;
+    t29 ret_5 = fn_5_myr(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5, a_5_6, a_5_7, a_5_8, a_5_9, a_5_10);
+    if (!(ret_5==E_29_1)) {
+        return -1;
+    }
+
+    t20 a_6_1 = (t20) {.field_1=(t1) {.field_1=141,.field_2=149,.field_3=-1.25,.field_4=58279295057920},.field_2=(t2) {.field_1=63572928888832,.field_2=46145049067520,.field_3=(t1) {.field_1=109,.field_2=59,.field_3=-1.4375,.field_4=89364507131904},.field_4=0.23828125,.field_5=(t1) {.field_1=25,.field_2=213,.field_3=1.546875,.field_4=232592606363648}}};
+    t15 a_6_2 = E_15_6;
+    uint32_t ret_6 = fn_6_myr(a_6_1, a_6_2);
+    if (!(ret_6==4008488864)) {
+        return -1;
+    }
+
+    double a_7_1 = 2.84375;
+    double a_7_2 = -3.25390625;
+    t31 a_7_3 = (t31) {.field_1=-2.56640625,.field_2=-0.59375,.field_3=-0.34375,.field_4=(t30) {.field_1=83,.field_2=-0.8125,.field_3=245451030659072,.field_4=E_24_1,.field_5=0.58203125,.field_6=0.734375}};
+    t21 a_7_4 = (t21) {.field_1=(t20) {.field_1=(t1) {.field_1=154,.field_2=16,.field_3=1.53125,.field_4=240450872147968},.field_2=(t2) {.field_1=93431282270208,.field_2=243719039352832,.field_3=(t1) {.field_1=176,.field_2=179,.field_3=1.421875,.field_4=211285330100224},.field_4=-2.0546875,.field_5=(t1) {.field_1=120,.field_2=11,.field_3=0.984375,.field_4=85609800400896}}},.field_2=(t17) {.field_1=(t13) {.field_1=3734886520,.field_2=(t10) {.field_1=-0.03125,.field_2=4178676130},.field_3=(t11) {.field_1=1.4609375,.field_2=(t2) {.field_1=278857533489153,.field_2=40762444611584,.field_3=(t1) {.field_1=255,.field_2=97,.field_3=-0.09375,.field_4=67201348272128},.field_4=-1.9375,.field_5=(t1) {.field_1=145,.field_2=208,.field_3=1.53125,.field_4=6521111838720}}},.field_4=(t12) {.field_1=(t4) {.field_1=-0.2265625,.field_2=0.28125,.field_3=(t3) {.field_1=24215899865088,.field_2=(t2) {.field_1=128440090099712,.field_2=124968190476288,.field_3=(t1) {.field_1=106,.field_2=82,.field_3=-1.15625,.field_4=33900307021824},.field_4=-1.75390625,.field_5=(t1) {.field_1=226,.field_2=91,.field_3=0.765625,.field_4=261485102891008}},.field_3=(t1) {.field_1=43,.field_2=12,.field_3=0.9375,.field_4=185189970870272},.field_4=-3.73046875,.field_5=2085882880}},.field_2=(t1) {.field_1=166,.field_2=42,.field_3=-0.0625,.field_4=8114197757952},.field_3=(t5) {.field_1=179406660042752,.field_2=0.6875}}},.field_2=-1.7109375,.field_3=58423380148224,.field_4=136},.field_3=-0.71875,.field_4=E_15_2,.field_5=-3.87109375,.field_6=2.8046875};
+    double a_7_5 = -0.3046875;
+    float a_7_6 = 0.734375;
+    t35 a_7_7 = (t35) {.field_1=(t32) {.field_1=66690558},.field_2=(t33) {.field_1=(t2) {.field_1=201975036641280,.field_2=191791705096192,.field_3=(t1) {.field_1=188,.field_2=255,.field_3=1.21875,.field_4=75962620575744},.field_4=-1.81640625,.field_5=(t1) {.field_1=30,.field_2=70,.field_3=-1.171875,.field_4=122844992372736}},.field_2=E_18_6},.field_3=E_34_3};
+    uint64_t a_7_8 = 145924444127232;
+    t37 ret_7 = fn_7_myr(a_7_1, a_7_2, a_7_3, a_7_4, a_7_5, a_7_6, a_7_7, a_7_8);
+    if (!((ret_7.field_1==E_36_2))) {
+        return -1;
+    }
+
+    t38 a_8_1 = E_38_4;
+    t39 a_8_2 = E_39_1;
+    double a_8_3 = -2.69140625;
+    uint8_t a_8_4 = 17;
+    t42 ret_8 = fn_8_myr(a_8_1, a_8_2, a_8_3, a_8_4);
+    if (!((ret_8.field_1==86) && (((ret_8.field_2.field_1.field_1==3264522662) && ((ret_8.field_2.field_1.field_2.field_1==1.125) && (ret_8.field_2.field_1.field_2.field_2==3024392)) && ((ret_8.field_2.field_1.field_3.field_1==2.90625) && ((ret_8.field_2.field_1.field_3.field_2.field_1==246587710898176) && (ret_8.field_2.field_1.field_3.field_2.field_2==98684395847680) && ((ret_8.field_2.field_1.field_3.field_2.field_3.field_1==7) && (ret_8.field_2.field_1.field_3.field_2.field_3.field_2==232) && (ret_8.field_2.field_1.field_3.field_2.field_3.field_3==-0.25) && (ret_8.field_2.field_1.field_3.field_2.field_3.field_4==243343254224896)) && (ret_8.field_2.field_1.field_3.field_2.field_4==1.3828125) && ((ret_8.field_2.field_1.field_3.field_2.field_5.field_1==123) && (ret_8.field_2.field_1.field_3.field_2.field_5.field_2==151) && (ret_8.field_2.field_1.field_3.field_2.field_5.field_3==0.671875) && (ret_8.field_2.field_1.field_3.field_2.field_5.field_4==230200040620032)))) && (((ret_8.field_2.field_1.field_4.field_1.field_1==-0.5) && (ret_8.field_2.field_1.field_4.field_1.field_2==-1.484375) && ((ret_8.field_2.field_1.field_4.field_1.field_3.field_1==78257571102720) && ((ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_1==202195772637184) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_2==21507053977600) && ((ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_1==42) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_2==43) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_3==0.453125) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_3.field_4==259622561644544)) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_4==1.18359375) && ((ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_1==201) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_2==220) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_3==-0.40625) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_2.field_5.field_4==87732745404416))) && ((ret_8.field_2.field_1.field_4.field_1.field_3.field_3.field_1==61) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_3.field_2==181) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_3.field_3==-1.34375) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_3.field_4==27713052475392)) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_4==1.640625) && (ret_8.field_2.field_1.field_4.field_1.field_3.field_5==4052472574))) && ((ret_8.field_2.field_1.field_4.field_2.field_1==249) && (ret_8.field_2.field_1.field_4.field_2.field_2==15) && (ret_8.field_2.field_1.field_4.field_2.field_3==1.484375) && (ret_8.field_2.field_1.field_4.field_2.field_4==248514888728576)) && ((ret_8.field_2.field_1.field_4.field_3.field_1==134716506374144) && (ret_8.field_2.field_1.field_4.field_3.field_2==1.046875)))) && (ret_8.field_2.field_2==2404422220)) && (ret_8.field_3==246) && ((((ret_8.field_4.field_1.field_1.field_1==109) && (ret_8.field_4.field_1.field_1.field_2==70) && (ret_8.field_4.field_1.field_1.field_3==0.875) && (ret_8.field_4.field_1.field_1.field_4==242714521763840)) && ((ret_8.field_4.field_1.field_2.field_1==85381772738560) && (ret_8.field_4.field_1.field_2.field_2==16488017559552) && ((ret_8.field_4.field_1.field_2.field_3.field_1==148) && (ret_8.field_4.field_1.field_2.field_3.field_2==97) && (ret_8.field_4.field_1.field_2.field_3.field_3==-0.859375) && (ret_8.field_4.field_1.field_2.field_3.field_4==211742737956864)) && (ret_8.field_4.field_1.field_2.field_4==-3.73046875) && ((ret_8.field_4.field_1.field_2.field_5.field_1==37) && (ret_8.field_4.field_1.field_2.field_5.field_2==103) && (ret_8.field_4.field_1.field_2.field_5.field_3==0.96875) && (ret_8.field_4.field_1.field_2.field_5.field_4==3251610451968)))) && (ret_8.field_4.field_2==E_29_7) && (ret_8.field_4.field_3==34127014920192)))) {
+        return -1;
+    }
+
+    t46 a_9_1 = (t46) {.field_1=(t43) {.field_1=(t10) {.field_1=0.171875,.field_2=3226754646},.field_2=(t12) {.field_1=(t4) {.field_1=2.765625,.field_2=0.1875,.field_3=(t3) {.field_1=276756521549824,.field_2=(t2) {.field_1=152999296499712,.field_2=85664820494336,.field_3=(t1) {.field_1=228,.field_2=103,.field_3=-0.71875,.field_4=189995730337792},.field_4=2.2109375,.field_5=(t1) {.field_1=167,.field_2=118,.field_3=-1.546875,.field_4=199486233247744}},.field_3=(t1) {.field_1=94,.field_2=71,.field_3=-1.0625,.field_4=93572022140928},.field_4=-1.046875,.field_5=3049108056}},.field_2=(t1) {.field_1=185,.field_2=79,.field_3=1.03125,.field_4=217666636349440},.field_3=(t5) {.field_1=129819186561024,.field_2=-1.421875}},.field_3=(t4) {.field_1=-1.60546875,.field_2=0.125,.field_3=(t3) {.field_1=37068096536576,.field_2=(t2) {.field_1=239555475144704,.field_2=81311387615232,.field_3=(t1) {.field_1=252,.field_2=105,.field_3=-0.71875,.field_4=148899603939328},.field_4=1.68359375,.field_5=(t1) {.field_1=42,.field_2=238,.field_3=1.53125,.field_4=236603073363968}},.field_3=(t1) {.field_1=183,.field_2=164,.field_3=-0.609375,.field_4=202904325324800},.field_4=-1.15234375,.field_5=2895375692}}},.field_2=E_44_7,.field_3=(t45) {.field_1=2208687568},.field_4=1848386781184,.field_5=(t4) {.field_1=-1.05859375,.field_2=-0.859375,.field_3=(t3) {.field_1=205448639807488,.field_2=(t2) {.field_1=190494723801088,.field_2=14572431867904,.field_3=(t1) {.field_1=128,.field_2=35,.field_3=-1.25,.field_4=224517446828032},.field_4=1.37109375,.field_5=(t1) {.field_1=59,.field_2=166,.field_3=1.453125,.field_4=61154056208384}},.field_3=(t1) {.field_1=15,.field_2=60,.field_3=0.765625,.field_4=218183195164672},.field_4=-0.765625,.field_5=2915453416}},.field_6=3275953006};
+    float a_9_2 = -0.328125;
+    t26 a_9_3 = (t26) {.field_1=(t25) {.field_1=(t9) {.field_1=E_8_1,.field_2=3258536312},.field_2=-2.17578125,.field_3=31978917462016,.field_4=76825007489024,.field_5=-0.859375,.field_6=-0.171875},.field_2=127,.field_3=269734934740992,.field_4=39};
+    t47 a_9_4 = E_47_3;
+    t48 a_9_5 = E_48_7;
+    t54 a_9_6 = (t54) {.field_1=(t49) {.field_1=613960680},.field_2=(t50) {.field_1=-0.125,.field_2=(t45) {.field_1=469993662},.field_3=201131156307968,.field_4=3.79296875},.field_3=E_51_4,.field_4=(t52) {.field_1=0.09375,.field_2=E_51_6,.field_3=134,.field_4=1.234375,.field_5=1.359375},.field_5=E_51_2,.field_6=E_53_4};
+    uint32_t a_9_7 = 604879132;
+    float a_9_8 = 0.640625;
+    t55 a_9_9 = E_55_3;
+    t56 a_9_10 = E_56_4;
+    uint64_t ret_9 = fn_9_myr(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10);
+    if (!(ret_9==219771358019584)) {
+        return -1;
+    }
+
+    uint64_t a_10_1 = 160708767514624;
+    double a_10_2 = 0.36328125;
+    t61 a_10_3 = (t61) {.field_1=E_57_5,.field_2=(t58) {.field_1=-0.27734375,.field_2=E_36_3},.field_3=(t59) {.field_1=97,.field_2=33865353396224},.field_4=(t60) {.field_1=216701139681280,.field_2=-1.03125,.field_3=(t4) {.field_1=-0.8515625,.field_2=0.71875,.field_3=(t3) {.field_1=244705840726016,.field_2=(t2) {.field_1=53149469900800,.field_2=161998735409152,.field_3=(t1) {.field_1=127,.field_2=47,.field_3=1.25,.field_4=59620799152128},.field_4=-1.41015625,.field_5=(t1) {.field_1=130,.field_2=161,.field_3=-1.453125,.field_4=49656372789248}},.field_3=(t1) {.field_1=136,.field_2=83,.field_3=-1.15625,.field_4=278799917907969},.field_4=2.5234375,.field_5=3744252854}},.field_4=E_38_1}};
+    uint8_t a_10_4 = 202;
+    t62 a_10_5 = E_62_3;
+    uint8_t a_10_6 = 0;
+    double a_10_7 = 2.234375;
+    uint64_t a_10_8 = 215484511158272;
+    t3 ret_10 = fn_10_myr(a_10_1, a_10_2, a_10_3, a_10_4, a_10_5, a_10_6, a_10_7, a_10_8);
+    if (!((ret_10.field_1==268633981059072) && ((ret_10.field_2.field_1==24949413642240) && (ret_10.field_2.field_2==153583813787648) && ((ret_10.field_2.field_3.field_1==35) && (ret_10.field_2.field_3.field_2==252) && (ret_10.field_2.field_3.field_3==0.8125) && (ret_10.field_2.field_3.field_4==128878867382272)) && (ret_10.field_2.field_4==-0.03125) && ((ret_10.field_2.field_5.field_1==98) && (ret_10.field_2.field_5.field_2==126) && (ret_10.field_2.field_5.field_3==0.546875) && (ret_10.field_2.field_5.field_4==258416610377728))) && ((ret_10.field_3.field_1==209) && (ret_10.field_3.field_2==206) && (ret_10.field_3.field_3==1.28125) && (ret_10.field_3.field_4==180894750212096)) && (ret_10.field_4==1.390625) && (ret_10.field_5==4104417000))) {
+        return -1;
+    }
+
+    return 0;
+}
--- /dev/null
+++ b/test/abi/004_in-c.myr
@@ -1,0 +1,16 @@
+use std
+use "004_types"
+
+pkg = 
+    extern const fn_1_c : (a1 : flt64 -> t2)
+    extern const fn_2_c : (a1 : flt64, a2 : t4, a3 : (uint8,uint8,flt32,uint64), a4 : (uint64,flt32) -> uint64)
+    extern const fn_3_c : (a1 : (uint8,uint8,flt32,uint64), a2 : t3, a3 : (uint8,t6,(uint64,flt32),t2), a4 : t4, a5 : (t8,uint32), a6 : uint8, a7 : flt32, a8 : flt32 -> (uint32,(flt32,uint32),(flt64,t2),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32))))
+    extern const fn_4_c : (a1 : (t14,flt32,uint64,t15) -> t19)
+    extern const fn_5_c : (a1 : uint32, a2 : (flt64,t2), a3 : t21, a4 : (uint8,flt64,t14,t22), a5 : t24, a6 : uint32, a7 : flt64, a8 : t26, a9 : t27, a10 : t28 -> t29)
+    extern const fn_6_c : (a1 : ((uint8,uint8,flt32,uint64),t2), a2 : t15 -> uint32)
+    extern const fn_7_c : (a1 : flt64, a2 : flt64, a3 : t31, a4 : t21, a5 : flt64, a6 : flt32, a7 : (t32,(t2,t18),t34), a8 : uint64 -> t37)
+    extern const fn_8_c : (a1 : t38, a2 : t39, a3 : flt64, a4 : uint8 -> (uint8,((uint32,(flt32,uint32),(flt64,t2),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32))),uint32),uint8,t41))
+    extern const fn_9_c : (a1 : t46, a2 : flt32, a3 : t26, a4 : t47, a5 : t48, a6 : t54, a7 : uint32, a8 : flt32, a9 : t55, a10 : t56 -> uint64)
+    extern const fn_10_c : (a1 : uint64, a2 : flt64, a3 : (t57,(flt64,t36),t59,(uint64,flt32,t4,t38)), a4 : uint8, a5 : t62, a6 : uint8, a7 : flt64, a8 : uint64 -> t3)
+    extern const check_c_to_myr_fns : (-> int)
+;;
--- /dev/null
+++ b/test/abi/004_in-myr.myr
@@ -1,0 +1,310 @@
+use std
+use "004_types"
+
+pkg =
+    const fn_1_myr : (a1 : flt64 -> t2)
+    const fn_2_myr : (a1 : flt64, a2 : t4, a3 : (uint8,uint8,flt32,uint64), a4 : (uint64,flt32) -> uint64)
+    const fn_3_myr : (a1 : (uint8,uint8,flt32,uint64), a2 : t3, a3 : (uint8,t6,(uint64,flt32),t2), a4 : t4, a5 : (t8,uint32), a6 : uint8, a7 : flt32, a8 : flt32 -> (uint32,(flt32,uint32),(flt64,t2),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32))))
+    const fn_4_myr : (a1 : (t14,flt32,uint64,t15) -> t19)
+    const fn_5_myr : (a1 : uint32, a2 : (flt64,t2), a3 : t21, a4 : (uint8,flt64,t14,t22), a5 : t24, a6 : uint32, a7 : flt64, a8 : t26, a9 : t27, a10 : t28 -> t29)
+    const fn_6_myr : (a1 : ((uint8,uint8,flt32,uint64),t2), a2 : t15 -> uint32)
+    const fn_7_myr : (a1 : flt64, a2 : flt64, a3 : t31, a4 : t21, a5 : flt64, a6 : flt32, a7 : (t32,(t2,t18),t34), a8 : uint64 -> t37)
+    const fn_8_myr : (a1 : t38, a2 : t39, a3 : flt64, a4 : uint8 -> (uint8,((uint32,(flt32,uint32),(flt64,t2),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32))),uint32),uint8,t41))
+    const fn_9_myr : (a1 : t46, a2 : flt32, a3 : t26, a4 : t47, a5 : t48, a6 : t54, a7 : uint32, a8 : flt32, a9 : t55, a10 : t56 -> uint64)
+    const fn_10_myr : (a1 : uint64, a2 : flt64, a3 : (t57,(flt64,t36),t59,(uint64,flt32,t4,t38)), a4 : uint8, a5 : t62, a6 : uint8, a7 : flt64, a8 : uint64 -> t3)
+;;
+
+const fn_1_myr = { a1 : flt64
+    if !(a1==-0.26171875)
+        goto bad
+    ;;
+
+    -> [.field_1=12459410325504,.field_2=98659448520704,.field_3=(166,107,0.140625,92389009653760),.field_4=-3.140625,.field_5=(157,191,1.125,644801363968)]
+
+:bad
+    -> [.field_1=238850629042176,.field_2=48799761170432,.field_3=(120,183,1.109375,182937149505536),.field_4=3.46875,.field_5=(140,106,-0.4375,114576194142208)]
+}
+
+const fn_2_myr = { a1 : flt64, a2 : t4, a3 : (uint8,uint8,flt32,uint64), a4 : (uint64,flt32)
+    if !(a1==-3.80078125)
+        goto bad
+    ;;
+
+    if !((a2.field_1==2.8203125) && (a2.field_2==1.40625) && ((a2.field_3.field_1==281155744301057) && ((a2.field_3.field_2.field_1==201484396396544) && (a2.field_3.field_2.field_2==167610483867648) && ((a2.field_3.field_2.field_3.0==241) && (a2.field_3.field_2.field_3.1==67) && (a2.field_3.field_2.field_3.2==-1.546875) && (a2.field_3.field_2.field_3.3==85217436499968)) && (a2.field_3.field_2.field_4==1.33203125) && ((a2.field_3.field_2.field_5.0==115) && (a2.field_3.field_2.field_5.1==174) && (a2.field_3.field_2.field_5.2==0.578125) && (a2.field_3.field_2.field_5.3==108879745908736))) && ((a2.field_3.field_3.0==46) && (a2.field_3.field_3.1==0) && (a2.field_3.field_3.2==0.484375) && (a2.field_3.field_3.3==41200816095232)) && (a2.field_3.field_4==1.640625) && (a2.field_3.field_5==4163457034)))
+        goto bad
+    ;;
+
+    if !((a3.0==179) && (a3.1==82) && (a3.2==0.796875) && (a3.3==149846806626304))
+        goto bad
+    ;;
+
+    if !((a4.0==132525092503552) && (a4.1==-1.3125))
+        goto bad
+    ;;
+
+    -> 132205860093952
+
+:bad
+    -> 224271076950016
+}
+
+const fn_3_myr = { a1 : (uint8,uint8,flt32,uint64), a2 : t3, a3 : (uint8,t6,(uint64,flt32),t2), a4 : t4, a5 : (t8,uint32), a6 : uint8, a7 : flt32, a8 : flt32
+    if !((a1.0==211) && (a1.1==183) && (a1.2==0.71875) && (a1.3==77205130182656))
+        goto bad
+    ;;
+
+    if !((a2.field_1==186084876091392) && ((a2.field_2.field_1==162500698177536) && (a2.field_2.field_2==117147867938816) && ((a2.field_2.field_3.0==81) && (a2.field_2.field_3.1==185) && (a2.field_2.field_3.2==-1.171875) && (a2.field_2.field_3.3==80629570863104)) && (a2.field_2.field_4==-2.453125) && ((a2.field_2.field_5.0==49) && (a2.field_2.field_5.1==253) && (a2.field_2.field_5.2==0.03125) && (a2.field_2.field_5.3==266183655817216))) && ((a2.field_3.0==133) && (a2.field_3.1==78) && (a2.field_3.2==-1.15625) && (a2.field_3.3==208468516143104)) && (a2.field_4==0.625) && (a2.field_5==2593151244))
+        goto bad
+    ;;
+
+    if !((a3.0==104) && (a3.1==`E_6_7) && ((a3.2.0==168319363710976) && (a3.2.1==1.015625)) && ((a3.3.field_1==105329353555968) && (a3.3.field_2==49345085177856) && ((a3.3.field_3.0==61) && (a3.3.field_3.1==176) && (a3.3.field_3.2==1.25) && (a3.3.field_3.3==102963779993600)) && (a3.3.field_4==3.734375) && ((a3.3.field_5.0==21) && (a3.3.field_5.1==143) && (a3.3.field_5.2==1.46875) && (a3.3.field_5.3==167234555215872))))
+        goto bad
+    ;;
+
+    if !((a4.field_1==3.12890625) && (a4.field_2==0.4375) && ((a4.field_3.field_1==63982214447104) && ((a4.field_3.field_2.field_1==135072305512448) && (a4.field_3.field_2.field_2==67998052515840) && ((a4.field_3.field_2.field_3.0==12) && (a4.field_3.field_2.field_3.1==71) && (a4.field_3.field_2.field_3.2==-0.578125) && (a4.field_3.field_2.field_3.3==187813731500032)) && (a4.field_3.field_2.field_4==3.07421875) && ((a4.field_3.field_2.field_5.0==205) && (a4.field_3.field_2.field_5.1==88) && (a4.field_3.field_2.field_5.2==-0.53125) && (a4.field_3.field_2.field_5.3==674692464640))) && ((a4.field_3.field_3.0==193) && (a4.field_3.field_3.1==11) && (a4.field_3.field_3.2==0.3125) && (a4.field_3.field_3.3==162599899496448)) && (a4.field_3.field_4==-0.62890625) && (a4.field_3.field_5==3331590902)))
+        goto bad
+    ;;
+
+    if !((a5.0==`E_8_5) && (a5.1==3187538484))
+        goto bad
+    ;;
+
+    if !(a6==90)
+        goto bad
+    ;;
+
+    if !(a7==0.125)
+        goto bad
+    ;;
+
+    if !(a8==1.203125)
+        goto bad
+    ;;
+
+    -> (650661816,(-0.015625,2851726420),(-3.625,[.field_1=74772813709312,.field_2=112035052126208,.field_3=(41,21,-0.28125,170067893944320),.field_4=0.52734375,.field_5=(81,216,-0.328125,156496708894720)]),([.field_1=-3.19140625,.field_2=1.515625,.field_3=[.field_1=236308757348352,.field_2=[.field_1=263713238548480,.field_2=40608255049728,.field_3=(138,142,-1.1875,100184688558080),.field_4=2.76171875,.field_5=(73,65,1.28125,53591441145856)],.field_3=(54,81,-0.5,200208867524608),.field_4=3.7734375,.field_5=1624457196]],(250,97,0.125,16842727882752),(222985090629632,-1.109375)))
+
+:bad
+    -> (2694026068,(-1.21875,4260115106),(-3.71484375,[.field_1=187395190947840,.field_2=23501456670720,.field_3=(1,129,-1.5,42547396608000),.field_4=-3.53515625,.field_5=(148,70,-0.296875,121552673308672)]),([.field_1=0.47265625,.field_2=0.5,.field_3=[.field_1=96003926654976,.field_2=[.field_1=211416389124096,.field_2=246412730040320,.field_3=(168,23,0.265625,181009723555840),.field_4=-0.2265625,.field_5=(144,6,-1.53125,175496053391360)],.field_3=(208,40,-0.78125,260664153079808),.field_4=-2.7421875,.field_5=1183476516]],(151,59,-0.6875,27338362322944),(71252360822784,-0.203125)))
+}
+
+const fn_4_myr = { a1 : (t14,flt32,uint64,t15)
+    if !((a1.0==`E_14_1) && (a1.1==-0.734375) && (a1.2==31855997878272) && (a1.3==`E_15_5))
+        goto bad
+    ;;
+
+    -> [.field_1=0.03125,.field_2=[.field_1=(947051528,(0.96875,241559198),(-0.125,[.field_1=22236939157504,.field_2=74920569470976,.field_3=(22,25,-0.46875,99222545367040),.field_4=-2.25,.field_5=(6,66,0.9375,72999681130496)]),([.field_1=-2.41015625,.field_2=-0.328125,.field_3=[.field_1=33373226926080,.field_2=[.field_1=264437028749312,.field_2=41455185559552,.field_3=(58,157,-1.40625,172834173747200),.field_4=2.96484375,.field_5=(47,72,-0.8125,161994014326784)],.field_3=(98,191,0.9375,54448237051904),.field_4=2.390625,.field_5=1201643174]],(69,18,-0.421875,104603486781440),(119279618490368,0.6875))),.field_2=0.65625,.field_3=125926830637056,.field_4=250],.field_3=`E_18_3,.field_4=[.field_1=198926511898624,.field_2=48406520135680,.field_3=(198,211,-1.21875,259336007450624),.field_4=-3.48828125,.field_5=(185,248,0.53125,170021025611776)]]
+
+:bad
+    -> [.field_1=-1.078125,.field_2=[.field_1=(4079464194,(1.09375,3151538724),(-1.30078125,[.field_1=167739336687616,.field_2=149124248371200,.field_3=(134,102,0.96875,224961458864128),.field_4=-0.203125,.field_5=(45,43,1.25,252713962045440)]),([.field_1=1.9921875,.field_2=-0.484375,.field_3=[.field_1=247192255463424,.field_2=[.field_1=38160966352896,.field_2=14664874459136,.field_3=(12,232,1.1875,45492371193856),.field_4=2.5859375,.field_5=(238,226,0.953125,168620418269184)],.field_3=(125,246,0.15625,94751226331136),.field_4=1.5234375,.field_5=3789142650]],(238,57,-0.28125,94165903343616),(9631686328320,-0.921875))),.field_2=2.4140625,.field_3=59577473957888,.field_4=97],.field_3=`E_18_5,.field_4=[.field_1=30816459292672,.field_2=37695797854208,.field_3=(13,252,-0.71875,29337515720704),.field_4=-3.61328125,.field_5=(45,251,-0.9375,2851418144768)]]
+}
+
+const fn_5_myr = { a1 : uint32, a2 : (flt64,t2), a3 : t21, a4 : (uint8,flt64,t14,t22), a5 : t24, a6 : uint32, a7 : flt64, a8 : t26, a9 : t27, a10 : t28
+    if !(a1==3491579916)
+        goto bad
+    ;;
+
+    if !((a2.0==2.140625) && ((a2.1.field_1==17107741573120) && (a2.1.field_2==257014155051008) && ((a2.1.field_3.0==120) && (a2.1.field_3.1==241) && (a2.1.field_3.2==1.078125) && (a2.1.field_3.3==195206002114560)) && (a2.1.field_4==-1.15625) && ((a2.1.field_5.0==46) && (a2.1.field_5.1==186) && (a2.1.field_5.2==0.1875) && (a2.1.field_5.3==278368438321153))))
+        goto bad
+    ;;
+
+    if !((((a3.field_1.0.0==66) && (a3.field_1.0.1==239) && (a3.field_1.0.2==-1.203125) && (a3.field_1.0.3==89848418926592)) && ((a3.field_1.1.field_1==239095841685504) && (a3.field_1.1.field_2==165469104898048) && ((a3.field_1.1.field_3.0==67) && (a3.field_1.1.field_3.1==177) && (a3.field_1.1.field_3.2==-0.6875) && (a3.field_1.1.field_3.3==172891013120000)) && (a3.field_1.1.field_4==2.93359375) && ((a3.field_1.1.field_5.0==2) && (a3.field_1.1.field_5.1==44) && (a3.field_1.1.field_5.2==1.140625) && (a3.field_1.1.field_5.3==266978004566016)))) && (((a3.field_2.field_1.0==488880992) && ((a3.field_2.field_1.1.0==0.1875) && (a3.field_2.field_1.1.1==4283670802)) && ((a3.field_2.field_1.2.0==-2.4453125) && ((a3.field_2.field_1.2.1.field_1==86642904793088) && (a3.field_2.field_1.2.1.field_2==9550056259584) && ((a3.field_2.field_1.2.1.field_3.0==135) && (a3.field_2.field_1.2.1.field_3.1==40) && (a3.field_2.field_1.2.1.field_3.2==-1.234375) && (a3.field_2.field_1.2.1.field_3.3==14565778391040)) && (a3.field_2.field_1.2.1.field_4==3.859375) && ((a3.field_2.field_1.2.1.field_5.0==97) && (a3.field_2.field_1.2.1.field_5.1==149) && (a3.field_2.field_1.2.1.field_5.2==0.75) && (a3.field_2.field_1.2.1.field_5.3==208889540378624)))) && (((a3.field_2.field_1.3.0.field_1==3.3515625) && (a3.field_2.field_1.3.0.field_2==1.5625) && ((a3.field_2.field_1.3.0.field_3.field_1==190971227013120) && ((a3.field_2.field_1.3.0.field_3.field_2.field_1==13441050607616) && (a3.field_2.field_1.3.0.field_3.field_2.field_2==89440160972800) && ((a3.field_2.field_1.3.0.field_3.field_2.field_3.0==135) && (a3.field_2.field_1.3.0.field_3.field_2.field_3.1==162) && (a3.field_2.field_1.3.0.field_3.field_2.field_3.2==0.25) && (a3.field_2.field_1.3.0.field_3.field_2.field_3.3==62767721873408)) && (a3.field_2.field_1.3.0.field_3.field_2.field_4==3.2578125) && ((a3.field_2.field_1.3.0.field_3.field_2.field_5.0==49) && (a3.field_2.field_1.3.0.field_3.field_2.field_5.1==25) && (a3.field_2.field_1.3.0.field_3.field_2.field_5.2==1.34375) && (a3.field_2.field_1.3.0.field_3.field_2.field_5.3==103776287981568))) && ((a3.field_2.field_1.3.0.field_3.field_3.0==246) && (a3.field_2.field_1.3.0.field_3.field_3.1==223) && (a3.field_2.field_1.3.0.field_3.field_3.2==-0.0625) && (a3.field_2.field_1.3.0.field_3.field_3.3==147071279038464)) && (a3.field_2.field_1.3.0.field_3.field_4==2.90625) && (a3.field_2.field_1.3.0.field_3.field_5==2875920810))) && ((a3.field_2.field_1.3.1.0==212) && (a3.field_2.field_1.3.1.1==231) && (a3.field_2.field_1.3.1.2==-0.9375) && (a3.field_2.field_1.3.1.3==278720009601025)) && ((a3.field_2.field_1.3.2.0==4008885223424) && (a3.field_2.field_1.3.2.1==-0.78125)))) && (a3.field_2.field_2==3.78125) && (a3.field_2.field_3==111604690845696) && (a3.field_2.field_4==213)) && (a3.field_3==0.703125) && (a3.field_4==`E_15_1) && (a3.field_5==2.0625) && (a3.field_6==1.73828125))
+        goto bad
+    ;;
+
+    if !((a4.0==208) && (a4.1==1.30078125) && (a4.2==`E_14_3) && (a4.3==`E_22_2))
+        goto bad
+    ;;
+
+    if !(a5==`E_24_4)
+        goto bad
+    ;;
+
+    if !(a6==157825342)
+        goto bad
+    ;;
+
+    if !(a7==3.765625)
+        goto bad
+    ;;
+
+    if !((((a8.field_1.field_1.0==`E_8_6) && (a8.field_1.field_1.1==3815456600)) && (a8.field_1.field_2==-1.58203125) && (a8.field_1.field_3==16877321453568) && (a8.field_1.field_4==145567904956416) && (a8.field_1.field_5==-0.125) && (a8.field_1.field_6==1.76171875)) && (a8.field_2==171) && (a8.field_3==140444787539968) && (a8.field_4==15))
+        goto bad
+    ;;
+
+    if !(a9==`E_27_5)
+        goto bad
+    ;;
+
+    if !(a10==`E_28_3)
+        goto bad
+    ;;
+
+    -> `E_29_1
+
+:bad
+    -> `E_29_3
+}
+
+const fn_6_myr = { a1 : ((uint8,uint8,flt32,uint64),t2), a2 : t15
+    if !(((a1.0.0==141) && (a1.0.1==149) && (a1.0.2==-1.25) && (a1.0.3==58279295057920)) && ((a1.1.field_1==63572928888832) && (a1.1.field_2==46145049067520) && ((a1.1.field_3.0==109) && (a1.1.field_3.1==59) && (a1.1.field_3.2==-1.4375) && (a1.1.field_3.3==89364507131904)) && (a1.1.field_4==0.23828125) && ((a1.1.field_5.0==25) && (a1.1.field_5.1==213) && (a1.1.field_5.2==1.546875) && (a1.1.field_5.3==232592606363648))))
+        goto bad
+    ;;
+
+    if !(a2==`E_15_6)
+        goto bad
+    ;;
+
+    -> 4008488864
+
+:bad
+    -> 2072402048
+}
+
+const fn_7_myr = { a1 : flt64, a2 : flt64, a3 : t31, a4 : t21, a5 : flt64, a6 : flt32, a7 : (t32,(t2,t18),t34), a8 : uint64
+    if !(a1==2.84375)
+        goto bad
+    ;;
+
+    if !(a2==-3.25390625)
+        goto bad
+    ;;
+
+    if !((a3.field_1==-2.56640625) && (a3.field_2==-0.59375) && (a3.field_3==-0.34375) && ((a3.field_4.field_1==83) && (a3.field_4.field_2==-0.8125) && (a3.field_4.field_3==245451030659072) && (a3.field_4.field_4==`E_24_1) && (a3.field_4.field_5==0.58203125) && (a3.field_4.field_6==0.734375)))
+        goto bad
+    ;;
+
+    if !((((a4.field_1.0.0==154) && (a4.field_1.0.1==16) && (a4.field_1.0.2==1.53125) && (a4.field_1.0.3==240450872147968)) && ((a4.field_1.1.field_1==93431282270208) && (a4.field_1.1.field_2==243719039352832) && ((a4.field_1.1.field_3.0==176) && (a4.field_1.1.field_3.1==179) && (a4.field_1.1.field_3.2==1.421875) && (a4.field_1.1.field_3.3==211285330100224)) && (a4.field_1.1.field_4==-2.0546875) && ((a4.field_1.1.field_5.0==120) && (a4.field_1.1.field_5.1==11) && (a4.field_1.1.field_5.2==0.984375) && (a4.field_1.1.field_5.3==85609800400896)))) && (((a4.field_2.field_1.0==3734886520) && ((a4.field_2.field_1.1.0==-0.03125) && (a4.field_2.field_1.1.1==4178676130)) && ((a4.field_2.field_1.2.0==1.4609375) && ((a4.field_2.field_1.2.1.field_1==278857533489153) && (a4.field_2.field_1.2.1.field_2==40762444611584) && ((a4.field_2.field_1.2.1.field_3.0==255) && (a4.field_2.field_1.2.1.field_3.1==97) && (a4.field_2.field_1.2.1.field_3.2==-0.09375) && (a4.field_2.field_1.2.1.field_3.3==67201348272128)) && (a4.field_2.field_1.2.1.field_4==-1.9375) && ((a4.field_2.field_1.2.1.field_5.0==145) && (a4.field_2.field_1.2.1.field_5.1==208) && (a4.field_2.field_1.2.1.field_5.2==1.53125) && (a4.field_2.field_1.2.1.field_5.3==6521111838720)))) && (((a4.field_2.field_1.3.0.field_1==-0.2265625) && (a4.field_2.field_1.3.0.field_2==0.28125) && ((a4.field_2.field_1.3.0.field_3.field_1==24215899865088) && ((a4.field_2.field_1.3.0.field_3.field_2.field_1==128440090099712) && (a4.field_2.field_1.3.0.field_3.field_2.field_2==124968190476288) && ((a4.field_2.field_1.3.0.field_3.field_2.field_3.0==106) && (a4.field_2.field_1.3.0.field_3.field_2.field_3.1==82) && (a4.field_2.field_1.3.0.field_3.field_2.field_3.2==-1.15625) && (a4.field_2.field_1.3.0.field_3.field_2.field_3.3==33900307021824)) && (a4.field_2.field_1.3.0.field_3.field_2.field_4==-1.75390625) && ((a4.field_2.field_1.3.0.field_3.field_2.field_5.0==226) && (a4.field_2.field_1.3.0.field_3.field_2.field_5.1==91) && (a4.field_2.field_1.3.0.field_3.field_2.field_5.2==0.765625) && (a4.field_2.field_1.3.0.field_3.field_2.field_5.3==261485102891008))) && ((a4.field_2.field_1.3.0.field_3.field_3.0==43) && (a4.field_2.field_1.3.0.field_3.field_3.1==12) && (a4.field_2.field_1.3.0.field_3.field_3.2==0.9375) && (a4.field_2.field_1.3.0.field_3.field_3.3==185189970870272)) && (a4.field_2.field_1.3.0.field_3.field_4==-3.73046875) && (a4.field_2.field_1.3.0.field_3.field_5==2085882880))) && ((a4.field_2.field_1.3.1.0==166) && (a4.field_2.field_1.3.1.1==42) && (a4.field_2.field_1.3.1.2==-0.0625) && (a4.field_2.field_1.3.1.3==8114197757952)) && ((a4.field_2.field_1.3.2.0==179406660042752) && (a4.field_2.field_1.3.2.1==0.6875)))) && (a4.field_2.field_2==-1.7109375) && (a4.field_2.field_3==58423380148224) && (a4.field_2.field_4==136)) && (a4.field_3==-0.71875) && (a4.field_4==`E_15_2) && (a4.field_5==-3.87109375) && (a4.field_6==2.8046875))
+        goto bad
+    ;;
+
+    if !(a5==-0.3046875)
+        goto bad
+    ;;
+
+    if !(a6==0.734375)
+        goto bad
+    ;;
+
+    if !(((a7.0.field_1==66690558)) && (((a7.1.0.field_1==201975036641280) && (a7.1.0.field_2==191791705096192) && ((a7.1.0.field_3.0==188) && (a7.1.0.field_3.1==255) && (a7.1.0.field_3.2==1.21875) && (a7.1.0.field_3.3==75962620575744)) && (a7.1.0.field_4==-1.81640625) && ((a7.1.0.field_5.0==30) && (a7.1.0.field_5.1==70) && (a7.1.0.field_5.2==-1.171875) && (a7.1.0.field_5.3==122844992372736))) && (a7.1.1==`E_18_6)) && (a7.2==`E_34_3))
+        goto bad
+    ;;
+
+    if !(a8==145924444127232)
+        goto bad
+    ;;
+
+    -> [.field_1=`E_36_2]
+
+:bad
+    -> [.field_1=`E_36_3]
+}
+
+const fn_8_myr = { a1 : t38, a2 : t39, a3 : flt64, a4 : uint8
+    if !(a1==`E_38_4)
+        goto bad
+    ;;
+
+    if !(a2==`E_39_1)
+        goto bad
+    ;;
+
+    if !(a3==-2.69140625)
+        goto bad
+    ;;
+
+    if !(a4==17)
+        goto bad
+    ;;
+
+    -> (86,((3264522662,(1.125,3024392),(2.90625,[.field_1=246587710898176,.field_2=98684395847680,.field_3=(7,232,-0.25,243343254224896),.field_4=1.3828125,.field_5=(123,151,0.671875,230200040620032)]),([.field_1=-0.5,.field_2=-1.484375,.field_3=[.field_1=78257571102720,.field_2=[.field_1=202195772637184,.field_2=21507053977600,.field_3=(42,43,0.453125,259622561644544),.field_4=1.18359375,.field_5=(201,220,-0.40625,87732745404416)],.field_3=(61,181,-1.34375,27713052475392),.field_4=1.640625,.field_5=4052472574]],(249,15,1.484375,248514888728576),(134716506374144,1.046875))),2404422220),246,[.field_1=((109,70,0.875,242714521763840),[.field_1=85381772738560,.field_2=16488017559552,.field_3=(148,97,-0.859375,211742737956864),.field_4=-3.73046875,.field_5=(37,103,0.96875,3251610451968)]),.field_2=`E_29_7,.field_3=34127014920192])
+
+:bad
+    -> (64,((2072157872,(-0.96875,1499873962),(-2.40234375,[.field_1=38436406689792,.field_2=91121526767616,.field_3=(64,27,-0.921875,205924771299328),.field_4=3.46484375,.field_5=(196,177,-0.40625,11710038278144)]),([.field_1=-0.1953125,.field_2=-0.84375,.field_3=[.field_1=97091811147776,.field_2=[.field_1=150148618125312,.field_2=228580951588864,.field_3=(185,194,0.203125,210398628937728),.field_4=3.1875,.field_5=(247,142,1.3125,208583715848192)],.field_3=(173,43,-0.875,245248454164480),.field_4=0.15234375,.field_5=1786378194]],(2,215,0.53125,32483101376512),(14001190862848,-0.3125))),251181130),208,[.field_1=((24,109,1.125,160345918668800),[.field_1=185513129279488,.field_2=57065717104640,.field_3=(26,120,1.34375,242789147082752),.field_4=-3.62890625,.field_5=(172,197,-1.5625,65287928938496)]),.field_2=`E_29_7,.field_3=209522592579584])
+}
+
+const fn_9_myr = { a1 : t46, a2 : flt32, a3 : t26, a4 : t47, a5 : t48, a6 : t54, a7 : uint32, a8 : flt32, a9 : t55, a10 : t56
+    if !((((a1.field_1.0.0==0.171875) && (a1.field_1.0.1==3226754646)) && (((a1.field_1.1.0.field_1==2.765625) && (a1.field_1.1.0.field_2==0.1875) && ((a1.field_1.1.0.field_3.field_1==276756521549824) && ((a1.field_1.1.0.field_3.field_2.field_1==152999296499712) && (a1.field_1.1.0.field_3.field_2.field_2==85664820494336) && ((a1.field_1.1.0.field_3.field_2.field_3.0==228) && (a1.field_1.1.0.field_3.field_2.field_3.1==103) && (a1.field_1.1.0.field_3.field_2.field_3.2==-0.71875) && (a1.field_1.1.0.field_3.field_2.field_3.3==189995730337792)) && (a1.field_1.1.0.field_3.field_2.field_4==2.2109375) && ((a1.field_1.1.0.field_3.field_2.field_5.0==167) && (a1.field_1.1.0.field_3.field_2.field_5.1==118) && (a1.field_1.1.0.field_3.field_2.field_5.2==-1.546875) && (a1.field_1.1.0.field_3.field_2.field_5.3==199486233247744))) && ((a1.field_1.1.0.field_3.field_3.0==94) && (a1.field_1.1.0.field_3.field_3.1==71) && (a1.field_1.1.0.field_3.field_3.2==-1.0625) && (a1.field_1.1.0.field_3.field_3.3==93572022140928)) && (a1.field_1.1.0.field_3.field_4==-1.046875) && (a1.field_1.1.0.field_3.field_5==3049108056))) && ((a1.field_1.1.1.0==185) && (a1.field_1.1.1.1==79) && (a1.field_1.1.1.2==1.03125) && (a1.field_1.1.1.3==217666636349440)) && ((a1.field_1.1.2.0==129819186561024) && (a1.field_1.1.2.1==-1.421875))) && ((a1.field_1.2.field_1==-1.60546875) && (a1.field_1.2.field_2==0.125) && ((a1.field_1.2.field_3.field_1==37068096536576) && ((a1.field_1.2.field_3.field_2.field_1==239555475144704) && (a1.field_1.2.field_3.field_2.field_2==81311387615232) && ((a1.field_1.2.field_3.field_2.field_3.0==252) && (a1.field_1.2.field_3.field_2.field_3.1==105) && (a1.field_1.2.field_3.field_2.field_3.2==-0.71875) && (a1.field_1.2.field_3.field_2.field_3.3==148899603939328)) && (a1.field_1.2.field_3.field_2.field_4==1.68359375) && ((a1.field_1.2.field_3.field_2.field_5.0==42) && (a1.field_1.2.field_3.field_2.field_5.1==238) && (a1.field_1.2.field_3.field_2.field_5.2==1.53125) && (a1.field_1.2.field_3.field_2.field_5.3==236603073363968))) && ((a1.field_1.2.field_3.field_3.0==183) && (a1.field_1.2.field_3.field_3.1==164) && (a1.field_1.2.field_3.field_3.2==-0.609375) && (a1.field_1.2.field_3.field_3.3==202904325324800)) && (a1.field_1.2.field_3.field_4==-1.15234375) && (a1.field_1.2.field_3.field_5==2895375692)))) && (a1.field_2==`E_44_7) && ((a1.field_3.field_1==2208687568)) && (a1.field_4==1848386781184) && ((a1.field_5.field_1==-1.05859375) && (a1.field_5.field_2==-0.859375) && ((a1.field_5.field_3.field_1==205448639807488) && ((a1.field_5.field_3.field_2.field_1==190494723801088) && (a1.field_5.field_3.field_2.field_2==14572431867904) && ((a1.field_5.field_3.field_2.field_3.0==128) && (a1.field_5.field_3.field_2.field_3.1==35) && (a1.field_5.field_3.field_2.field_3.2==-1.25) && (a1.field_5.field_3.field_2.field_3.3==224517446828032)) && (a1.field_5.field_3.field_2.field_4==1.37109375) && ((a1.field_5.field_3.field_2.field_5.0==59) && (a1.field_5.field_3.field_2.field_5.1==166) && (a1.field_5.field_3.field_2.field_5.2==1.453125) && (a1.field_5.field_3.field_2.field_5.3==61154056208384))) && ((a1.field_5.field_3.field_3.0==15) && (a1.field_5.field_3.field_3.1==60) && (a1.field_5.field_3.field_3.2==0.765625) && (a1.field_5.field_3.field_3.3==218183195164672)) && (a1.field_5.field_3.field_4==-0.765625) && (a1.field_5.field_3.field_5==2915453416))) && (a1.field_6==3275953006))
+        goto bad
+    ;;
+
+    if !(a2==-0.328125)
+        goto bad
+    ;;
+
+    if !((((a3.field_1.field_1.0==`E_8_1) && (a3.field_1.field_1.1==3258536312)) && (a3.field_1.field_2==-2.17578125) && (a3.field_1.field_3==31978917462016) && (a3.field_1.field_4==76825007489024) && (a3.field_1.field_5==-0.859375) && (a3.field_1.field_6==-0.171875)) && (a3.field_2==127) && (a3.field_3==269734934740992) && (a3.field_4==39))
+        goto bad
+    ;;
+
+    if !(a4==`E_47_3)
+        goto bad
+    ;;
+
+    if !(a5==`E_48_7)
+        goto bad
+    ;;
+
+    if !(((a6.field_1.field_1==613960680)) && ((a6.field_2.0==-0.125) && ((a6.field_2.1.field_1==469993662)) && (a6.field_2.2==201131156307968) && (a6.field_2.3==3.79296875)) && (a6.field_3==`E_51_4) && ((a6.field_4.field_1==0.09375) && (a6.field_4.field_2==`E_51_6) && (a6.field_4.field_3==134) && (a6.field_4.field_4==1.234375) && (a6.field_4.field_5==1.359375)) && (a6.field_5==`E_51_2) && (a6.field_6==`E_53_4))
+        goto bad
+    ;;
+
+    if !(a7==604879132)
+        goto bad
+    ;;
+
+    if !(a8==0.640625)
+        goto bad
+    ;;
+
+    if !(a9==`E_55_3)
+        goto bad
+    ;;
+
+    if !(a10==`E_56_4)
+        goto bad
+    ;;
+
+    -> 219771358019584
+
+:bad
+    -> 168173477429248
+}
+
+const fn_10_myr = { a1 : uint64, a2 : flt64, a3 : (t57,(flt64,t36),t59,(uint64,flt32,t4,t38)), a4 : uint8, a5 : t62, a6 : uint8, a7 : flt64, a8 : uint64
+    if !(a1==160708767514624)
+        goto bad
+    ;;
+
+    if !(a2==0.36328125)
+        goto bad
+    ;;
+
+    if !((a3.0==`E_57_5) && ((a3.1.0==-0.27734375) && (a3.1.1==`E_36_3)) && ((a3.2.field_1==97) && (a3.2.field_2==33865353396224)) && ((a3.3.0==216701139681280) && (a3.3.1==-1.03125) && ((a3.3.2.field_1==-0.8515625) && (a3.3.2.field_2==0.71875) && ((a3.3.2.field_3.field_1==244705840726016) && ((a3.3.2.field_3.field_2.field_1==53149469900800) && (a3.3.2.field_3.field_2.field_2==161998735409152) && ((a3.3.2.field_3.field_2.field_3.0==127) && (a3.3.2.field_3.field_2.field_3.1==47) && (a3.3.2.field_3.field_2.field_3.2==1.25) && (a3.3.2.field_3.field_2.field_3.3==59620799152128)) && (a3.3.2.field_3.field_2.field_4==-1.41015625) && ((a3.3.2.field_3.field_2.field_5.0==130) && (a3.3.2.field_3.field_2.field_5.1==161) && (a3.3.2.field_3.field_2.field_5.2==-1.453125) && (a3.3.2.field_3.field_2.field_5.3==49656372789248))) && ((a3.3.2.field_3.field_3.0==136) && (a3.3.2.field_3.field_3.1==83) && (a3.3.2.field_3.field_3.2==-1.15625) && (a3.3.2.field_3.field_3.3==278799917907969)) && (a3.3.2.field_3.field_4==2.5234375) && (a3.3.2.field_3.field_5==3744252854))) && (a3.3.3==`E_38_1)))
+        goto bad
+    ;;
+
+    if !(a4==202)
+        goto bad
+    ;;
+
+    if !(a5==`E_62_3)
+        goto bad
+    ;;
+
+    if !(a6==0)
+        goto bad
+    ;;
+
+    if !(a7==2.234375)
+        goto bad
+    ;;
+
+    if !(a8==215484511158272)
+        goto bad
+    ;;
+
+    -> [.field_1=268633981059072,.field_2=[.field_1=24949413642240,.field_2=153583813787648,.field_3=(35,252,0.8125,128878867382272),.field_4=-0.03125,.field_5=(98,126,0.546875,258416610377728)],.field_3=(209,206,1.28125,180894750212096),.field_4=1.390625,.field_5=4104417000]
+
+:bad
+    -> [.field_1=194724296130560,.field_2=[.field_1=131606075277312,.field_2=177386963992576,.field_3=(80,184,0.453125,88961125056512),.field_4=-3.15625,.field_5=(110,126,1.140625,266037895757824)],.field_3=(137,208,-1.46875,23546486325248),.field_4=3.55078125,.field_5=90406856]
+}
+
--- /dev/null
+++ b/test/abi/004_main.myr
@@ -1,0 +1,175 @@
+/* seed = 1591515270 */
+use std
+use "004_types"
+use "004_in-myr"
+use "004_in-c"
+
+const main = {
+    /* myr calling myr */
+    var a_1_1 : flt64 = -0.26171875
+    var ret_1 : t2 = fn_1_myr(a_1_1)
+    if !((ret_1.field_1==12459410325504) && (ret_1.field_2==98659448520704) && ((ret_1.field_3.0==166) && (ret_1.field_3.1==107) && (ret_1.field_3.2==0.140625) && (ret_1.field_3.3==92389009653760)) && (ret_1.field_4==-3.140625) && ((ret_1.field_5.0==157) && (ret_1.field_5.1==191) && (ret_1.field_5.2==1.125) && (ret_1.field_5.3==644801363968)))
+        std.put("myr_to_myr 1 failed\n")
+        std.exit(1)
+    ;;
+    var a_2_1 : flt64 = -3.80078125
+    var a_2_2 : t4 = [.field_1=2.8203125,.field_2=1.40625,.field_3=[.field_1=281155744301057,.field_2=[.field_1=201484396396544,.field_2=167610483867648,.field_3=(241,67,-1.546875,85217436499968),.field_4=1.33203125,.field_5=(115,174,0.578125,108879745908736)],.field_3=(46,0,0.484375,41200816095232),.field_4=1.640625,.field_5=4163457034]]
+    var a_2_3 : (uint8,uint8,flt32,uint64) = (179,82,0.796875,149846806626304)
+    var a_2_4 : (uint64,flt32) = (132525092503552,-1.3125)
+    var ret_2 : uint64 = fn_2_myr(a_2_1, a_2_2, a_2_3, a_2_4)
+    if !(ret_2==132205860093952)
+        std.put("myr_to_myr 2 failed\n")
+        std.exit(1)
+    ;;
+    var a_3_1 : (uint8,uint8,flt32,uint64) = (211,183,0.71875,77205130182656)
+    var a_3_2 : t3 = [.field_1=186084876091392,.field_2=[.field_1=162500698177536,.field_2=117147867938816,.field_3=(81,185,-1.171875,80629570863104),.field_4=-2.453125,.field_5=(49,253,0.03125,266183655817216)],.field_3=(133,78,-1.15625,208468516143104),.field_4=0.625,.field_5=2593151244]
+    var a_3_3 : (uint8,t6,(uint64,flt32),t2) = (104,`E_6_7,(168319363710976,1.015625),[.field_1=105329353555968,.field_2=49345085177856,.field_3=(61,176,1.25,102963779993600),.field_4=3.734375,.field_5=(21,143,1.46875,167234555215872)])
+    var a_3_4 : t4 = [.field_1=3.12890625,.field_2=0.4375,.field_3=[.field_1=63982214447104,.field_2=[.field_1=135072305512448,.field_2=67998052515840,.field_3=(12,71,-0.578125,187813731500032),.field_4=3.07421875,.field_5=(205,88,-0.53125,674692464640)],.field_3=(193,11,0.3125,162599899496448),.field_4=-0.62890625,.field_5=3331590902]]
+    var a_3_5 : (t8,uint32) = (`E_8_5,3187538484)
+    var a_3_6 : uint8 = 90
+    var a_3_7 : flt32 = 0.125
+    var a_3_8 : flt32 = 1.203125
+    var ret_3 : (uint32,(flt32,uint32),(flt64,t2),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32))) = fn_3_myr(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6, a_3_7, a_3_8)
+    if !((ret_3.0==650661816) && ((ret_3.1.0==-0.015625) && (ret_3.1.1==2851726420)) && ((ret_3.2.0==-3.625) && ((ret_3.2.1.field_1==74772813709312) && (ret_3.2.1.field_2==112035052126208) && ((ret_3.2.1.field_3.0==41) && (ret_3.2.1.field_3.1==21) && (ret_3.2.1.field_3.2==-0.28125) && (ret_3.2.1.field_3.3==170067893944320)) && (ret_3.2.1.field_4==0.52734375) && ((ret_3.2.1.field_5.0==81) && (ret_3.2.1.field_5.1==216) && (ret_3.2.1.field_5.2==-0.328125) && (ret_3.2.1.field_5.3==156496708894720)))) && (((ret_3.3.0.field_1==-3.19140625) && (ret_3.3.0.field_2==1.515625) && ((ret_3.3.0.field_3.field_1==236308757348352) && ((ret_3.3.0.field_3.field_2.field_1==263713238548480) && (ret_3.3.0.field_3.field_2.field_2==40608255049728) && ((ret_3.3.0.field_3.field_2.field_3.0==138) && (ret_3.3.0.field_3.field_2.field_3.1==142) && (ret_3.3.0.field_3.field_2.field_3.2==-1.1875) && (ret_3.3.0.field_3.field_2.field_3.3==100184688558080)) && (ret_3.3.0.field_3.field_2.field_4==2.76171875) && ((ret_3.3.0.field_3.field_2.field_5.0==73) && (ret_3.3.0.field_3.field_2.field_5.1==65) && (ret_3.3.0.field_3.field_2.field_5.2==1.28125) && (ret_3.3.0.field_3.field_2.field_5.3==53591441145856))) && ((ret_3.3.0.field_3.field_3.0==54) && (ret_3.3.0.field_3.field_3.1==81) && (ret_3.3.0.field_3.field_3.2==-0.5) && (ret_3.3.0.field_3.field_3.3==200208867524608)) && (ret_3.3.0.field_3.field_4==3.7734375) && (ret_3.3.0.field_3.field_5==1624457196))) && ((ret_3.3.1.0==250) && (ret_3.3.1.1==97) && (ret_3.3.1.2==0.125) && (ret_3.3.1.3==16842727882752)) && ((ret_3.3.2.0==222985090629632) && (ret_3.3.2.1==-1.109375))))
+        std.put("myr_to_myr 3 failed\n")
+        std.exit(1)
+    ;;
+    var a_4_1 : (t14,flt32,uint64,t15) = (`E_14_1,-0.734375,31855997878272,`E_15_5)
+    var ret_4 : t19 = fn_4_myr(a_4_1)
+    if !((ret_4.field_1==0.03125) && (((ret_4.field_2.field_1.0==947051528) && ((ret_4.field_2.field_1.1.0==0.96875) && (ret_4.field_2.field_1.1.1==241559198)) && ((ret_4.field_2.field_1.2.0==-0.125) && ((ret_4.field_2.field_1.2.1.field_1==22236939157504) && (ret_4.field_2.field_1.2.1.field_2==74920569470976) && ((ret_4.field_2.field_1.2.1.field_3.0==22) && (ret_4.field_2.field_1.2.1.field_3.1==25) && (ret_4.field_2.field_1.2.1.field_3.2==-0.46875) && (ret_4.field_2.field_1.2.1.field_3.3==99222545367040)) && (ret_4.field_2.field_1.2.1.field_4==-2.25) && ((ret_4.field_2.field_1.2.1.field_5.0==6) && (ret_4.field_2.field_1.2.1.field_5.1==66) && (ret_4.field_2.field_1.2.1.field_5.2==0.9375) && (ret_4.field_2.field_1.2.1.field_5.3==72999681130496)))) && (((ret_4.field_2.field_1.3.0.field_1==-2.41015625) && (ret_4.field_2.field_1.3.0.field_2==-0.328125) && ((ret_4.field_2.field_1.3.0.field_3.field_1==33373226926080) && ((ret_4.field_2.field_1.3.0.field_3.field_2.field_1==264437028749312) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_2==41455185559552) && ((ret_4.field_2.field_1.3.0.field_3.field_2.field_3.0==58) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_3.1==157) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_3.2==-1.40625) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_3.3==172834173747200)) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_4==2.96484375) && ((ret_4.field_2.field_1.3.0.field_3.field_2.field_5.0==47) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_5.1==72) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_5.2==-0.8125) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_5.3==161994014326784))) && ((ret_4.field_2.field_1.3.0.field_3.field_3.0==98) && (ret_4.field_2.field_1.3.0.field_3.field_3.1==191) && (ret_4.field_2.field_1.3.0.field_3.field_3.2==0.9375) && (ret_4.field_2.field_1.3.0.field_3.field_3.3==54448237051904)) && (ret_4.field_2.field_1.3.0.field_3.field_4==2.390625) && (ret_4.field_2.field_1.3.0.field_3.field_5==1201643174))) && ((ret_4.field_2.field_1.3.1.0==69) && (ret_4.field_2.field_1.3.1.1==18) && (ret_4.field_2.field_1.3.1.2==-0.421875) && (ret_4.field_2.field_1.3.1.3==104603486781440)) && ((ret_4.field_2.field_1.3.2.0==119279618490368) && (ret_4.field_2.field_1.3.2.1==0.6875)))) && (ret_4.field_2.field_2==0.65625) && (ret_4.field_2.field_3==125926830637056) && (ret_4.field_2.field_4==250)) && (ret_4.field_3==`E_18_3) && ((ret_4.field_4.field_1==198926511898624) && (ret_4.field_4.field_2==48406520135680) && ((ret_4.field_4.field_3.0==198) && (ret_4.field_4.field_3.1==211) && (ret_4.field_4.field_3.2==-1.21875) && (ret_4.field_4.field_3.3==259336007450624)) && (ret_4.field_4.field_4==-3.48828125) && ((ret_4.field_4.field_5.0==185) && (ret_4.field_4.field_5.1==248) && (ret_4.field_4.field_5.2==0.53125) && (ret_4.field_4.field_5.3==170021025611776))))
+        std.put("myr_to_myr 4 failed\n")
+        std.exit(1)
+    ;;
+    var a_5_1 : uint32 = 3491579916
+    var a_5_2 : (flt64,t2) = (2.140625,[.field_1=17107741573120,.field_2=257014155051008,.field_3=(120,241,1.078125,195206002114560),.field_4=-1.15625,.field_5=(46,186,0.1875,278368438321153)])
+    var a_5_3 : t21 = [.field_1=((66,239,-1.203125,89848418926592),[.field_1=239095841685504,.field_2=165469104898048,.field_3=(67,177,-0.6875,172891013120000),.field_4=2.93359375,.field_5=(2,44,1.140625,266978004566016)]),.field_2=[.field_1=(488880992,(0.1875,4283670802),(-2.4453125,[.field_1=86642904793088,.field_2=9550056259584,.field_3=(135,40,-1.234375,14565778391040),.field_4=3.859375,.field_5=(97,149,0.75,208889540378624)]),([.field_1=3.3515625,.field_2=1.5625,.field_3=[.field_1=190971227013120,.field_2=[.field_1=13441050607616,.field_2=89440160972800,.field_3=(135,162,0.25,62767721873408),.field_4=3.2578125,.field_5=(49,25,1.34375,103776287981568)],.field_3=(246,223,-0.0625,147071279038464),.field_4=2.90625,.field_5=2875920810]],(212,231,-0.9375,278720009601025),(4008885223424,-0.78125))),.field_2=3.78125,.field_3=111604690845696,.field_4=213],.field_3=0.703125,.field_4=`E_15_1,.field_5=2.0625,.field_6=1.73828125]
+    var a_5_4 : (uint8,flt64,t14,t22) = (208,1.30078125,`E_14_3,`E_22_2)
+    var a_5_5 : t24 = `E_24_4
+    var a_5_6 : uint32 = 157825342
+    var a_5_7 : flt64 = 3.765625
+    var a_5_8 : t26 = [.field_1=[.field_1=(`E_8_6,3815456600),.field_2=-1.58203125,.field_3=16877321453568,.field_4=145567904956416,.field_5=-0.125,.field_6=1.76171875],.field_2=171,.field_3=140444787539968,.field_4=15]
+    var a_5_9 : t27 = `E_27_5
+    var a_5_10 : t28 = `E_28_3
+    var ret_5 : t29 = fn_5_myr(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5, a_5_6, a_5_7, a_5_8, a_5_9, a_5_10)
+    if !(ret_5==`E_29_1)
+        std.put("myr_to_myr 5 failed\n")
+        std.exit(1)
+    ;;
+    var a_6_1 : ((uint8,uint8,flt32,uint64),t2) = ((141,149,-1.25,58279295057920),[.field_1=63572928888832,.field_2=46145049067520,.field_3=(109,59,-1.4375,89364507131904),.field_4=0.23828125,.field_5=(25,213,1.546875,232592606363648)])
+    var a_6_2 : t15 = `E_15_6
+    var ret_6 : uint32 = fn_6_myr(a_6_1, a_6_2)
+    if !(ret_6==4008488864)
+        std.put("myr_to_myr 6 failed\n")
+        std.exit(1)
+    ;;
+    var a_7_1 : flt64 = 2.84375
+    var a_7_2 : flt64 = -3.25390625
+    var a_7_3 : t31 = [.field_1=-2.56640625,.field_2=-0.59375,.field_3=-0.34375,.field_4=[.field_1=83,.field_2=-0.8125,.field_3=245451030659072,.field_4=`E_24_1,.field_5=0.58203125,.field_6=0.734375]]
+    var a_7_4 : t21 = [.field_1=((154,16,1.53125,240450872147968),[.field_1=93431282270208,.field_2=243719039352832,.field_3=(176,179,1.421875,211285330100224),.field_4=-2.0546875,.field_5=(120,11,0.984375,85609800400896)]),.field_2=[.field_1=(3734886520,(-0.03125,4178676130),(1.4609375,[.field_1=278857533489153,.field_2=40762444611584,.field_3=(255,97,-0.09375,67201348272128),.field_4=-1.9375,.field_5=(145,208,1.53125,6521111838720)]),([.field_1=-0.2265625,.field_2=0.28125,.field_3=[.field_1=24215899865088,.field_2=[.field_1=128440090099712,.field_2=124968190476288,.field_3=(106,82,-1.15625,33900307021824),.field_4=-1.75390625,.field_5=(226,91,0.765625,261485102891008)],.field_3=(43,12,0.9375,185189970870272),.field_4=-3.73046875,.field_5=2085882880]],(166,42,-0.0625,8114197757952),(179406660042752,0.6875))),.field_2=-1.7109375,.field_3=58423380148224,.field_4=136],.field_3=-0.71875,.field_4=`E_15_2,.field_5=-3.87109375,.field_6=2.8046875]
+    var a_7_5 : flt64 = -0.3046875
+    var a_7_6 : flt32 = 0.734375
+    var a_7_7 : (t32,(t2,t18),t34) = ([.field_1=66690558],([.field_1=201975036641280,.field_2=191791705096192,.field_3=(188,255,1.21875,75962620575744),.field_4=-1.81640625,.field_5=(30,70,-1.171875,122844992372736)],`E_18_6),`E_34_3)
+    var a_7_8 : uint64 = 145924444127232
+    var ret_7 : t37 = fn_7_myr(a_7_1, a_7_2, a_7_3, a_7_4, a_7_5, a_7_6, a_7_7, a_7_8)
+    if !((ret_7.field_1==`E_36_2))
+        std.put("myr_to_myr 7 failed\n")
+        std.exit(1)
+    ;;
+    var a_8_1 : t38 = `E_38_4
+    var a_8_2 : t39 = `E_39_1
+    var a_8_3 : flt64 = -2.69140625
+    var a_8_4 : uint8 = 17
+    var ret_8 : (uint8,((uint32,(flt32,uint32),(flt64,t2),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32))),uint32),uint8,t41) = fn_8_myr(a_8_1, a_8_2, a_8_3, a_8_4)
+    if !((ret_8.0==86) && (((ret_8.1.0.0==3264522662) && ((ret_8.1.0.1.0==1.125) && (ret_8.1.0.1.1==3024392)) && ((ret_8.1.0.2.0==2.90625) && ((ret_8.1.0.2.1.field_1==246587710898176) && (ret_8.1.0.2.1.field_2==98684395847680) && ((ret_8.1.0.2.1.field_3.0==7) && (ret_8.1.0.2.1.field_3.1==232) && (ret_8.1.0.2.1.field_3.2==-0.25) && (ret_8.1.0.2.1.field_3.3==243343254224896)) && (ret_8.1.0.2.1.field_4==1.3828125) && ((ret_8.1.0.2.1.field_5.0==123) && (ret_8.1.0.2.1.field_5.1==151) && (ret_8.1.0.2.1.field_5.2==0.671875) && (ret_8.1.0.2.1.field_5.3==230200040620032)))) && (((ret_8.1.0.3.0.field_1==-0.5) && (ret_8.1.0.3.0.field_2==-1.484375) && ((ret_8.1.0.3.0.field_3.field_1==78257571102720) && ((ret_8.1.0.3.0.field_3.field_2.field_1==202195772637184) && (ret_8.1.0.3.0.field_3.field_2.field_2==21507053977600) && ((ret_8.1.0.3.0.field_3.field_2.field_3.0==42) && (ret_8.1.0.3.0.field_3.field_2.field_3.1==43) && (ret_8.1.0.3.0.field_3.field_2.field_3.2==0.453125) && (ret_8.1.0.3.0.field_3.field_2.field_3.3==259622561644544)) && (ret_8.1.0.3.0.field_3.field_2.field_4==1.18359375) && ((ret_8.1.0.3.0.field_3.field_2.field_5.0==201) && (ret_8.1.0.3.0.field_3.field_2.field_5.1==220) && (ret_8.1.0.3.0.field_3.field_2.field_5.2==-0.40625) && (ret_8.1.0.3.0.field_3.field_2.field_5.3==87732745404416))) && ((ret_8.1.0.3.0.field_3.field_3.0==61) && (ret_8.1.0.3.0.field_3.field_3.1==181) && (ret_8.1.0.3.0.field_3.field_3.2==-1.34375) && (ret_8.1.0.3.0.field_3.field_3.3==27713052475392)) && (ret_8.1.0.3.0.field_3.field_4==1.640625) && (ret_8.1.0.3.0.field_3.field_5==4052472574))) && ((ret_8.1.0.3.1.0==249) && (ret_8.1.0.3.1.1==15) && (ret_8.1.0.3.1.2==1.484375) && (ret_8.1.0.3.1.3==248514888728576)) && ((ret_8.1.0.3.2.0==134716506374144) && (ret_8.1.0.3.2.1==1.046875)))) && (ret_8.1.1==2404422220)) && (ret_8.2==246) && ((((ret_8.3.field_1.0.0==109) && (ret_8.3.field_1.0.1==70) && (ret_8.3.field_1.0.2==0.875) && (ret_8.3.field_1.0.3==242714521763840)) && ((ret_8.3.field_1.1.field_1==85381772738560) && (ret_8.3.field_1.1.field_2==16488017559552) && ((ret_8.3.field_1.1.field_3.0==148) && (ret_8.3.field_1.1.field_3.1==97) && (ret_8.3.field_1.1.field_3.2==-0.859375) && (ret_8.3.field_1.1.field_3.3==211742737956864)) && (ret_8.3.field_1.1.field_4==-3.73046875) && ((ret_8.3.field_1.1.field_5.0==37) && (ret_8.3.field_1.1.field_5.1==103) && (ret_8.3.field_1.1.field_5.2==0.96875) && (ret_8.3.field_1.1.field_5.3==3251610451968)))) && (ret_8.3.field_2==`E_29_7) && (ret_8.3.field_3==34127014920192)))
+        std.put("myr_to_myr 8 failed\n")
+        std.exit(1)
+    ;;
+    var a_9_1 : t46 = [.field_1=((0.171875,3226754646),([.field_1=2.765625,.field_2=0.1875,.field_3=[.field_1=276756521549824,.field_2=[.field_1=152999296499712,.field_2=85664820494336,.field_3=(228,103,-0.71875,189995730337792),.field_4=2.2109375,.field_5=(167,118,-1.546875,199486233247744)],.field_3=(94,71,-1.0625,93572022140928),.field_4=-1.046875,.field_5=3049108056]],(185,79,1.03125,217666636349440),(129819186561024,-1.421875)),[.field_1=-1.60546875,.field_2=0.125,.field_3=[.field_1=37068096536576,.field_2=[.field_1=239555475144704,.field_2=81311387615232,.field_3=(252,105,-0.71875,148899603939328),.field_4=1.68359375,.field_5=(42,238,1.53125,236603073363968)],.field_3=(183,164,-0.609375,202904325324800),.field_4=-1.15234375,.field_5=2895375692]]),.field_2=`E_44_7,.field_3=[.field_1=2208687568],.field_4=1848386781184,.field_5=[.field_1=-1.05859375,.field_2=-0.859375,.field_3=[.field_1=205448639807488,.field_2=[.field_1=190494723801088,.field_2=14572431867904,.field_3=(128,35,-1.25,224517446828032),.field_4=1.37109375,.field_5=(59,166,1.453125,61154056208384)],.field_3=(15,60,0.765625,218183195164672),.field_4=-0.765625,.field_5=2915453416]],.field_6=3275953006]
+    var a_9_2 : flt32 = -0.328125
+    var a_9_3 : t26 = [.field_1=[.field_1=(`E_8_1,3258536312),.field_2=-2.17578125,.field_3=31978917462016,.field_4=76825007489024,.field_5=-0.859375,.field_6=-0.171875],.field_2=127,.field_3=269734934740992,.field_4=39]
+    var a_9_4 : t47 = `E_47_3
+    var a_9_5 : t48 = `E_48_7
+    var a_9_6 : t54 = [.field_1=[.field_1=613960680],.field_2=(-0.125,[.field_1=469993662],201131156307968,3.79296875),.field_3=`E_51_4,.field_4=[.field_1=0.09375,.field_2=`E_51_6,.field_3=134,.field_4=1.234375,.field_5=1.359375],.field_5=`E_51_2,.field_6=`E_53_4]
+    var a_9_7 : uint32 = 604879132
+    var a_9_8 : flt32 = 0.640625
+    var a_9_9 : t55 = `E_55_3
+    var a_9_10 : t56 = `E_56_4
+    var ret_9 : uint64 = fn_9_myr(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10)
+    if !(ret_9==219771358019584)
+        std.put("myr_to_myr 9 failed\n")
+        std.exit(1)
+    ;;
+    var a_10_1 : uint64 = 160708767514624
+    var a_10_2 : flt64 = 0.36328125
+    var a_10_3 : (t57,(flt64,t36),t59,(uint64,flt32,t4,t38)) = (`E_57_5,(-0.27734375,`E_36_3),[.field_1=97,.field_2=33865353396224],(216701139681280,-1.03125,[.field_1=-0.8515625,.field_2=0.71875,.field_3=[.field_1=244705840726016,.field_2=[.field_1=53149469900800,.field_2=161998735409152,.field_3=(127,47,1.25,59620799152128),.field_4=-1.41015625,.field_5=(130,161,-1.453125,49656372789248)],.field_3=(136,83,-1.15625,278799917907969),.field_4=2.5234375,.field_5=3744252854]],`E_38_1))
+    var a_10_4 : uint8 = 202
+    var a_10_5 : t62 = `E_62_3
+    var a_10_6 : uint8 = 0
+    var a_10_7 : flt64 = 2.234375
+    var a_10_8 : uint64 = 215484511158272
+    var ret_10 : t3 = fn_10_myr(a_10_1, a_10_2, a_10_3, a_10_4, a_10_5, a_10_6, a_10_7, a_10_8)
+    if !((ret_10.field_1==268633981059072) && ((ret_10.field_2.field_1==24949413642240) && (ret_10.field_2.field_2==153583813787648) && ((ret_10.field_2.field_3.0==35) && (ret_10.field_2.field_3.1==252) && (ret_10.field_2.field_3.2==0.8125) && (ret_10.field_2.field_3.3==128878867382272)) && (ret_10.field_2.field_4==-0.03125) && ((ret_10.field_2.field_5.0==98) && (ret_10.field_2.field_5.1==126) && (ret_10.field_2.field_5.2==0.546875) && (ret_10.field_2.field_5.3==258416610377728))) && ((ret_10.field_3.0==209) && (ret_10.field_3.1==206) && (ret_10.field_3.2==1.28125) && (ret_10.field_3.3==180894750212096)) && (ret_10.field_4==1.390625) && (ret_10.field_5==4104417000))
+        std.put("myr_to_myr 10 failed\n")
+        std.exit(1)
+    ;;
+
+    /* myr calling c */
+    ret_1 = fn_1_c(a_1_1)
+    if !((ret_1.field_1==12459410325504) && (ret_1.field_2==98659448520704) && ((ret_1.field_3.0==166) && (ret_1.field_3.1==107) && (ret_1.field_3.2==0.140625) && (ret_1.field_3.3==92389009653760)) && (ret_1.field_4==-3.140625) && ((ret_1.field_5.0==157) && (ret_1.field_5.1==191) && (ret_1.field_5.2==1.125) && (ret_1.field_5.3==644801363968)))
+        std.put("myr_to_c 1 failed\n")
+        std.exit(1)
+    ;;
+    ret_2 = fn_2_c(a_2_1, a_2_2, a_2_3, a_2_4)
+    if !(ret_2==132205860093952)
+        std.put("myr_to_c 2 failed\n")
+        std.exit(1)
+    ;;
+    ret_3 = fn_3_c(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6, a_3_7, a_3_8)
+    if !((ret_3.0==650661816) && ((ret_3.1.0==-0.015625) && (ret_3.1.1==2851726420)) && ((ret_3.2.0==-3.625) && ((ret_3.2.1.field_1==74772813709312) && (ret_3.2.1.field_2==112035052126208) && ((ret_3.2.1.field_3.0==41) && (ret_3.2.1.field_3.1==21) && (ret_3.2.1.field_3.2==-0.28125) && (ret_3.2.1.field_3.3==170067893944320)) && (ret_3.2.1.field_4==0.52734375) && ((ret_3.2.1.field_5.0==81) && (ret_3.2.1.field_5.1==216) && (ret_3.2.1.field_5.2==-0.328125) && (ret_3.2.1.field_5.3==156496708894720)))) && (((ret_3.3.0.field_1==-3.19140625) && (ret_3.3.0.field_2==1.515625) && ((ret_3.3.0.field_3.field_1==236308757348352) && ((ret_3.3.0.field_3.field_2.field_1==263713238548480) && (ret_3.3.0.field_3.field_2.field_2==40608255049728) && ((ret_3.3.0.field_3.field_2.field_3.0==138) && (ret_3.3.0.field_3.field_2.field_3.1==142) && (ret_3.3.0.field_3.field_2.field_3.2==-1.1875) && (ret_3.3.0.field_3.field_2.field_3.3==100184688558080)) && (ret_3.3.0.field_3.field_2.field_4==2.76171875) && ((ret_3.3.0.field_3.field_2.field_5.0==73) && (ret_3.3.0.field_3.field_2.field_5.1==65) && (ret_3.3.0.field_3.field_2.field_5.2==1.28125) && (ret_3.3.0.field_3.field_2.field_5.3==53591441145856))) && ((ret_3.3.0.field_3.field_3.0==54) && (ret_3.3.0.field_3.field_3.1==81) && (ret_3.3.0.field_3.field_3.2==-0.5) && (ret_3.3.0.field_3.field_3.3==200208867524608)) && (ret_3.3.0.field_3.field_4==3.7734375) && (ret_3.3.0.field_3.field_5==1624457196))) && ((ret_3.3.1.0==250) && (ret_3.3.1.1==97) && (ret_3.3.1.2==0.125) && (ret_3.3.1.3==16842727882752)) && ((ret_3.3.2.0==222985090629632) && (ret_3.3.2.1==-1.109375))))
+        std.put("myr_to_c 3 failed\n")
+        std.exit(1)
+    ;;
+    ret_4 = fn_4_c(a_4_1)
+    if !((ret_4.field_1==0.03125) && (((ret_4.field_2.field_1.0==947051528) && ((ret_4.field_2.field_1.1.0==0.96875) && (ret_4.field_2.field_1.1.1==241559198)) && ((ret_4.field_2.field_1.2.0==-0.125) && ((ret_4.field_2.field_1.2.1.field_1==22236939157504) && (ret_4.field_2.field_1.2.1.field_2==74920569470976) && ((ret_4.field_2.field_1.2.1.field_3.0==22) && (ret_4.field_2.field_1.2.1.field_3.1==25) && (ret_4.field_2.field_1.2.1.field_3.2==-0.46875) && (ret_4.field_2.field_1.2.1.field_3.3==99222545367040)) && (ret_4.field_2.field_1.2.1.field_4==-2.25) && ((ret_4.field_2.field_1.2.1.field_5.0==6) && (ret_4.field_2.field_1.2.1.field_5.1==66) && (ret_4.field_2.field_1.2.1.field_5.2==0.9375) && (ret_4.field_2.field_1.2.1.field_5.3==72999681130496)))) && (((ret_4.field_2.field_1.3.0.field_1==-2.41015625) && (ret_4.field_2.field_1.3.0.field_2==-0.328125) && ((ret_4.field_2.field_1.3.0.field_3.field_1==33373226926080) && ((ret_4.field_2.field_1.3.0.field_3.field_2.field_1==264437028749312) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_2==41455185559552) && ((ret_4.field_2.field_1.3.0.field_3.field_2.field_3.0==58) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_3.1==157) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_3.2==-1.40625) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_3.3==172834173747200)) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_4==2.96484375) && ((ret_4.field_2.field_1.3.0.field_3.field_2.field_5.0==47) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_5.1==72) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_5.2==-0.8125) && (ret_4.field_2.field_1.3.0.field_3.field_2.field_5.3==161994014326784))) && ((ret_4.field_2.field_1.3.0.field_3.field_3.0==98) && (ret_4.field_2.field_1.3.0.field_3.field_3.1==191) && (ret_4.field_2.field_1.3.0.field_3.field_3.2==0.9375) && (ret_4.field_2.field_1.3.0.field_3.field_3.3==54448237051904)) && (ret_4.field_2.field_1.3.0.field_3.field_4==2.390625) && (ret_4.field_2.field_1.3.0.field_3.field_5==1201643174))) && ((ret_4.field_2.field_1.3.1.0==69) && (ret_4.field_2.field_1.3.1.1==18) && (ret_4.field_2.field_1.3.1.2==-0.421875) && (ret_4.field_2.field_1.3.1.3==104603486781440)) && ((ret_4.field_2.field_1.3.2.0==119279618490368) && (ret_4.field_2.field_1.3.2.1==0.6875)))) && (ret_4.field_2.field_2==0.65625) && (ret_4.field_2.field_3==125926830637056) && (ret_4.field_2.field_4==250)) && (ret_4.field_3==`E_18_3) && ((ret_4.field_4.field_1==198926511898624) && (ret_4.field_4.field_2==48406520135680) && ((ret_4.field_4.field_3.0==198) && (ret_4.field_4.field_3.1==211) && (ret_4.field_4.field_3.2==-1.21875) && (ret_4.field_4.field_3.3==259336007450624)) && (ret_4.field_4.field_4==-3.48828125) && ((ret_4.field_4.field_5.0==185) && (ret_4.field_4.field_5.1==248) && (ret_4.field_4.field_5.2==0.53125) && (ret_4.field_4.field_5.3==170021025611776))))
+        std.put("myr_to_c 4 failed\n")
+        std.exit(1)
+    ;;
+    ret_5 = fn_5_c(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5, a_5_6, a_5_7, a_5_8, a_5_9, a_5_10)
+    if !(ret_5==`E_29_1)
+        std.put("myr_to_c 5 failed\n")
+        std.exit(1)
+    ;;
+    ret_6 = fn_6_c(a_6_1, a_6_2)
+    if !(ret_6==4008488864)
+        std.put("myr_to_c 6 failed\n")
+        std.exit(1)
+    ;;
+    ret_7 = fn_7_c(a_7_1, a_7_2, a_7_3, a_7_4, a_7_5, a_7_6, a_7_7, a_7_8)
+    if !((ret_7.field_1==`E_36_2))
+        std.put("myr_to_c 7 failed\n")
+        std.exit(1)
+    ;;
+    ret_8 = fn_8_c(a_8_1, a_8_2, a_8_3, a_8_4)
+    if !((ret_8.0==86) && (((ret_8.1.0.0==3264522662) && ((ret_8.1.0.1.0==1.125) && (ret_8.1.0.1.1==3024392)) && ((ret_8.1.0.2.0==2.90625) && ((ret_8.1.0.2.1.field_1==246587710898176) && (ret_8.1.0.2.1.field_2==98684395847680) && ((ret_8.1.0.2.1.field_3.0==7) && (ret_8.1.0.2.1.field_3.1==232) && (ret_8.1.0.2.1.field_3.2==-0.25) && (ret_8.1.0.2.1.field_3.3==243343254224896)) && (ret_8.1.0.2.1.field_4==1.3828125) && ((ret_8.1.0.2.1.field_5.0==123) && (ret_8.1.0.2.1.field_5.1==151) && (ret_8.1.0.2.1.field_5.2==0.671875) && (ret_8.1.0.2.1.field_5.3==230200040620032)))) && (((ret_8.1.0.3.0.field_1==-0.5) && (ret_8.1.0.3.0.field_2==-1.484375) && ((ret_8.1.0.3.0.field_3.field_1==78257571102720) && ((ret_8.1.0.3.0.field_3.field_2.field_1==202195772637184) && (ret_8.1.0.3.0.field_3.field_2.field_2==21507053977600) && ((ret_8.1.0.3.0.field_3.field_2.field_3.0==42) && (ret_8.1.0.3.0.field_3.field_2.field_3.1==43) && (ret_8.1.0.3.0.field_3.field_2.field_3.2==0.453125) && (ret_8.1.0.3.0.field_3.field_2.field_3.3==259622561644544)) && (ret_8.1.0.3.0.field_3.field_2.field_4==1.18359375) && ((ret_8.1.0.3.0.field_3.field_2.field_5.0==201) && (ret_8.1.0.3.0.field_3.field_2.field_5.1==220) && (ret_8.1.0.3.0.field_3.field_2.field_5.2==-0.40625) && (ret_8.1.0.3.0.field_3.field_2.field_5.3==87732745404416))) && ((ret_8.1.0.3.0.field_3.field_3.0==61) && (ret_8.1.0.3.0.field_3.field_3.1==181) && (ret_8.1.0.3.0.field_3.field_3.2==-1.34375) && (ret_8.1.0.3.0.field_3.field_3.3==27713052475392)) && (ret_8.1.0.3.0.field_3.field_4==1.640625) && (ret_8.1.0.3.0.field_3.field_5==4052472574))) && ((ret_8.1.0.3.1.0==249) && (ret_8.1.0.3.1.1==15) && (ret_8.1.0.3.1.2==1.484375) && (ret_8.1.0.3.1.3==248514888728576)) && ((ret_8.1.0.3.2.0==134716506374144) && (ret_8.1.0.3.2.1==1.046875)))) && (ret_8.1.1==2404422220)) && (ret_8.2==246) && ((((ret_8.3.field_1.0.0==109) && (ret_8.3.field_1.0.1==70) && (ret_8.3.field_1.0.2==0.875) && (ret_8.3.field_1.0.3==242714521763840)) && ((ret_8.3.field_1.1.field_1==85381772738560) && (ret_8.3.field_1.1.field_2==16488017559552) && ((ret_8.3.field_1.1.field_3.0==148) && (ret_8.3.field_1.1.field_3.1==97) && (ret_8.3.field_1.1.field_3.2==-0.859375) && (ret_8.3.field_1.1.field_3.3==211742737956864)) && (ret_8.3.field_1.1.field_4==-3.73046875) && ((ret_8.3.field_1.1.field_5.0==37) && (ret_8.3.field_1.1.field_5.1==103) && (ret_8.3.field_1.1.field_5.2==0.96875) && (ret_8.3.field_1.1.field_5.3==3251610451968)))) && (ret_8.3.field_2==`E_29_7) && (ret_8.3.field_3==34127014920192)))
+        std.put("myr_to_c 8 failed\n")
+        std.exit(1)
+    ;;
+    ret_9 = fn_9_c(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10)
+    if !(ret_9==219771358019584)
+        std.put("myr_to_c 9 failed\n")
+        std.exit(1)
+    ;;
+    ret_10 = fn_10_c(a_10_1, a_10_2, a_10_3, a_10_4, a_10_5, a_10_6, a_10_7, a_10_8)
+    if !((ret_10.field_1==268633981059072) && ((ret_10.field_2.field_1==24949413642240) && (ret_10.field_2.field_2==153583813787648) && ((ret_10.field_2.field_3.0==35) && (ret_10.field_2.field_3.1==252) && (ret_10.field_2.field_3.2==0.8125) && (ret_10.field_2.field_3.3==128878867382272)) && (ret_10.field_2.field_4==-0.03125) && ((ret_10.field_2.field_5.0==98) && (ret_10.field_2.field_5.1==126) && (ret_10.field_2.field_5.2==0.546875) && (ret_10.field_2.field_5.3==258416610377728))) && ((ret_10.field_3.0==209) && (ret_10.field_3.1==206) && (ret_10.field_3.2==1.28125) && (ret_10.field_3.3==180894750212096)) && (ret_10.field_4==1.390625) && (ret_10.field_5==4104417000))
+        std.put("myr_to_c 10 failed\n")
+        std.exit(1)
+    ;;
+
+    /* c calling myr */
+    if check_c_to_myr_fns() != 0
+        std.put("c_to_myr failed\n")
+        std.exit(1)
+    ;;
+
+    std.exit(0)
+}
--- /dev/null
+++ b/test/abi/004_types.h
@@ -1,0 +1,62 @@
+typedef struct {uint8_t field_1;uint8_t field_2;float field_3;uint64_t field_4;} t1;
+typedef struct {uint64_t field_1;uint64_t field_2;t1 field_3;double field_4;t1 field_5;} t2;
+typedef struct {uint64_t field_1;t2 field_2;t1 field_3;double field_4;uint32_t field_5;} t3;
+typedef struct {double field_1;float field_2;t3 field_3;} t4;
+typedef struct {uint64_t field_1;float field_2;} t5;
+typedef enum {E_6_1,E_6_2,E_6_3,E_6_4,E_6_5,E_6_6,E_6_7,E_6_8,E_6_9,} t6;
+typedef struct {uint8_t field_1;t6 field_2;t5 field_3;t2 field_4;} t7;
+typedef enum {E_8_1,E_8_2,E_8_3,E_8_4,E_8_5,E_8_6,} t8;
+typedef struct {t8 field_1;uint32_t field_2;} t9;
+typedef struct {float field_1;uint32_t field_2;} t10;
+typedef struct {double field_1;t2 field_2;} t11;
+typedef struct {t4 field_1;t1 field_2;t5 field_3;} t12;
+typedef struct {uint32_t field_1;t10 field_2;t11 field_3;t12 field_4;} t13;
+typedef enum {E_14_1,E_14_2,E_14_3,E_14_4,E_14_5,E_14_6,E_14_7,} t14;
+typedef enum {E_15_1,E_15_2,E_15_3,E_15_4,E_15_5,E_15_6,} t15;
+typedef struct {t14 field_1;float field_2;uint64_t field_3;t15 field_4;} t16;
+typedef struct {t13 field_1;double field_2;uint64_t field_3;uint8_t field_4;} t17;
+typedef enum {E_18_1,E_18_2,E_18_3,E_18_4,E_18_5,E_18_6,E_18_7,} t18;
+typedef struct {float field_1;t17 field_2;t18 field_3;t2 field_4;} t19;
+typedef struct {t1 field_1;t2 field_2;} t20;
+typedef struct {t20 field_1;t17 field_2;float field_3;t15 field_4;double field_5;double field_6;} t21;
+typedef enum {E_22_1,E_22_2,E_22_3,E_22_4,E_22_5,E_22_6,E_22_7,} t22;
+typedef struct {uint8_t field_1;double field_2;t14 field_3;t22 field_4;} t23;
+typedef enum {E_24_1,E_24_2,E_24_3,E_24_4,E_24_5,E_24_6,} t24;
+typedef struct {t9 field_1;double field_2;uint64_t field_3;uint64_t field_4;float field_5;double field_6;} t25;
+typedef struct {t25 field_1;uint8_t field_2;uint64_t field_3;uint8_t field_4;} t26;
+typedef enum {E_27_1,E_27_2,E_27_3,E_27_4,E_27_5,E_27_6,E_27_7,E_27_8,} t27;
+typedef enum {E_28_1,E_28_2,E_28_3,E_28_4,E_28_5,E_28_6,E_28_7,} t28;
+typedef enum {E_29_1,E_29_2,E_29_3,E_29_4,E_29_5,E_29_6,E_29_7,E_29_8,E_29_9,} t29;
+typedef struct {uint8_t field_1;float field_2;uint64_t field_3;t24 field_4;double field_5;float field_6;} t30;
+typedef struct {double field_1;float field_2;float field_3;t30 field_4;} t31;
+typedef struct {uint32_t field_1;} t32;
+typedef struct {t2 field_1;t18 field_2;} t33;
+typedef enum {E_34_1,E_34_2,E_34_3,E_34_4,E_34_5,E_34_6,} t34;
+typedef struct {t32 field_1;t33 field_2;t34 field_3;} t35;
+typedef enum {E_36_1,E_36_2,E_36_3,E_36_4,E_36_5,E_36_6,} t36;
+typedef struct {t36 field_1;} t37;
+typedef enum {E_38_1,E_38_2,E_38_3,E_38_4,E_38_5,E_38_6,E_38_7,} t38;
+typedef enum {E_39_1,E_39_2,E_39_3,E_39_4,E_39_5,E_39_6,} t39;
+typedef struct {t13 field_1;uint32_t field_2;} t40;
+typedef struct {t20 field_1;t29 field_2;uint64_t field_3;} t41;
+typedef struct {uint8_t field_1;t40 field_2;uint8_t field_3;t41 field_4;} t42;
+typedef struct {t10 field_1;t12 field_2;t4 field_3;} t43;
+typedef enum {E_44_1,E_44_2,E_44_3,E_44_4,E_44_5,E_44_6,E_44_7,} t44;
+typedef struct {uint32_t field_1;} t45;
+typedef struct {t43 field_1;t44 field_2;t45 field_3;uint64_t field_4;t4 field_5;uint32_t field_6;} t46;
+typedef enum {E_47_1,E_47_2,E_47_3,E_47_4,E_47_5,E_47_6,E_47_7,E_47_8,} t47;
+typedef enum {E_48_1,E_48_2,E_48_3,E_48_4,E_48_5,E_48_6,E_48_7,} t48;
+typedef struct {uint32_t field_1;} t49;
+typedef struct {float field_1;t45 field_2;uint64_t field_3;double field_4;} t50;
+typedef enum {E_51_1,E_51_2,E_51_3,E_51_4,E_51_5,E_51_6,} t51;
+typedef struct {float field_1;t51 field_2;uint8_t field_3;float field_4;float field_5;} t52;
+typedef enum {E_53_1,E_53_2,E_53_3,E_53_4,E_53_5,E_53_6,E_53_7,} t53;
+typedef struct {t49 field_1;t50 field_2;t51 field_3;t52 field_4;t51 field_5;t53 field_6;} t54;
+typedef enum {E_55_1,E_55_2,E_55_3,E_55_4,E_55_5,E_55_6,} t55;
+typedef enum {E_56_1,E_56_2,E_56_3,E_56_4,E_56_5,E_56_6,E_56_7,} t56;
+typedef enum {E_57_1,E_57_2,E_57_3,E_57_4,E_57_5,E_57_6,E_57_7,E_57_8,} t57;
+typedef struct {double field_1;t36 field_2;} t58;
+typedef struct {uint8_t field_1;uint64_t field_2;} t59;
+typedef struct {uint64_t field_1;float field_2;t4 field_3;t38 field_4;} t60;
+typedef struct {t57 field_1;t58 field_2;t59 field_3;t60 field_4;} t61;
+typedef enum {E_62_1,E_62_2,E_62_3,E_62_4,E_62_5,E_62_6,E_62_7,E_62_8,E_62_9,} t62;
--- /dev/null
+++ b/test/abi/004_types.myr
@@ -1,0 +1,341 @@
+pkg =
+
+type t2 = struct
+field_1 : uint64
+field_2 : uint64
+field_3 : (uint8,uint8,flt32,uint64)
+field_4 : flt64
+field_5 : (uint8,uint8,flt32,uint64)
+;;
+type t3 = struct
+field_1 : uint64
+field_2 : t2
+field_3 : (uint8,uint8,flt32,uint64)
+field_4 : flt64
+field_5 : uint32
+;;
+type t4 = struct
+field_1 : flt64
+field_2 : flt32
+field_3 : t3
+;;
+
+type t6 = union
+`E_6_1
+`E_6_2
+`E_6_3
+`E_6_4
+`E_6_5
+`E_6_6
+`E_6_7
+`E_6_8
+`E_6_9
+;;
+
+type t8 = union
+`E_8_1
+`E_8_2
+`E_8_3
+`E_8_4
+`E_8_5
+`E_8_6
+;;
+
+
+
+
+
+type t14 = union
+`E_14_1
+`E_14_2
+`E_14_3
+`E_14_4
+`E_14_5
+`E_14_6
+`E_14_7
+;;
+type t15 = union
+`E_15_1
+`E_15_2
+`E_15_3
+`E_15_4
+`E_15_5
+`E_15_6
+;;
+
+type t17 = struct
+field_1 : (uint32,(flt32,uint32),(flt64,t2),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32)))
+field_2 : flt64
+field_3 : uint64
+field_4 : uint8
+;;
+type t18 = union
+`E_18_1
+`E_18_2
+`E_18_3
+`E_18_4
+`E_18_5
+`E_18_6
+`E_18_7
+;;
+type t19 = struct
+field_1 : flt32
+field_2 : t17
+field_3 : t18
+field_4 : t2
+;;
+
+type t21 = struct
+field_1 : ((uint8,uint8,flt32,uint64),t2)
+field_2 : t17
+field_3 : flt32
+field_4 : t15
+field_5 : flt64
+field_6 : flt64
+;;
+type t22 = union
+`E_22_1
+`E_22_2
+`E_22_3
+`E_22_4
+`E_22_5
+`E_22_6
+`E_22_7
+;;
+
+type t24 = union
+`E_24_1
+`E_24_2
+`E_24_3
+`E_24_4
+`E_24_5
+`E_24_6
+;;
+type t25 = struct
+field_1 : (t8,uint32)
+field_2 : flt64
+field_3 : uint64
+field_4 : uint64
+field_5 : flt32
+field_6 : flt64
+;;
+type t26 = struct
+field_1 : t25
+field_2 : uint8
+field_3 : uint64
+field_4 : uint8
+;;
+type t27 = union
+`E_27_1
+`E_27_2
+`E_27_3
+`E_27_4
+`E_27_5
+`E_27_6
+`E_27_7
+`E_27_8
+;;
+type t28 = union
+`E_28_1
+`E_28_2
+`E_28_3
+`E_28_4
+`E_28_5
+`E_28_6
+`E_28_7
+;;
+type t29 = union
+`E_29_1
+`E_29_2
+`E_29_3
+`E_29_4
+`E_29_5
+`E_29_6
+`E_29_7
+`E_29_8
+`E_29_9
+;;
+type t30 = struct
+field_1 : uint8
+field_2 : flt32
+field_3 : uint64
+field_4 : t24
+field_5 : flt64
+field_6 : flt32
+;;
+type t31 = struct
+field_1 : flt64
+field_2 : flt32
+field_3 : flt32
+field_4 : t30
+;;
+type t32 = struct
+field_1 : uint32
+;;
+
+type t34 = union
+`E_34_1
+`E_34_2
+`E_34_3
+`E_34_4
+`E_34_5
+`E_34_6
+;;
+
+type t36 = union
+`E_36_1
+`E_36_2
+`E_36_3
+`E_36_4
+`E_36_5
+`E_36_6
+;;
+type t37 = struct
+field_1 : t36
+;;
+type t38 = union
+`E_38_1
+`E_38_2
+`E_38_3
+`E_38_4
+`E_38_5
+`E_38_6
+`E_38_7
+;;
+type t39 = union
+`E_39_1
+`E_39_2
+`E_39_3
+`E_39_4
+`E_39_5
+`E_39_6
+;;
+
+type t41 = struct
+field_1 : ((uint8,uint8,flt32,uint64),t2)
+field_2 : t29
+field_3 : uint64
+;;
+
+
+type t44 = union
+`E_44_1
+`E_44_2
+`E_44_3
+`E_44_4
+`E_44_5
+`E_44_6
+`E_44_7
+;;
+type t45 = struct
+field_1 : uint32
+;;
+type t46 = struct
+field_1 : ((flt32,uint32),(t4,(uint8,uint8,flt32,uint64),(uint64,flt32)),t4)
+field_2 : t44
+field_3 : t45
+field_4 : uint64
+field_5 : t4
+field_6 : uint32
+;;
+type t47 = union
+`E_47_1
+`E_47_2
+`E_47_3
+`E_47_4
+`E_47_5
+`E_47_6
+`E_47_7
+`E_47_8
+;;
+type t48 = union
+`E_48_1
+`E_48_2
+`E_48_3
+`E_48_4
+`E_48_5
+`E_48_6
+`E_48_7
+;;
+type t49 = struct
+field_1 : uint32
+;;
+
+type t51 = union
+`E_51_1
+`E_51_2
+`E_51_3
+`E_51_4
+`E_51_5
+`E_51_6
+;;
+type t52 = struct
+field_1 : flt32
+field_2 : t51
+field_3 : uint8
+field_4 : flt32
+field_5 : flt32
+;;
+type t53 = union
+`E_53_1
+`E_53_2
+`E_53_3
+`E_53_4
+`E_53_5
+`E_53_6
+`E_53_7
+;;
+type t54 = struct
+field_1 : t49
+field_2 : (flt32,t45,uint64,flt64)
+field_3 : t51
+field_4 : t52
+field_5 : t51
+field_6 : t53
+;;
+type t55 = union
+`E_55_1
+`E_55_2
+`E_55_3
+`E_55_4
+`E_55_5
+`E_55_6
+;;
+type t56 = union
+`E_56_1
+`E_56_2
+`E_56_3
+`E_56_4
+`E_56_5
+`E_56_6
+`E_56_7
+;;
+type t57 = union
+`E_57_1
+`E_57_2
+`E_57_3
+`E_57_4
+`E_57_5
+`E_57_6
+`E_57_7
+`E_57_8
+;;
+
+type t59 = struct
+field_1 : uint8
+field_2 : uint64
+;;
+
+
+type t62 = union
+`E_62_1
+`E_62_2
+`E_62_3
+`E_62_4
+`E_62_5
+`E_62_6
+`E_62_7
+`E_62_8
+`E_62_9
+;;
+;;
--- /dev/null
+++ b/test/abi/005_in-c.glue.c
@@ -1,0 +1,468 @@
+/* CFLAGS: -I/usr/include/ */
+/* CFLAGS: -I/usr/include */
+/* LIBS: c */
+
+#include <stdint.h>
+#include "005_types.h"
+
+extern t9 fn_1_myr(t2 a1, uint32_t a2, t4 a3, t2 a4, t7 a5, float a6, double a7, t8 a8);
+extern t17 fn_2_myr(t12 a1, t14 a2, t7 a3, float a4, t15 a5, t14 a6, uint8_t a7);
+extern uint32_t fn_3_myr(t15 a1, t23 a2, t21 a3, uint8_t a4, uint8_t a5, t27 a6);
+extern uint64_t fn_4_myr(t30 a1);
+extern double fn_5_myr(t33 a1, t34 a2, t36 a3, t37 a4, uint64_t a5);
+extern t43 fn_6_myr(t40 a1, t41 a2, t34 a3, t42 a4, double a5, double a6, uint64_t a7, uint64_t a8, t26 a9);
+extern uint32_t fn_7_myr(t48 a1);
+extern float fn_8_myr(t1 a1, t50 a2, t51 a3, float a4, t52 a5, uint32_t a6, t53 a7, uint8_t a8);
+extern uint64_t fn_9_myr(t51 a1, float a2, float a3, t56 a4, t58 a5, t61 a6, t65 a7, t66 a8, t67 a9, double a10);
+extern float fn_10_myr(t74 a1, float a2, t75 a3, uint8_t a4, t78 a5, t79 a6);
+
+t9
+fn_1_c(t2 a1, uint32_t a2, t4 a3, t2 a4, t7 a5, float a6, double a7, t8 a8)
+{
+    if (!((a1.field_1==0.0625) && ((a1.field_2.field_1==112) && (a1.field_2.field_2==-0.625) && (a1.field_2.field_3==110) && (a1.field_2.field_4==44)))) {
+        goto bad;
+    }
+
+    if (!(a2==2189228706)) {
+        goto bad;
+    }
+
+    if (!(((a3.field_1.field_1==-0.84375) && ((a3.field_1.field_2.field_1==150) && (a3.field_1.field_2.field_2==0.359375) && (a3.field_1.field_2.field_3==172) && (a3.field_1.field_2.field_4==26))) && ((a3.field_2.field_1==241023379308544) && (a3.field_2.field_2==115) && ((a3.field_2.field_3.field_1==228) && (a3.field_2.field_3.field_2==0.65625) && (a3.field_2.field_3.field_3==247) && (a3.field_2.field_3.field_4==84))) && ((a3.field_3.field_1==3134223810560) && (a3.field_3.field_2==102) && ((a3.field_3.field_3.field_1==128) && (a3.field_3.field_3.field_2==-1.21875) && (a3.field_3.field_3.field_3==232) && (a3.field_3.field_3.field_4==105))))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==-1.203125) && ((a4.field_2.field_1==110) && (a4.field_2.field_2==0.6875) && (a4.field_2.field_3==119) && (a4.field_2.field_4==200)))) {
+        goto bad;
+    }
+
+    if (!(((a5.field_1.field_1==94503966736384) && (a5.field_1.field_2==2770153426) && (a5.field_1.field_3==187) && (a5.field_1.field_4==214) && (a5.field_1.field_5==213410253897728)) && (a5.field_2==164) && (a5.field_3==E_6_2))) {
+        goto bad;
+    }
+
+    if (!(a6==1.53125)) {
+        goto bad;
+    }
+
+    if (!(a7==1.3984375)) {
+        goto bad;
+    }
+
+    if (!((((a8.field_1.field_1.field_1==0.578125) && ((a8.field_1.field_1.field_2.field_1==170) && (a8.field_1.field_1.field_2.field_2==1.09375) && (a8.field_1.field_1.field_2.field_3==193) && (a8.field_1.field_1.field_2.field_4==148))) && ((a8.field_1.field_2.field_1==271021012025344) && (a8.field_1.field_2.field_2==173) && ((a8.field_1.field_2.field_3.field_1==241) && (a8.field_1.field_2.field_3.field_2==1.46875) && (a8.field_1.field_2.field_3.field_3==80) && (a8.field_1.field_2.field_3.field_4==71))) && ((a8.field_1.field_3.field_1==86092233441280) && (a8.field_1.field_3.field_2==245) && ((a8.field_1.field_3.field_3.field_1==3) && (a8.field_1.field_3.field_3.field_2==-1.125) && (a8.field_1.field_3.field_3.field_3==183) && (a8.field_1.field_3.field_3.field_4==168)))) && ((a8.field_2.field_1==110146554691584) && (a8.field_2.field_2==246) && ((a8.field_2.field_3.field_1==164) && (a8.field_2.field_3.field_2==0.8125) && (a8.field_2.field_3.field_3==164) && (a8.field_2.field_3.field_4==89))) && (a8.field_3==0.28125) && (a8.field_4==E_6_1))) {
+        goto bad;
+    }
+
+    return (t9) {.field_1=(t1) {.field_1=192,.field_2=-1.296875,.field_3=50,.field_4=129},.field_2=(t3) {.field_1=188458318561280,.field_2=40,.field_3=(t1) {.field_1=47,.field_2=0.359375,.field_3=32,.field_4=127}}};
+
+bad:
+    return (t9) {.field_1=(t1) {.field_1=228,.field_2=-0.203125,.field_3=117,.field_4=231},.field_2=(t3) {.field_1=162396161703936,.field_2=44,.field_3=(t1) {.field_1=143,.field_2=1.46875,.field_3=35,.field_4=52}}};
+}
+
+t17
+fn_2_c(t12 a1, t14 a2, t7 a3, float a4, t15 a5, t14 a6, uint8_t a7)
+{
+    if (!((a1.field_1==2.7734375) && ((a1.field_2.field_1==258260610842624) && (((a1.field_2.field_2.field_1.field_1==67688764407808) && (a1.field_2.field_2.field_1.field_2==122501974) && (a1.field_2.field_2.field_1.field_3==122) && (a1.field_2.field_2.field_1.field_4==53) && (a1.field_2.field_2.field_1.field_5==46816349519872)) && (a1.field_2.field_2.field_2==175) && (a1.field_2.field_2.field_3==E_6_7)) && (((a1.field_2.field_3.field_1.field_1==242) && (a1.field_2.field_3.field_1.field_2==-0.828125) && (a1.field_2.field_3.field_1.field_3==64) && (a1.field_2.field_3.field_1.field_4==212)) && ((a1.field_2.field_3.field_2.field_1==175981577109504) && (a1.field_2.field_3.field_2.field_2==146) && ((a1.field_2.field_3.field_2.field_3.field_1==58) && (a1.field_2.field_3.field_2.field_3.field_2==-1.3125) && (a1.field_2.field_3.field_2.field_3.field_3==81) && (a1.field_2.field_3.field_2.field_3.field_4==249))))) && (((a1.field_3.field_1.field_1==-0.671875) && ((a1.field_3.field_1.field_2.field_1==39) && (a1.field_3.field_1.field_2.field_2==1.3125) && (a1.field_3.field_1.field_2.field_3==255) && (a1.field_3.field_1.field_2.field_4==168))) && (a1.field_3.field_2==5680861020160) && (a1.field_3.field_3==3.1015625)))) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==-0.65625) && ((a2.field_2.field_1==-3.07421875) && (a2.field_2.field_2==2364459620) && (a2.field_2.field_3==34004063092736) && (((a2.field_2.field_4.field_1.field_1==0.734375) && ((a2.field_2.field_4.field_1.field_2.field_1==31) && (a2.field_2.field_4.field_1.field_2.field_2==-0.46875) && (a2.field_2.field_4.field_1.field_2.field_3==207) && (a2.field_2.field_4.field_1.field_2.field_4==112))) && ((a2.field_2.field_4.field_2.field_1==91868031090688) && (a2.field_2.field_4.field_2.field_2==24) && ((a2.field_2.field_4.field_2.field_3.field_1==152) && (a2.field_2.field_4.field_2.field_3.field_2==-0.796875) && (a2.field_2.field_4.field_2.field_3.field_3==24) && (a2.field_2.field_4.field_2.field_3.field_4==64))) && ((a2.field_2.field_4.field_3.field_1==74808418369536) && (a2.field_2.field_4.field_3.field_2==254) && ((a2.field_2.field_4.field_3.field_3.field_1==6) && (a2.field_2.field_4.field_3.field_3.field_2==0.046875) && (a2.field_2.field_4.field_3.field_3.field_3==73) && (a2.field_2.field_4.field_3.field_3.field_4==208))))))) {
+        goto bad;
+    }
+
+    if (!(((a3.field_1.field_1==145965008551936) && (a3.field_1.field_2==2498931774) && (a3.field_1.field_3==156) && (a3.field_1.field_4==179) && (a3.field_1.field_5==265737065725952)) && (a3.field_2==244) && (a3.field_3==E_6_5))) {
+        goto bad;
+    }
+
+    if (!(a4==-0.796875)) {
+        goto bad;
+    }
+
+    if (!(a5==E_15_4)) {
+        goto bad;
+    }
+
+    if (!((a6.field_1==0.6875) && ((a6.field_2.field_1==-2.171875) && (a6.field_2.field_2==1533036440) && (a6.field_2.field_3==12142327889920) && (((a6.field_2.field_4.field_1.field_1==-0.5625) && ((a6.field_2.field_4.field_1.field_2.field_1==243) && (a6.field_2.field_4.field_1.field_2.field_2==-0.65625) && (a6.field_2.field_4.field_1.field_2.field_3==106) && (a6.field_2.field_4.field_1.field_2.field_4==51))) && ((a6.field_2.field_4.field_2.field_1==156078303608832) && (a6.field_2.field_4.field_2.field_2==104) && ((a6.field_2.field_4.field_2.field_3.field_1==58) && (a6.field_2.field_4.field_2.field_3.field_2==-1.34375) && (a6.field_2.field_4.field_2.field_3.field_3==178) && (a6.field_2.field_4.field_2.field_3.field_4==10))) && ((a6.field_2.field_4.field_3.field_1==140200370896896) && (a6.field_2.field_4.field_3.field_2==33) && ((a6.field_2.field_4.field_3.field_3.field_1==143) && (a6.field_2.field_4.field_3.field_3.field_2==-1.3125) && (a6.field_2.field_4.field_3.field_3.field_3==190) && (a6.field_2.field_4.field_3.field_3.field_4==67))))))) {
+        goto bad;
+    }
+
+    if (!(a7==179)) {
+        goto bad;
+    }
+
+    return (t17) {.field_1=(t16) {.field_1=101589888270336,.field_2=(t1) {.field_1=225,.field_2=-0.046875,.field_3=234,.field_4=74},.field_3=200069064425472,.field_4=1.53125},.field_2=1.53125};
+
+bad:
+    return (t17) {.field_1=(t16) {.field_1=211711070699520,.field_2=(t1) {.field_1=123,.field_2=-1.203125,.field_3=79,.field_4=144},.field_3=242499850862592,.field_4=0.234375},.field_2=0.28125};
+}
+
+uint32_t
+fn_3_c(t15 a1, t23 a2, t21 a3, uint8_t a4, uint8_t a5, t27 a6)
+{
+    if (!(a1==E_15_5)) {
+        goto bad;
+    }
+
+    if (!(((((a2.field_1.field_1.field_1.field_1==208514472345600) && ((a2.field_1.field_1.field_1.field_2.field_1==171) && (a2.field_1.field_1.field_1.field_2.field_2==0.53125) && (a2.field_1.field_1.field_1.field_2.field_3==170) && (a2.field_1.field_1.field_1.field_2.field_4==148)) && (a2.field_1.field_1.field_1.field_3==137775610724352) && (a2.field_1.field_1.field_1.field_4==0.046875)) && (a2.field_1.field_1.field_2==-0.109375)) && ((((a2.field_1.field_2.field_1.field_1.field_1==-0.515625) && ((a2.field_1.field_2.field_1.field_1.field_2.field_1==130) && (a2.field_1.field_2.field_1.field_1.field_2.field_2==0.5625) && (a2.field_1.field_2.field_1.field_1.field_2.field_3==65) && (a2.field_1.field_2.field_1.field_1.field_2.field_4==249))) && ((a2.field_1.field_2.field_1.field_2.field_1==49920772014080) && (a2.field_1.field_2.field_1.field_2.field_2==137) && ((a2.field_1.field_2.field_1.field_2.field_3.field_1==81) && (a2.field_1.field_2.field_1.field_2.field_3.field_2==-1.078125) && (a2.field_1.field_2.field_1.field_2.field_3.field_3==187) && (a2.field_1.field_2.field_1.field_2.field_3.field_4==244))) && ((a2.field_1.field_2.field_1.field_3.field_1==238917205884928) && (a2.field_1.field_2.field_1.field_3.field_2==234) && ((a2.field_1.field_2.field_1.field_3.field_3.field_1==148) && (a2.field_1.field_2.field_1.field_3.field_3.field_2==-0.65625) && (a2.field_1.field_2.field_1.field_3.field_3.field_3==148) && (a2.field_1.field_2.field_1.field_3.field_3.field_4==82)))) && ((a2.field_1.field_2.field_2.field_1==13348047552512) && (a2.field_1.field_2.field_2.field_2==206) && ((a2.field_1.field_2.field_2.field_3.field_1==236) && (a2.field_1.field_2.field_2.field_3.field_2==-0.390625) && (a2.field_1.field_2.field_2.field_3.field_3==159) && (a2.field_1.field_2.field_2.field_3.field_4==22))) && (a2.field_1.field_2.field_3==-1.203125) && (a2.field_1.field_2.field_4==E_6_3)) && (a2.field_1.field_3==3263768112) && (((a2.field_1.field_4.field_1.field_1==0.890625) && ((a2.field_1.field_4.field_1.field_2.field_1==223) && (a2.field_1.field_4.field_1.field_2.field_2==-0.78125) && (a2.field_1.field_4.field_1.field_2.field_3==76) && (a2.field_1.field_4.field_1.field_2.field_4==85))) && ((a2.field_1.field_4.field_2.field_1==165112780685312) && (a2.field_1.field_4.field_2.field_2==206) && ((a2.field_1.field_4.field_2.field_3.field_1==4) && (a2.field_1.field_4.field_2.field_3.field_2==1.078125) && (a2.field_1.field_4.field_2.field_3.field_3==200) && (a2.field_1.field_4.field_2.field_3.field_4==49))) && ((a2.field_1.field_4.field_3.field_1==107450067189760) && (a2.field_1.field_4.field_3.field_2==25) && ((a2.field_1.field_4.field_3.field_3.field_1==89) && (a2.field_1.field_4.field_3.field_3.field_2==-1.203125) && (a2.field_1.field_4.field_3.field_3.field_3==14) && (a2.field_1.field_4.field_3.field_3.field_4==51))))) && (a2.field_2==E_19_1) && (a2.field_3==178689565917184) && (a2.field_4==E_20_4) && (a2.field_5==E_21_6) && ((a2.field_6.field_1==269113953746944) && (a2.field_6.field_2==2315358406)))) {
+        goto bad;
+    }
+
+    if (!(a3==E_21_9)) {
+        goto bad;
+    }
+
+    if (!(a4==248)) {
+        goto bad;
+    }
+
+    if (!(a5==86)) {
+        goto bad;
+    }
+
+    if (!((a6.field_1==85770339090432) && ((a6.field_2.field_1==-0.671875)) && ((a6.field_3.field_1==-1.15234375) && (a6.field_3.field_2==E_20_1) && (a6.field_3.field_3==E_21_1) && ((a6.field_3.field_4.field_1==0.46875) && ((a6.field_3.field_4.field_2.field_1==3865086263296) && (((a6.field_3.field_4.field_2.field_2.field_1.field_1==62745143410688) && (a6.field_3.field_4.field_2.field_2.field_1.field_2==444241798) && (a6.field_3.field_4.field_2.field_2.field_1.field_3==148) && (a6.field_3.field_4.field_2.field_2.field_1.field_4==38) && (a6.field_3.field_4.field_2.field_2.field_1.field_5==186451756843008)) && (a6.field_3.field_4.field_2.field_2.field_2==253) && (a6.field_3.field_4.field_2.field_2.field_3==E_6_6)) && (((a6.field_3.field_4.field_2.field_3.field_1.field_1==106) && (a6.field_3.field_4.field_2.field_3.field_1.field_2==0.875) && (a6.field_3.field_4.field_2.field_3.field_1.field_3==169) && (a6.field_3.field_4.field_2.field_3.field_1.field_4==132)) && ((a6.field_3.field_4.field_2.field_3.field_2.field_1==193552010969088) && (a6.field_3.field_4.field_2.field_3.field_2.field_2==134) && ((a6.field_3.field_4.field_2.field_3.field_2.field_3.field_1==209) && (a6.field_3.field_4.field_2.field_3.field_2.field_3.field_2==0.390625) && (a6.field_3.field_4.field_2.field_3.field_2.field_3.field_3==6) && (a6.field_3.field_4.field_2.field_3.field_2.field_3.field_4==157))))) && (((a6.field_3.field_4.field_3.field_1.field_1==-1.015625) && ((a6.field_3.field_4.field_3.field_1.field_2.field_1==122) && (a6.field_3.field_4.field_3.field_1.field_2.field_2==1.40625) && (a6.field_3.field_4.field_3.field_1.field_2.field_3==38) && (a6.field_3.field_4.field_3.field_1.field_2.field_4==208))) && (a6.field_3.field_4.field_3.field_2==55544454578176) && (a6.field_3.field_4.field_3.field_3==-2.609375)))) && ((a6.field_4.field_1==33366908207104) && (a6.field_4.field_2==136001504280576) && (a6.field_4.field_3==132)))) {
+        goto bad;
+    }
+
+    return 2527618668;
+
+bad:
+    return 339855078;
+}
+
+uint64_t
+fn_4_c(t30 a1)
+{
+    if (!(((((((a1.field_1.field_1.field_1.field_1.field_1.field_1==44445459546112) && ((a1.field_1.field_1.field_1.field_1.field_1.field_2.field_1==83) && (a1.field_1.field_1.field_1.field_1.field_1.field_2.field_2==-0.453125) && (a1.field_1.field_1.field_1.field_1.field_1.field_2.field_3==82) && (a1.field_1.field_1.field_1.field_1.field_1.field_2.field_4==113)) && (a1.field_1.field_1.field_1.field_1.field_1.field_3==235939541549056) && (a1.field_1.field_1.field_1.field_1.field_1.field_4==1.078125)) && (a1.field_1.field_1.field_1.field_1.field_2==0.3125)) && ((((a1.field_1.field_1.field_1.field_2.field_1.field_1.field_1==-0.234375) && ((a1.field_1.field_1.field_1.field_2.field_1.field_1.field_2.field_1==236) && (a1.field_1.field_1.field_1.field_2.field_1.field_1.field_2.field_2==0.828125) && (a1.field_1.field_1.field_1.field_2.field_1.field_1.field_2.field_3==60) && (a1.field_1.field_1.field_1.field_2.field_1.field_1.field_2.field_4==26))) && ((a1.field_1.field_1.field_1.field_2.field_1.field_2.field_1==143671663132672) && (a1.field_1.field_1.field_1.field_2.field_1.field_2.field_2==50) && ((a1.field_1.field_1.field_1.field_2.field_1.field_2.field_3.field_1==243) && (a1.field_1.field_1.field_1.field_2.field_1.field_2.field_3.field_2==-0.796875) && (a1.field_1.field_1.field_1.field_2.field_1.field_2.field_3.field_3==3) && (a1.field_1.field_1.field_1.field_2.field_1.field_2.field_3.field_4==53))) && ((a1.field_1.field_1.field_1.field_2.field_1.field_3.field_1==214366877515776) && (a1.field_1.field_1.field_1.field_2.field_1.field_3.field_2==126) && ((a1.field_1.field_1.field_1.field_2.field_1.field_3.field_3.field_1==252) && (a1.field_1.field_1.field_1.field_2.field_1.field_3.field_3.field_2==1.453125) && (a1.field_1.field_1.field_1.field_2.field_1.field_3.field_3.field_3==128) && (a1.field_1.field_1.field_1.field_2.field_1.field_3.field_3.field_4==149)))) && ((a1.field_1.field_1.field_1.field_2.field_2.field_1==223779870998528) && (a1.field_1.field_1.field_1.field_2.field_2.field_2==137) && ((a1.field_1.field_1.field_1.field_2.field_2.field_3.field_1==203) && (a1.field_1.field_1.field_1.field_2.field_2.field_3.field_2==0.953125) && (a1.field_1.field_1.field_1.field_2.field_2.field_3.field_3==12) && (a1.field_1.field_1.field_1.field_2.field_2.field_3.field_4==243))) && (a1.field_1.field_1.field_1.field_2.field_3==1.453125) && (a1.field_1.field_1.field_1.field_2.field_4==E_6_3)) && (a1.field_1.field_1.field_1.field_3==1314332054) && (((a1.field_1.field_1.field_1.field_4.field_1.field_1==-0.671875) && ((a1.field_1.field_1.field_1.field_4.field_1.field_2.field_1==209) && (a1.field_1.field_1.field_1.field_4.field_1.field_2.field_2==-1.125) && (a1.field_1.field_1.field_1.field_4.field_1.field_2.field_3==32) && (a1.field_1.field_1.field_1.field_4.field_1.field_2.field_4==106))) && ((a1.field_1.field_1.field_1.field_4.field_2.field_1==160715212455936) && (a1.field_1.field_1.field_1.field_4.field_2.field_2==12) && ((a1.field_1.field_1.field_1.field_4.field_2.field_3.field_1==45) && (a1.field_1.field_1.field_1.field_4.field_2.field_3.field_2==0.96875) && (a1.field_1.field_1.field_1.field_4.field_2.field_3.field_3==39) && (a1.field_1.field_1.field_1.field_4.field_2.field_3.field_4==176))) && ((a1.field_1.field_1.field_1.field_4.field_3.field_1==2142336450560) && (a1.field_1.field_1.field_1.field_4.field_3.field_2==26) && ((a1.field_1.field_1.field_1.field_4.field_3.field_3.field_1==239) && (a1.field_1.field_1.field_1.field_4.field_3.field_3.field_2==-1.5) && (a1.field_1.field_1.field_1.field_4.field_3.field_3.field_3==80) && (a1.field_1.field_1.field_1.field_4.field_3.field_3.field_4==178))))) && (a1.field_1.field_1.field_2==E_19_5) && (a1.field_1.field_1.field_3==84526311014400) && (a1.field_1.field_1.field_4==E_20_6) && (a1.field_1.field_1.field_5==E_21_1) && ((a1.field_1.field_1.field_6.field_1==248535774265344) && (a1.field_1.field_1.field_6.field_2==1964811016))) && (a1.field_1.field_2==0.1875) && (a1.field_1.field_3==E_6_5) && (a1.field_1.field_4==-1.87109375)) && ((a1.field_2.field_1==155) && (a1.field_2.field_2==2693759888)
\ No newline at end of file
+        goto bad;
+    }
+
+    return 276275068796928;
+
+bad:
+    return 262674313510912;
+}
+
+double
+fn_5_c(t33 a1, t34 a2, t36 a3, t37 a4, uint64_t a5)
+{
+    if (!((a1.field_1==E_31_3) && (a1.field_2==E_32_5))) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==E_32_5) && (a2.field_2==66))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==E_35_4) && (a3.field_2==214))) {
+        goto bad;
+    }
+
+    if (!(a4==E_37_1)) {
+        goto bad;
+    }
+
+    if (!(a5==210077727850496)) {
+        goto bad;
+    }
+
+    return -2.5234375;
+
+bad:
+    return 1.40234375;
+}
+
+t43
+fn_6_c(t40 a1, t41 a2, t34 a3, t42 a4, double a5, double a6, uint64_t a7, uint64_t a8, t26 a9)
+{
+    if (!(((((a1.field_1.field_1.field_1.field_1==0.71875) && ((a1.field_1.field_1.field_1.field_2.field_1==162) && (a1.field_1.field_1.field_1.field_2.field_2==-1.375) && (a1.field_1.field_1.field_1.field_2.field_3==12) && (a1.field_1.field_1.field_1.field_2.field_4==208))) && ((a1.field_1.field_1.field_2.field_1==208257259929600) && (a1.field_1.field_1.field_2.field_2==224) && ((a1.field_1.field_1.field_2.field_3.field_1==202) && (a1.field_1.field_1.field_2.field_3.field_2==-0.015625) && (a1.field_1.field_1.field_2.field_3.field_3==86) && (a1.field_1.field_1.field_2.field_3.field_4==251))) && ((a1.field_1.field_1.field_3.field_1==253976550440960) && (a1.field_1.field_1.field_3.field_2==123) && ((a1.field_1.field_1.field_3.field_3.field_1==146) && (a1.field_1.field_1.field_3.field_3.field_2==0.828125) && (a1.field_1.field_1.field_3.field_3.field_3==120) && (a1.field_1.field_1.field_3.field_3.field_4==62)))) && ((a1.field_1.field_2.field_1==26298971062272) && (a1.field_1.field_2.field_2==103) && ((a1.field_1.field_2.field_3.field_1==239) && (a1.field_1.field_2.field_3.field_2==1.28125) && (a1.field_1.field_2.field_3.field_3==152) && (a1.field_1.field_2.field_3.field_4==89))) && (a1.field_1.field_3==0.734375) && (a1.field_1.field_4==E_6_3)) && (a1.field_2==E_6_1) && (a1.field_3==E_38_6) && (((a1.field_4.field_1.field_1==152549047009280) && ((a1.field_4.field_1.field_2.field_1==0.859375)) && ((a1.field_4.field_1.field_3.field_1==-3.7109375) && (a1.field_4.field_1.field_3.field_2==E_20_7) && (a1.field_4.field_1.field_3.field_3==E_21_5) && ((a1.field_4.field_1.field_3.field_4.field_1==1.26171875) && ((a1.field_4.field_1.field_3.field_4.field_2.field_1==257906686427136) && (((a1.field_4.field_1.field_3.field_4.field_2.field_2.field_1.field_1==154973503488000) && (a1.field_4.field_1.field_3.field_4.field_2.field_2.field_1.field_2==2040012194) && (a1.field_4.field_1.field_3.field_4.field_2.field_2.field_1.field_3==167) && (a1.field_4.field_1.field_3.field_4.field_2.field_2.field_1.field_4==109) && (a1.field_4.field_1.field_3.field_4.field_2.field_2.field_1.field_5==74787062284288)) && (a1.field_4.field_1.field_3.field_4.field_2.field_2.field_2==39) && (a1.field_4.field_1.field_3.field_4.field_2.field_2.field_3==E_6_6)) && (((a1.field_4.field_1.field_3.field_4.field_2.field_3.field_1.field_1==63) && (a1.field_4.field_1.field_3.field_4.field_2.field_3.field_1.field_2==-1.390625) && (a1.field_4.field_1.field_3.field_4.field_2.field_3.field_1.field_3==63) && (a1.field_4.field_1.field_3.field_4.field_2.field_3.field_1.field_4==209)) && ((a1.field_4.field_1.field_3.field_4.field_2.field_3.field_2.field_1==230983872282624) && (a1.field_4.field_1.field_3.field_4.field_2.field_3.field_2.field_2==184) && ((a1.field_4.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_1==15) && (a1.field_4.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_2==1.296875) && (a1.field_4.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_3==31) && (a1.field_4.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_4==255))))) && (((a1.field_4.field_1.field_3.field_4.field_3.field_1.field_1==1.015625) && ((a1.field_4.field_1.field_3.field_4.field_3.field_1.field_2.field_1==183) && (a1.field_4.field_1.field_3.field_4.field_3.field_1.field_2.field_2==-0.484375) && (a1.field_4.field_1.field_3.field_4.field_3.field_1.field_2.field_3==142) && (a1.field_4.field_1.field_3.field_4.field_3.field_1.field_2.field_4==16))) && (a1.field_4.field_1.field_3.field_4.field_3.field_2==137163913822208) && (a1.field_4.field_1.field_3.field_4.field_3.field_3==-2.80859375)))) && ((a1.field_4.field_1.field_4.field_1==170983975682048) && (a1.field_4.field_1.field_4.field_2==72796805398528) && (a1.field_4.field_1.field_4.field_3==42))) && (a1.field_4.field_2==1990287632) && ((a1.field_4.field_3.field_1==194) && (a1.field_4.field_3.field_2==3552591666)) && ((((a1.field_4.field_4.field_1.field_1.field_1==-0.375) && ((a1.field_4.field_4.field_1.field_1.field_2.field_1==79) && (a1.field_4.field_4.field_1.field_1.field_2.field_2==-0.625) && (a1.field_
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!(a2==E_41_5)) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==E_32_8) && (a3.field_2==203))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==-1.58984375) && (a4.field_2==217) && (a4.field_3==3500137676) && (a4.field_4==101686982737920))) {
+        goto bad;
+    }
+
+    if (!(a5==0.10546875)) {
+        goto bad;
+    }
+
+    if (!(a6==3.21875)) {
+        goto bad;
+    }
+
+    if (!(a7==40133181046784)) {
+        goto bad;
+    }
+
+    if (!(a8==71741835313152)) {
+        goto bad;
+    }
+
+    if (!((a9.field_1==221313136459776) && (a9.field_2==104460582912) && (a9.field_3==149))) {
+        goto bad;
+    }
+
+    return E_43_1;
+
+bad:
+    return E_43_2;
+}
+
+uint32_t
+fn_7_c(t48 a1)
+{
+    if (!(((a1.field_1.field_1==6386332991488) && (a1.field_1.field_2==-3.90625) && (a1.field_1.field_3==163) && (a1.field_1.field_4==155193554763776) && ((a1.field_1.field_5.field_1==E_35_3) && (a1.field_1.field_5.field_2==18))) && (((a1.field_2.field_1.field_1==112229799297024) && (a1.field_2.field_1.field_2==-2.8984375) && (a1.field_2.field_1.field_3==216) && (a1.field_2.field_1.field_4==44483204612096) && ((a1.field_2.field_1.field_5.field_1==E_35_2) && (a1.field_2.field_1.field_5.field_2==195))) && (a1.field_2.field_2==39665754832896) && (a1.field_2.field_3==114) && (a1.field_2.field_4==776337414)) && (a1.field_3==E_46_5) && (a1.field_4==146729052536832) && ((((a1.field_5.field_1.field_1.field_1==153) && (a1.field_5.field_1.field_1.field_2==1.234375) && (a1.field_5.field_1.field_1.field_3==43) && (a1.field_5.field_1.field_1.field_4==174)) && ((a1.field_5.field_1.field_2.field_1==26828980748288) && (a1.field_5.field_1.field_2.field_2==242) && ((a1.field_5.field_1.field_2.field_3.field_1==236) && (a1.field_5.field_1.field_2.field_3.field_2==-1.078125) && (a1.field_5.field_1.field_2.field_3.field_3==180) && (a1.field_5.field_1.field_2.field_3.field_4==30)))) && (a1.field_5.field_2==266092824363008)) && ((a1.field_6.field_1==13831859994624) && ((a1.field_6.field_2.field_1==0.390625)) && ((a1.field_6.field_3.field_1==0.0703125) && (a1.field_6.field_3.field_2==E_20_1) && (a1.field_6.field_3.field_3==E_21_6) && ((a1.field_6.field_3.field_4.field_1==-2.765625) && ((a1.field_6.field_3.field_4.field_2.field_1==175411747749888) && (((a1.field_6.field_3.field_4.field_2.field_2.field_1.field_1==262729443049472) && (a1.field_6.field_3.field_4.field_2.field_2.field_1.field_2==932333724) && (a1.field_6.field_3.field_4.field_2.field_2.field_1.field_3==5) && (a1.field_6.field_3.field_4.field_2.field_2.field_1.field_4==16) && (a1.field_6.field_3.field_4.field_2.field_2.field_1.field_5==17637135220736)) && (a1.field_6.field_3.field_4.field_2.field_2.field_2==46) && (a1.field_6.field_3.field_4.field_2.field_2.field_3==E_6_2)) && (((a1.field_6.field_3.field_4.field_2.field_3.field_1.field_1==211) && (a1.field_6.field_3.field_4.field_2.field_3.field_1.field_2==-0.5625) && (a1.field_6.field_3.field_4.field_2.field_3.field_1.field_3==171) && (a1.field_6.field_3.field_4.field_2.field_3.field_1.field_4==1)) && ((a1.field_6.field_3.field_4.field_2.field_3.field_2.field_1==12764915826688) && (a1.field_6.field_3.field_4.field_2.field_3.field_2.field_2==49) && ((a1.field_6.field_3.field_4.field_2.field_3.field_2.field_3.field_1==154) && (a1.field_6.field_3.field_4.field_2.field_3.field_2.field_3.field_2==1.375) && (a1.field_6.field_3.field_4.field_2.field_3.field_2.field_3.field_3==93) && (a1.field_6.field_3.field_4.field_2.field_3.field_2.field_3.field_4==73))))) && (((a1.field_6.field_3.field_4.field_3.field_1.field_1==-1.46875) && ((a1.field_6.field_3.field_4.field_3.field_1.field_2.field_1==79) && (a1.field_6.field_3.field_4.field_3.field_1.field_2.field_2==-0.90625) && (a1.field_6.field_3.field_4.field_3.field_1.field_2.field_3==49) && (a1.field_6.field_3.field_4.field_3.field_1.field_2.field_4==4))) && (a1.field_6.field_3.field_4.field_3.field_2==93216219463680) && (a1.field_6.field_3.field_4.field_3.field_3==-2.83203125)))) && ((a1.field_6.field_4.field_1==18454498639872) && (a1.field_6.field_4.field_2==269237052506112) && (a1.field_6.field_4.field_3==165))))) {
+        goto bad;
+    }
+
+    return 2499773006;
+
+bad:
+    return 3403919486;
+}
+
+float
+fn_8_c(t1 a1, t50 a2, t51 a3, float a4, t52 a5, uint32_t a6, t53 a7, uint8_t a8)
+{
+    if (!((a1.field_1==200) && (a1.field_2==0.25) && (a1.field_3==18) && (a1.field_4==246))) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==-0.734375) && ((a2.field_2.field_1==8592161505280) && (a2.field_2.field_2==2.32421875) && (a2.field_2.field_3==77) && (a2.field_2.field_4==95804356820992) && ((a2.field_2.field_5.field_1==E_35_1) && (a2.field_2.field_5.field_2==126))) && (a2.field_3==-1.12109375) && (a2.field_4==E_49_3))) {
+        goto bad;
+    }
+
+    if (!(a3==E_51_3)) {
+        goto bad;
+    }
+
+    if (!(a4==0.1875)) {
+        goto bad;
+    }
+
+    if (!((a5.field_1==-0.81640625))) {
+        goto bad;
+    }
+
+    if (!(a6==441584498)) {
+        goto bad;
+    }
+
+    if (!((a7.field_1==198))) {
+        goto bad;
+    }
+
+    if (!(a8==89)) {
+        goto bad;
+    }
+
+    return 1.421875;
+
+bad:
+    return 0.5625;
+}
+
+uint64_t
+fn_9_c(t51 a1, float a2, float a3, t56 a4, t58 a5, t61 a6, t65 a7, t66 a8, t67 a9, double a10)
+{
+    if (!(a1==E_51_8)) {
+        goto bad;
+    }
+
+    if (!(a2==-0.796875)) {
+        goto bad;
+    }
+
+    if (!(a3==-0.71875)) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==E_54_7) && (a4.field_2==255) && ((((a4.field_3.field_1.field_1.field_1==130105287114752) && ((a4.field_3.field_1.field_1.field_2.field_1==-1.0)) && ((a4.field_3.field_1.field_1.field_3.field_1==3.53125) && (a4.field_3.field_1.field_1.field_3.field_2==E_20_2) && (a4.field_3.field_1.field_1.field_3.field_3==E_21_1) && ((a4.field_3.field_1.field_1.field_3.field_4.field_1==-0.67578125) && ((a4.field_3.field_1.field_1.field_3.field_4.field_2.field_1==23617654620160) && (((a4.field_3.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_1==12594182750208) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_2==2889081194) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_3==84) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_4==84) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_5==265251503210496)) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_2.field_2==17) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_2.field_3==E_6_7)) && (((a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_1==141) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_2==-0.1875) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_3==10) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_4==118)) && ((a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_1==24302215233536) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_2==170) && ((a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_1==64) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_2==0.953125) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_3==156) && (a4.field_3.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_4==112))))) && (((a4.field_3.field_1.field_1.field_3.field_4.field_3.field_1.field_1==0.3125) && ((a4.field_3.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_1==168) && (a4.field_3.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_2==0.3125) && (a4.field_3.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_3==140) && (a4.field_3.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_4==197))) && (a4.field_3.field_1.field_1.field_3.field_4.field_3.field_2==149682231705600) && (a4.field_3.field_1.field_1.field_3.field_4.field_3.field_3==0.3828125)))) && ((a4.field_3.field_1.field_1.field_4.field_1==66190105247744) && (a4.field_3.field_1.field_1.field_4.field_2==201243456045056) && (a4.field_3.field_1.field_1.field_4.field_3==128))) && (a4.field_3.field_1.field_2==1608787508) && ((a4.field_3.field_1.field_3.field_1==208) && (a4.field_3.field_1.field_3.field_2==3925244758)) && ((((a4.field_3.field_1.field_4.field_1.field_1.field_1==-0.125) && ((a4.field_3.field_1.field_4.field_1.field_1.field_2.field_1==219) && (a4.field_3.field_1.field_4.field_1.field_1.field_2.field_2==0.265625) && (a4.field_3.field_1.field_4.field_1.field_1.field_2.field_3==201) && (a4.field_3.field_1.field_4.field_1.field_1.field_2.field_4==48))) && ((a4.field_3.field_1.field_4.field_1.field_2.field_1==148885215510528) && (a4.field_3.field_1.field_4.field_1.field_2.field_2==219) && ((a4.field_3.field_1.field_4.field_1.field_2.field_3.field_1==41) && (a4.field_3.field_1.field_4.field_1.field_2.field_3.field_2==-1.3125) && (a4.field_3.field_1.field_4.field_1.field_2.field_3.field_3==75) && (a4.field_3.field_1.field_4.field_1.field_2.field_3.field_4==52))) && ((a4.field_3.field_1.field_4.field_1.field_3.field_1==153670362464256) && (a4.field_3.field_1.field_4.field_1.field_3.field_2==97) && ((a4.field_3.field_1.field_4.field_1.field_3.field_3.field_1==222) && (a4.field_3.field_1.field_4.field_1.field_3.field_3.field_2==0.9375) && (a4.field_3.field_1.field_4.field_1.field_3.field_3.field_3==47) && (a4.field_3.field_1.field_4.field_1.field_3.field_3.field_
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!((a5.field_1==E_57_1) && ((a5.field_2.field_1==77)) && (a5.field_3==-2.5))) {
+        goto bad;
+    }
+
+    if (!((a6.field_1==E_59_2) && (a6.field_2==-0.984375) && ((a6.field_3.field_1==-1.09375) && (a6.field_3.field_2==-1.53125) && (a6.field_3.field_3==20793480314880) && (a6.field_3.field_4==36073398206464)))) {
+        goto bad;
+    }
+
+    if (!(((a7.field_1.field_1==-2.32421875) && (a7.field_1.field_2==208)) && ((a7.field_2.field_1==-0.0625) && ((((a7.field_2.field_2.field_1.field_1.field_1==224) && (a7.field_2.field_2.field_1.field_1.field_2==-0.984375) && (a7.field_2.field_2.field_1.field_1.field_3==131) && (a7.field_2.field_2.field_1.field_1.field_4==218)) && ((a7.field_2.field_2.field_1.field_2.field_1==209069555974144) && (a7.field_2.field_2.field_1.field_2.field_2==100) && ((a7.field_2.field_2.field_1.field_2.field_3.field_1==82) && (a7.field_2.field_2.field_1.field_2.field_3.field_2==1.4375) && (a7.field_2.field_2.field_1.field_2.field_3.field_3==89) && (a7.field_2.field_2.field_1.field_2.field_3.field_4==16)))) && (a7.field_2.field_2.field_2==273030717767680)) && (((((a7.field_2.field_3.field_1.field_1.field_1.field_1==62938097254400) && ((a7.field_2.field_3.field_1.field_1.field_1.field_2.field_1==107) && (a7.field_2.field_3.field_1.field_1.field_1.field_2.field_2==0.609375) && (a7.field_2.field_3.field_1.field_1.field_1.field_2.field_3==97) && (a7.field_2.field_3.field_1.field_1.field_1.field_2.field_4==70)) && (a7.field_2.field_3.field_1.field_1.field_1.field_3==77561457147904) && (a7.field_2.field_3.field_1.field_1.field_1.field_4==1.265625)) && (a7.field_2.field_3.field_1.field_1.field_2==-1.515625)) && ((((a7.field_2.field_3.field_1.field_2.field_1.field_1.field_1==-0.828125) && ((a7.field_2.field_3.field_1.field_2.field_1.field_1.field_2.field_1==174) && (a7.field_2.field_3.field_1.field_2.field_1.field_1.field_2.field_2==1.390625) && (a7.field_2.field_3.field_1.field_2.field_1.field_1.field_2.field_3==142) && (a7.field_2.field_3.field_1.field_2.field_1.field_1.field_2.field_4==121))) && ((a7.field_2.field_3.field_1.field_2.field_1.field_2.field_1==266278944636928) && (a7.field_2.field_3.field_1.field_2.field_1.field_2.field_2==1) && ((a7.field_2.field_3.field_1.field_2.field_1.field_2.field_3.field_1==57) && (a7.field_2.field_3.field_1.field_2.field_1.field_2.field_3.field_2==-0.1875) && (a7.field_2.field_3.field_1.field_2.field_1.field_2.field_3.field_3==53) && (a7.field_2.field_3.field_1.field_2.field_1.field_2.field_3.field_4==10))) && ((a7.field_2.field_3.field_1.field_2.field_1.field_3.field_1==258630503497728) && (a7.field_2.field_3.field_1.field_2.field_1.field_3.field_2==22) && ((a7.field_2.field_3.field_1.field_2.field_1.field_3.field_3.field_1==58) && (a7.field_2.field_3.field_1.field_2.field_1.field_3.field_3.field_2==-0.203125) && (a7.field_2.field_3.field_1.field_2.field_1.field_3.field_3.field_3==241) && (a7.field_2.field_3.field_1.field_2.field_1.field_3.field_3.field_4==248)))) && ((a7.field_2.field_3.field_1.field_2.field_2.field_1==232005730828288) && (a7.field_2.field_3.field_1.field_2.field_2.field_2==67) && ((a7.field_2.field_3.field_1.field_2.field_2.field_3.field_1==237) && (a7.field_2.field_3.field_1.field_2.field_2.field_3.field_2==-1.03125) && (a7.field_2.field_3.field_1.field_2.field_2.field_3.field_3==83) && (a7.field_2.field_3.field_1.field_2.field_2.field_3.field_4==229))) && (a7.field_2.field_3.field_1.field_2.field_3==-0.328125) && (a7.field_2.field_3.field_1.field_2.field_4==E_6_6)) && (a7.field_2.field_3.field_1.field_3==2541087240) && (((a7.field_2.field_3.field_1.field_4.field_1.field_1==0.875) && ((a7.field_2.field_3.field_1.field_4.field_1.field_2.field_1==4) && (a7.field_2.field_3.field_1.field_4.field_1.field_2.field_2==1.15625) && (a7.field_2.field_3.field_1.field_4.field_1.field_2.field_3==173) && (a7.field_2.field_3.field_1.field_4.field_1.field_2.field_4==8))) && ((a7.field_2.field_3.field_1.field_4.field_2.field_1==29310895783936) && (a7.field_2.field_3.field_1.field_4.field_2.field_2==92) && ((a7.field_2.field_3.field_1.field_4.field_2.field_3.field_1==250) && (a7.field_2.field_3.field_1.field_4.field_2.field_3.field_2==0.515625) && (a7.field_2.field_3.field_1.field_4.field_2.field_3.field_3==214) && (a7.field_2.field_3.field_1.field_4.field_2.field_3.field_4==236))) && ((a7.field_2.field_3.field_1.field_4.field_3.field_1==188538419019776) && (a7.field_2.field_3.field_1.field_4.field_3.fie
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!(a8==E_66_3)) {
+        goto bad;
+    }
+
+    if (!(a9==E_67_3)) {
+        goto bad;
+    }
+
+    if (!(a10==2.06640625)) {
+        goto bad;
+    }
+
+    return 6316575686656;
+
+bad:
+    return 232898686615552;
+}
+
+float
+fn_10_c(t74 a1, float a2, t75 a3, uint8_t a4, t78 a5, t79 a6)
+{
+    if (!(((a1.field_1.field_1==1.21875) && (a1.field_1.field_2==-0.890625) && (a1.field_1.field_3==E_54_5) && (a1.field_1.field_4==-1.140625)) && ((a1.field_2.field_1==-2.86328125) && ((a1.field_2.field_2.field_1==272734424006656) && ((a1.field_2.field_2.field_2.field_1==168) && (a1.field_2.field_2.field_2.field_2==-0.3125) && (a1.field_2.field_2.field_2.field_3==7) && (a1.field_2.field_2.field_2.field_4==96)) && (a1.field_2.field_2.field_3==194650230882304) && (a1.field_2.field_2.field_4==1.3125)) && (a1.field_2.field_3==2832640246) && (a1.field_2.field_4==248902425116672) && (a1.field_2.field_5==3177491204) && (a1.field_2.field_6==E_20_7)) && ((((a1.field_3.field_1.field_1.field_1==242) && (a1.field_3.field_1.field_1.field_2==1.0) && (a1.field_3.field_1.field_1.field_3==118) && (a1.field_3.field_1.field_1.field_4==202)) && ((a1.field_3.field_1.field_2.field_1==130511054045184) && (a1.field_3.field_1.field_2.field_2==60) && ((a1.field_3.field_1.field_2.field_3.field_1==149) && (a1.field_3.field_1.field_2.field_3.field_2==1.25) && (a1.field_3.field_1.field_2.field_3.field_3==209) && (a1.field_3.field_1.field_2.field_3.field_4==211)))) && (a1.field_3.field_2==65)) && (a1.field_4==E_71_4) && (a1.field_5==E_72_7) && ((a1.field_6.field_1==1065245434) && (a1.field_6.field_2==0.359375) && ((a1.field_6.field_3.field_1==182449277763584) && (a1.field_6.field_3.field_2==2003708228))))) {
+        goto bad;
+    }
+
+    if (!(a2==0.890625)) {
+        goto bad;
+    }
+
+    if (!(a3==E_75_4)) {
+        goto bad;
+    }
+
+    if (!(a4==73)) {
+        goto bad;
+    }
+
+    if (!((a5.field_1==100724679639040) && ((a5.field_2.field_1==197606249070592) && (a5.field_2.field_2==0.3515625) && (a5.field_2.field_3==45) && (a5.field_2.field_4==111205168709632) && ((a5.field_2.field_5.field_1==E_35_6) && (a5.field_2.field_5.field_2==168))) && (((((a5.field_3.field_1.field_1.field_1.field_1==273706513334272) && ((a5.field_3.field_1.field_1.field_1.field_2.field_1==0.625)) && ((a5.field_3.field_1.field_1.field_1.field_3.field_1==3.27734375) && (a5.field_3.field_1.field_1.field_1.field_3.field_2==E_20_4) && (a5.field_3.field_1.field_1.field_1.field_3.field_3==E_21_5) && ((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_1==1.125) && ((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_1==228193040859136) && (((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_1==197736696643584) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_2==2597012506) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_3==181) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_4==213) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_2.field_1.field_5==107853796474880)) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_2.field_2==110) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_2.field_3==E_6_2)) && (((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_1==122) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_2==1.296875) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_3==218) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_1.field_4==48)) && ((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_1==13448229421056) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_2==244) && ((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_1==47) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_2==1.453125) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_3==167) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_2.field_3.field_2.field_3.field_4==113))))) && (((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_3.field_1.field_1==-0.5625) && ((a5.field_3.field_1.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_1==91) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_2==1.53125) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_3==127) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_3.field_1.field_2.field_4==192))) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_3.field_2==208774694567936) && (a5.field_3.field_1.field_1.field_1.field_3.field_4.field_3.field_3==-2.68359375)))) && ((a5.field_3.field_1.field_1.field_1.field_4.field_1==203837156753408) && (a5.field_3.field_1.field_1.field_1.field_4.field_2==124751440248832) && (a5.field_3.field_1.field_1.field_1.field_4.field_3==19))) && (a5.field_3.field_1.field_1.field_2==949240352) && ((a5.field_3.field_1.field_1.field_3.field_1==233) && (a5.field_3.field_1.field_1.field_3.field_2==3093393614)) && ((((a5.field_3.field_1.field_1.field_4.field_1.field_1.field_1==-1.46875) && ((a5.field_3.field_1.field_1.field_4.field_1.field_1.field_2.field_1==157) && (a5.field_3.field_1.field_1.field_4.field_1.field_1.field_2.field_2==-0.546875) && (a5.field_3.field_1.field_1.field_4.field_1.field_1.field_2.field_3==189) && (a5.field_3.field_1.field_1.field_4.field_1.field_1.field_2.field_4==115))) && ((a5.field_3.field_1.field_1.field_4.field_1.field_2.field_1==199305275375616) && (a5.field_3.field_1.field_1.field_4.field_1.field_2.field_2==43) && ((a5.field_3.field_1.field_1.field_4.field_1.field_2.field_3.field_1==171) && (a5.field_3.field_1.field_1.
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!(a6==E_79_2)) {
+        goto bad;
+    }
+
+    return -1.515625;
+
+bad:
+    return -1.28125;
+}
+
+int
+const check_c_to_myr_fns(void)
+{
+    t2 a_1_1 = (t2) {.field_1=0.0625,.field_2=(t1) {.field_1=112,.field_2=-0.625,.field_3=110,.field_4=44}};
+    uint32_t a_1_2 = 2189228706;
+    t4 a_1_3 = (t4) {.field_1=(t2) {.field_1=-0.84375,.field_2=(t1) {.field_1=150,.field_2=0.359375,.field_3=172,.field_4=26}},.field_2=(t3) {.field_1=241023379308544,.field_2=115,.field_3=(t1) {.field_1=228,.field_2=0.65625,.field_3=247,.field_4=84}},.field_3=(t3) {.field_1=3134223810560,.field_2=102,.field_3=(t1) {.field_1=128,.field_2=-1.21875,.field_3=232,.field_4=105}}};
+    t2 a_1_4 = (t2) {.field_1=-1.203125,.field_2=(t1) {.field_1=110,.field_2=0.6875,.field_3=119,.field_4=200}};
+    t7 a_1_5 = (t7) {.field_1=(t5) {.field_1=94503966736384,.field_2=2770153426,.field_3=187,.field_4=214,.field_5=213410253897728},.field_2=164,.field_3=E_6_2};
+    float a_1_6 = 1.53125;
+    double a_1_7 = 1.3984375;
+    t8 a_1_8 = (t8) {.field_1=(t4) {.field_1=(t2) {.field_1=0.578125,.field_2=(t1) {.field_1=170,.field_2=1.09375,.field_3=193,.field_4=148}},.field_2=(t3) {.field_1=271021012025344,.field_2=173,.field_3=(t1) {.field_1=241,.field_2=1.46875,.field_3=80,.field_4=71}},.field_3=(t3) {.field_1=86092233441280,.field_2=245,.field_3=(t1) {.field_1=3,.field_2=-1.125,.field_3=183,.field_4=168}}},.field_2=(t3) {.field_1=110146554691584,.field_2=246,.field_3=(t1) {.field_1=164,.field_2=0.8125,.field_3=164,.field_4=89}},.field_3=0.28125,.field_4=E_6_1};
+    t9 ret_1 = fn_1_myr(a_1_1, a_1_2, a_1_3, a_1_4, a_1_5, a_1_6, a_1_7, a_1_8);
+    if (!(((ret_1.field_1.field_1==192) && (ret_1.field_1.field_2==-1.296875) && (ret_1.field_1.field_3==50) && (ret_1.field_1.field_4==129)) && ((ret_1.field_2.field_1==188458318561280) && (ret_1.field_2.field_2==40) && ((ret_1.field_2.field_3.field_1==47) && (ret_1.field_2.field_3.field_2==0.359375) && (ret_1.field_2.field_3.field_3==32) && (ret_1.field_2.field_3.field_4==127))))) {
+        return -1;
+    }
+
+    t12 a_2_1 = (t12) {.field_1=2.7734375,.field_2=(t10) {.field_1=258260610842624,.field_2=(t7) {.field_1=(t5) {.field_1=67688764407808,.field_2=122501974,.field_3=122,.field_4=53,.field_5=46816349519872},.field_2=175,.field_3=E_6_7},.field_3=(t9) {.field_1=(t1) {.field_1=242,.field_2=-0.828125,.field_3=64,.field_4=212},.field_2=(t3) {.field_1=175981577109504,.field_2=146,.field_3=(t1) {.field_1=58,.field_2=-1.3125,.field_3=81,.field_4=249}}}},.field_3=(t11) {.field_1=(t2) {.field_1=-0.671875,.field_2=(t1) {.field_1=39,.field_2=1.3125,.field_3=255,.field_4=168}},.field_2=5680861020160,.field_3=3.1015625}};
+    t14 a_2_2 = (t14) {.field_1=-0.65625,.field_2=(t13) {.field_1=-3.07421875,.field_2=2364459620,.field_3=34004063092736,.field_4=(t4) {.field_1=(t2) {.field_1=0.734375,.field_2=(t1) {.field_1=31,.field_2=-0.46875,.field_3=207,.field_4=112}},.field_2=(t3) {.field_1=91868031090688,.field_2=24,.field_3=(t1) {.field_1=152,.field_2=-0.796875,.field_3=24,.field_4=64}},.field_3=(t3) {.field_1=74808418369536,.field_2=254,.field_3=(t1) {.field_1=6,.field_2=0.046875,.field_3=73,.field_4=208}}}}};
+    t7 a_2_3 = (t7) {.field_1=(t5) {.field_1=145965008551936,.field_2=2498931774,.field_3=156,.field_4=179,.field_5=265737065725952},.field_2=244,.field_3=E_6_5};
+    float a_2_4 = -0.796875;
+    t15 a_2_5 = E_15_4;
+    t14 a_2_6 = (t14) {.field_1=0.6875,.field_2=(t13) {.field_1=-2.171875,.field_2=1533036440,.field_3=12142327889920,.field_4=(t4) {.field_1=(t2) {.field_1=-0.5625,.field_2=(t1) {.field_1=243,.field_2=-0.65625,.field_3=106,.field_4=51}},.field_2=(t3) {.field_1=156078303608832,.field_2=104,.field_3=(t1) {.field_1=58,.field_2=-1.34375,.field_3=178,.field_4=10}},.field_3=(t3) {.field_1=140200370896896,.field_2=33,.field_3=(t1) {.field_1=143,.field_2=-1.3125,.field_3=190,.field_4=67}}}}};
+    uint8_t a_2_7 = 179;
+    t17 ret_2 = fn_2_myr(a_2_1, a_2_2, a_2_3, a_2_4, a_2_5, a_2_6, a_2_7);
+    if (!(((ret_2.field_1.field_1==101589888270336) && ((ret_2.field_1.field_2.field_1==225) && (ret_2.field_1.field_2.field_2==-0.046875) && (ret_2.field_1.field_2.field_3==234) && (ret_2.field_1.field_2.field_4==74)) && (ret_2.field_1.field_3==200069064425472) && (ret_2.field_1.field_4==1.53125)) && (ret_2.field_2==1.53125))) {
+        return -1;
+    }
+
+    t15 a_3_1 = E_15_5;
+    t23 a_3_2 = (t23) {.field_1=(t18) {.field_1=(t17) {.field_1=(t16) {.field_1=208514472345600,.field_2=(t1) {.field_1=171,.field_2=0.53125,.field_3=170,.field_4=148},.field_3=137775610724352,.field_4=0.046875},.field_2=-0.109375},.field_2=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=-0.515625,.field_2=(t1) {.field_1=130,.field_2=0.5625,.field_3=65,.field_4=249}},.field_2=(t3) {.field_1=49920772014080,.field_2=137,.field_3=(t1) {.field_1=81,.field_2=-1.078125,.field_3=187,.field_4=244}},.field_3=(t3) {.field_1=238917205884928,.field_2=234,.field_3=(t1) {.field_1=148,.field_2=-0.65625,.field_3=148,.field_4=82}}},.field_2=(t3) {.field_1=13348047552512,.field_2=206,.field_3=(t1) {.field_1=236,.field_2=-0.390625,.field_3=159,.field_4=22}},.field_3=-1.203125,.field_4=E_6_3},.field_3=3263768112,.field_4=(t4) {.field_1=(t2) {.field_1=0.890625,.field_2=(t1) {.field_1=223,.field_2=-0.78125,.field_3=76,.field_4=85}},.field_2=(t3) {.field_1=165112780685312,.field_2=206,.field_3=(t1) {.field_1=4,.field_2=1.078125,.field_3=200,.field_4=49}},.field_3=(t3) {.field_1=107450067189760,.field_2=25,.field_3=(t1) {.field_1=89,.field_2=-1.203125,.field_3=14,.field_4=51}}}},.field_2=E_19_1,.field_3=178689565917184,.field_4=E_20_4,.field_5=E_21_6,.field_6=(t22) {.field_1=269113953746944,.field_2=2315358406}};
+    t21 a_3_3 = E_21_9;
+    uint8_t a_3_4 = 248;
+    uint8_t a_3_5 = 86;
+    t27 a_3_6 = (t27) {.field_1=85770339090432,.field_2=(t24) {.field_1=-0.671875},.field_3=(t25) {.field_1=-1.15234375,.field_2=E_20_1,.field_3=E_21_1,.field_4=(t12) {.field_1=0.46875,.field_2=(t10) {.field_1=3865086263296,.field_2=(t7) {.field_1=(t5) {.field_1=62745143410688,.field_2=444241798,.field_3=148,.field_4=38,.field_5=186451756843008},.field_2=253,.field_3=E_6_6},.field_3=(t9) {.field_1=(t1) {.field_1=106,.field_2=0.875,.field_3=169,.field_4=132},.field_2=(t3) {.field_1=193552010969088,.field_2=134,.field_3=(t1) {.field_1=209,.field_2=0.390625,.field_3=6,.field_4=157}}}},.field_3=(t11) {.field_1=(t2) {.field_1=-1.015625,.field_2=(t1) {.field_1=122,.field_2=1.40625,.field_3=38,.field_4=208}},.field_2=55544454578176,.field_3=-2.609375}}},.field_4=(t26) {.field_1=33366908207104,.field_2=136001504280576,.field_3=132}};
+    uint32_t ret_3 = fn_3_myr(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6);
+    if (!(ret_3==2527618668)) {
+        return -1;
+    }
+
+    t30 a_4_1 = (t30) {.field_1=(t28) {.field_1=(t23) {.field_1=(t18) {.field_1=(t17) {.field_1=(t16) {.field_1=44445459546112,.field_2=(t1) {.field_1=83,.field_2=-0.453125,.field_3=82,.field_4=113},.field_3=235939541549056,.field_4=1.078125},.field_2=0.3125},.field_2=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=-0.234375,.field_2=(t1) {.field_1=236,.field_2=0.828125,.field_3=60,.field_4=26}},.field_2=(t3) {.field_1=143671663132672,.field_2=50,.field_3=(t1) {.field_1=243,.field_2=-0.796875,.field_3=3,.field_4=53}},.field_3=(t3) {.field_1=214366877515776,.field_2=126,.field_3=(t1) {.field_1=252,.field_2=1.453125,.field_3=128,.field_4=149}}},.field_2=(t3) {.field_1=223779870998528,.field_2=137,.field_3=(t1) {.field_1=203,.field_2=0.953125,.field_3=12,.field_4=243}},.field_3=1.453125,.field_4=E_6_3},.field_3=1314332054,.field_4=(t4) {.field_1=(t2) {.field_1=-0.671875,.field_2=(t1) {.field_1=209,.field_2=-1.125,.field_3=32,.field_4=106}},.field_2=(t3) {.field_1=160715212455936,.field_2=12,.field_3=(t1) {.field_1=45,.field_2=0.96875,.field_3=39,.field_4=176}},.field_3=(t3) {.field_1=2142336450560,.field_2=26,.field_3=(t1) {.field_1=239,.field_2=-1.5,.field_3=80,.field_4=178}}}},.field_2=E_19_5,.field_3=84526311014400,.field_4=E_20_6,.field_5=E_21_1,.field_6=(t22) {.field_1=248535774265344,.field_2=1964811016}},.field_2=0.1875,.field_3=E_6_5,.field_4=-1.87109375},.field_2=(t29) {.field_1=155,.field_2=2693759888}};
+    uint64_t ret_4 = fn_4_myr(a_4_1);
+    if (!(ret_4==276275068796928)) {
+        return -1;
+    }
+
+    t33 a_5_1 = (t33) {.field_1=E_31_3,.field_2=E_32_5};
+    t34 a_5_2 = (t34) {.field_1=E_32_5,.field_2=66};
+    t36 a_5_3 = (t36) {.field_1=E_35_4,.field_2=214};
+    t37 a_5_4 = E_37_1;
+    uint64_t a_5_5 = 210077727850496;
+    double ret_5 = fn_5_myr(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5);
+    if (!(ret_5==-2.5234375)) {
+        return -1;
+    }
+
+    t40 a_6_1 = (t40) {.field_1=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=0.71875,.field_2=(t1) {.field_1=162,.field_2=-1.375,.field_3=12,.field_4=208}},.field_2=(t3) {.field_1=208257259929600,.field_2=224,.field_3=(t1) {.field_1=202,.field_2=-0.015625,.field_3=86,.field_4=251}},.field_3=(t3) {.field_1=253976550440960,.field_2=123,.field_3=(t1) {.field_1=146,.field_2=0.828125,.field_3=120,.field_4=62}}},.field_2=(t3) {.field_1=26298971062272,.field_2=103,.field_3=(t1) {.field_1=239,.field_2=1.28125,.field_3=152,.field_4=89}},.field_3=0.734375,.field_4=E_6_3},.field_2=E_6_1,.field_3=E_38_6,.field_4=(t39) {.field_1=(t27) {.field_1=152549047009280,.field_2=(t24) {.field_1=0.859375},.field_3=(t25) {.field_1=-3.7109375,.field_2=E_20_7,.field_3=E_21_5,.field_4=(t12) {.field_1=1.26171875,.field_2=(t10) {.field_1=257906686427136,.field_2=(t7) {.field_1=(t5) {.field_1=154973503488000,.field_2=2040012194,.field_3=167,.field_4=109,.field_5=74787062284288},.field_2=39,.field_3=E_6_6},.field_3=(t9) {.field_1=(t1) {.field_1=63,.field_2=-1.390625,.field_3=63,.field_4=209},.field_2=(t3) {.field_1=230983872282624,.field_2=184,.field_3=(t1) {.field_1=15,.field_2=1.296875,.field_3=31,.field_4=255}}}},.field_3=(t11) {.field_1=(t2) {.field_1=1.015625,.field_2=(t1) {.field_1=183,.field_2=-0.484375,.field_3=142,.field_4=16}},.field_2=137163913822208,.field_3=-2.80859375}}},.field_4=(t26) {.field_1=170983975682048,.field_2=72796805398528,.field_3=42}},.field_2=1990287632,.field_3=(t29) {.field_1=194,.field_2=3552591666},.field_4=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=-0.375,.field_2=(t1) {.field_1=79,.field_2=-0.625,.field_3=9,.field_4=188}},.field_2=(t3) {.field_1=159828972142592,.field_2=48,.field_3=(t1) {.field_1=128,.field_2=1.0,.field_3=62,.field_4=192}},.field_3=(t3) {.field_1=179052505464832,.field_2=16,.field_3=(t1) {.field_1=120,.field_2=0.625,.field_3=250,.field_4=151}}},.field_2=(t3) {.field_1=196274257788928,.field_2=205,.field_3=(t1) {.field_1=79,.field_2=-1.4375,.field_3=91,.field_4=96}},.field_3=0.09375,.field_4=E_6_4},.field_5=1.515625},.field_5=2.265625};
+    t41 a_6_2 = E_41_5;
+    t34 a_6_3 = (t34) {.field_1=E_32_8,.field_2=203};
+    t42 a_6_4 = (t42) {.field_1=-1.58984375,.field_2=217,.field_3=3500137676,.field_4=101686982737920};
+    double a_6_5 = 0.10546875;
+    double a_6_6 = 3.21875;
+    uint64_t a_6_7 = 40133181046784;
+    uint64_t a_6_8 = 71741835313152;
+    t26 a_6_9 = (t26) {.field_1=221313136459776,.field_2=104460582912,.field_3=149};
+    t43 ret_6 = fn_6_myr(a_6_1, a_6_2, a_6_3, a_6_4, a_6_5, a_6_6, a_6_7, a_6_8, a_6_9);
+    if (!(ret_6==E_43_1)) {
+        return -1;
+    }
+
+    t48 a_7_1 = (t48) {.field_1=(t44) {.field_1=6386332991488,.field_2=-3.90625,.field_3=163,.field_4=155193554763776,.field_5=(t36) {.field_1=E_35_3,.field_2=18}},.field_2=(t45) {.field_1=(t44) {.field_1=112229799297024,.field_2=-2.8984375,.field_3=216,.field_4=44483204612096,.field_5=(t36) {.field_1=E_35_2,.field_2=195}},.field_2=39665754832896,.field_3=114,.field_4=776337414},.field_3=E_46_5,.field_4=146729052536832,.field_5=(t47) {.field_1=(t9) {.field_1=(t1) {.field_1=153,.field_2=1.234375,.field_3=43,.field_4=174},.field_2=(t3) {.field_1=26828980748288,.field_2=242,.field_3=(t1) {.field_1=236,.field_2=-1.078125,.field_3=180,.field_4=30}}},.field_2=266092824363008},.field_6=(t27) {.field_1=13831859994624,.field_2=(t24) {.field_1=0.390625},.field_3=(t25) {.field_1=0.0703125,.field_2=E_20_1,.field_3=E_21_6,.field_4=(t12) {.field_1=-2.765625,.field_2=(t10) {.field_1=175411747749888,.field_2=(t7) {.field_1=(t5) {.field_1=262729443049472,.field_2=932333724,.field_3=5,.field_4=16,.field_5=17637135220736},.field_2=46,.field_3=E_6_2},.field_3=(t9) {.field_1=(t1) {.field_1=211,.field_2=-0.5625,.field_3=171,.field_4=1},.field_2=(t3) {.field_1=12764915826688,.field_2=49,.field_3=(t1) {.field_1=154,.field_2=1.375,.field_3=93,.field_4=73}}}},.field_3=(t11) {.field_1=(t2) {.field_1=-1.46875,.field_2=(t1) {.field_1=79,.field_2=-0.90625,.field_3=49,.field_4=4}},.field_2=93216219463680,.field_3=-2.83203125}}},.field_4=(t26) {.field_1=18454498639872,.field_2=269237052506112,.field_3=165}}};
+    uint32_t ret_7 = fn_7_myr(a_7_1);
+    if (!(ret_7==2499773006)) {
+        return -1;
+    }
+
+    t1 a_8_1 = (t1) {.field_1=200,.field_2=0.25,.field_3=18,.field_4=246};
+    t50 a_8_2 = (t50) {.field_1=-0.734375,.field_2=(t44) {.field_1=8592161505280,.field_2=2.32421875,.field_3=77,.field_4=95804356820992,.field_5=(t36) {.field_1=E_35_1,.field_2=126}},.field_3=-1.12109375,.field_4=E_49_3};
+    t51 a_8_3 = E_51_3;
+    float a_8_4 = 0.1875;
+    t52 a_8_5 = (t52) {.field_1=-0.81640625};
+    uint32_t a_8_6 = 441584498;
+    t53 a_8_7 = (t53) {.field_1=198};
+    uint8_t a_8_8 = 89;
+    float ret_8 = fn_8_myr(a_8_1, a_8_2, a_8_3, a_8_4, a_8_5, a_8_6, a_8_7, a_8_8);
+    if (!(ret_8==1.421875)) {
+        return -1;
+    }
+
+    t51 a_9_1 = E_51_8;
+    float a_9_2 = -0.796875;
+    float a_9_3 = -0.71875;
+    t56 a_9_4 = (t56) {.field_1=E_54_7,.field_2=255,.field_3=(t55) {.field_1=(t39) {.field_1=(t27) {.field_1=130105287114752,.field_2=(t24) {.field_1=-1.0},.field_3=(t25) {.field_1=3.53125,.field_2=E_20_2,.field_3=E_21_1,.field_4=(t12) {.field_1=-0.67578125,.field_2=(t10) {.field_1=23617654620160,.field_2=(t7) {.field_1=(t5) {.field_1=12594182750208,.field_2=2889081194,.field_3=84,.field_4=84,.field_5=265251503210496},.field_2=17,.field_3=E_6_7},.field_3=(t9) {.field_1=(t1) {.field_1=141,.field_2=-0.1875,.field_3=10,.field_4=118},.field_2=(t3) {.field_1=24302215233536,.field_2=170,.field_3=(t1) {.field_1=64,.field_2=0.953125,.field_3=156,.field_4=112}}}},.field_3=(t11) {.field_1=(t2) {.field_1=0.3125,.field_2=(t1) {.field_1=168,.field_2=0.3125,.field_3=140,.field_4=197}},.field_2=149682231705600,.field_3=0.3828125}}},.field_4=(t26) {.field_1=66190105247744,.field_2=201243456045056,.field_3=128}},.field_2=1608787508,.field_3=(t29) {.field_1=208,.field_2=3925244758},.field_4=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=-0.125,.field_2=(t1) {.field_1=219,.field_2=0.265625,.field_3=201,.field_4=48}},.field_2=(t3) {.field_1=148885215510528,.field_2=219,.field_3=(t1) {.field_1=41,.field_2=-1.3125,.field_3=75,.field_4=52}},.field_3=(t3) {.field_1=153670362464256,.field_2=97,.field_3=(t1) {.field_1=222,.field_2=0.9375,.field_3=47,.field_4=122}}},.field_2=(t3) {.field_1=66828912033792,.field_2=201,.field_3=(t1) {.field_1=35,.field_2=1.046875,.field_3=86,.field_4=233}},.field_3=-0.421875,.field_4=E_6_7},.field_5=-1.109375},.field_2=350527626,.field_3=98,.field_4=(t7) {.field_1=(t5) {.field_1=146849136115712,.field_2=3845172994,.field_3=76,.field_4=250,.field_5=212141542211584},.field_2=227,.field_3=E_6_6}}};
+    t58 a_9_5 = (t58) {.field_1=E_57_1,.field_2=(t53) {.field_1=77},.field_3=-2.5};
+    t61 a_9_6 = (t61) {.field_1=E_59_2,.field_2=-0.984375,.field_3=(t60) {.field_1=-1.09375,.field_2=-1.53125,.field_3=20793480314880,.field_4=36073398206464}};
+    t65 a_9_7 = (t65) {.field_1=(t62) {.field_1=-2.32421875,.field_2=208},.field_2=(t63) {.field_1=-0.0625,.field_2=(t47) {.field_1=(t9) {.field_1=(t1) {.field_1=224,.field_2=-0.984375,.field_3=131,.field_4=218},.field_2=(t3) {.field_1=209069555974144,.field_2=100,.field_3=(t1) {.field_1=82,.field_2=1.4375,.field_3=89,.field_4=16}}},.field_2=273030717767680},.field_3=(t23) {.field_1=(t18) {.field_1=(t17) {.field_1=(t16) {.field_1=62938097254400,.field_2=(t1) {.field_1=107,.field_2=0.609375,.field_3=97,.field_4=70},.field_3=77561457147904,.field_4=1.265625},.field_2=-1.515625},.field_2=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=-0.828125,.field_2=(t1) {.field_1=174,.field_2=1.390625,.field_3=142,.field_4=121}},.field_2=(t3) {.field_1=266278944636928,.field_2=1,.field_3=(t1) {.field_1=57,.field_2=-0.1875,.field_3=53,.field_4=10}},.field_3=(t3) {.field_1=258630503497728,.field_2=22,.field_3=(t1) {.field_1=58,.field_2=-0.203125,.field_3=241,.field_4=248}}},.field_2=(t3) {.field_1=232005730828288,.field_2=67,.field_3=(t1) {.field_1=237,.field_2=-1.03125,.field_3=83,.field_4=229}},.field_3=-0.328125,.field_4=E_6_6},.field_3=2541087240,.field_4=(t4) {.field_1=(t2) {.field_1=0.875,.field_2=(t1) {.field_1=4,.field_2=1.15625,.field_3=173,.field_4=8}},.field_2=(t3) {.field_1=29310895783936,.field_2=92,.field_3=(t1) {.field_1=250,.field_2=0.515625,.field_3=214,.field_4=236}},.field_3=(t3) {.field_1=188538419019776,.field_2=16,.field_3=(t1) {.field_1=92,.field_2=1.1875,.field_3=26,.field_4=72}}}},.field_2=E_19_9,.field_3=93123907813376,.field_4=E_20_6,.field_5=E_21_9,.field_6=(t22) {.field_1=84919533043712,.field_2=2312961846}},.field_4=738749758},.field_3=(t64) {.field_1=(t61) {.field_1=E_59_2,.field_2=0.671875,.field_3=(t60) {.field_1=-0.01953125,.field_2=-1.171875,.field_3=30820079632384,.field_4=68216701976576}},.field_2=E_21_7,.field_3=227,.field_4=E_31_2}};
+    t66 a_9_8 = E_66_3;
+    t67 a_9_9 = E_67_3;
+    double a_9_10 = 2.06640625;
+    uint64_t ret_9 = fn_9_myr(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10);
+    if (!(ret_9==6316575686656)) {
+        return -1;
+    }
+
+    t74 a_10_1 = (t74) {.field_1=(t68) {.field_1=1.21875,.field_2=-0.890625,.field_3=E_54_5,.field_4=-1.140625},.field_2=(t69) {.field_1=-2.86328125,.field_2=(t16) {.field_1=272734424006656,.field_2=(t1) {.field_1=168,.field_2=-0.3125,.field_3=7,.field_4=96},.field_3=194650230882304,.field_4=1.3125},.field_3=2832640246,.field_4=248902425116672,.field_5=3177491204,.field_6=E_20_7},.field_3=(t70) {.field_1=(t9) {.field_1=(t1) {.field_1=242,.field_2=1.0,.field_3=118,.field_4=202},.field_2=(t3) {.field_1=130511054045184,.field_2=60,.field_3=(t1) {.field_1=149,.field_2=1.25,.field_3=209,.field_4=211}}},.field_2=65},.field_4=E_71_4,.field_5=E_72_7,.field_6=(t73) {.field_1=1065245434,.field_2=0.359375,.field_3=(t22) {.field_1=182449277763584,.field_2=2003708228}}};
+    float a_10_2 = 0.890625;
+    t75 a_10_3 = E_75_4;
+    uint8_t a_10_4 = 73;
+    t78 a_10_5 = (t78) {.field_1=100724679639040,.field_2=(t44) {.field_1=197606249070592,.field_2=0.3515625,.field_3=45,.field_4=111205168709632,.field_5=(t36) {.field_1=E_35_6,.field_2=168}},.field_3=(t76) {.field_1=(t55) {.field_1=(t39) {.field_1=(t27) {.field_1=273706513334272,.field_2=(t24) {.field_1=0.625},.field_3=(t25) {.field_1=3.27734375,.field_2=E_20_4,.field_3=E_21_5,.field_4=(t12) {.field_1=1.125,.field_2=(t10) {.field_1=228193040859136,.field_2=(t7) {.field_1=(t5) {.field_1=197736696643584,.field_2=2597012506,.field_3=181,.field_4=213,.field_5=107853796474880},.field_2=110,.field_3=E_6_2},.field_3=(t9) {.field_1=(t1) {.field_1=122,.field_2=1.296875,.field_3=218,.field_4=48},.field_2=(t3) {.field_1=13448229421056,.field_2=244,.field_3=(t1) {.field_1=47,.field_2=1.453125,.field_3=167,.field_4=113}}}},.field_3=(t11) {.field_1=(t2) {.field_1=-0.5625,.field_2=(t1) {.field_1=91,.field_2=1.53125,.field_3=127,.field_4=192}},.field_2=208774694567936,.field_3=-2.68359375}}},.field_4=(t26) {.field_1=203837156753408,.field_2=124751440248832,.field_3=19}},.field_2=949240352,.field_3=(t29) {.field_1=233,.field_2=3093393614},.field_4=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=-1.46875,.field_2=(t1) {.field_1=157,.field_2=-0.546875,.field_3=189,.field_4=115}},.field_2=(t3) {.field_1=199305275375616,.field_2=43,.field_3=(t1) {.field_1=171,.field_2=-0.984375,.field_3=22,.field_4=134}},.field_3=(t3) {.field_1=105055744950272,.field_2=34,.field_3=(t1) {.field_1=122,.field_2=0.1875,.field_3=25,.field_4=33}}},.field_2=(t3) {.field_1=1198625914880,.field_2=107,.field_3=(t1) {.field_1=125,.field_2=1.546875,.field_3=235,.field_4=61}},.field_3=0.734375,.field_4=E_6_1},.field_5=1.453125},.field_2=763193548,.field_3=39,.field_4=(t7) {.field_1=(t5) {.field_1=52338931924992,.field_2=391110206,.field_3=223,.field_4=55,.field_5=198983641202688},.field_2=50,.field_3=E_6_7}},.field_2=673599174},.field_4=(t77) {.field_1=(t55) {.field_1=(t39) {.field_1=(t27) {.field_1=254957327745024,.field_2=(t24) {.field_1=-1.171875},.field_3=(t25) {.field_1=2.5546875,.field_2=E_20_1,.field_3=E_21_2,.field_4=(t12) {.field_1=-1.171875,.field_2=(t10) {.field_1=130672052011008,.field_2=(t7) {.field_1=(t5) {.field_1=97871770550272,.field_2=3555186718,.field_3=6,.field_4=114,.field_5=270228958085120},.field_2=7,.field_3=E_6_7},.field_3=(t9) {.field_1=(t1) {.field_1=114,.field_2=-1.5,.field_3=200,.field_4=176},.field_2=(t3) {.field_1=212862159159296,.field_2=220,.field_3=(t1) {.field_1=167,.field_2=1.359375,.field_3=3,.field_4=215}}}},.field_3=(t11) {.field_1=(t2) {.field_1=-1.484375,.field_2=(t1) {.field_1=226,.field_2=-1.390625,.field_3=187,.field_4=21}},.field_2=4365063815168,.field_3=3.0390625}}},.field_4=(t26) {.field_1=278530325086209,.field_2=40351778734080,.field_3=183}},.field_2=345942008,.field_3=(t29) {.field_1=91,.field_2=281298906},.field_4=(t8) {.field_1=(t4) {.field_1=(t2) {.field_1=0.140625,.field_2=(t1) {.field_1=180,.field_2=1.234375,.field_3=145,.field_4=38}},.field_2=(t3) {.field_1=240181903360000,.field_2=153,.field_3=(t1) {.field_1=4,.field_2=-0.625,.field_3=158,.field_4=204}},.field_3=(t3) {.field_1=279255610818561,.field_2=96,.field_3=(t1) {.field_1=169,.field_2=0.46875,.field_3=79,.field_4=172}}},.field_2=(t3) {.field_1=137219642097664,.field_2=85,.field_3=(t1) {.field_1=143,.field_2=0.140625,.field_3=17,.field_4=164}},.field_3=0.1875,.field_4=E_6_7},.field_5=0.421875},.field_2=3026647616,.field_3=171,.field_4=(t7) {.field_1=(t5) {.field_1=200920828215296,.field_2=266056950,.field_3=188,.field_4=66,.field_5=215864985649152},.field_2=161,.field_3=E_6_6}},.field_2=234,.field_3=-0.12890625,.field_4=109,.field_5=(t70) {.field_1=(t9) {.field_1=(t1) {.field_1=238,.field_2=0.890625,.field_3=11,.field_4=187},.field_2=(t3) {.field_1=218973062561792,.field_2=108,.field_3=(t1) {.field_1=100,.field_2=-0.234375,.field_3=187,.field_4=17}}},.field_2=233},.field_6=296769572}};
+    t79 a_10_6 = E_79_2;
+    float ret_10 = fn_10_myr(a_10_1, a_10_2, a_10_3, a_10_4, a_10_5, a_10_6);
+    if (!(ret_10==-1.515625)) {
+        return -1;
+    }
+
+    return 0;
+}
--- /dev/null
+++ b/test/abi/005_in-c.myr
@@ -1,0 +1,16 @@
+use std
+use "005_types"
+
+pkg = 
+    extern const fn_1_c : (a1 : t2, a2 : uint32, a3 : t4, a4 : t2, a5 : (t5,uint8,t6), a6 : flt32, a7 : flt64, a8 : (t4,t3,flt32,t6) -> ((uint8,flt32,uint8,uint8),t3))
+    extern const fn_2_c : (a1 : (flt64,t10,(t2,uint64,flt64)), a2 : (flt32,(flt64,uint32,uint64,t4)), a3 : (t5,uint8,t6), a4 : flt32, a5 : t15, a6 : (flt32,(flt64,uint32,uint64,t4)), a7 : uint8 -> (t16,flt32))
+    extern const fn_3_c : (a1 : t15, a2 : t23, a3 : t21, a4 : uint8, a5 : uint8, a6 : (uint64,t24,t25,(uint64,uint64,uint8)) -> uint32)
+    extern const fn_4_c : (a1 : ((t23,flt32,t6,flt64),(uint8,uint32)) -> uint64)
+    extern const fn_5_c : (a1 : (t31,t32), a2 : (t32,uint8), a3 : (t35,uint8), a4 : t37, a5 : uint64 -> flt64)
+    extern const fn_6_c : (a1 : t40, a2 : t41, a3 : (t32,uint8), a4 : t42, a5 : flt64, a6 : flt64, a7 : uint64, a8 : uint64, a9 : (uint64,uint64,uint8) -> t43)
+    extern const fn_7_c : (a1 : t48 -> uint32)
+    extern const fn_8_c : (a1 : (uint8,flt32,uint8,uint8), a2 : (flt32,t44,flt64,t49), a3 : t51, a4 : flt32, a5 : t52, a6 : uint32, a7 : t53, a8 : uint8 -> flt32)
+    extern const fn_9_c : (a1 : t51, a2 : flt32, a3 : flt32, a4 : (t54,uint8,t55), a5 : t58, a6 : (t59,flt32,(flt64,flt32,uint64,uint64)), a7 : t65, a8 : t66, a9 : t67, a10 : flt64 -> uint64)
+    extern const fn_10_c : (a1 : t74, a2 : flt32, a3 : t75, a4 : uint8, a5 : (uint64,t44,t76,t77), a6 : t79 -> flt32)
+    extern const check_c_to_myr_fns : (-> int)
+;;
--- /dev/null
+++ b/test/abi/005_in-myr.myr
@@ -1,0 +1,330 @@
+use std
+use "005_types"
+
+pkg =
+    const fn_1_myr : (a1 : t2, a2 : uint32, a3 : t4, a4 : t2, a5 : (t5,uint8,t6), a6 : flt32, a7 : flt64, a8 : (t4,t3,flt32,t6) -> ((uint8,flt32,uint8,uint8),t3))
+    const fn_2_myr : (a1 : (flt64,t10,(t2,uint64,flt64)), a2 : (flt32,(flt64,uint32,uint64,t4)), a3 : (t5,uint8,t6), a4 : flt32, a5 : t15, a6 : (flt32,(flt64,uint32,uint64,t4)), a7 : uint8 -> (t16,flt32))
+    const fn_3_myr : (a1 : t15, a2 : t23, a3 : t21, a4 : uint8, a5 : uint8, a6 : (uint64,t24,t25,(uint64,uint64,uint8)) -> uint32)
+    const fn_4_myr : (a1 : ((t23,flt32,t6,flt64),(uint8,uint32)) -> uint64)
+    const fn_5_myr : (a1 : (t31,t32), a2 : (t32,uint8), a3 : (t35,uint8), a4 : t37, a5 : uint64 -> flt64)
+    const fn_6_myr : (a1 : t40, a2 : t41, a3 : (t32,uint8), a4 : t42, a5 : flt64, a6 : flt64, a7 : uint64, a8 : uint64, a9 : (uint64,uint64,uint8) -> t43)
+    const fn_7_myr : (a1 : t48 -> uint32)
+    const fn_8_myr : (a1 : (uint8,flt32,uint8,uint8), a2 : (flt32,t44,flt64,t49), a3 : t51, a4 : flt32, a5 : t52, a6 : uint32, a7 : t53, a8 : uint8 -> flt32)
+    const fn_9_myr : (a1 : t51, a2 : flt32, a3 : flt32, a4 : (t54,uint8,t55), a5 : t58, a6 : (t59,flt32,(flt64,flt32,uint64,uint64)), a7 : t65, a8 : t66, a9 : t67, a10 : flt64 -> uint64)
+    const fn_10_myr : (a1 : t74, a2 : flt32, a3 : t75, a4 : uint8, a5 : (uint64,t44,t76,t77), a6 : t79 -> flt32)
+;;
+
+const fn_1_myr = { a1 : t2, a2 : uint32, a3 : t4, a4 : t2, a5 : (t5,uint8,t6), a6 : flt32, a7 : flt64, a8 : (t4,t3,flt32,t6)
+    if !((a1.field_1==0.0625) && ((a1.field_2.0==112) && (a1.field_2.1==-0.625) && (a1.field_2.2==110) && (a1.field_2.3==44)))
+        goto bad
+    ;;
+
+    if !(a2==2189228706)
+        goto bad
+    ;;
+
+    if !(((a3.field_1.field_1==-0.84375) && ((a3.field_1.field_2.0==150) && (a3.field_1.field_2.1==0.359375) && (a3.field_1.field_2.2==172) && (a3.field_1.field_2.3==26))) && ((a3.field_2.field_1==241023379308544) && (a3.field_2.field_2==115) && ((a3.field_2.field_3.0==228) && (a3.field_2.field_3.1==0.65625) && (a3.field_2.field_3.2==247) && (a3.field_2.field_3.3==84))) && ((a3.field_3.field_1==3134223810560) && (a3.field_3.field_2==102) && ((a3.field_3.field_3.0==128) && (a3.field_3.field_3.1==-1.21875) && (a3.field_3.field_3.2==232) && (a3.field_3.field_3.3==105))))
+        goto bad
+    ;;
+
+    if !((a4.field_1==-1.203125) && ((a4.field_2.0==110) && (a4.field_2.1==0.6875) && (a4.field_2.2==119) && (a4.field_2.3==200)))
+        goto bad
+    ;;
+
+    if !(((a5.0.field_1==94503966736384) && (a5.0.field_2==2770153426) && (a5.0.field_3==187) && (a5.0.field_4==214) && (a5.0.field_5==213410253897728)) && (a5.1==164) && (a5.2==`E_6_2))
+        goto bad
+    ;;
+
+    if !(a6==1.53125)
+        goto bad
+    ;;
+
+    if !(a7==1.3984375)
+        goto bad
+    ;;
+
+    if !((((a8.0.field_1.field_1==0.578125) && ((a8.0.field_1.field_2.0==170) && (a8.0.field_1.field_2.1==1.09375) && (a8.0.field_1.field_2.2==193) && (a8.0.field_1.field_2.3==148))) && ((a8.0.field_2.field_1==271021012025344) && (a8.0.field_2.field_2==173) && ((a8.0.field_2.field_3.0==241) && (a8.0.field_2.field_3.1==1.46875) && (a8.0.field_2.field_3.2==80) && (a8.0.field_2.field_3.3==71))) && ((a8.0.field_3.field_1==86092233441280) && (a8.0.field_3.field_2==245) && ((a8.0.field_3.field_3.0==3) && (a8.0.field_3.field_3.1==-1.125) && (a8.0.field_3.field_3.2==183) && (a8.0.field_3.field_3.3==168)))) && ((a8.1.field_1==110146554691584) && (a8.1.field_2==246) && ((a8.1.field_3.0==164) && (a8.1.field_3.1==0.8125) && (a8.1.field_3.2==164) && (a8.1.field_3.3==89))) && (a8.2==0.28125) && (a8.3==`E_6_1))
+        goto bad
+    ;;
+
+    -> ((192,-1.296875,50,129),[.field_1=188458318561280,.field_2=40,.field_3=(47,0.359375,32,127)])
+
+:bad
+    -> ((228,-0.203125,117,231),[.field_1=162396161703936,.field_2=44,.field_3=(143,1.46875,35,52)])
+}
+
+const fn_2_myr = { a1 : (flt64,t10,(t2,uint64,flt64)), a2 : (flt32,(flt64,uint32,uint64,t4)), a3 : (t5,uint8,t6), a4 : flt32, a5 : t15, a6 : (flt32,(flt64,uint32,uint64,t4)), a7 : uint8
+    if !((a1.0==2.7734375) && ((a1.1.field_1==258260610842624) && (((a1.1.field_2.0.field_1==67688764407808) && (a1.1.field_2.0.field_2==122501974) && (a1.1.field_2.0.field_3==122) && (a1.1.field_2.0.field_4==53) && (a1.1.field_2.0.field_5==46816349519872)) && (a1.1.field_2.1==175) && (a1.1.field_2.2==`E_6_7)) && (((a1.1.field_3.0.0==242) && (a1.1.field_3.0.1==-0.828125) && (a1.1.field_3.0.2==64) && (a1.1.field_3.0.3==212)) && ((a1.1.field_3.1.field_1==175981577109504) && (a1.1.field_3.1.field_2==146) && ((a1.1.field_3.1.field_3.0==58) && (a1.1.field_3.1.field_3.1==-1.3125) && (a1.1.field_3.1.field_3.2==81) && (a1.1.field_3.1.field_3.3==249))))) && (((a1.2.0.field_1==-0.671875) && ((a1.2.0.field_2.0==39) && (a1.2.0.field_2.1==1.3125) && (a1.2.0.field_2.2==255) && (a1.2.0.field_2.3==168))) && (a1.2.1==5680861020160) && (a1.2.2==3.1015625)))
+        goto bad
+    ;;
+
+    if !((a2.0==-0.65625) && ((a2.1.0==-3.07421875) && (a2.1.1==2364459620) && (a2.1.2==34004063092736) && (((a2.1.3.field_1.field_1==0.734375) && ((a2.1.3.field_1.field_2.0==31) && (a2.1.3.field_1.field_2.1==-0.46875) && (a2.1.3.field_1.field_2.2==207) && (a2.1.3.field_1.field_2.3==112))) && ((a2.1.3.field_2.field_1==91868031090688) && (a2.1.3.field_2.field_2==24) && ((a2.1.3.field_2.field_3.0==152) && (a2.1.3.field_2.field_3.1==-0.796875) && (a2.1.3.field_2.field_3.2==24) && (a2.1.3.field_2.field_3.3==64))) && ((a2.1.3.field_3.field_1==74808418369536) && (a2.1.3.field_3.field_2==254) && ((a2.1.3.field_3.field_3.0==6) && (a2.1.3.field_3.field_3.1==0.046875) && (a2.1.3.field_3.field_3.2==73) && (a2.1.3.field_3.field_3.3==208))))))
+        goto bad
+    ;;
+
+    if !(((a3.0.field_1==145965008551936) && (a3.0.field_2==2498931774) && (a3.0.field_3==156) && (a3.0.field_4==179) && (a3.0.field_5==265737065725952)) && (a3.1==244) && (a3.2==`E_6_5))
+        goto bad
+    ;;
+
+    if !(a4==-0.796875)
+        goto bad
+    ;;
+
+    if !(a5==`E_15_4)
+        goto bad
+    ;;
+
+    if !((a6.0==0.6875) && ((a6.1.0==-2.171875) && (a6.1.1==1533036440) && (a6.1.2==12142327889920) && (((a6.1.3.field_1.field_1==-0.5625) && ((a6.1.3.field_1.field_2.0==243) && (a6.1.3.field_1.field_2.1==-0.65625) && (a6.1.3.field_1.field_2.2==106) && (a6.1.3.field_1.field_2.3==51))) && ((a6.1.3.field_2.field_1==156078303608832) && (a6.1.3.field_2.field_2==104) && ((a6.1.3.field_2.field_3.0==58) && (a6.1.3.field_2.field_3.1==-1.34375) && (a6.1.3.field_2.field_3.2==178) && (a6.1.3.field_2.field_3.3==10))) && ((a6.1.3.field_3.field_1==140200370896896) && (a6.1.3.field_3.field_2==33) && ((a6.1.3.field_3.field_3.0==143) && (a6.1.3.field_3.field_3.1==-1.3125) && (a6.1.3.field_3.field_3.2==190) && (a6.1.3.field_3.field_3.3==67))))))
+        goto bad
+    ;;
+
+    if !(a7==179)
+        goto bad
+    ;;
+
+    -> ([.field_1=101589888270336,.field_2=(225,-0.046875,234,74),.field_3=200069064425472,.field_4=1.53125],1.53125)
+
+:bad
+    -> ([.field_1=211711070699520,.field_2=(123,-1.203125,79,144),.field_3=242499850862592,.field_4=0.234375],0.28125)
+}
+
+const fn_3_myr = { a1 : t15, a2 : t23, a3 : t21, a4 : uint8, a5 : uint8, a6 : (uint64,t24,t25,(uint64,uint64,uint8))
+    if !(a1==`E_15_5)
+        goto bad
+    ;;
+
+    if !(((((a2.field_1.0.0.field_1==208514472345600) && ((a2.field_1.0.0.field_2.0==171) && (a2.field_1.0.0.field_2.1==0.53125) && (a2.field_1.0.0.field_2.2==170) && (a2.field_1.0.0.field_2.3==148)) && (a2.field_1.0.0.field_3==137775610724352) && (a2.field_1.0.0.field_4==0.046875)) && (a2.field_1.0.1==-0.109375)) && ((((a2.field_1.1.0.field_1.field_1==-0.515625) && ((a2.field_1.1.0.field_1.field_2.0==130) && (a2.field_1.1.0.field_1.field_2.1==0.5625) && (a2.field_1.1.0.field_1.field_2.2==65) && (a2.field_1.1.0.field_1.field_2.3==249))) && ((a2.field_1.1.0.field_2.field_1==49920772014080) && (a2.field_1.1.0.field_2.field_2==137) && ((a2.field_1.1.0.field_2.field_3.0==81) && (a2.field_1.1.0.field_2.field_3.1==-1.078125) && (a2.field_1.1.0.field_2.field_3.2==187) && (a2.field_1.1.0.field_2.field_3.3==244))) && ((a2.field_1.1.0.field_3.field_1==238917205884928) && (a2.field_1.1.0.field_3.field_2==234) && ((a2.field_1.1.0.field_3.field_3.0==148) && (a2.field_1.1.0.field_3.field_3.1==-0.65625) && (a2.field_1.1.0.field_3.field_3.2==148) && (a2.field_1.1.0.field_3.field_3.3==82)))) && ((a2.field_1.1.1.field_1==13348047552512) && (a2.field_1.1.1.field_2==206) && ((a2.field_1.1.1.field_3.0==236) && (a2.field_1.1.1.field_3.1==-0.390625) && (a2.field_1.1.1.field_3.2==159) && (a2.field_1.1.1.field_3.3==22))) && (a2.field_1.1.2==-1.203125) && (a2.field_1.1.3==`E_6_3)) && (a2.field_1.2==3263768112) && (((a2.field_1.3.field_1.field_1==0.890625) && ((a2.field_1.3.field_1.field_2.0==223) && (a2.field_1.3.field_1.field_2.1==-0.78125) && (a2.field_1.3.field_1.field_2.2==76) && (a2.field_1.3.field_1.field_2.3==85))) && ((a2.field_1.3.field_2.field_1==165112780685312) && (a2.field_1.3.field_2.field_2==206) && ((a2.field_1.3.field_2.field_3.0==4) && (a2.field_1.3.field_2.field_3.1==1.078125) && (a2.field_1.3.field_2.field_3.2==200) && (a2.field_1.3.field_2.field_3.3==49))) && ((a2.field_1.3.field_3.field_1==107450067189760) && (a2.field_1.3.field_3.field_2==25) && ((a2.field_1.3.field_3.field_3.0==89) && (a2.field_1.3.field_3.field_3.1==-1.203125) && (a2.field_1.3.field_3.field_3.2==14) && (a2.field_1.3.field_3.field_3.3==51))))) && (a2.field_2==`E_19_1) && (a2.field_3==178689565917184) && (a2.field_4==`E_20_4) && (a2.field_5==`E_21_6) && ((a2.field_6.0==269113953746944) && (a2.field_6.1==2315358406)))
+        goto bad
+    ;;
+
+    if !(a3==`E_21_9)
+        goto bad
+    ;;
+
+    if !(a4==248)
+        goto bad
+    ;;
+
+    if !(a5==86)
+        goto bad
+    ;;
+
+    if !((a6.0==85770339090432) && ((a6.1.field_1==-0.671875)) && ((a6.2.field_1==-1.15234375) && (a6.2.field_2==`E_20_1) && (a6.2.field_3==`E_21_1) && ((a6.2.field_4.0==0.46875) && ((a6.2.field_4.1.field_1==3865086263296) && (((a6.2.field_4.1.field_2.0.field_1==62745143410688) && (a6.2.field_4.1.field_2.0.field_2==444241798) && (a6.2.field_4.1.field_2.0.field_3==148) && (a6.2.field_4.1.field_2.0.field_4==38) && (a6.2.field_4.1.field_2.0.field_5==186451756843008)) && (a6.2.field_4.1.field_2.1==253) && (a6.2.field_4.1.field_2.2==`E_6_6)) && (((a6.2.field_4.1.field_3.0.0==106) && (a6.2.field_4.1.field_3.0.1==0.875) && (a6.2.field_4.1.field_3.0.2==169) && (a6.2.field_4.1.field_3.0.3==132)) && ((a6.2.field_4.1.field_3.1.field_1==193552010969088) && (a6.2.field_4.1.field_3.1.field_2==134) && ((a6.2.field_4.1.field_3.1.field_3.0==209) && (a6.2.field_4.1.field_3.1.field_3.1==0.390625) && (a6.2.field_4.1.field_3.1.field_3.2==6) && (a6.2.field_4.1.field_3.1.field_3.3==157))))) && (((a6.2.field_4.2.0.field_1==-1.015625) && ((a6.2.field_4.2.0.field_2.0==122) && (a6.2.field_4.2.0.field_2.1==1.40625) && (a6.2.field_4.2.0.field_2.2==38) && (a6.2.field_4.2.0.field_2.3==208))) && (a6.2.field_4.2.1==55544454578176) && (a6.2.field_4.2.2==-2.609375)))) && ((a6.3.0==33366908207104) && (a6.3.1==136001504280576) && (a6.3.2==132)))
+        goto bad
+    ;;
+
+    -> 2527618668
+
+:bad
+    -> 339855078
+}
+
+const fn_4_myr = { a1 : ((t23,flt32,t6,flt64),(uint8,uint32))
+    if !(((((((a1.0.0.field_1.0.0.field_1==44445459546112) && ((a1.0.0.field_1.0.0.field_2.0==83) && (a1.0.0.field_1.0.0.field_2.1==-0.453125) && (a1.0.0.field_1.0.0.field_2.2==82) && (a1.0.0.field_1.0.0.field_2.3==113)) && (a1.0.0.field_1.0.0.field_3==235939541549056) && (a1.0.0.field_1.0.0.field_4==1.078125)) && (a1.0.0.field_1.0.1==0.3125)) && ((((a1.0.0.field_1.1.0.field_1.field_1==-0.234375) && ((a1.0.0.field_1.1.0.field_1.field_2.0==236) && (a1.0.0.field_1.1.0.field_1.field_2.1==0.828125) && (a1.0.0.field_1.1.0.field_1.field_2.2==60) && (a1.0.0.field_1.1.0.field_1.field_2.3==26))) && ((a1.0.0.field_1.1.0.field_2.field_1==143671663132672) && (a1.0.0.field_1.1.0.field_2.field_2==50) && ((a1.0.0.field_1.1.0.field_2.field_3.0==243) && (a1.0.0.field_1.1.0.field_2.field_3.1==-0.796875) && (a1.0.0.field_1.1.0.field_2.field_3.2==3) && (a1.0.0.field_1.1.0.field_2.field_3.3==53))) && ((a1.0.0.field_1.1.0.field_3.field_1==214366877515776) && (a1.0.0.field_1.1.0.field_3.field_2==126) && ((a1.0.0.field_1.1.0.field_3.field_3.0==252) && (a1.0.0.field_1.1.0.field_3.field_3.1==1.453125) && (a1.0.0.field_1.1.0.field_3.field_3.2==128) && (a1.0.0.field_1.1.0.field_3.field_3.3==149)))) && ((a1.0.0.field_1.1.1.field_1==223779870998528) && (a1.0.0.field_1.1.1.field_2==137) && ((a1.0.0.field_1.1.1.field_3.0==203) && (a1.0.0.field_1.1.1.field_3.1==0.953125) && (a1.0.0.field_1.1.1.field_3.2==12) && (a1.0.0.field_1.1.1.field_3.3==243))) && (a1.0.0.field_1.1.2==1.453125) && (a1.0.0.field_1.1.3==`E_6_3)) && (a1.0.0.field_1.2==1314332054) && (((a1.0.0.field_1.3.field_1.field_1==-0.671875) && ((a1.0.0.field_1.3.field_1.field_2.0==209) && (a1.0.0.field_1.3.field_1.field_2.1==-1.125) && (a1.0.0.field_1.3.field_1.field_2.2==32) && (a1.0.0.field_1.3.field_1.field_2.3==106))) && ((a1.0.0.field_1.3.field_2.field_1==160715212455936) && (a1.0.0.field_1.3.field_2.field_2==12) && ((a1.0.0.field_1.3.field_2.field_3.0==45) && (a1.0.0.field_1.3.field_2.field_3.1==0.96875) && (a1.0.0.field_1.3.field_2.field_3.2==39) && (a1.0.0.field_1.3.field_2.field_3.3==176))) && ((a1.0.0.field_1.3.field_3.field_1==2142336450560) && (a1.0.0.field_1.3.field_3.field_2==26) && ((a1.0.0.field_1.3.field_3.field_3.0==239) && (a1.0.0.field_1.3.field_3.field_3.1==-1.5) && (a1.0.0.field_1.3.field_3.field_3.2==80) && (a1.0.0.field_1.3.field_3.field_3.3==178))))) && (a1.0.0.field_2==`E_19_5) && (a1.0.0.field_3==84526311014400) && (a1.0.0.field_4==`E_20_6) && (a1.0.0.field_5==`E_21_1) && ((a1.0.0.field_6.0==248535774265344) && (a1.0.0.field_6.1==1964811016))) && (a1.0.1==0.1875) && (a1.0.2==`E_6_5) && (a1.0.3==-1.87109375)) && ((a1.1.0==155) && (a1.1.1==2693759888)))
+        goto bad
+    ;;
+
+    -> 276275068796928
+
+:bad
+    -> 262674313510912
+}
+
+const fn_5_myr = { a1 : (t31,t32), a2 : (t32,uint8), a3 : (t35,uint8), a4 : t37, a5 : uint64
+    if !((a1.0==`E_31_3) && (a1.1==`E_32_5))
+        goto bad
+    ;;
+
+    if !((a2.0==`E_32_5) && (a2.1==66))
+        goto bad
+    ;;
+
+    if !((a3.0==`E_35_4) && (a3.1==214))
+        goto bad
+    ;;
+
+    if !(a4==`E_37_1)
+        goto bad
+    ;;
+
+    if !(a5==210077727850496)
+        goto bad
+    ;;
+
+    -> -2.5234375
+
+:bad
+    -> 1.40234375
+}
+
+const fn_6_myr = { a1 : t40, a2 : t41, a3 : (t32,uint8), a4 : t42, a5 : flt64, a6 : flt64, a7 : uint64, a8 : uint64, a9 : (uint64,uint64,uint8)
+    if !(((((a1.field_1.0.field_1.field_1==0.71875) && ((a1.field_1.0.field_1.field_2.0==162) && (a1.field_1.0.field_1.field_2.1==-1.375) && (a1.field_1.0.field_1.field_2.2==12) && (a1.field_1.0.field_1.field_2.3==208))) && ((a1.field_1.0.field_2.field_1==208257259929600) && (a1.field_1.0.field_2.field_2==224) && ((a1.field_1.0.field_2.field_3.0==202) && (a1.field_1.0.field_2.field_3.1==-0.015625) && (a1.field_1.0.field_2.field_3.2==86) && (a1.field_1.0.field_2.field_3.3==251))) && ((a1.field_1.0.field_3.field_1==253976550440960) && (a1.field_1.0.field_3.field_2==123) && ((a1.field_1.0.field_3.field_3.0==146) && (a1.field_1.0.field_3.field_3.1==0.828125) && (a1.field_1.0.field_3.field_3.2==120) && (a1.field_1.0.field_3.field_3.3==62)))) && ((a1.field_1.1.field_1==26298971062272) && (a1.field_1.1.field_2==103) && ((a1.field_1.1.field_3.0==239) && (a1.field_1.1.field_3.1==1.28125) && (a1.field_1.1.field_3.2==152) && (a1.field_1.1.field_3.3==89))) && (a1.field_1.2==0.734375) && (a1.field_1.3==`E_6_3)) && (a1.field_2==`E_6_1) && (a1.field_3==`E_38_6) && (((a1.field_4.field_1.0==152549047009280) && ((a1.field_4.field_1.1.field_1==0.859375)) && ((a1.field_4.field_1.2.field_1==-3.7109375) && (a1.field_4.field_1.2.field_2==`E_20_7) && (a1.field_4.field_1.2.field_3==`E_21_5) && ((a1.field_4.field_1.2.field_4.0==1.26171875) && ((a1.field_4.field_1.2.field_4.1.field_1==257906686427136) && (((a1.field_4.field_1.2.field_4.1.field_2.0.field_1==154973503488000) && (a1.field_4.field_1.2.field_4.1.field_2.0.field_2==2040012194) && (a1.field_4.field_1.2.field_4.1.field_2.0.field_3==167) && (a1.field_4.field_1.2.field_4.1.field_2.0.field_4==109) && (a1.field_4.field_1.2.field_4.1.field_2.0.field_5==74787062284288)) && (a1.field_4.field_1.2.field_4.1.field_2.1==39) && (a1.field_4.field_1.2.field_4.1.field_2.2==`E_6_6)) && (((a1.field_4.field_1.2.field_4.1.field_3.0.0==63) && (a1.field_4.field_1.2.field_4.1.field_3.0.1==-1.390625) && (a1.field_4.field_1.2.field_4.1.field_3.0.2==63) && (a1.field_4.field_1.2.field_4.1.field_3.0.3==209)) && ((a1.field_4.field_1.2.field_4.1.field_3.1.field_1==230983872282624) && (a1.field_4.field_1.2.field_4.1.field_3.1.field_2==184) && ((a1.field_4.field_1.2.field_4.1.field_3.1.field_3.0==15) && (a1.field_4.field_1.2.field_4.1.field_3.1.field_3.1==1.296875) && (a1.field_4.field_1.2.field_4.1.field_3.1.field_3.2==31) && (a1.field_4.field_1.2.field_4.1.field_3.1.field_3.3==255))))) && (((a1.field_4.field_1.2.field_4.2.0.field_1==1.015625) && ((a1.field_4.field_1.2.field_4.2.0.field_2.0==183) && (a1.field_4.field_1.2.field_4.2.0.field_2.1==-0.484375) && (a1.field_4.field_1.2.field_4.2.0.field_2.2==142) && (a1.field_4.field_1.2.field_4.2.0.field_2.3==16))) && (a1.field_4.field_1.2.field_4.2.1==137163913822208) && (a1.field_4.field_1.2.field_4.2.2==-2.80859375)))) && ((a1.field_4.field_1.3.0==170983975682048) && (a1.field_4.field_1.3.1==72796805398528) && (a1.field_4.field_1.3.2==42))) && (a1.field_4.field_2==1990287632) && ((a1.field_4.field_3.0==194) && (a1.field_4.field_3.1==3552591666)) && ((((a1.field_4.field_4.0.field_1.field_1==-0.375) && ((a1.field_4.field_4.0.field_1.field_2.0==79) && (a1.field_4.field_4.0.field_1.field_2.1==-0.625) && (a1.field_4.field_4.0.field_1.field_2.2==9) && (a1.field_4.field_4.0.field_1.field_2.3==188))) && ((a1.field_4.field_4.0.field_2.field_1==159828972142592) && (a1.field_4.field_4.0.field_2.field_2==48) && ((a1.field_4.field_4.0.field_2.field_3.0==128) && (a1.field_4.field_4.0.field_2.field_3.1==1.0) && (a1.field_4.field_4.0.field_2.field_3.2==62) && (a1.field_4.field_4.0.field_2.field_3.3==192))) && ((a1.field_4.field_4.0.field_3.field_1==179052505464832) && (a1.field_4.field_4.0.field_3.field_2==16) && ((a1.field_4.field_4.0.field_3.field_3.0==120) && (a1.field_4.field_4.0.field_3.field_3.1==0.625) && (a1.field_4.field_4.0.field_3.field_3.2==250) && (a1.field_4.field_4.0.field_3.field_3.3==151)))) && ((a1.field_4.field_4.1.field_1==196274257788928) && (a1.field_4.field_4.1.field_2==205) && ((a1.field_4.field_4.1.field_3.0==79) && (a1.field_4.field_4.1.field_3.1==-1.4375) && 
\ No newline at end of file
+        goto bad
+    ;;
+
+    if !(a2==`E_41_5)
+        goto bad
+    ;;
+
+    if !((a3.0==`E_32_8) && (a3.1==203))
+        goto bad
+    ;;
+
+    if !((a4.field_1==-1.58984375) && (a4.field_2==217) && (a4.field_3==3500137676) && (a4.field_4==101686982737920))
+        goto bad
+    ;;
+
+    if !(a5==0.10546875)
+        goto bad
+    ;;
+
+    if !(a6==3.21875)
+        goto bad
+    ;;
+
+    if !(a7==40133181046784)
+        goto bad
+    ;;
+
+    if !(a8==71741835313152)
+        goto bad
+    ;;
+
+    if !((a9.0==221313136459776) && (a9.1==104460582912) && (a9.2==149))
+        goto bad
+    ;;
+
+    -> `E_43_1
+
+:bad
+    -> `E_43_2
+}
+
+const fn_7_myr = { a1 : t48
+    if !(((a1.field_1.field_1==6386332991488) && (a1.field_1.field_2==-3.90625) && (a1.field_1.field_3==163) && (a1.field_1.field_4==155193554763776) && ((a1.field_1.field_5.0==`E_35_3) && (a1.field_1.field_5.1==18))) && (((a1.field_2.0.field_1==112229799297024) && (a1.field_2.0.field_2==-2.8984375) && (a1.field_2.0.field_3==216) && (a1.field_2.0.field_4==44483204612096) && ((a1.field_2.0.field_5.0==`E_35_2) && (a1.field_2.0.field_5.1==195))) && (a1.field_2.1==39665754832896) && (a1.field_2.2==114) && (a1.field_2.3==776337414)) && (a1.field_3==`E_46_5) && (a1.field_4==146729052536832) && ((((a1.field_5.0.0.0==153) && (a1.field_5.0.0.1==1.234375) && (a1.field_5.0.0.2==43) && (a1.field_5.0.0.3==174)) && ((a1.field_5.0.1.field_1==26828980748288) && (a1.field_5.0.1.field_2==242) && ((a1.field_5.0.1.field_3.0==236) && (a1.field_5.0.1.field_3.1==-1.078125) && (a1.field_5.0.1.field_3.2==180) && (a1.field_5.0.1.field_3.3==30)))) && (a1.field_5.1==266092824363008)) && ((a1.field_6.0==13831859994624) && ((a1.field_6.1.field_1==0.390625)) && ((a1.field_6.2.field_1==0.0703125) && (a1.field_6.2.field_2==`E_20_1) && (a1.field_6.2.field_3==`E_21_6) && ((a1.field_6.2.field_4.0==-2.765625) && ((a1.field_6.2.field_4.1.field_1==175411747749888) && (((a1.field_6.2.field_4.1.field_2.0.field_1==262729443049472) && (a1.field_6.2.field_4.1.field_2.0.field_2==932333724) && (a1.field_6.2.field_4.1.field_2.0.field_3==5) && (a1.field_6.2.field_4.1.field_2.0.field_4==16) && (a1.field_6.2.field_4.1.field_2.0.field_5==17637135220736)) && (a1.field_6.2.field_4.1.field_2.1==46) && (a1.field_6.2.field_4.1.field_2.2==`E_6_2)) && (((a1.field_6.2.field_4.1.field_3.0.0==211) && (a1.field_6.2.field_4.1.field_3.0.1==-0.5625) && (a1.field_6.2.field_4.1.field_3.0.2==171) && (a1.field_6.2.field_4.1.field_3.0.3==1)) && ((a1.field_6.2.field_4.1.field_3.1.field_1==12764915826688) && (a1.field_6.2.field_4.1.field_3.1.field_2==49) && ((a1.field_6.2.field_4.1.field_3.1.field_3.0==154) && (a1.field_6.2.field_4.1.field_3.1.field_3.1==1.375) && (a1.field_6.2.field_4.1.field_3.1.field_3.2==93) && (a1.field_6.2.field_4.1.field_3.1.field_3.3==73))))) && (((a1.field_6.2.field_4.2.0.field_1==-1.46875) && ((a1.field_6.2.field_4.2.0.field_2.0==79) && (a1.field_6.2.field_4.2.0.field_2.1==-0.90625) && (a1.field_6.2.field_4.2.0.field_2.2==49) && (a1.field_6.2.field_4.2.0.field_2.3==4))) && (a1.field_6.2.field_4.2.1==93216219463680) && (a1.field_6.2.field_4.2.2==-2.83203125)))) && ((a1.field_6.3.0==18454498639872) && (a1.field_6.3.1==269237052506112) && (a1.field_6.3.2==165))))
+        goto bad
+    ;;
+
+    -> 2499773006
+
+:bad
+    -> 3403919486
+}
+
+const fn_8_myr = { a1 : (uint8,flt32,uint8,uint8), a2 : (flt32,t44,flt64,t49), a3 : t51, a4 : flt32, a5 : t52, a6 : uint32, a7 : t53, a8 : uint8
+    if !((a1.0==200) && (a1.1==0.25) && (a1.2==18) && (a1.3==246))
+        goto bad
+    ;;
+
+    if !((a2.0==-0.734375) && ((a2.1.field_1==8592161505280) && (a2.1.field_2==2.32421875) && (a2.1.field_3==77) && (a2.1.field_4==95804356820992) && ((a2.1.field_5.0==`E_35_1) && (a2.1.field_5.1==126))) && (a2.2==-1.12109375) && (a2.3==`E_49_3))
+        goto bad
+    ;;
+
+    if !(a3==`E_51_3)
+        goto bad
+    ;;
+
+    if !(a4==0.1875)
+        goto bad
+    ;;
+
+    if !((a5.field_1==-0.81640625))
+        goto bad
+    ;;
+
+    if !(a6==441584498)
+        goto bad
+    ;;
+
+    if !((a7.field_1==198))
+        goto bad
+    ;;
+
+    if !(a8==89)
+        goto bad
+    ;;
+
+    -> 1.421875
+
+:bad
+    -> 0.5625
+}
+
+const fn_9_myr = { a1 : t51, a2 : flt32, a3 : flt32, a4 : (t54,uint8,t55), a5 : t58, a6 : (t59,flt32,(flt64,flt32,uint64,uint64)), a7 : t65, a8 : t66, a9 : t67, a10 : flt64
+    if !(a1==`E_51_8)
+        goto bad
+    ;;
+
+    if !(a2==-0.796875)
+        goto bad
+    ;;
+
+    if !(a3==-0.71875)
+        goto bad
+    ;;
+
+    if !((a4.0==`E_54_7) && (a4.1==255) && ((((a4.2.field_1.field_1.0==130105287114752) && ((a4.2.field_1.field_1.1.field_1==-1.0)) && ((a4.2.field_1.field_1.2.field_1==3.53125) && (a4.2.field_1.field_1.2.field_2==`E_20_2) && (a4.2.field_1.field_1.2.field_3==`E_21_1) && ((a4.2.field_1.field_1.2.field_4.0==-0.67578125) && ((a4.2.field_1.field_1.2.field_4.1.field_1==23617654620160) && (((a4.2.field_1.field_1.2.field_4.1.field_2.0.field_1==12594182750208) && (a4.2.field_1.field_1.2.field_4.1.field_2.0.field_2==2889081194) && (a4.2.field_1.field_1.2.field_4.1.field_2.0.field_3==84) && (a4.2.field_1.field_1.2.field_4.1.field_2.0.field_4==84) && (a4.2.field_1.field_1.2.field_4.1.field_2.0.field_5==265251503210496)) && (a4.2.field_1.field_1.2.field_4.1.field_2.1==17) && (a4.2.field_1.field_1.2.field_4.1.field_2.2==`E_6_7)) && (((a4.2.field_1.field_1.2.field_4.1.field_3.0.0==141) && (a4.2.field_1.field_1.2.field_4.1.field_3.0.1==-0.1875) && (a4.2.field_1.field_1.2.field_4.1.field_3.0.2==10) && (a4.2.field_1.field_1.2.field_4.1.field_3.0.3==118)) && ((a4.2.field_1.field_1.2.field_4.1.field_3.1.field_1==24302215233536) && (a4.2.field_1.field_1.2.field_4.1.field_3.1.field_2==170) && ((a4.2.field_1.field_1.2.field_4.1.field_3.1.field_3.0==64) && (a4.2.field_1.field_1.2.field_4.1.field_3.1.field_3.1==0.953125) && (a4.2.field_1.field_1.2.field_4.1.field_3.1.field_3.2==156) && (a4.2.field_1.field_1.2.field_4.1.field_3.1.field_3.3==112))))) && (((a4.2.field_1.field_1.2.field_4.2.0.field_1==0.3125) && ((a4.2.field_1.field_1.2.field_4.2.0.field_2.0==168) && (a4.2.field_1.field_1.2.field_4.2.0.field_2.1==0.3125) && (a4.2.field_1.field_1.2.field_4.2.0.field_2.2==140) && (a4.2.field_1.field_1.2.field_4.2.0.field_2.3==197))) && (a4.2.field_1.field_1.2.field_4.2.1==149682231705600) && (a4.2.field_1.field_1.2.field_4.2.2==0.3828125)))) && ((a4.2.field_1.field_1.3.0==66190105247744) && (a4.2.field_1.field_1.3.1==201243456045056) && (a4.2.field_1.field_1.3.2==128))) && (a4.2.field_1.field_2==1608787508) && ((a4.2.field_1.field_3.0==208) && (a4.2.field_1.field_3.1==3925244758)) && ((((a4.2.field_1.field_4.0.field_1.field_1==-0.125) && ((a4.2.field_1.field_4.0.field_1.field_2.0==219) && (a4.2.field_1.field_4.0.field_1.field_2.1==0.265625) && (a4.2.field_1.field_4.0.field_1.field_2.2==201) && (a4.2.field_1.field_4.0.field_1.field_2.3==48))) && ((a4.2.field_1.field_4.0.field_2.field_1==148885215510528) && (a4.2.field_1.field_4.0.field_2.field_2==219) && ((a4.2.field_1.field_4.0.field_2.field_3.0==41) && (a4.2.field_1.field_4.0.field_2.field_3.1==-1.3125) && (a4.2.field_1.field_4.0.field_2.field_3.2==75) && (a4.2.field_1.field_4.0.field_2.field_3.3==52))) && ((a4.2.field_1.field_4.0.field_3.field_1==153670362464256) && (a4.2.field_1.field_4.0.field_3.field_2==97) && ((a4.2.field_1.field_4.0.field_3.field_3.0==222) && (a4.2.field_1.field_4.0.field_3.field_3.1==0.9375) && (a4.2.field_1.field_4.0.field_3.field_3.2==47) && (a4.2.field_1.field_4.0.field_3.field_3.3==122)))) && ((a4.2.field_1.field_4.1.field_1==66828912033792) && (a4.2.field_1.field_4.1.field_2==201) && ((a4.2.field_1.field_4.1.field_3.0==35) && (a4.2.field_1.field_4.1.field_3.1==1.046875) && (a4.2.field_1.field_4.1.field_3.2==86) && (a4.2.field_1.field_4.1.field_3.3==233))) && (a4.2.field_1.field_4.2==-0.421875) && (a4.2.field_1.field_4.3==`E_6_7)) && (a4.2.field_1.field_5==-1.109375)) && (a4.2.field_2==350527626) && (a4.2.field_3==98) && (((a4.2.field_4.0.field_1==146849136115712) && (a4.2.field_4.0.field_2==3845172994) && (a4.2.field_4.0.field_3==76) && (a4.2.field_4.0.field_4==250) && (a4.2.field_4.0.field_5==212141542211584)) && (a4.2.field_4.1==227) && (a4.2.field_4.2==`E_6_6))))
+        goto bad
+    ;;
+
+    if !((a5.field_1==`E_57_1) && ((a5.field_2.field_1==77)) && (a5.field_3==-2.5))
+        goto bad
+    ;;
+
+    if !((a6.0==`E_59_2) && (a6.1==-0.984375) && ((a6.2.0==-1.09375) && (a6.2.1==-1.53125) && (a6.2.2==20793480314880) && (a6.2.3==36073398206464)))
+        goto bad
+    ;;
+
+    if !(((a7.field_1.0==-2.32421875) && (a7.field_1.1==208)) && ((a7.field_2.field_1==-0.0625) && ((((a7.field_2.field_2.0.0.0==224) && (a7.field_2.field_2.0.0.1==-0.984375) && (a7.field_2.field_2.0.0.2==131) && (a7.field_2.field_2.0.0.3==218)) && ((a7.field_2.field_2.0.1.field_1==209069555974144) && (a7.field_2.field_2.0.1.field_2==100) && ((a7.field_2.field_2.0.1.field_3.0==82) && (a7.field_2.field_2.0.1.field_3.1==1.4375) && (a7.field_2.field_2.0.1.field_3.2==89) && (a7.field_2.field_2.0.1.field_3.3==16)))) && (a7.field_2.field_2.1==273030717767680)) && (((((a7.field_2.field_3.field_1.0.0.field_1==62938097254400) && ((a7.field_2.field_3.field_1.0.0.field_2.0==107) && (a7.field_2.field_3.field_1.0.0.field_2.1==0.609375) && (a7.field_2.field_3.field_1.0.0.field_2.2==97) && (a7.field_2.field_3.field_1.0.0.field_2.3==70)) && (a7.field_2.field_3.field_1.0.0.field_3==77561457147904) && (a7.field_2.field_3.field_1.0.0.field_4==1.265625)) && (a7.field_2.field_3.field_1.0.1==-1.515625)) && ((((a7.field_2.field_3.field_1.1.0.field_1.field_1==-0.828125) && ((a7.field_2.field_3.field_1.1.0.field_1.field_2.0==174) && (a7.field_2.field_3.field_1.1.0.field_1.field_2.1==1.390625) && (a7.field_2.field_3.field_1.1.0.field_1.field_2.2==142) && (a7.field_2.field_3.field_1.1.0.field_1.field_2.3==121))) && ((a7.field_2.field_3.field_1.1.0.field_2.field_1==266278944636928) && (a7.field_2.field_3.field_1.1.0.field_2.field_2==1) && ((a7.field_2.field_3.field_1.1.0.field_2.field_3.0==57) && (a7.field_2.field_3.field_1.1.0.field_2.field_3.1==-0.1875) && (a7.field_2.field_3.field_1.1.0.field_2.field_3.2==53) && (a7.field_2.field_3.field_1.1.0.field_2.field_3.3==10))) && ((a7.field_2.field_3.field_1.1.0.field_3.field_1==258630503497728) && (a7.field_2.field_3.field_1.1.0.field_3.field_2==22) && ((a7.field_2.field_3.field_1.1.0.field_3.field_3.0==58) && (a7.field_2.field_3.field_1.1.0.field_3.field_3.1==-0.203125) && (a7.field_2.field_3.field_1.1.0.field_3.field_3.2==241) && (a7.field_2.field_3.field_1.1.0.field_3.field_3.3==248)))) && ((a7.field_2.field_3.field_1.1.1.field_1==232005730828288) && (a7.field_2.field_3.field_1.1.1.field_2==67) && ((a7.field_2.field_3.field_1.1.1.field_3.0==237) && (a7.field_2.field_3.field_1.1.1.field_3.1==-1.03125) && (a7.field_2.field_3.field_1.1.1.field_3.2==83) && (a7.field_2.field_3.field_1.1.1.field_3.3==229))) && (a7.field_2.field_3.field_1.1.2==-0.328125) && (a7.field_2.field_3.field_1.1.3==`E_6_6)) && (a7.field_2.field_3.field_1.2==2541087240) && (((a7.field_2.field_3.field_1.3.field_1.field_1==0.875) && ((a7.field_2.field_3.field_1.3.field_1.field_2.0==4) && (a7.field_2.field_3.field_1.3.field_1.field_2.1==1.15625) && (a7.field_2.field_3.field_1.3.field_1.field_2.2==173) && (a7.field_2.field_3.field_1.3.field_1.field_2.3==8))) && ((a7.field_2.field_3.field_1.3.field_2.field_1==29310895783936) && (a7.field_2.field_3.field_1.3.field_2.field_2==92) && ((a7.field_2.field_3.field_1.3.field_2.field_3.0==250) && (a7.field_2.field_3.field_1.3.field_2.field_3.1==0.515625) && (a7.field_2.field_3.field_1.3.field_2.field_3.2==214) && (a7.field_2.field_3.field_1.3.field_2.field_3.3==236))) && ((a7.field_2.field_3.field_1.3.field_3.field_1==188538419019776) && (a7.field_2.field_3.field_1.3.field_3.field_2==16) && ((a7.field_2.field_3.field_1.3.field_3.field_3.0==92) && (a7.field_2.field_3.field_1.3.field_3.field_3.1==1.1875) && (a7.field_2.field_3.field_1.3.field_3.field_3.2==26) && (a7.field_2.field_3.field_1.3.field_3.field_3.3==72))))) && (a7.field_2.field_3.field_2==`E_19_9) && (a7.field_2.field_3.field_3==93123907813376) && (a7.field_2.field_3.field_4==`E_20_6) && (a7.field_2.field_3.field_5==`E_21_9) && ((a7.field_2.field_3.field_6.0==84919533043712) && (a7.field_2.field_3.field_6.1==2312961846))) && (a7.field_2.field_4==738749758)) && (((a7.field_3.field_1.0==`E_59_2) && (a7.field_3.field_1.1==0.671875) && ((a7.field_3.field_1.2.0==-0.01953125) && (a7.field_3.field_1.2.1==-1.171875) && (a7.field_3.field_1.2.2==30820079632384) && (a7.field_3.field_1.2.3==68216701976576))) && (a7.field_3.field_2==`E_21_7) && (a7.f
\ No newline at end of file
+        goto bad
+    ;;
+
+    if !(a8==`E_66_3)
+        goto bad
+    ;;
+
+    if !(a9==`E_67_3)
+        goto bad
+    ;;
+
+    if !(a10==2.06640625)
+        goto bad
+    ;;
+
+    -> 6316575686656
+
+:bad
+    -> 232898686615552
+}
+
+const fn_10_myr = { a1 : t74, a2 : flt32, a3 : t75, a4 : uint8, a5 : (uint64,t44,t76,t77), a6 : t79
+    if !(((a1.field_1.0==1.21875) && (a1.field_1.1==-0.890625) && (a1.field_1.2==`E_54_5) && (a1.field_1.3==-1.140625)) && ((a1.field_2.field_1==-2.86328125) && ((a1.field_2.field_2.field_1==272734424006656) && ((a1.field_2.field_2.field_2.0==168) && (a1.field_2.field_2.field_2.1==-0.3125) && (a1.field_2.field_2.field_2.2==7) && (a1.field_2.field_2.field_2.3==96)) && (a1.field_2.field_2.field_3==194650230882304) && (a1.field_2.field_2.field_4==1.3125)) && (a1.field_2.field_3==2832640246) && (a1.field_2.field_4==248902425116672) && (a1.field_2.field_5==3177491204) && (a1.field_2.field_6==`E_20_7)) && ((((a1.field_3.field_1.0.0==242) && (a1.field_3.field_1.0.1==1.0) && (a1.field_3.field_1.0.2==118) && (a1.field_3.field_1.0.3==202)) && ((a1.field_3.field_1.1.field_1==130511054045184) && (a1.field_3.field_1.1.field_2==60) && ((a1.field_3.field_1.1.field_3.0==149) && (a1.field_3.field_1.1.field_3.1==1.25) && (a1.field_3.field_1.1.field_3.2==209) && (a1.field_3.field_1.1.field_3.3==211)))) && (a1.field_3.field_2==65)) && (a1.field_4==`E_71_4) && (a1.field_5==`E_72_7) && ((a1.field_6.0==1065245434) && (a1.field_6.1==0.359375) && ((a1.field_6.2.0==182449277763584) && (a1.field_6.2.1==2003708228))))
+        goto bad
+    ;;
+
+    if !(a2==0.890625)
+        goto bad
+    ;;
+
+    if !(a3==`E_75_4)
+        goto bad
+    ;;
+
+    if !(a4==73)
+        goto bad
+    ;;
+
+    if !((a5.0==100724679639040) && ((a5.1.field_1==197606249070592) && (a5.1.field_2==0.3515625) && (a5.1.field_3==45) && (a5.1.field_4==111205168709632) && ((a5.1.field_5.0==`E_35_6) && (a5.1.field_5.1==168))) && (((((a5.2.field_1.field_1.field_1.0==273706513334272) && ((a5.2.field_1.field_1.field_1.1.field_1==0.625)) && ((a5.2.field_1.field_1.field_1.2.field_1==3.27734375) && (a5.2.field_1.field_1.field_1.2.field_2==`E_20_4) && (a5.2.field_1.field_1.field_1.2.field_3==`E_21_5) && ((a5.2.field_1.field_1.field_1.2.field_4.0==1.125) && ((a5.2.field_1.field_1.field_1.2.field_4.1.field_1==228193040859136) && (((a5.2.field_1.field_1.field_1.2.field_4.1.field_2.0.field_1==197736696643584) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_2.0.field_2==2597012506) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_2.0.field_3==181) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_2.0.field_4==213) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_2.0.field_5==107853796474880)) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_2.1==110) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_2.2==`E_6_2)) && (((a5.2.field_1.field_1.field_1.2.field_4.1.field_3.0.0==122) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_3.0.1==1.296875) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_3.0.2==218) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_3.0.3==48)) && ((a5.2.field_1.field_1.field_1.2.field_4.1.field_3.1.field_1==13448229421056) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_3.1.field_2==244) && ((a5.2.field_1.field_1.field_1.2.field_4.1.field_3.1.field_3.0==47) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_3.1.field_3.1==1.453125) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_3.1.field_3.2==167) && (a5.2.field_1.field_1.field_1.2.field_4.1.field_3.1.field_3.3==113))))) && (((a5.2.field_1.field_1.field_1.2.field_4.2.0.field_1==-0.5625) && ((a5.2.field_1.field_1.field_1.2.field_4.2.0.field_2.0==91) && (a5.2.field_1.field_1.field_1.2.field_4.2.0.field_2.1==1.53125) && (a5.2.field_1.field_1.field_1.2.field_4.2.0.field_2.2==127) && (a5.2.field_1.field_1.field_1.2.field_4.2.0.field_2.3==192))) && (a5.2.field_1.field_1.field_1.2.field_4.2.1==208774694567936) && (a5.2.field_1.field_1.field_1.2.field_4.2.2==-2.68359375)))) && ((a5.2.field_1.field_1.field_1.3.0==203837156753408) && (a5.2.field_1.field_1.field_1.3.1==124751440248832) && (a5.2.field_1.field_1.field_1.3.2==19))) && (a5.2.field_1.field_1.field_2==949240352) && ((a5.2.field_1.field_1.field_3.0==233) && (a5.2.field_1.field_1.field_3.1==3093393614)) && ((((a5.2.field_1.field_1.field_4.0.field_1.field_1==-1.46875) && ((a5.2.field_1.field_1.field_4.0.field_1.field_2.0==157) && (a5.2.field_1.field_1.field_4.0.field_1.field_2.1==-0.546875) && (a5.2.field_1.field_1.field_4.0.field_1.field_2.2==189) && (a5.2.field_1.field_1.field_4.0.field_1.field_2.3==115))) && ((a5.2.field_1.field_1.field_4.0.field_2.field_1==199305275375616) && (a5.2.field_1.field_1.field_4.0.field_2.field_2==43) && ((a5.2.field_1.field_1.field_4.0.field_2.field_3.0==171) && (a5.2.field_1.field_1.field_4.0.field_2.field_3.1==-0.984375) && (a5.2.field_1.field_1.field_4.0.field_2.field_3.2==22) && (a5.2.field_1.field_1.field_4.0.field_2.field_3.3==134))) && ((a5.2.field_1.field_1.field_4.0.field_3.field_1==105055744950272) && (a5.2.field_1.field_1.field_4.0.field_3.field_2==34) && ((a5.2.field_1.field_1.field_4.0.field_3.field_3.0==122) && (a5.2.field_1.field_1.field_4.0.field_3.field_3.1==0.1875) && (a5.2.field_1.field_1.field_4.0.field_3.field_3.2==25) && (a5.2.field_1.field_1.field_4.0.field_3.field_3.3==33)))) && ((a5.2.field_1.field_1.field_4.1.field_1==1198625914880) && (a5.2.field_1.field_1.field_4.1.field_2==107) && ((a5.2.field_1.field_1.field_4.1.field_3.0==125) && (a5.2.field_1.field_1.field_4.1.field_3.1==1.546875) && (a5.2.field_1.field_1.field_4.1.field_3.2==235) && (a5.2.field_1.field_1.field_4.1.field_3.3==61))) && (a5.2.field_1.field_1.field_4.2==0.734375) && (a5.2.field_1.field_1.field_4.3==`E_6_1)) && (a5.2.field_1.field_1.field_5==1.453125)) && (a5.2.field_1.field_2==763
\ No newline at end of file
+        goto bad
+    ;;
+
+    if !(a6==`E_79_2)
+        goto bad
+    ;;
+
+    -> -1.515625
+
+:bad
+    -> -1.28125
+}
+
--- /dev/null
+++ b/test/abi/005_main.myr
@@ -1,0 +1,180 @@
+/* seed = 1591521986 */
+use std
+use "005_types"
+use "005_in-myr"
+use "005_in-c"
+
+const main = {
+    /* myr calling myr */
+    var a_1_1 : t2 = [.field_1=0.0625,.field_2=(112,-0.625,110,44)]
+    var a_1_2 : uint32 = 2189228706
+    var a_1_3 : t4 = [.field_1=[.field_1=-0.84375,.field_2=(150,0.359375,172,26)],.field_2=[.field_1=241023379308544,.field_2=115,.field_3=(228,0.65625,247,84)],.field_3=[.field_1=3134223810560,.field_2=102,.field_3=(128,-1.21875,232,105)]]
+    var a_1_4 : t2 = [.field_1=-1.203125,.field_2=(110,0.6875,119,200)]
+    var a_1_5 : (t5,uint8,t6) = ([.field_1=94503966736384,.field_2=2770153426,.field_3=187,.field_4=214,.field_5=213410253897728],164,`E_6_2)
+    var a_1_6 : flt32 = 1.53125
+    var a_1_7 : flt64 = 1.3984375
+    var a_1_8 : (t4,t3,flt32,t6) = ([.field_1=[.field_1=0.578125,.field_2=(170,1.09375,193,148)],.field_2=[.field_1=271021012025344,.field_2=173,.field_3=(241,1.46875,80,71)],.field_3=[.field_1=86092233441280,.field_2=245,.field_3=(3,-1.125,183,168)]],[.field_1=110146554691584,.field_2=246,.field_3=(164,0.8125,164,89)],0.28125,`E_6_1)
+    var ret_1 : ((uint8,flt32,uint8,uint8),t3) = fn_1_myr(a_1_1, a_1_2, a_1_3, a_1_4, a_1_5, a_1_6, a_1_7, a_1_8)
+    if !(((ret_1.0.0==192) && (ret_1.0.1==-1.296875) && (ret_1.0.2==50) && (ret_1.0.3==129)) && ((ret_1.1.field_1==188458318561280) && (ret_1.1.field_2==40) && ((ret_1.1.field_3.0==47) && (ret_1.1.field_3.1==0.359375) && (ret_1.1.field_3.2==32) && (ret_1.1.field_3.3==127))))
+        std.put("myr_to_myr 1 failed\n")
+        std.exit(1)
+    ;;
+    var a_2_1 : (flt64,t10,(t2,uint64,flt64)) = (2.7734375,[.field_1=258260610842624,.field_2=([.field_1=67688764407808,.field_2=122501974,.field_3=122,.field_4=53,.field_5=46816349519872],175,`E_6_7),.field_3=((242,-0.828125,64,212),[.field_1=175981577109504,.field_2=146,.field_3=(58,-1.3125,81,249)])],([.field_1=-0.671875,.field_2=(39,1.3125,255,168)],5680861020160,3.1015625))
+    var a_2_2 : (flt32,(flt64,uint32,uint64,t4)) = (-0.65625,(-3.07421875,2364459620,34004063092736,[.field_1=[.field_1=0.734375,.field_2=(31,-0.46875,207,112)],.field_2=[.field_1=91868031090688,.field_2=24,.field_3=(152,-0.796875,24,64)],.field_3=[.field_1=74808418369536,.field_2=254,.field_3=(6,0.046875,73,208)]]))
+    var a_2_3 : (t5,uint8,t6) = ([.field_1=145965008551936,.field_2=2498931774,.field_3=156,.field_4=179,.field_5=265737065725952],244,`E_6_5)
+    var a_2_4 : flt32 = -0.796875
+    var a_2_5 : t15 = `E_15_4
+    var a_2_6 : (flt32,(flt64,uint32,uint64,t4)) = (0.6875,(-2.171875,1533036440,12142327889920,[.field_1=[.field_1=-0.5625,.field_2=(243,-0.65625,106,51)],.field_2=[.field_1=156078303608832,.field_2=104,.field_3=(58,-1.34375,178,10)],.field_3=[.field_1=140200370896896,.field_2=33,.field_3=(143,-1.3125,190,67)]]))
+    var a_2_7 : uint8 = 179
+    var ret_2 : (t16,flt32) = fn_2_myr(a_2_1, a_2_2, a_2_3, a_2_4, a_2_5, a_2_6, a_2_7)
+    if !(((ret_2.0.field_1==101589888270336) && ((ret_2.0.field_2.0==225) && (ret_2.0.field_2.1==-0.046875) && (ret_2.0.field_2.2==234) && (ret_2.0.field_2.3==74)) && (ret_2.0.field_3==200069064425472) && (ret_2.0.field_4==1.53125)) && (ret_2.1==1.53125))
+        std.put("myr_to_myr 2 failed\n")
+        std.exit(1)
+    ;;
+    var a_3_1 : t15 = `E_15_5
+    var a_3_2 : t23 = [.field_1=(([.field_1=208514472345600,.field_2=(171,0.53125,170,148),.field_3=137775610724352,.field_4=0.046875],-0.109375),([.field_1=[.field_1=-0.515625,.field_2=(130,0.5625,65,249)],.field_2=[.field_1=49920772014080,.field_2=137,.field_3=(81,-1.078125,187,244)],.field_3=[.field_1=238917205884928,.field_2=234,.field_3=(148,-0.65625,148,82)]],[.field_1=13348047552512,.field_2=206,.field_3=(236,-0.390625,159,22)],-1.203125,`E_6_3),3263768112,[.field_1=[.field_1=0.890625,.field_2=(223,-0.78125,76,85)],.field_2=[.field_1=165112780685312,.field_2=206,.field_3=(4,1.078125,200,49)],.field_3=[.field_1=107450067189760,.field_2=25,.field_3=(89,-1.203125,14,51)]]),.field_2=`E_19_1,.field_3=178689565917184,.field_4=`E_20_4,.field_5=`E_21_6,.field_6=(269113953746944,2315358406)]
+    var a_3_3 : t21 = `E_21_9
+    var a_3_4 : uint8 = 248
+    var a_3_5 : uint8 = 86
+    var a_3_6 : (uint64,t24,t25,(uint64,uint64,uint8)) = (85770339090432,[.field_1=-0.671875],[.field_1=-1.15234375,.field_2=`E_20_1,.field_3=`E_21_1,.field_4=(0.46875,[.field_1=3865086263296,.field_2=([.field_1=62745143410688,.field_2=444241798,.field_3=148,.field_4=38,.field_5=186451756843008],253,`E_6_6),.field_3=((106,0.875,169,132),[.field_1=193552010969088,.field_2=134,.field_3=(209,0.390625,6,157)])],([.field_1=-1.015625,.field_2=(122,1.40625,38,208)],55544454578176,-2.609375))],(33366908207104,136001504280576,132))
+    var ret_3 : uint32 = fn_3_myr(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6)
+    if !(ret_3==2527618668)
+        std.put("myr_to_myr 3 failed\n")
+        std.exit(1)
+    ;;
+    var a_4_1 : ((t23,flt32,t6,flt64),(uint8,uint32)) = (([.field_1=(([.field_1=44445459546112,.field_2=(83,-0.453125,82,113),.field_3=235939541549056,.field_4=1.078125],0.3125),([.field_1=[.field_1=-0.234375,.field_2=(236,0.828125,60,26)],.field_2=[.field_1=143671663132672,.field_2=50,.field_3=(243,-0.796875,3,53)],.field_3=[.field_1=214366877515776,.field_2=126,.field_3=(252,1.453125,128,149)]],[.field_1=223779870998528,.field_2=137,.field_3=(203,0.953125,12,243)],1.453125,`E_6_3),1314332054,[.field_1=[.field_1=-0.671875,.field_2=(209,-1.125,32,106)],.field_2=[.field_1=160715212455936,.field_2=12,.field_3=(45,0.96875,39,176)],.field_3=[.field_1=2142336450560,.field_2=26,.field_3=(239,-1.5,80,178)]]),.field_2=`E_19_5,.field_3=84526311014400,.field_4=`E_20_6,.field_5=`E_21_1,.field_6=(248535774265344,1964811016)],0.1875,`E_6_5,-1.87109375),(155,2693759888))
+    var ret_4 : uint64 = fn_4_myr(a_4_1)
+    if !(ret_4==276275068796928)
+        std.put("myr_to_myr 4 failed\n")
+        std.exit(1)
+    ;;
+    var a_5_1 : (t31,t32) = (`E_31_3,`E_32_5)
+    var a_5_2 : (t32,uint8) = (`E_32_5,66)
+    var a_5_3 : (t35,uint8) = (`E_35_4,214)
+    var a_5_4 : t37 = `E_37_1
+    var a_5_5 : uint64 = 210077727850496
+    var ret_5 : flt64 = fn_5_myr(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5)
+    if !(ret_5==-2.5234375)
+        std.put("myr_to_myr 5 failed\n")
+        std.exit(1)
+    ;;
+    var a_6_1 : t40 = [.field_1=([.field_1=[.field_1=0.71875,.field_2=(162,-1.375,12,208)],.field_2=[.field_1=208257259929600,.field_2=224,.field_3=(202,-0.015625,86,251)],.field_3=[.field_1=253976550440960,.field_2=123,.field_3=(146,0.828125,120,62)]],[.field_1=26298971062272,.field_2=103,.field_3=(239,1.28125,152,89)],0.734375,`E_6_3),.field_2=`E_6_1,.field_3=`E_38_6,.field_4=[.field_1=(152549047009280,[.field_1=0.859375],[.field_1=-3.7109375,.field_2=`E_20_7,.field_3=`E_21_5,.field_4=(1.26171875,[.field_1=257906686427136,.field_2=([.field_1=154973503488000,.field_2=2040012194,.field_3=167,.field_4=109,.field_5=74787062284288],39,`E_6_6),.field_3=((63,-1.390625,63,209),[.field_1=230983872282624,.field_2=184,.field_3=(15,1.296875,31,255)])],([.field_1=1.015625,.field_2=(183,-0.484375,142,16)],137163913822208,-2.80859375))],(170983975682048,72796805398528,42)),.field_2=1990287632,.field_3=(194,3552591666),.field_4=([.field_1=[.field_1=-0.375,.field_2=(79,-0.625,9,188)],.field_2=[.field_1=159828972142592,.field_2=48,.field_3=(128,1.0,62,192)],.field_3=[.field_1=179052505464832,.field_2=16,.field_3=(120,0.625,250,151)]],[.field_1=196274257788928,.field_2=205,.field_3=(79,-1.4375,91,96)],0.09375,`E_6_4),.field_5=1.515625],.field_5=2.265625]
+    var a_6_2 : t41 = `E_41_5
+    var a_6_3 : (t32,uint8) = (`E_32_8,203)
+    var a_6_4 : t42 = [.field_1=-1.58984375,.field_2=217,.field_3=3500137676,.field_4=101686982737920]
+    var a_6_5 : flt64 = 0.10546875
+    var a_6_6 : flt64 = 3.21875
+    var a_6_7 : uint64 = 40133181046784
+    var a_6_8 : uint64 = 71741835313152
+    var a_6_9 : (uint64,uint64,uint8) = (221313136459776,104460582912,149)
+    var ret_6 : t43 = fn_6_myr(a_6_1, a_6_2, a_6_3, a_6_4, a_6_5, a_6_6, a_6_7, a_6_8, a_6_9)
+    if !(ret_6==`E_43_1)
+        std.put("myr_to_myr 6 failed\n")
+        std.exit(1)
+    ;;
+    var a_7_1 : t48 = [.field_1=[.field_1=6386332991488,.field_2=-3.90625,.field_3=163,.field_4=155193554763776,.field_5=(`E_35_3,18)],.field_2=([.field_1=112229799297024,.field_2=-2.8984375,.field_3=216,.field_4=44483204612096,.field_5=(`E_35_2,195)],39665754832896,114,776337414),.field_3=`E_46_5,.field_4=146729052536832,.field_5=(((153,1.234375,43,174),[.field_1=26828980748288,.field_2=242,.field_3=(236,-1.078125,180,30)]),266092824363008),.field_6=(13831859994624,[.field_1=0.390625],[.field_1=0.0703125,.field_2=`E_20_1,.field_3=`E_21_6,.field_4=(-2.765625,[.field_1=175411747749888,.field_2=([.field_1=262729443049472,.field_2=932333724,.field_3=5,.field_4=16,.field_5=17637135220736],46,`E_6_2),.field_3=((211,-0.5625,171,1),[.field_1=12764915826688,.field_2=49,.field_3=(154,1.375,93,73)])],([.field_1=-1.46875,.field_2=(79,-0.90625,49,4)],93216219463680,-2.83203125))],(18454498639872,269237052506112,165))]
+    var ret_7 : uint32 = fn_7_myr(a_7_1)
+    if !(ret_7==2499773006)
+        std.put("myr_to_myr 7 failed\n")
+        std.exit(1)
+    ;;
+    var a_8_1 : (uint8,flt32,uint8,uint8) = (200,0.25,18,246)
+    var a_8_2 : (flt32,t44,flt64,t49) = (-0.734375,[.field_1=8592161505280,.field_2=2.32421875,.field_3=77,.field_4=95804356820992,.field_5=(`E_35_1,126)],-1.12109375,`E_49_3)
+    var a_8_3 : t51 = `E_51_3
+    var a_8_4 : flt32 = 0.1875
+    var a_8_5 : t52 = [.field_1=-0.81640625]
+    var a_8_6 : uint32 = 441584498
+    var a_8_7 : t53 = [.field_1=198]
+    var a_8_8 : uint8 = 89
+    var ret_8 : flt32 = fn_8_myr(a_8_1, a_8_2, a_8_3, a_8_4, a_8_5, a_8_6, a_8_7, a_8_8)
+    if !(ret_8==1.421875)
+        std.put("myr_to_myr 8 failed\n")
+        std.exit(1)
+    ;;
+    var a_9_1 : t51 = `E_51_8
+    var a_9_2 : flt32 = -0.796875
+    var a_9_3 : flt32 = -0.71875
+    var a_9_4 : (t54,uint8,t55) = (`E_54_7,255,[.field_1=[.field_1=(130105287114752,[.field_1=-1.0],[.field_1=3.53125,.field_2=`E_20_2,.field_3=`E_21_1,.field_4=(-0.67578125,[.field_1=23617654620160,.field_2=([.field_1=12594182750208,.field_2=2889081194,.field_3=84,.field_4=84,.field_5=265251503210496],17,`E_6_7),.field_3=((141,-0.1875,10,118),[.field_1=24302215233536,.field_2=170,.field_3=(64,0.953125,156,112)])],([.field_1=0.3125,.field_2=(168,0.3125,140,197)],149682231705600,0.3828125))],(66190105247744,201243456045056,128)),.field_2=1608787508,.field_3=(208,3925244758),.field_4=([.field_1=[.field_1=-0.125,.field_2=(219,0.265625,201,48)],.field_2=[.field_1=148885215510528,.field_2=219,.field_3=(41,-1.3125,75,52)],.field_3=[.field_1=153670362464256,.field_2=97,.field_3=(222,0.9375,47,122)]],[.field_1=66828912033792,.field_2=201,.field_3=(35,1.046875,86,233)],-0.421875,`E_6_7),.field_5=-1.109375],.field_2=350527626,.field_3=98,.field_4=([.field_1=146849136115712,.field_2=3845172994,.field_3=76,.field_4=250,.field_5=212141542211584],227,`E_6_6)])
+    var a_9_5 : t58 = [.field_1=`E_57_1,.field_2=[.field_1=77],.field_3=-2.5]
+    var a_9_6 : (t59,flt32,(flt64,flt32,uint64,uint64)) = (`E_59_2,-0.984375,(-1.09375,-1.53125,20793480314880,36073398206464))
+    var a_9_7 : t65 = [.field_1=(-2.32421875,208),.field_2=[.field_1=-0.0625,.field_2=(((224,-0.984375,131,218),[.field_1=209069555974144,.field_2=100,.field_3=(82,1.4375,89,16)]),273030717767680),.field_3=[.field_1=(([.field_1=62938097254400,.field_2=(107,0.609375,97,70),.field_3=77561457147904,.field_4=1.265625],-1.515625),([.field_1=[.field_1=-0.828125,.field_2=(174,1.390625,142,121)],.field_2=[.field_1=266278944636928,.field_2=1,.field_3=(57,-0.1875,53,10)],.field_3=[.field_1=258630503497728,.field_2=22,.field_3=(58,-0.203125,241,248)]],[.field_1=232005730828288,.field_2=67,.field_3=(237,-1.03125,83,229)],-0.328125,`E_6_6),2541087240,[.field_1=[.field_1=0.875,.field_2=(4,1.15625,173,8)],.field_2=[.field_1=29310895783936,.field_2=92,.field_3=(250,0.515625,214,236)],.field_3=[.field_1=188538419019776,.field_2=16,.field_3=(92,1.1875,26,72)]]),.field_2=`E_19_9,.field_3=93123907813376,.field_4=`E_20_6,.field_5=`E_21_9,.field_6=(84919533043712,2312961846)],.field_4=738749758],.field_3=[.field_1=(`E_59_2,0.671875,(-0.01953125,-1.171875,30820079632384,68216701976576)),.field_2=`E_21_7,.field_3=227,.field_4=`E_31_2]]
+    var a_9_8 : t66 = `E_66_3
+    var a_9_9 : t67 = `E_67_3
+    var a_9_10 : flt64 = 2.06640625
+    var ret_9 : uint64 = fn_9_myr(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10)
+    if !(ret_9==6316575686656)
+        std.put("myr_to_myr 9 failed\n")
+        std.exit(1)
+    ;;
+    var a_10_1 : t74 = [.field_1=(1.21875,-0.890625,`E_54_5,-1.140625),.field_2=[.field_1=-2.86328125,.field_2=[.field_1=272734424006656,.field_2=(168,-0.3125,7,96),.field_3=194650230882304,.field_4=1.3125],.field_3=2832640246,.field_4=248902425116672,.field_5=3177491204,.field_6=`E_20_7],.field_3=[.field_1=((242,1.0,118,202),[.field_1=130511054045184,.field_2=60,.field_3=(149,1.25,209,211)]),.field_2=65],.field_4=`E_71_4,.field_5=`E_72_7,.field_6=(1065245434,0.359375,(182449277763584,2003708228))]
+    var a_10_2 : flt32 = 0.890625
+    var a_10_3 : t75 = `E_75_4
+    var a_10_4 : uint8 = 73
+    var a_10_5 : (uint64,t44,t76,t77) = (100724679639040,[.field_1=197606249070592,.field_2=0.3515625,.field_3=45,.field_4=111205168709632,.field_5=(`E_35_6,168)],[.field_1=[.field_1=[.field_1=(273706513334272,[.field_1=0.625],[.field_1=3.27734375,.field_2=`E_20_4,.field_3=`E_21_5,.field_4=(1.125,[.field_1=228193040859136,.field_2=([.field_1=197736696643584,.field_2=2597012506,.field_3=181,.field_4=213,.field_5=107853796474880],110,`E_6_2),.field_3=((122,1.296875,218,48),[.field_1=13448229421056,.field_2=244,.field_3=(47,1.453125,167,113)])],([.field_1=-0.5625,.field_2=(91,1.53125,127,192)],208774694567936,-2.68359375))],(203837156753408,124751440248832,19)),.field_2=949240352,.field_3=(233,3093393614),.field_4=([.field_1=[.field_1=-1.46875,.field_2=(157,-0.546875,189,115)],.field_2=[.field_1=199305275375616,.field_2=43,.field_3=(171,-0.984375,22,134)],.field_3=[.field_1=105055744950272,.field_2=34,.field_3=(122,0.1875,25,33)]],[.field_1=1198625914880,.field_2=107,.field_3=(125,1.546875,235,61)],0.734375,`E_6_1),.field_5=1.453125],.field_2=763193548,.field_3=39,.field_4=([.field_1=52338931924992,.field_2=391110206,.field_3=223,.field_4=55,.field_5=198983641202688],50,`E_6_7)],.field_2=673599174],[.field_1=[.field_1=[.field_1=(254957327745024,[.field_1=-1.171875],[.field_1=2.5546875,.field_2=`E_20_1,.field_3=`E_21_2,.field_4=(-1.171875,[.field_1=130672052011008,.field_2=([.field_1=97871770550272,.field_2=3555186718,.field_3=6,.field_4=114,.field_5=270228958085120],7,`E_6_7),.field_3=((114,-1.5,200,176),[.field_1=212862159159296,.field_2=220,.field_3=(167,1.359375,3,215)])],([.field_1=-1.484375,.field_2=(226,-1.390625,187,21)],4365063815168,3.0390625))],(278530325086209,40351778734080,183)),.field_2=345942008,.field_3=(91,281298906),.field_4=([.field_1=[.field_1=0.140625,.field_2=(180,1.234375,145,38)],.field_2=[.field_1=240181903360000,.field_2=153,.field_3=(4,-0.625,158,204)],.field_3=[.field_1=279255610818561,.field_2=96,.field_3=(169,0.46875,79,172)]],[.field_1=137219642097664,.field_2=85,.field_3=(143,0.140625,17,164)],0.1875,`E_6_7),.field_5=0.421875],.field_2=3026647616,.field_3=171,.field_4=([.field_1=200920828215296,.field_2=266056950,.field_3=188,.field_4=66,.field_5=215864985649152],161,`E_6_6)],.field_2=234,.field_3=-0.12890625,.field_4=109,.field_5=[.field_1=((238,0.890625,11,187),[.field_1=218973062561792,.field_2=108,.field_3=(100,-0.234375,187,17)]),.field_2=233],.field_6=296769572])
+    var a_10_6 : t79 = `E_79_2
+    var ret_10 : flt32 = fn_10_myr(a_10_1, a_10_2, a_10_3, a_10_4, a_10_5, a_10_6)
+    if !(ret_10==-1.515625)
+        std.put("myr_to_myr 10 failed\n")
+        std.exit(1)
+    ;;
+
+    /* myr calling c */
+    ret_1 = fn_1_c(a_1_1, a_1_2, a_1_3, a_1_4, a_1_5, a_1_6, a_1_7, a_1_8)
+    if !(((ret_1.0.0==192) && (ret_1.0.1==-1.296875) && (ret_1.0.2==50) && (ret_1.0.3==129)) && ((ret_1.1.field_1==188458318561280) && (ret_1.1.field_2==40) && ((ret_1.1.field_3.0==47) && (ret_1.1.field_3.1==0.359375) && (ret_1.1.field_3.2==32) && (ret_1.1.field_3.3==127))))
+        std.put("myr_to_c 1 failed\n")
+        std.exit(1)
+    ;;
+    ret_2 = fn_2_c(a_2_1, a_2_2, a_2_3, a_2_4, a_2_5, a_2_6, a_2_7)
+    if !(((ret_2.0.field_1==101589888270336) && ((ret_2.0.field_2.0==225) && (ret_2.0.field_2.1==-0.046875) && (ret_2.0.field_2.2==234) && (ret_2.0.field_2.3==74)) && (ret_2.0.field_3==200069064425472) && (ret_2.0.field_4==1.53125)) && (ret_2.1==1.53125))
+        std.put("myr_to_c 2 failed\n")
+        std.exit(1)
+    ;;
+    ret_3 = fn_3_c(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6)
+    if !(ret_3==2527618668)
+        std.put("myr_to_c 3 failed\n")
+        std.exit(1)
+    ;;
+    ret_4 = fn_4_c(a_4_1)
+    if !(ret_4==276275068796928)
+        std.put("myr_to_c 4 failed\n")
+        std.exit(1)
+    ;;
+    ret_5 = fn_5_c(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5)
+    if !(ret_5==-2.5234375)
+        std.put("myr_to_c 5 failed\n")
+        std.exit(1)
+    ;;
+    ret_6 = fn_6_c(a_6_1, a_6_2, a_6_3, a_6_4, a_6_5, a_6_6, a_6_7, a_6_8, a_6_9)
+    if !(ret_6==`E_43_1)
+        std.put("myr_to_c 6 failed\n")
+        std.exit(1)
+    ;;
+    ret_7 = fn_7_c(a_7_1)
+    if !(ret_7==2499773006)
+        std.put("myr_to_c 7 failed\n")
+        std.exit(1)
+    ;;
+    ret_8 = fn_8_c(a_8_1, a_8_2, a_8_3, a_8_4, a_8_5, a_8_6, a_8_7, a_8_8)
+    if !(ret_8==1.421875)
+        std.put("myr_to_c 8 failed\n")
+        std.exit(1)
+    ;;
+    ret_9 = fn_9_c(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10)
+    if !(ret_9==6316575686656)
+        std.put("myr_to_c 9 failed\n")
+        std.exit(1)
+    ;;
+    ret_10 = fn_10_c(a_10_1, a_10_2, a_10_3, a_10_4, a_10_5, a_10_6)
+    if !(ret_10==-1.515625)
+        std.put("myr_to_c 10 failed\n")
+        std.exit(1)
+    ;;
+
+    /* c calling myr */
+    if check_c_to_myr_fns() != 0
+        std.put("c_to_myr failed\n")
+        std.exit(1)
+    ;;
+
+    std.exit(0)
+}
--- /dev/null
+++ b/test/abi/005_types.h
@@ -1,0 +1,79 @@
+typedef struct {uint8_t field_1;float field_2;uint8_t field_3;uint8_t field_4;} t1;
+typedef struct {float field_1;t1 field_2;} t2;
+typedef struct {uint64_t field_1;uint8_t field_2;t1 field_3;} t3;
+typedef struct {t2 field_1;t3 field_2;t3 field_3;} t4;
+typedef struct {uint64_t field_1;uint32_t field_2;uint8_t field_3;uint8_t field_4;uint64_t field_5;} t5;
+typedef enum {E_6_1,E_6_2,E_6_3,E_6_4,E_6_5,E_6_6,E_6_7,} t6;
+typedef struct {t5 field_1;uint8_t field_2;t6 field_3;} t7;
+typedef struct {t4 field_1;t3 field_2;float field_3;t6 field_4;} t8;
+typedef struct {t1 field_1;t3 field_2;} t9;
+typedef struct {uint64_t field_1;t7 field_2;t9 field_3;} t10;
+typedef struct {t2 field_1;uint64_t field_2;double field_3;} t11;
+typedef struct {double field_1;t10 field_2;t11 field_3;} t12;
+typedef struct {double field_1;uint32_t field_2;uint64_t field_3;t4 field_4;} t13;
+typedef struct {float field_1;t13 field_2;} t14;
+typedef enum {E_15_1,E_15_2,E_15_3,E_15_4,E_15_5,E_15_6,E_15_7,E_15_8,E_15_9,} t15;
+typedef struct {uint64_t field_1;t1 field_2;uint64_t field_3;float field_4;} t16;
+typedef struct {t16 field_1;float field_2;} t17;
+typedef struct {t17 field_1;t8 field_2;uint32_t field_3;t4 field_4;} t18;
+typedef enum {E_19_1,E_19_2,E_19_3,E_19_4,E_19_5,E_19_6,E_19_7,E_19_8,E_19_9,} t19;
+typedef enum {E_20_1,E_20_2,E_20_3,E_20_4,E_20_5,E_20_6,E_20_7,E_20_8,} t20;
+typedef enum {E_21_1,E_21_2,E_21_3,E_21_4,E_21_5,E_21_6,E_21_7,E_21_8,E_21_9,} t21;
+typedef struct {uint64_t field_1;uint32_t field_2;} t22;
+typedef struct {t18 field_1;t19 field_2;uint64_t field_3;t20 field_4;t21 field_5;t22 field_6;} t23;
+typedef struct {float field_1;} t24;
+typedef struct {double field_1;t20 field_2;t21 field_3;t12 field_4;} t25;
+typedef struct {uint64_t field_1;uint64_t field_2;uint8_t field_3;} t26;
+typedef struct {uint64_t field_1;t24 field_2;t25 field_3;t26 field_4;} t27;
+typedef struct {t23 field_1;float field_2;t6 field_3;double field_4;} t28;
+typedef struct {uint8_t field_1;uint32_t field_2;} t29;
+typedef struct {t28 field_1;t29 field_2;} t30;
+typedef enum {E_31_1,E_31_2,E_31_3,E_31_4,E_31_5,E_31_6,E_31_7,} t31;
+typedef enum {E_32_1,E_32_2,E_32_3,E_32_4,E_32_5,E_32_6,E_32_7,E_32_8,E_32_9,} t32;
+typedef struct {t31 field_1;t32 field_2;} t33;
+typedef struct {t32 field_1;uint8_t field_2;} t34;
+typedef enum {E_35_1,E_35_2,E_35_3,E_35_4,E_35_5,E_35_6,E_35_7,} t35;
+typedef struct {t35 field_1;uint8_t field_2;} t36;
+typedef enum {E_37_1,E_37_2,E_37_3,E_37_4,E_37_5,E_37_6,} t37;
+typedef enum {E_38_1,E_38_2,E_38_3,E_38_4,E_38_5,E_38_6,E_38_7,E_38_8,E_38_9,E_38_10,} t38;
+typedef struct {t27 field_1;uint32_t field_2;t29 field_3;t8 field_4;float field_5;} t39;
+typedef struct {t8 field_1;t6 field_2;t38 field_3;t39 field_4;double field_5;} t40;
+typedef enum {E_41_1,E_41_2,E_41_3,E_41_4,E_41_5,E_41_6,E_41_7,E_41_8,} t41;
+typedef struct {double field_1;uint8_t field_2;uint32_t field_3;uint64_t field_4;} t42;
+typedef enum {E_43_1,E_43_2,E_43_3,E_43_4,E_43_5,E_43_6,E_43_7,E_43_8,E_43_9,} t43;
+typedef struct {uint64_t field_1;double field_2;uint8_t field_3;uint64_t field_4;t36 field_5;} t44;
+typedef struct {t44 field_1;uint64_t field_2;uint8_t field_3;uint32_t field_4;} t45;
+typedef enum {E_46_1,E_46_2,E_46_3,E_46_4,E_46_5,E_46_6,} t46;
+typedef struct {t9 field_1;uint64_t field_2;} t47;
+typedef struct {t44 field_1;t45 field_2;t46 field_3;uint64_t field_4;t47 field_5;t27 field_6;} t48;
+typedef enum {E_49_1,E_49_2,E_49_3,E_49_4,E_49_5,E_49_6,E_49_7,E_49_8,} t49;
+typedef struct {float field_1;t44 field_2;double field_3;t49 field_4;} t50;
+typedef enum {E_51_1,E_51_2,E_51_3,E_51_4,E_51_5,E_51_6,E_51_7,E_51_8,} t51;
+typedef struct {double field_1;} t52;
+typedef struct {uint8_t field_1;} t53;
+typedef enum {E_54_1,E_54_2,E_54_3,E_54_4,E_54_5,E_54_6,E_54_7,} t54;
+typedef struct {t39 field_1;uint32_t field_2;uint8_t field_3;t7 field_4;} t55;
+typedef struct {t54 field_1;uint8_t field_2;t55 field_3;} t56;
+typedef enum {E_57_1,E_57_2,E_57_3,E_57_4,E_57_5,E_57_6,} t57;
+typedef struct {t57 field_1;t53 field_2;double field_3;} t58;
+typedef enum {E_59_1,E_59_2,E_59_3,E_59_4,E_59_5,E_59_6,} t59;
+typedef struct {double field_1;float field_2;uint64_t field_3;uint64_t field_4;} t60;
+typedef struct {t59 field_1;float field_2;t60 field_3;} t61;
+typedef struct {double field_1;uint8_t field_2;} t62;
+typedef struct {float field_1;t47 field_2;t23 field_3;uint32_t field_4;} t63;
+typedef struct {t61 field_1;t21 field_2;uint8_t field_3;t31 field_4;} t64;
+typedef struct {t62 field_1;t63 field_2;t64 field_3;} t65;
+typedef enum {E_66_1,E_66_2,E_66_3,E_66_4,E_66_5,E_66_6,E_66_7,E_66_8,} t66;
+typedef enum {E_67_1,E_67_2,E_67_3,E_67_4,E_67_5,E_67_6,E_67_7,E_67_8,E_67_9,E_67_10,} t67;
+typedef struct {float field_1;float field_2;t54 field_3;float field_4;} t68;
+typedef struct {double field_1;t16 field_2;uint32_t field_3;uint64_t field_4;uint32_t field_5;t20 field_6;} t69;
+typedef struct {t9 field_1;uint8_t field_2;} t70;
+typedef enum {E_71_1,E_71_2,E_71_3,E_71_4,E_71_5,E_71_6,E_71_7,E_71_8,E_71_9,E_71_10,} t71;
+typedef enum {E_72_1,E_72_2,E_72_3,E_72_4,E_72_5,E_72_6,E_72_7,E_72_8,E_72_9,} t72;
+typedef struct {uint32_t field_1;float field_2;t22 field_3;} t73;
+typedef struct {t68 field_1;t69 field_2;t70 field_3;t71 field_4;t72 field_5;t73 field_6;} t74;
+typedef enum {E_75_1,E_75_2,E_75_3,E_75_4,E_75_5,E_75_6,E_75_7,} t75;
+typedef struct {t55 field_1;uint32_t field_2;} t76;
+typedef struct {t55 field_1;uint8_t field_2;double field_3;uint8_t field_4;t70 field_5;uint32_t field_6;} t77;
+typedef struct {uint64_t field_1;t44 field_2;t76 field_3;t77 field_4;} t78;
+typedef enum {E_79_1,E_79_2,E_79_3,E_79_4,E_79_5,E_79_6,E_79_7,E_79_8,} t79;
--- /dev/null
+++ b/test/abi/005_types.myr
@@ -1,0 +1,420 @@
+pkg =
+
+type t2 = struct
+field_1 : flt32
+field_2 : (uint8,flt32,uint8,uint8)
+;;
+type t3 = struct
+field_1 : uint64
+field_2 : uint8
+field_3 : (uint8,flt32,uint8,uint8)
+;;
+type t4 = struct
+field_1 : t2
+field_2 : t3
+field_3 : t3
+;;
+type t5 = struct
+field_1 : uint64
+field_2 : uint32
+field_3 : uint8
+field_4 : uint8
+field_5 : uint64
+;;
+type t6 = union
+`E_6_1
+`E_6_2
+`E_6_3
+`E_6_4
+`E_6_5
+`E_6_6
+`E_6_7
+;;
+
+
+
+type t10 = struct
+field_1 : uint64
+field_2 : (t5,uint8,t6)
+field_3 : ((uint8,flt32,uint8,uint8),t3)
+;;
+
+
+
+
+type t15 = union
+`E_15_1
+`E_15_2
+`E_15_3
+`E_15_4
+`E_15_5
+`E_15_6
+`E_15_7
+`E_15_8
+`E_15_9
+;;
+type t16 = struct
+field_1 : uint64
+field_2 : (uint8,flt32,uint8,uint8)
+field_3 : uint64
+field_4 : flt32
+;;
+
+
+type t19 = union
+`E_19_1
+`E_19_2
+`E_19_3
+`E_19_4
+`E_19_5
+`E_19_6
+`E_19_7
+`E_19_8
+`E_19_9
+;;
+type t20 = union
+`E_20_1
+`E_20_2
+`E_20_3
+`E_20_4
+`E_20_5
+`E_20_6
+`E_20_7
+`E_20_8
+;;
+type t21 = union
+`E_21_1
+`E_21_2
+`E_21_3
+`E_21_4
+`E_21_5
+`E_21_6
+`E_21_7
+`E_21_8
+`E_21_9
+;;
+
+type t23 = struct
+field_1 : ((t16,flt32),(t4,t3,flt32,t6),uint32,t4)
+field_2 : t19
+field_3 : uint64
+field_4 : t20
+field_5 : t21
+field_6 : (uint64,uint32)
+;;
+type t24 = struct
+field_1 : flt32
+;;
+type t25 = struct
+field_1 : flt64
+field_2 : t20
+field_3 : t21
+field_4 : (flt64,t10,(t2,uint64,flt64))
+;;
+
+
+
+
+
+type t31 = union
+`E_31_1
+`E_31_2
+`E_31_3
+`E_31_4
+`E_31_5
+`E_31_6
+`E_31_7
+;;
+type t32 = union
+`E_32_1
+`E_32_2
+`E_32_3
+`E_32_4
+`E_32_5
+`E_32_6
+`E_32_7
+`E_32_8
+`E_32_9
+;;
+
+
+type t35 = union
+`E_35_1
+`E_35_2
+`E_35_3
+`E_35_4
+`E_35_5
+`E_35_6
+`E_35_7
+;;
+
+type t37 = union
+`E_37_1
+`E_37_2
+`E_37_3
+`E_37_4
+`E_37_5
+`E_37_6
+;;
+type t38 = union
+`E_38_1
+`E_38_2
+`E_38_3
+`E_38_4
+`E_38_5
+`E_38_6
+`E_38_7
+`E_38_8
+`E_38_9
+`E_38_10
+;;
+type t39 = struct
+field_1 : (uint64,t24,t25,(uint64,uint64,uint8))
+field_2 : uint32
+field_3 : (uint8,uint32)
+field_4 : (t4,t3,flt32,t6)
+field_5 : flt32
+;;
+type t40 = struct
+field_1 : (t4,t3,flt32,t6)
+field_2 : t6
+field_3 : t38
+field_4 : t39
+field_5 : flt64
+;;
+type t41 = union
+`E_41_1
+`E_41_2
+`E_41_3
+`E_41_4
+`E_41_5
+`E_41_6
+`E_41_7
+`E_41_8
+;;
+type t42 = struct
+field_1 : flt64
+field_2 : uint8
+field_3 : uint32
+field_4 : uint64
+;;
+type t43 = union
+`E_43_1
+`E_43_2
+`E_43_3
+`E_43_4
+`E_43_5
+`E_43_6
+`E_43_7
+`E_43_8
+`E_43_9
+;;
+type t44 = struct
+field_1 : uint64
+field_2 : flt64
+field_3 : uint8
+field_4 : uint64
+field_5 : (t35,uint8)
+;;
+
+type t46 = union
+`E_46_1
+`E_46_2
+`E_46_3
+`E_46_4
+`E_46_5
+`E_46_6
+;;
+
+type t48 = struct
+field_1 : t44
+field_2 : (t44,uint64,uint8,uint32)
+field_3 : t46
+field_4 : uint64
+field_5 : (((uint8,flt32,uint8,uint8),t3),uint64)
+field_6 : (uint64,t24,t25,(uint64,uint64,uint8))
+;;
+type t49 = union
+`E_49_1
+`E_49_2
+`E_49_3
+`E_49_4
+`E_49_5
+`E_49_6
+`E_49_7
+`E_49_8
+;;
+
+type t51 = union
+`E_51_1
+`E_51_2
+`E_51_3
+`E_51_4
+`E_51_5
+`E_51_6
+`E_51_7
+`E_51_8
+;;
+type t52 = struct
+field_1 : flt64
+;;
+type t53 = struct
+field_1 : uint8
+;;
+type t54 = union
+`E_54_1
+`E_54_2
+`E_54_3
+`E_54_4
+`E_54_5
+`E_54_6
+`E_54_7
+;;
+type t55 = struct
+field_1 : t39
+field_2 : uint32
+field_3 : uint8
+field_4 : (t5,uint8,t6)
+;;
+
+type t57 = union
+`E_57_1
+`E_57_2
+`E_57_3
+`E_57_4
+`E_57_5
+`E_57_6
+;;
+type t58 = struct
+field_1 : t57
+field_2 : t53
+field_3 : flt64
+;;
+type t59 = union
+`E_59_1
+`E_59_2
+`E_59_3
+`E_59_4
+`E_59_5
+`E_59_6
+;;
+
+
+
+type t63 = struct
+field_1 : flt32
+field_2 : (((uint8,flt32,uint8,uint8),t3),uint64)
+field_3 : t23
+field_4 : uint32
+;;
+type t64 = struct
+field_1 : (t59,flt32,(flt64,flt32,uint64,uint64))
+field_2 : t21
+field_3 : uint8
+field_4 : t31
+;;
+type t65 = struct
+field_1 : (flt64,uint8)
+field_2 : t63
+field_3 : t64
+;;
+type t66 = union
+`E_66_1
+`E_66_2
+`E_66_3
+`E_66_4
+`E_66_5
+`E_66_6
+`E_66_7
+`E_66_8
+;;
+type t67 = union
+`E_67_1
+`E_67_2
+`E_67_3
+`E_67_4
+`E_67_5
+`E_67_6
+`E_67_7
+`E_67_8
+`E_67_9
+`E_67_10
+;;
+
+type t69 = struct
+field_1 : flt64
+field_2 : t16
+field_3 : uint32
+field_4 : uint64
+field_5 : uint32
+field_6 : t20
+;;
+type t70 = struct
+field_1 : ((uint8,flt32,uint8,uint8),t3)
+field_2 : uint8
+;;
+type t71 = union
+`E_71_1
+`E_71_2
+`E_71_3
+`E_71_4
+`E_71_5
+`E_71_6
+`E_71_7
+`E_71_8
+`E_71_9
+`E_71_10
+;;
+type t72 = union
+`E_72_1
+`E_72_2
+`E_72_3
+`E_72_4
+`E_72_5
+`E_72_6
+`E_72_7
+`E_72_8
+`E_72_9
+;;
+
+type t74 = struct
+field_1 : (flt32,flt32,t54,flt32)
+field_2 : t69
+field_3 : t70
+field_4 : t71
+field_5 : t72
+field_6 : (uint32,flt32,(uint64,uint32))
+;;
+type t75 = union
+`E_75_1
+`E_75_2
+`E_75_3
+`E_75_4
+`E_75_5
+`E_75_6
+`E_75_7
+;;
+type t76 = struct
+field_1 : t55
+field_2 : uint32
+;;
+type t77 = struct
+field_1 : t55
+field_2 : uint8
+field_3 : flt64
+field_4 : uint8
+field_5 : t70
+field_6 : uint32
+;;
+
+type t79 = union
+`E_79_1
+`E_79_2
+`E_79_3
+`E_79_4
+`E_79_5
+`E_79_6
+`E_79_7
+`E_79_8
+;;
+;;
--- /dev/null
+++ b/test/abi/006_in-c.glue.c
@@ -1,0 +1,913 @@
+/* CFLAGS: -I/usr/include/ */
+/* CFLAGS: -I/usr/include */
+/* LIBS: c */
+
+#include <stdint.h>
+#include "006_types.h"
+
+extern t7 fn_1_myr(uint32_t a1, t3 a2, t2 a3, float a4, uint8_t a5);
+extern float fn_2_myr(t7 a1, t8 a2, t12 a3, double a4, t15 a5, t13 a6, uint32_t a7);
+extern float fn_3_myr(t5 a1, t15 a2, t16 a3, t16 a4, uint64_t a5, t17 a6, t12 a7);
+extern t2 fn_4_myr(t1 a1, t21 a2, t23 a3, double a4, t6 a5, uint64_t a6, double a7);
+extern t3 fn_5_myr(uint32_t a1, t24 a2, double a3, t25 a4, uint64_t a5, t28 a6);
+extern double fn_6_myr(t29 a1, t8 a2, t33 a3, t5 a4, uint32_t a5, float a6, t11 a7, t36 a8, t16 a9, t37 a10);
+extern double fn_7_myr(uint64_t a1, t38 a2, uint8_t a3, t40 a4, t42 a5, t43 a6, uint8_t a7);
+extern t44 fn_8_myr(void);
+extern t53 fn_9_myr(t45 a1, t46 a2, t45 a3, t47 a4, t48 a5, float a6, double a7, uint8_t a8, uint64_t a9, t49 a10);
+extern float fn_10_myr(float a1, t55 a2, t43 a3);
+extern uint32_t fn_11_myr(t40 a1, uint64_t a2, t59 a3);
+extern uint32_t fn_12_myr(t63 a1, double a2, uint32_t a3, t68 a4);
+extern t74 fn_13_myr(t26 a1, uint32_t a2, t70 a3, double a4, t73 a5);
+extern uint64_t fn_14_myr(uint32_t a1, uint8_t a2, t78 a3, t81 a4, t32 a5, t82 a6, t85 a7);
+extern t102 fn_15_myr(t86 a1, t69 a2, t88 a3, t93 a4, t95 a5, t25 a6, float a7, t60 a8, t97 a9, t100 a10);
+extern t15 fn_16_myr(uint64_t a1, t57 a2);
+extern double fn_17_myr(float a1, t10 a2, t35 a3, float a4, t18 a5, uint64_t a6, t3 a7, float a8, t56 a9, t72 a10);
+extern t68 fn_18_myr(t29 a1, t50 a2, t94 a3, t97 a4, t82 a5, uint32_t a6);
+extern uint8_t fn_19_myr(uint64_t a1, uint8_t a2);
+extern uint8_t fn_20_myr(t72 a1, t54 a2, t102 a3, t30 a4, float a5, t100 a6, t82 a7, t92 a8, t19 a9);
+
+t7
+fn_1_c(uint32_t a1, t3 a2, t2 a3, float a4, uint8_t a5)
+{
+    if (!(a1==3331313618)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==163) && ((a2.field_2.field_1==112669747445760) && (a2.field_2.field_2==68) && (a2.field_2.field_3==2961163238) && (a2.field_2.field_4==144) && (a2.field_2.field_5==3.1171875) && (a2.field_2.field_6==-0.77734375)) && (a2.field_3==2638767956) && (a2.field_4==E_2_3))) {
+        goto bad;
+    }
+
+    if (!(a3==E_2_1)) {
+        goto bad;
+    }
+
+    if (!(a4==0.875)) {
+        goto bad;
+    }
+
+    if (!(a5==63)) {
+        goto bad;
+    }
+
+    return (t7) {.field_1=(t4) {.field_1=156,.field_2=2.83203125,.field_3=67,.field_4=143760266887168,.field_5=E_2_6,.field_6=2927029180},.field_2=(t5) {.field_1=-2.55078125,.field_2=159665344872448,.field_3=199843724394496},.field_3=(t6) {.field_1=-0.625,.field_2=E_2_6}};
+
+bad:
+    return (t7) {.field_1=(t4) {.field_1=224,.field_2=-3.55859375,.field_3=83,.field_4=192626519703552,.field_5=E_2_2,.field_6=280197342},.field_2=(t5) {.field_1=-2.49609375,.field_2=252253836541952,.field_3=197595307704320},.field_3=(t6) {.field_1=-1.328125,.field_2=E_2_2}};
+}
+
+float
+fn_2_c(t7 a1, t8 a2, t12 a3, double a4, t15 a5, t13 a6, uint32_t a7)
+{
+    if (!(((a1.field_1.field_1==195) && (a1.field_1.field_2==-2.625) && (a1.field_1.field_3==107) && (a1.field_1.field_4==250193960632320) && (a1.field_1.field_5==E_2_1) && (a1.field_1.field_6==3277066896)) && ((a1.field_2.field_1==0.01171875) && (a1.field_2.field_2==271113481355264) && (a1.field_2.field_3==7202154348544)) && ((a1.field_3.field_1==-1.53125) && (a1.field_3.field_2==E_2_6)))) {
+        goto bad;
+    }
+
+    if (!(((a2.field_1.field_1==75) && ((a2.field_1.field_2.field_1==149688830001152) && (a2.field_1.field_2.field_2==166) && (a2.field_1.field_2.field_3==4203656652) && (a2.field_1.field_2.field_4==184) && (a2.field_1.field_2.field_5==1.6796875) && (a2.field_1.field_2.field_6==-2.66015625)) && (a2.field_1.field_3==2647535284) && (a2.field_1.field_4==E_2_3)) && ((a2.field_2.field_1==60) && ((a2.field_2.field_2.field_1==234959706259456) && (a2.field_2.field_2.field_2==30) && (a2.field_2.field_2.field_3==3070502934) && (a2.field_2.field_2.field_4==195) && (a2.field_2.field_2.field_5==2.9921875) && (a2.field_2.field_2.field_6==2.96484375)) && (a2.field_2.field_3==803402210) && (a2.field_2.field_4==E_2_5)))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==0.203125) && (((a3.field_2.field_1.field_1==-0.140625) && (a3.field_2.field_1.field_2==E_2_2)) && (a3.field_2.field_2==151793905303552) && ((a3.field_2.field_3.field_1==0.75) && (a3.field_2.field_3.field_2==E_2_1)) && (a3.field_2.field_4==-0.875) && (a3.field_2.field_5==59595538169856) && ((a3.field_2.field_6.field_1==-0.51171875) && (a3.field_2.field_6.field_2==90586118225920) && (a3.field_2.field_6.field_3==47799910137856))) && ((a3.field_3.field_1==-3.4140625) && (a3.field_3.field_2==0.671875) && (a3.field_3.field_3==185693112107008)) && (a3.field_4==-1.23828125) && (a3.field_5==E_11_1) && (a3.field_6==2.890625))) {
+        goto bad;
+    }
+
+    if (!(a4==0.94921875)) {
+        goto bad;
+    }
+
+    if (!(((a5.field_1.field_1==2.03515625) && (a5.field_1.field_2==29216526696448) && (a5.field_1.field_3==236353793556480)) && (a5.field_2==1.09375) && ((a5.field_3.field_1==4181791332) && (((a5.field_3.field_2.field_1.field_1==44) && ((a5.field_3.field_2.field_1.field_2.field_1==132595126632448) && (a5.field_3.field_2.field_1.field_2.field_2==171) && (a5.field_3.field_2.field_1.field_2.field_3==3948447728) && (a5.field_3.field_2.field_1.field_2.field_4==220) && (a5.field_3.field_2.field_1.field_2.field_5==-3.69140625) && (a5.field_3.field_2.field_1.field_2.field_6==-2.40625)) && (a5.field_3.field_2.field_1.field_3==3172323970) && (a5.field_3.field_2.field_1.field_4==E_2_5)) && ((a5.field_3.field_2.field_2.field_1==224) && ((a5.field_3.field_2.field_2.field_2.field_1==275519312887808) && (a5.field_3.field_2.field_2.field_2.field_2==53) && (a5.field_3.field_2.field_2.field_2.field_3==3186715686) && (a5.field_3.field_2.field_2.field_2.field_4==144) && (a5.field_3.field_2.field_2.field_2.field_5==-2.5703125) && (a5.field_3.field_2.field_2.field_2.field_6==-3.41015625)) && (a5.field_3.field_2.field_2.field_3==1867717394) && (a5.field_3.field_2.field_2.field_4==E_2_5))) && (a5.field_3.field_3==35551921045504) && (a5.field_3.field_4==-0.203125) && (a5.field_3.field_5==101)) && ((a5.field_4.field_1==102) && (a5.field_4.field_2==1.15625)))) {
+        goto bad;
+    }
+
+    if (!((a6.field_1==1580005156) && (((a6.field_2.field_1.field_1==51) && ((a6.field_2.field_1.field_2.field_1==266965320073216) && (a6.field_2.field_1.field_2.field_2==53) && (a6.field_2.field_1.field_2.field_3==212878900) && (a6.field_2.field_1.field_2.field_4==236) && (a6.field_2.field_1.field_2.field_5==-0.921875) && (a6.field_2.field_1.field_2.field_6==0.16015625)) && (a6.field_2.field_1.field_3==2543329268) && (a6.field_2.field_1.field_4==E_2_2)) && ((a6.field_2.field_2.field_1==98) && ((a6.field_2.field_2.field_2.field_1==174501380489216) && (a6.field_2.field_2.field_2.field_2==126) && (a6.field_2.field_2.field_2.field_3==522689612) && (a6.field_2.field_2.field_2.field_4==110) && (a6.field_2.field_2.field_2.field_5==-1.0234375) && (a6.field_2.field_2.field_2.field_6==-3.12109375)) && (a6.field_2.field_2.field_3==2756676114) && (a6.field_2.field_2.field_4==E_2_1))) && (a6.field_3==186819725099008) && (a6.field_4==0.984375) && (a6.field_5==44))) {
+        goto bad;
+    }
+
+    if (!(a7==2083878374)) {
+        goto bad;
+    }
+
+    return 0.109375;
+
+bad:
+    return 1.1875;
+}
+
+float
+fn_3_c(t5 a1, t15 a2, t16 a3, t16 a4, uint64_t a5, t17 a6, t12 a7)
+{
+    if (!((a1.field_1==0.36328125) && (a1.field_2==217080895242240) && (a1.field_3==146180381081600))) {
+        goto bad;
+    }
+
+    if (!(((a2.field_1.field_1==0.5390625) && (a2.field_1.field_2==117399373217792) && (a2.field_1.field_3==101569454014464)) && (a2.field_2==-1.296875) && ((a2.field_3.field_1==39734246) && (((a2.field_3.field_2.field_1.field_1==169) && ((a2.field_3.field_2.field_1.field_2.field_1==133031533740032) && (a2.field_3.field_2.field_1.field_2.field_2==161) && (a2.field_3.field_2.field_1.field_2.field_3==668802928) && (a2.field_3.field_2.field_1.field_2.field_4==152) && (a2.field_3.field_2.field_1.field_2.field_5==-3.4296875) && (a2.field_3.field_2.field_1.field_2.field_6==0.1953125)) && (a2.field_3.field_2.field_1.field_3==2984403120) && (a2.field_3.field_2.field_1.field_4==E_2_5)) && ((a2.field_3.field_2.field_2.field_1==162) && ((a2.field_3.field_2.field_2.field_2.field_1==100930591260672) && (a2.field_3.field_2.field_2.field_2.field_2==132) && (a2.field_3.field_2.field_2.field_2.field_3==3484222870) && (a2.field_3.field_2.field_2.field_2.field_4==117) && (a2.field_3.field_2.field_2.field_2.field_5==-3.8984375) && (a2.field_3.field_2.field_2.field_2.field_6==-3.02734375)) && (a2.field_3.field_2.field_2.field_3==4255148568) && (a2.field_3.field_2.field_2.field_4==E_2_6))) && (a2.field_3.field_3==229240590827520) && (a2.field_3.field_4==-0.328125) && (a2.field_3.field_5==51)) && ((a2.field_4.field_1==92) && (a2.field_4.field_2==-1.046875)))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==1212401592) && (a3.field_2==-1.046875) && (a3.field_3==1.109375) && ((a3.field_4.field_1==1.296875) && (a3.field_4.field_2==E_2_2)))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==3641606114) && (a4.field_2==-1.125) && (a4.field_3==0.546875) && ((a4.field_4.field_1==-0.046875) && (a4.field_4.field_2==E_2_3)))) {
+        goto bad;
+    }
+
+    if (!(a5==83130758201344)) {
+        goto bad;
+    }
+
+    if (!(((a6.field_1.field_1==954818626) && (a6.field_1.field_2==-0.5) && (a6.field_1.field_3==-0.703125) && ((a6.field_1.field_4.field_1==0.265625) && (a6.field_1.field_4.field_2==E_2_4))) && (a6.field_2==254))) {
+        goto bad;
+    }
+
+    if (!((a7.field_1==-0.671875) && (((a7.field_2.field_1.field_1==0.671875) && (a7.field_2.field_1.field_2==E_2_1)) && (a7.field_2.field_2==186559912869888) && ((a7.field_2.field_3.field_1==1.546875) && (a7.field_2.field_3.field_2==E_2_2)) && (a7.field_2.field_4==0.046875) && (a7.field_2.field_5==255023204139008) && ((a7.field_2.field_6.field_1==1.13671875) && (a7.field_2.field_6.field_2==270028714934272) && (a7.field_2.field_6.field_3==247333204000768))) && ((a7.field_3.field_1==-0.0546875) && (a7.field_3.field_2==-1.25) && (a7.field_3.field_3==156053374763008)) && (a7.field_4==3.73046875) && (a7.field_5==E_11_4) && (a7.field_6==1.92578125))) {
+        goto bad;
+    }
+
+    return 0.171875;
+
+bad:
+    return 1.375;
+}
+
+t2
+fn_4_c(t1 a1, t21 a2, t23 a3, double a4, t6 a5, uint64_t a6, double a7)
+{
+    if (!((a1.field_1==254108937224192) && (a1.field_2==215) && (a1.field_3==1243252406) && (a1.field_4==124) && (a1.field_5==-1.1875) && (a1.field_6==-1.68359375))) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==E_18_8) && (a2.field_2==4113752024) && (a2.field_3==0.5) && (a2.field_4==E_19_5) && ((a2.field_5.field_1==-0.3203125) && (a2.field_5.field_2==1.33984375) && ((a2.field_5.field_3.field_1==-0.171875) && (((a2.field_5.field_3.field_2.field_1.field_1==-0.625) && (a2.field_5.field_3.field_2.field_1.field_2==E_2_6)) && (a2.field_5.field_3.field_2.field_2==262778588495872) && ((a2.field_5.field_3.field_2.field_3.field_1==0.46875) && (a2.field_5.field_3.field_2.field_3.field_2==E_2_2)) && (a2.field_5.field_3.field_2.field_4==1.125) && (a2.field_5.field_3.field_2.field_5==182381629145088) && ((a2.field_5.field_3.field_2.field_6.field_1==2.4609375) && (a2.field_5.field_3.field_2.field_6.field_2==139713139179520) && (a2.field_5.field_3.field_2.field_6.field_3==225645534511104))) && ((a2.field_5.field_3.field_3.field_1==-3.54296875) && (a2.field_5.field_3.field_3.field_2==-1.171875) && (a2.field_5.field_3.field_3.field_3==78173635870720)) && (a2.field_5.field_3.field_4==2.28515625) && (a2.field_5.field_3.field_5==E_11_4) && (a2.field_5.field_3.field_6==-0.7890625))) && (((a2.field_6.field_1.field_1==-0.01953125) && (a2.field_6.field_1.field_2==23439019999232) && (a2.field_6.field_1.field_3==3807452332032)) && (a2.field_6.field_2==-0.625) && ((a2.field_6.field_3.field_1==233931326) && (((a2.field_6.field_3.field_2.field_1.field_1==154) && ((a2.field_6.field_3.field_2.field_1.field_2.field_1==198616597528576) && (a2.field_6.field_3.field_2.field_1.field_2.field_2==197) && (a2.field_6.field_3.field_2.field_1.field_2.field_3==2016579036) && (a2.field_6.field_3.field_2.field_1.field_2.field_4==169) && (a2.field_6.field_3.field_2.field_1.field_2.field_5==-0.5546875) && (a2.field_6.field_3.field_2.field_1.field_2.field_6==-3.796875)) && (a2.field_6.field_3.field_2.field_1.field_3==526208716) && (a2.field_6.field_3.field_2.field_1.field_4==E_2_1)) && ((a2.field_6.field_3.field_2.field_2.field_1==118) && ((a2.field_6.field_3.field_2.field_2.field_2.field_1==119263763103744) && (a2.field_6.field_3.field_2.field_2.field_2.field_2==15) && (a2.field_6.field_3.field_2.field_2.field_2.field_3==1698145536) && (a2.field_6.field_3.field_2.field_2.field_2.field_4==18) && (a2.field_6.field_3.field_2.field_2.field_2.field_5==-1.51171875) && (a2.field_6.field_3.field_2.field_2.field_2.field_6==-1.921875)) && (a2.field_6.field_3.field_2.field_2.field_3==3097128252) && (a2.field_6.field_3.field_2.field_2.field_4==E_2_1))) && (a2.field_6.field_3.field_3==211270742966272) && (a2.field_6.field_3.field_4==0.078125) && (a2.field_6.field_3.field_5==42)) && ((a2.field_6.field_4.field_1==225) && (a2.field_6.field_4.field_2==0.9375))))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==190020550524928) && ((a3.field_2.field_1==11) && (a3.field_2.field_2==-1.0625)) && (a3.field_3==210612318502912) && ((a3.field_4.field_1==-0.46875) && (a3.field_4.field_2==116393468362752) && (((a3.field_4.field_3.field_1.field_1==120) && (a3.field_4.field_3.field_1.field_2==-0.21484375) && (a3.field_4.field_3.field_1.field_3==42) && (a3.field_4.field_3.field_1.field_4==279254693969921) && (a3.field_4.field_3.field_1.field_5==E_2_4) && (a3.field_4.field_3.field_1.field_6==185092378)) && ((a3.field_4.field_3.field_2.field_1==2.28515625) && (a3.field_4.field_3.field_2.field_2==168886583296000) && (a3.field_4.field_3.field_2.field_3==165671684931584)) && ((a3.field_4.field_3.field_3.field_1==1.546875) && (a3.field_4.field_3.field_3.field_2==E_2_1))) && (((a3.field_4.field_4.field_1.field_1==933489974) && (a3.field_4.field_4.field_1.field_2==-0.921875) && (a3.field_4.field_4.field_1.field_3==1.0) && ((a3.field_4.field_4.field_1.field_4.field_1==1.265625) && (a3.field_4.field_4.field_1.field_4.field_2==E_2_1))) && (a3.field_4.field_4.field_2==72))))) {
+        goto bad;
+    }
+
+    if (!(a4==-1.47265625)) {
+        goto bad;
+    }
+
+    if (!((a5.field_1==0.359375) && (a5.field_2==E_2_4))) {
+        goto bad;
+    }
+
+    if (!(a6==106223398289408)) {
+        goto bad;
+    }
+
+    if (!(a7==-1.80078125)) {
+        goto bad;
+    }
+
+    return E_2_4;
+
+bad:
+    return E_2_6;
+}
+
+t3
+fn_5_c(uint32_t a1, t24 a2, double a3, t25 a4, uint64_t a5, t28 a6)
+{
+    if (!(a1==490829306)) {
+        goto bad;
+    }
+
+    if (!(a2==E_24_2)) {
+        goto bad;
+    }
+
+    if (!(a3==-1.296875)) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==E_24_8) && ((a4.field_2.field_1==0.1875) && (a4.field_2.field_2==E_2_3)))) {
+        goto bad;
+    }
+
+    if (!(a5==245616036151296)) {
+        goto bad;
+    }
+
+    if (!((((a6.field_1.field_1.field_1==2.08203125) && (a6.field_1.field_1.field_2==35857928683520) && (a6.field_1.field_1.field_3==93232914235392)) && (a6.field_1.field_2==-0.609375) && ((a6.field_1.field_3.field_1==1442943954) && (((a6.field_1.field_3.field_2.field_1.field_1==49) && ((a6.field_1.field_3.field_2.field_1.field_2.field_1==243496050229248) && (a6.field_1.field_3.field_2.field_1.field_2.field_2==211) && (a6.field_1.field_3.field_2.field_1.field_2.field_3==1781303846) && (a6.field_1.field_3.field_2.field_1.field_2.field_4==188) && (a6.field_1.field_3.field_2.field_1.field_2.field_5==1.796875) && (a6.field_1.field_3.field_2.field_1.field_2.field_6==2.92578125)) && (a6.field_1.field_3.field_2.field_1.field_3==961004516) && (a6.field_1.field_3.field_2.field_1.field_4==E_2_2)) && ((a6.field_1.field_3.field_2.field_2.field_1==142) && ((a6.field_1.field_3.field_2.field_2.field_2.field_1==24547072671744) && (a6.field_1.field_3.field_2.field_2.field_2.field_2==51) && (a6.field_1.field_3.field_2.field_2.field_2.field_3==2197818536) && (a6.field_1.field_3.field_2.field_2.field_2.field_4==124) && (a6.field_1.field_3.field_2.field_2.field_2.field_5==-2.42578125) && (a6.field_1.field_3.field_2.field_2.field_2.field_6==-3.234375)) && (a6.field_1.field_3.field_2.field_2.field_3==3597667158) && (a6.field_1.field_3.field_2.field_2.field_4==E_2_5))) && (a6.field_1.field_3.field_3==212450688237568) && (a6.field_1.field_3.field_4==-0.625) && (a6.field_1.field_3.field_5==212)) && ((a6.field_1.field_4.field_1==40) && (a6.field_1.field_4.field_2==1.328125))) && (a6.field_2==E_26_3) && ((((a6.field_3.field_1.field_1.field_1==3.07421875) && (a6.field_3.field_1.field_1.field_2==82227144294400) && (a6.field_3.field_1.field_1.field_3==7948002787328)) && (a6.field_3.field_1.field_2==-1.5) && ((a6.field_3.field_1.field_3.field_1==2677308022) && (((a6.field_3.field_1.field_3.field_2.field_1.field_1==85) && ((a6.field_3.field_1.field_3.field_2.field_1.field_2.field_1==100333243203584) && (a6.field_3.field_1.field_3.field_2.field_1.field_2.field_2==209) && (a6.field_3.field_1.field_3.field_2.field_1.field_2.field_3==846728032) && (a6.field_3.field_1.field_3.field_2.field_1.field_2.field_4==47) && (a6.field_3.field_1.field_3.field_2.field_1.field_2.field_5==-2.0859375) && (a6.field_3.field_1.field_3.field_2.field_1.field_2.field_6==3.3984375)) && (a6.field_3.field_1.field_3.field_2.field_1.field_3==3924268624) && (a6.field_3.field_1.field_3.field_2.field_1.field_4==E_2_1)) && ((a6.field_3.field_1.field_3.field_2.field_2.field_1==40) && ((a6.field_3.field_1.field_3.field_2.field_2.field_2.field_1==58951057276928) && (a6.field_3.field_1.field_3.field_2.field_2.field_2.field_2==170) && (a6.field_3.field_1.field_3.field_2.field_2.field_2.field_3==1055614716) && (a6.field_3.field_1.field_3.field_2.field_2.field_2.field_4==104) && (a6.field_3.field_1.field_3.field_2.field_2.field_2.field_5==-2.51953125) && (a6.field_3.field_1.field_3.field_2.field_2.field_2.field_6==1.8203125)) && (a6.field_3.field_1.field_3.field_2.field_2.field_3==2570174796) && (a6.field_3.field_1.field_3.field_2.field_2.field_4==E_2_2))) && (a6.field_3.field_1.field_3.field_3==160655520563200) && (a6.field_3.field_1.field_3.field_4==-0.515625) && (a6.field_3.field_1.field_3.field_5==4)) && ((a6.field_3.field_1.field_4.field_1==223) && (a6.field_3.field_1.field_4.field_2==-1.0625))) && (a6.field_3.field_2==-1.015625) && (a6.field_3.field_3==0.9375) && (a6.field_3.field_4==119362880667648) && (a6.field_3.field_5==-1.359375) && (a6.field_3.field_6==25145455280128)))) {
+        goto bad;
+    }
+
+    return (t3) {.field_1=182,.field_2=(t1) {.field_1=220780978372608,.field_2=114,.field_3=2281314962,.field_4=251,.field_5=1.01171875,.field_6=2.06640625},.field_3=3935630006,.field_4=E_2_4};
+
+bad:
+    return (t3) {.field_1=223,.field_2=(t1) {.field_1=21084164849664,.field_2=192,.field_3=2309250974,.field_4=82,.field_5=-2.64453125,.field_6=1.68359375},.field_3=231075084,.field_4=E_2_5};
+}
+
+double
+fn_6_c(t29 a1, t8 a2, t33 a3, t5 a4, uint32_t a5, float a6, t11 a7, t36 a8, t16 a9, t37 a10)
+{
+    if (!(a1==E_29_6)) {
+        goto bad;
+    }
+
+    if (!(((a2.field_1.field_1==44) && ((a2.field_1.field_2.field_1==82970538278912) && (a2.field_1.field_2.field_2==173) && (a2.field_1.field_2.field_3==1039620306) && (a2.field_1.field_2.field_4==98) && (a2.field_1.field_2.field_5==-2.87890625) && (a2.field_1.field_2.field_6==-1.3203125)) && (a2.field_1.field_3==415749068) && (a2.field_1.field_4==E_2_6)) && ((a2.field_2.field_1==198) && ((a2.field_2.field_2.field_1==176754788270080) && (a2.field_2.field_2.field_2==229) && (a2.field_2.field_2.field_3==1745396264) && (a2.field_2.field_2.field_4==100) && (a2.field_2.field_2.field_5==2.453125) && (a2.field_2.field_2.field_6==3.51171875)) && (a2.field_2.field_3==1134845604) && (a2.field_2.field_4==E_2_6)))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==45346413608960) && ((a3.field_2.field_1==1.5546875) && ((a3.field_2.field_2.field_1==E_18_1) && (a3.field_2.field_2.field_2==3388995392) && (a3.field_2.field_2.field_3==0.296875) && (a3.field_2.field_2.field_4==E_19_4) && ((a3.field_2.field_2.field_5.field_1==-2.4921875) && (a3.field_2.field_2.field_5.field_2==-0.69921875) && ((a3.field_2.field_2.field_5.field_3.field_1==-0.390625) && (((a3.field_2.field_2.field_5.field_3.field_2.field_1.field_1==-0.171875) && (a3.field_2.field_2.field_5.field_3.field_2.field_1.field_2==E_2_2)) && (a3.field_2.field_2.field_5.field_3.field_2.field_2==21150251483136) && ((a3.field_2.field_2.field_5.field_3.field_2.field_3.field_1==-0.796875) && (a3.field_2.field_2.field_5.field_3.field_2.field_3.field_2==E_2_4)) && (a3.field_2.field_2.field_5.field_3.field_2.field_4==1.375) && (a3.field_2.field_2.field_5.field_3.field_2.field_5==215200983941120) && ((a3.field_2.field_2.field_5.field_3.field_2.field_6.field_1==2.125) && (a3.field_2.field_2.field_5.field_3.field_2.field_6.field_2==158112869384192) && (a3.field_2.field_2.field_5.field_3.field_2.field_6.field_3==73351684030464))) && ((a3.field_2.field_2.field_5.field_3.field_3.field_1==1.25) && (a3.field_2.field_2.field_5.field_3.field_3.field_2==-0.703125) && (a3.field_2.field_2.field_5.field_3.field_3.field_3==212315222310912)) && (a3.field_2.field_2.field_5.field_3.field_4==-3.5546875) && (a3.field_2.field_2.field_5.field_3.field_5==E_11_2) && (a3.field_2.field_2.field_5.field_3.field_6==-0.61328125))) && (((a3.field_2.field_2.field_6.field_1.field_1==1.76171875) && (a3.field_2.field_2.field_6.field_1.field_2==253745235361792) && (a3.field_2.field_2.field_6.field_1.field_3==92984779997184)) && (a3.field_2.field_2.field_6.field_2==0.90625) && ((a3.field_2.field_2.field_6.field_3.field_1==2939679992) && (((a3.field_2.field_2.field_6.field_3.field_2.field_1.field_1==146) && ((a3.field_2.field_2.field_6.field_3.field_2.field_1.field_2.field_1==267681124188160) && (a3.field_2.field_2.field_6.field_3.field_2.field_1.field_2.field_2==98) && (a3.field_2.field_2.field_6.field_3.field_2.field_1.field_2.field_3==2525744200) && (a3.field_2.field_2.field_6.field_3.field_2.field_1.field_2.field_4==189) && (a3.field_2.field_2.field_6.field_3.field_2.field_1.field_2.field_5==3.75390625) && (a3.field_2.field_2.field_6.field_3.field_2.field_1.field_2.field_6==-3.81640625)) && (a3.field_2.field_2.field_6.field_3.field_2.field_1.field_3==3957579288) && (a3.field_2.field_2.field_6.field_3.field_2.field_1.field_4==E_2_3)) && ((a3.field_2.field_2.field_6.field_3.field_2.field_2.field_1==98) && ((a3.field_2.field_2.field_6.field_3.field_2.field_2.field_2.field_1==103318747742208) && (a3.field_2.field_2.field_6.field_3.field_2.field_2.field_2.field_2==176) && (a3.field_2.field_2.field_6.field_3.field_2.field_2.field_2.field_3==1976332274) && (a3.field_2.field_2.field_6.field_3.field_2.field_2.field_2.field_4==157) && (a3.field_2.field_2.field_6.field_3.field_2.field_2.field_2.field_5==-2.35546875) && (a3.field_2.field_2.field_6.field_3.field_2.field_2.field_2.field_6==-0.79296875)) && (a3.field_2.field_2.field_6.field_3.field_2.field_2.field_3==1628294370) && (a3.field_2.field_2.field_6.field_3.field_2.field_2.field_4==E_2_6))) && (a3.field_2.field_2.field_6.field_3.field_3==270327169941504) && (a3.field_2.field_2.field_6.field_3.field_4==0.4375) && (a3.field_2.field_2.field_6.field_3.field_5==161)) && ((a3.field_2.field_2.field_6.field_4.field_1==61) && (a3.field_2.field_2.field_6.field_4.field_2==-0.328125)))) && (a3.field_2.field_3==190305229078528) && (a3.field_2.field_4==-0.0859375)) && (a3.field_3==E_31_8) && ((a3.field_4.field_1==1725236208)))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==-2.41015625) && (a4.field_2==21064454635520) && (a4.field_3==201636834967552))) {
+        goto bad;
+    }
+
+    if (!(a5==1968388378)) {
+        goto bad;
+    }
+
+    if (!(a6==1.203125)) {
+        goto bad;
+    }
+
+    if (!(a7==E_11_5)) {
+        goto bad;
+    }
+
+    if (!((a8.field_1==165571080617984) && ((a8.field_2.field_1==0.671875) && (a8.field_2.field_2==E_2_6)) && ((a8.field_3.field_1==3138764072) && (a8.field_3.field_2==-1.03125) && (a8.field_3.field_3==50747094728704) && (a8.field_3.field_4==2634664560)) && ((a8.field_4.field_1==171685942525952) && (a8.field_4.field_2==2132603492)))) {
+        goto bad;
+    }
+
+    if (!((a9.field_1==849505522) && (a9.field_2==0.28125) && (a9.field_3==1.4375) && ((a9.field_4.field_1==-0.4375) && (a9.field_4.field_2==E_2_3)))) {
+        goto bad;
+    }
+
+    if (!(a10==E_37_6)) {
+        goto bad;
+    }
+
+    return -0.47265625;
+
+bad:
+    return -1.22265625;
+}
+
+double
+fn_7_c(uint64_t a1, t38 a2, uint8_t a3, t40 a4, t42 a5, t43 a6, uint8_t a7)
+{
+    if (!(a1==152633167446016)) {
+        goto bad;
+    }
+
+    if (!(a2==E_38_5)) {
+        goto bad;
+    }
+
+    if (!(a3==21)) {
+        goto bad;
+    }
+
+    if (!((((a4.field_1.field_1.field_1==3.7265625) && ((a4.field_1.field_1.field_2.field_1==E_18_8) && (a4.field_1.field_1.field_2.field_2==1660321984) && (a4.field_1.field_1.field_2.field_3==0.46875) && (a4.field_1.field_1.field_2.field_4==E_19_6) && ((a4.field_1.field_1.field_2.field_5.field_1==3.328125) && (a4.field_1.field_1.field_2.field_5.field_2==-3.79296875) && ((a4.field_1.field_1.field_2.field_5.field_3.field_1==-0.984375) && (((a4.field_1.field_1.field_2.field_5.field_3.field_2.field_1.field_1==-0.71875) && (a4.field_1.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_5)) && (a4.field_1.field_1.field_2.field_5.field_3.field_2.field_2==107860547076096) && ((a4.field_1.field_1.field_2.field_5.field_3.field_2.field_3.field_1==0.984375) && (a4.field_1.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_3)) && (a4.field_1.field_1.field_2.field_5.field_3.field_2.field_4==1.03125) && (a4.field_1.field_1.field_2.field_5.field_3.field_2.field_5==103537434427392) && ((a4.field_1.field_1.field_2.field_5.field_3.field_2.field_6.field_1==-0.41015625) && (a4.field_1.field_1.field_2.field_5.field_3.field_2.field_6.field_2==257720167301120) && (a4.field_1.field_1.field_2.field_5.field_3.field_2.field_6.field_3==23490682028032))) && ((a4.field_1.field_1.field_2.field_5.field_3.field_3.field_1==-3.0546875) && (a4.field_1.field_1.field_2.field_5.field_3.field_3.field_2==0.671875) && (a4.field_1.field_1.field_2.field_5.field_3.field_3.field_3==189976970788864)) && (a4.field_1.field_1.field_2.field_5.field_3.field_4==0.015625) && (a4.field_1.field_1.field_2.field_5.field_3.field_5==E_11_5) && (a4.field_1.field_1.field_2.field_5.field_3.field_6==-0.41796875))) && (((a4.field_1.field_1.field_2.field_6.field_1.field_1==0.0625) && (a4.field_1.field_1.field_2.field_6.field_1.field_2==74574491418624) && (a4.field_1.field_1.field_2.field_6.field_1.field_3==201256086929408)) && (a4.field_1.field_1.field_2.field_6.field_2==1.359375) && ((a4.field_1.field_1.field_2.field_6.field_3.field_1==1220073662) && (((a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_1==46) && ((a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==265659814641664) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==66) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_3==27449604) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_4==84) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_5==3.22265625) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_6==1.9609375)) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_3==1100098150) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_4==E_2_6)) && ((a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_1==239) && ((a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_1==147943258062848) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_2==159) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_3==1367706340) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_4==86) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_5==3.89453125) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_6==-2.74609375)) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_3==3028657672) && (a4.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_4==E_2_3))) && (a4.field_1.field_1.field_2.field_6.field_3.field_3==18076800647168) && (a4.field_1.field_1.field_2.field_6.field_3.field_4==0.90625) && (a4.field_1.field_1.field_2.field_6.field_3.field_5==142)) && ((a4.field_1.field_1.field_2.field_6.field_4.field_1==199) && (a4.field_1.field_1.field_2.field_6.field_4.field_2==-0.109375)))) && (a4.field_1.field_1.field_3==15997300899840) && (a4.field_1.field_1.field_4==-0.2890625)) && (a4.field_1.field_2==3.20703125) && (a4.field_1.field_3==158
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!((a5.field_1==207514518814720) && (a5.field_2==E_41_5) && (a5.field_3==3821234462) && ((a5.field_4.field_1==206987958681600) && ((a5.field_4.field_2.field_1==247) && (a5.field_4.field_2.field_2==0.296875)) && (a5.field_4.field_3==50935557783552) && ((a5.field_4.field_4.field_1==-1.46875) && (a5.field_4.field_4.field_2==107941368692736) && (((a5.field_4.field_4.field_3.field_1.field_1==188) && (a5.field_4.field_4.field_3.field_1.field_2==2.4140625) && (a5.field_4.field_4.field_3.field_1.field_3==216) && (a5.field_4.field_4.field_3.field_1.field_4==223121033003008) && (a5.field_4.field_4.field_3.field_1.field_5==E_2_2) && (a5.field_4.field_4.field_3.field_1.field_6==3252553412)) && ((a5.field_4.field_4.field_3.field_2.field_1==-1.11328125) && (a5.field_4.field_4.field_3.field_2.field_2==48622469120) && (a5.field_4.field_4.field_3.field_2.field_3==107679637045248)) && ((a5.field_4.field_4.field_3.field_3.field_1==1.109375) && (a5.field_4.field_4.field_3.field_3.field_2==E_2_1))) && (((a5.field_4.field_4.field_4.field_1.field_1==811385302) && (a5.field_4.field_4.field_4.field_1.field_2==-0.640625) && (a5.field_4.field_4.field_4.field_1.field_3==-0.671875) && ((a5.field_4.field_4.field_4.field_1.field_4.field_1==-1.5625) && (a5.field_4.field_4.field_4.field_1.field_4.field_2==E_2_1))) && (a5.field_4.field_4.field_4.field_2==120)))))) {
+        goto bad;
+    }
+
+    if (!(a6==E_43_4)) {
+        goto bad;
+    }
+
+    if (!(a7==164)) {
+        goto bad;
+    }
+
+    return 2.984375;
+
+bad:
+    return 0.26171875;
+}
+
+t44
+fn_8_c(void)
+{
+    return (t44) {.field_1=1.1875};
+
+bad:
+    return (t44) {.field_1=0.03125};
+}
+
+t53
+fn_9_c(t45 a1, t46 a2, t45 a3, t47 a4, t48 a5, float a6, double a7, uint8_t a8, uint64_t a9, t49 a10)
+{
+    if (!(a1==E_45_6)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==4118535730))) {
+        goto bad;
+    }
+
+    if (!(a3==E_45_7)) {
+        goto bad;
+    }
+
+    if (!(a4==E_47_2)) {
+        goto bad;
+    }
+
+    if (!(a5==E_48_6)) {
+        goto bad;
+    }
+
+    if (!(a6==-0.21875)) {
+        goto bad;
+    }
+
+    if (!(a7==-1.4140625)) {
+        goto bad;
+    }
+
+    if (!(a8==162)) {
+        goto bad;
+    }
+
+    if (!(a9==170573566967808)) {
+        goto bad;
+    }
+
+    if (!(a10==E_49_5)) {
+        goto bad;
+    }
+
+    return (t53) {.field_1=-0.46875,.field_2=(t50) {.field_1=-0.28125,.field_2=(t39) {.field_1=(t30) {.field_1=3.50390625,.field_2=(t21) {.field_1=E_18_9,.field_2=298590436,.field_3=0.359375,.field_4=E_19_5,.field_5=(t20) {.field_1=2.28125,.field_2=-0.7421875,.field_3=(t12) {.field_1=-1.359375,.field_2=(t9) {.field_1=(t6) {.field_1=-1.53125,.field_2=E_2_2},.field_2=159748598530048,.field_3=(t6) {.field_1=1.328125,.field_2=E_2_2},.field_4=-0.546875,.field_5=146401660239872,.field_6=(t5) {.field_1=0.6875,.field_2=228983429529600,.field_3=105127852507136}},.field_3=(t10) {.field_1=-0.84375,.field_2=0.359375,.field_3=153705986129920},.field_4=-1.80859375,.field_5=E_11_1,.field_6=3.28125}},.field_6=(t15) {.field_1=(t5) {.field_1=1.96484375,.field_2=46322522914816,.field_3=96194539421696},.field_2=1.46875,.field_3=(t13) {.field_1=912869840,.field_2=(t8) {.field_1=(t3) {.field_1=176,.field_2=(t1) {.field_1=121643541069824,.field_2=41,.field_3=2802989848,.field_4=128,.field_5=2.15625,.field_6=-2.44921875},.field_3=1259853458,.field_4=E_2_2},.field_2=(t3) {.field_1=64,.field_2=(t1) {.field_1=86146197356544,.field_2=90,.field_3=3519983450,.field_4=58,.field_5=0.50390625,.field_6=-2.765625},.field_3=3211917080,.field_4=E_2_1}},.field_3=270136525455360,.field_4=-1.1875,.field_5=139},.field_4=(t14) {.field_1=146,.field_2=0.53125}}},.field_3=228868406378496,.field_4=0.90234375},.field_2=0.6796875,.field_3=158843979956224},.field_3=3350000678,.field_4=1.34375},.field_3=(t51) {.field_1=0.25390625},.field_4=3.8515625,.field_5=(t44) {.field_1=0.375},.field_6=(t52) {.field_1=(t23) {.field_1=271586366193664,.field_2=(t14) {.field_1=39,.field_2=-0.71875},.field_3=131323353497600,.field_4=(t22) {.field_1=1.34375,.field_2=129109365489664,.field_3=(t7) {.field_1=(t4) {.field_1=194,.field_2=-3.05078125,.field_3=181,.field_4=18560330366976,.field_5=E_2_3,.field_6=2277482010},.field_2=(t5) {.field_1=-1.61328125,.field_2=7613576773632,.field_3=190410156933120},.field_3=(t6) {.field_1=-1.4375,.field_2=E_2_2}},.field_4=(t17) {.field_1=(t16) {.field_1=2732417384,.field_2=-1.0625,.field_3=0.703125,.field_4=(t6) {.field_1=-0.921875,.field_2=E_2_5}},.field_2=137}}},.field_2=1.015625,.field_3=117426174033920,.field_4=25}};
+
+bad:
+    return (t53) {.field_1=0.328125,.field_2=(t50) {.field_1=-1.203125,.field_2=(t39) {.field_1=(t30) {.field_1=1.046875,.field_2=(t21) {.field_1=E_18_6,.field_2=4145360800,.field_3=0.3125,.field_4=E_19_6,.field_5=(t20) {.field_1=-2.0546875,.field_2=-3.3984375,.field_3=(t12) {.field_1=0.5625,.field_2=(t9) {.field_1=(t6) {.field_1=0.609375,.field_2=E_2_5},.field_2=221801050013696,.field_3=(t6) {.field_1=-0.296875,.field_2=E_2_6},.field_4=-0.78125,.field_5=263658707091456,.field_6=(t5) {.field_1=-2.4609375,.field_2=78100894187520,.field_3=172593887444992}},.field_3=(t10) {.field_1=-2.13671875,.field_2=-0.140625,.field_3=70190616412160},.field_4=-0.8671875,.field_5=E_11_2,.field_6=-0.33203125}},.field_6=(t15) {.field_1=(t5) {.field_1=-2.19140625,.field_2=202050438168576,.field_3=79035918319616},.field_2=0.421875,.field_3=(t13) {.field_1=3518277532,.field_2=(t8) {.field_1=(t3) {.field_1=226,.field_2=(t1) {.field_1=276554656776192,.field_2=116,.field_3=2062106064,.field_4=242,.field_5=-3.5,.field_6=-2.11328125},.field_3=793394830,.field_4=E_2_1},.field_2=(t3) {.field_1=232,.field_2=(t1) {.field_1=247826144034816,.field_2=241,.field_3=2988853828,.field_4=73,.field_5=2.61328125,.field_6=3.48828125},.field_3=960335446,.field_4=E_2_1}},.field_3=62990759493632,.field_4=1.0625,.field_5=62},.field_4=(t14) {.field_1=174,.field_2=-1.296875}}},.field_3=178677585936384,.field_4=2.82421875},.field_2=0.33984375,.field_3=240439403347968},.field_3=2488286120,.field_4=1.015625},.field_3=(t51) {.field_1=-0.0703125},.field_4=-0.79296875,.field_5=(t44) {.field_1=0.65625},.field_6=(t52) {.field_1=(t23) {.field_1=133232098148352,.field_2=(t14) {.field_1=218,.field_2=-0.984375},.field_3=118507166892032,.field_4=(t22) {.field_1=1.265625,.field_2=117681019027456,.field_3=(t7) {.field_1=(t4) {.field_1=155,.field_2=-3.7421875,.field_3=83,.field_4=136854257926144,.field_5=E_2_6,.field_6=93994772},.field_2=(t5) {.field_1=2.1328125,.field_2=224765803364352,.field_3=272524883394560},.field_3=(t6) {.field_1=1.5625,.field_2=E_2_5}},.field_4=(t17) {.field_1=(t16) {.field_1=824595126,.field_2=1.046875,.field_3=-1.375,.field_4=(t6) {.field_1=1.171875,.field_2=E_2_6}},.field_2=178}}},.field_2=0.734375,.field_3=130355430162432,.field_4=141}};
+}
+
+float
+fn_10_c(float a1, t55 a2, t43 a3)
+{
+    if (!(a1==-1.4375)) {
+        goto bad;
+    }
+
+    if (!(((a2.field_1.field_1==3.2734375) && ((a2.field_1.field_2.field_1==E_18_8) && (a2.field_1.field_2.field_2==298655464) && (a2.field_1.field_2.field_3==-1.21875) && (a2.field_1.field_2.field_4==E_19_6) && ((a2.field_1.field_2.field_5.field_1==-2.87109375) && (a2.field_1.field_2.field_5.field_2==3.77734375) && ((a2.field_1.field_2.field_5.field_3.field_1==0.15625) && (((a2.field_1.field_2.field_5.field_3.field_2.field_1.field_1==1.03125) && (a2.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_5)) && (a2.field_1.field_2.field_5.field_3.field_2.field_2==4317979738112) && ((a2.field_1.field_2.field_5.field_3.field_2.field_3.field_1==-0.375) && (a2.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_1)) && (a2.field_1.field_2.field_5.field_3.field_2.field_4==-0.625) && (a2.field_1.field_2.field_5.field_3.field_2.field_5==119942540689408) && ((a2.field_1.field_2.field_5.field_3.field_2.field_6.field_1==1.90234375) && (a2.field_1.field_2.field_5.field_3.field_2.field_6.field_2==84070773030912) && (a2.field_1.field_2.field_5.field_3.field_2.field_6.field_3==265295537897472))) && ((a2.field_1.field_2.field_5.field_3.field_3.field_1==-1.5078125) && (a2.field_1.field_2.field_5.field_3.field_3.field_2==-0.046875) && (a2.field_1.field_2.field_5.field_3.field_3.field_3==247680725286912)) && (a2.field_1.field_2.field_5.field_3.field_4==2.1484375) && (a2.field_1.field_2.field_5.field_3.field_5==E_11_1) && (a2.field_1.field_2.field_5.field_3.field_6==-0.6015625))) && (((a2.field_1.field_2.field_6.field_1.field_1==-1.84765625) && (a2.field_1.field_2.field_6.field_1.field_2==4068918427648) && (a2.field_1.field_2.field_6.field_1.field_3==127361585905664)) && (a2.field_1.field_2.field_6.field_2==0.6875) && ((a2.field_1.field_2.field_6.field_3.field_1==4144444706) && (((a2.field_1.field_2.field_6.field_3.field_2.field_1.field_1==65) && ((a2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==272708430856192) && (a2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==226) && (a2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_3==232384220) && (a2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_4==9) && (a2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_5==3.86328125) && (a2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_6==1.4609375)) && (a2.field_1.field_2.field_6.field_3.field_2.field_1.field_3==735172550) && (a2.field_1.field_2.field_6.field_3.field_2.field_1.field_4==E_2_6)) && ((a2.field_1.field_2.field_6.field_3.field_2.field_2.field_1==61) && ((a2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_1==558452178944) && (a2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_2==178) && (a2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_3==1092184810) && (a2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_4==98) && (a2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_5==1.76953125) && (a2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_6==0.4453125)) && (a2.field_1.field_2.field_6.field_3.field_2.field_2.field_3==3483926918) && (a2.field_1.field_2.field_6.field_3.field_2.field_2.field_4==E_2_3))) && (a2.field_1.field_2.field_6.field_3.field_3==240867814670336) && (a2.field_1.field_2.field_6.field_3.field_4==0.796875) && (a2.field_1.field_2.field_6.field_3.field_5==198)) && ((a2.field_1.field_2.field_6.field_4.field_1==86) && (a2.field_1.field_2.field_6.field_4.field_2==0.421875)))) && (a2.field_1.field_3==155213721894912) && (a2.field_1.field_4==-0.5859375)) && (a2.field_2==15967994380288) && ((a2.field_3.field_1==0.984375) && (a2.field_3.field_2==E_2_3) && (a2.field_3.field_3==E_43_4)) && (a2.field_4==0.09375))) {
+        goto bad;
+    }
+
+    if (!(a3==E_43_4)) {
+        goto bad;
+    }
+
+    return 1.0;
+
+bad:
+    return 0.125;
+}
+
+uint32_t
+fn_11_c(t40 a1, uint64_t a2, t59 a3)
+{
+    if (!((((a1.field_1.field_1.field_1==-1.875) && ((a1.field_1.field_1.field_2.field_1==E_18_7) && (a1.field_1.field_1.field_2.field_2==3060119432) && (a1.field_1.field_1.field_2.field_3==1.4375) && (a1.field_1.field_1.field_2.field_4==E_19_8) && ((a1.field_1.field_1.field_2.field_5.field_1==-3.14453125) && (a1.field_1.field_1.field_2.field_5.field_2==1.421875) && ((a1.field_1.field_1.field_2.field_5.field_3.field_1==0.171875) && (((a1.field_1.field_1.field_2.field_5.field_3.field_2.field_1.field_1==1.28125) && (a1.field_1.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_1)) && (a1.field_1.field_1.field_2.field_5.field_3.field_2.field_2==115694040645632) && ((a1.field_1.field_1.field_2.field_5.field_3.field_2.field_3.field_1==0.515625) && (a1.field_1.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_6)) && (a1.field_1.field_1.field_2.field_5.field_3.field_2.field_4==0.78125) && (a1.field_1.field_1.field_2.field_5.field_3.field_2.field_5==83317925609472) && ((a1.field_1.field_1.field_2.field_5.field_3.field_2.field_6.field_1==-0.16015625) && (a1.field_1.field_1.field_2.field_5.field_3.field_2.field_6.field_2==49194524213248) && (a1.field_1.field_1.field_2.field_5.field_3.field_2.field_6.field_3==99285919989760))) && ((a1.field_1.field_1.field_2.field_5.field_3.field_3.field_1==-1.60546875) && (a1.field_1.field_1.field_2.field_5.field_3.field_3.field_2==0.359375) && (a1.field_1.field_1.field_2.field_5.field_3.field_3.field_3==242615500275712)) && (a1.field_1.field_1.field_2.field_5.field_3.field_4==2.5546875) && (a1.field_1.field_1.field_2.field_5.field_3.field_5==E_11_1) && (a1.field_1.field_1.field_2.field_5.field_3.field_6==0.984375))) && (((a1.field_1.field_1.field_2.field_6.field_1.field_1==-1.34375) && (a1.field_1.field_1.field_2.field_6.field_1.field_2==86155678318592) && (a1.field_1.field_1.field_2.field_6.field_1.field_3==125076719534080)) && (a1.field_1.field_1.field_2.field_6.field_2==1.15625) && ((a1.field_1.field_1.field_2.field_6.field_3.field_1==2526692668) && (((a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_1==243) && ((a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==162605589856256) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==217) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_3==2977687486) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_4==74) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_5==2.37109375) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_6==1.49609375)) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_3==1665217660) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_1.field_4==E_2_3)) && ((a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_1==63) && ((a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_1==83432466808832) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_2==163) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_3==2825472336) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_4==245) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_5==0.5078125) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_6==-0.71875)) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_3==1094350794) && (a1.field_1.field_1.field_2.field_6.field_3.field_2.field_2.field_4==E_2_1))) && (a1.field_1.field_1.field_2.field_6.field_3.field_3==163990210084864) && (a1.field_1.field_1.field_2.field_6.field_3.field_4==0.34375) && (a1.field_1.field_1.field_2.field_6.field_3.field_5==86)) && ((a1.field_1.field_1.field_2.field_6.field_4.field_1==50) && (a1.field_1.field_1.field_2.field_6.field_4.field_2==-0.09375)))) && (a1.field_1.field_1.field_3==46874424901632) && (a1.field_1.field_1.field_4==-2.23046875)) && (a1.field_1.field_2==-3.16015625) && (a1.field_1.field_3==13915619000
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!(a2==64581458329600)) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==E_56_6) && (a3.field_2==2175957910) && ((a3.field_3.field_1==E_26_6) && (a3.field_3.field_2==168) && ((a3.field_3.field_3.field_1==80343449468928) && (a3.field_3.field_3.field_2==E_41_3) && (a3.field_3.field_3.field_3==458518304) && ((a3.field_3.field_3.field_4.field_1==132879007088640) && ((a3.field_3.field_3.field_4.field_2.field_1==141) && (a3.field_3.field_3.field_4.field_2.field_2==0.3125)) && (a3.field_3.field_3.field_4.field_3==67929798082560) && ((a3.field_3.field_3.field_4.field_4.field_1==-0.65625) && (a3.field_3.field_3.field_4.field_4.field_2==121657342951424) && (((a3.field_3.field_3.field_4.field_4.field_3.field_1.field_1==53) && (a3.field_3.field_3.field_4.field_4.field_3.field_1.field_2==-0.0546875) && (a3.field_3.field_3.field_4.field_4.field_3.field_1.field_3==110) && (a3.field_3.field_3.field_4.field_4.field_3.field_1.field_4==109205112356864) && (a3.field_3.field_3.field_4.field_4.field_3.field_1.field_5==E_2_5) && (a3.field_3.field_3.field_4.field_4.field_3.field_1.field_6==3971726706)) && ((a3.field_3.field_3.field_4.field_4.field_3.field_2.field_1==-3.20703125) && (a3.field_3.field_3.field_4.field_4.field_3.field_2.field_2==177956855611392) && (a3.field_3.field_3.field_4.field_4.field_3.field_2.field_3==219483313799168)) && ((a3.field_3.field_3.field_4.field_4.field_3.field_3.field_1==1.265625) && (a3.field_3.field_3.field_4.field_4.field_3.field_3.field_2==E_2_6))) && (((a3.field_3.field_3.field_4.field_4.field_4.field_1.field_1==2465490790) && (a3.field_3.field_3.field_4.field_4.field_4.field_1.field_2==0.53125) && (a3.field_3.field_3.field_4.field_4.field_4.field_1.field_3==-0.078125) && ((a3.field_3.field_3.field_4.field_4.field_4.field_1.field_4.field_1==0.3125) && (a3.field_3.field_3.field_4.field_4.field_4.field_1.field_4.field_2==E_2_2))) && (a3.field_3.field_3.field_4.field_4.field_4.field_2==219))))) && ((a3.field_3.field_4.field_1==-0.828125) && (((a3.field_3.field_4.field_2.field_1.field_1==1.484375) && (a3.field_3.field_4.field_2.field_1.field_2==E_2_3)) && (a3.field_3.field_4.field_2.field_2==223230053711872) && ((a3.field_3.field_4.field_2.field_3.field_1==0.421875) && (a3.field_3.field_4.field_2.field_3.field_2==E_2_4)) && (a3.field_3.field_4.field_2.field_4==-0.875) && (a3.field_3.field_4.field_2.field_5==208129902903296) && ((a3.field_3.field_4.field_2.field_6.field_1==-2.94921875) && (a3.field_3.field_4.field_2.field_6.field_2==217811484278784) && (a3.field_3.field_4.field_2.field_6.field_3==95447919886336))) && ((a3.field_3.field_4.field_3.field_1==-1.0625) && (a3.field_3.field_4.field_3.field_2==-1.375) && (a3.field_3.field_4.field_3.field_3==217105262837760)) && (a3.field_3.field_4.field_4==0.5546875) && (a3.field_3.field_4.field_5==E_11_4) && (a3.field_3.field_4.field_6==-2.32421875)) && (a3.field_3.field_5==4119368836) && (a3.field_3.field_6==-0.484375)) && ((a3.field_4.field_1==E_19_2) && ((a3.field_4.field_2.field_1==-3.52734375) && ((a3.field_4.field_2.field_2.field_1==E_18_9) && (a3.field_4.field_2.field_2.field_2==3895962858) && (a3.field_4.field_2.field_2.field_3==1.40625) && (a3.field_4.field_2.field_2.field_4==E_19_8) && ((a3.field_4.field_2.field_2.field_5.field_1==-0.1484375) && (a3.field_4.field_2.field_2.field_5.field_2==0.92578125) && ((a3.field_4.field_2.field_2.field_5.field_3.field_1==-0.265625) && (((a3.field_4.field_2.field_2.field_5.field_3.field_2.field_1.field_1==-1.328125) && (a3.field_4.field_2.field_2.field_5.field_3.field_2.field_1.field_2==E_2_5)) && (a3.field_4.field_2.field_2.field_5.field_3.field_2.field_2==76685686865920) && ((a3.field_4.field_2.field_2.field_5.field_3.field_2.field_3.field_1==-0.578125) && (a3.field_4.field_2.field_2.field_5.field_3.field_2.field_3.field_2==E_2_5)) && (a3.field_4.field_2.field_2.field_5.field_3.field_2.field_4==0.4375) && (a3.field_4.field_2.field_2.field_5.field_3.field_2.field_5==31133991829504) && ((a3.field_4.field_2.field_2.field_5.field_3.field_2.field_6.field_1==-0.59765625) && (a3.field_4.field_2.field_2.field_5.field_3.field_2.field_6.field_2==81066773446656) && (a3.field_4.fiel
\ No newline at end of file
+        goto bad;
+    }
+
+    return 3531194568;
+
+bad:
+    return 1575783646;
+}
+
+uint32_t
+fn_12_c(t63 a1, double a2, uint32_t a3, t68 a4)
+{
+    if (!(((a1.field_1.field_1==1) && (a1.field_1.field_2==-0.953125) && (a1.field_1.field_3==28380691169280) && ((a1.field_1.field_4.field_1==266791176896512) && (a1.field_1.field_4.field_2==173) && (a1.field_1.field_4.field_3==841702660) && (a1.field_1.field_4.field_4==225) && (a1.field_1.field_4.field_5==-2.734375) && (a1.field_1.field_4.field_6==-2.24609375))) && ((a1.field_2.field_1==-0.875) && ((a1.field_2.field_2.field_1==2975373622) && (a1.field_2.field_2.field_2==1.46875) && (a1.field_2.field_2.field_3==-0.828125) && ((a1.field_2.field_2.field_4.field_1==0.390625) && (a1.field_2.field_2.field_4.field_2==E_2_2)))) && (a1.field_3==0.515625) && ((a1.field_4.field_1==E_18_1) && (((a1.field_4.field_2.field_1.field_1==124) && (a1.field_4.field_2.field_1.field_2==0.00390625) && (a1.field_4.field_2.field_1.field_3==79) && (a1.field_4.field_2.field_1.field_4==236261015289856) && (a1.field_4.field_2.field_1.field_5==E_2_3) && (a1.field_4.field_2.field_1.field_6==2156655358)) && ((a1.field_4.field_2.field_2.field_1==2.4140625) && (a1.field_4.field_2.field_2.field_2==51905146388480) && (a1.field_4.field_2.field_2.field_3==223439089434624)) && ((a1.field_4.field_2.field_3.field_1==0.53125) && (a1.field_4.field_2.field_3.field_2==E_2_1)))) && (a1.field_5==255485003694080) && (a1.field_6==3.1015625))) {
+        goto bad;
+    }
+
+    if (!(a2==3.234375)) {
+        goto bad;
+    }
+
+    if (!(a3==1992315490)) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==E_64_6) && ((a4.field_2.field_1==-1.48828125) && (a4.field_2.field_2==1219436194) && (a4.field_2.field_3==50) && (a4.field_2.field_4==41975805771776) && (a4.field_2.field_5==2064448724) && (a4.field_2.field_6==122353563467776)) && (((a4.field_3.field_1.field_1==E_56_2) && (a4.field_3.field_1.field_2==1046332580) && ((a4.field_3.field_1.field_3.field_1==E_26_8) && (a4.field_3.field_1.field_3.field_2==209) && ((a4.field_3.field_1.field_3.field_3.field_1==142694099582976) && (a4.field_3.field_1.field_3.field_3.field_2==E_41_2) && (a4.field_3.field_1.field_3.field_3.field_3==1010741440) && ((a4.field_3.field_1.field_3.field_3.field_4.field_1==61520011984896) && ((a4.field_3.field_1.field_3.field_3.field_4.field_2.field_1==110) && (a4.field_3.field_1.field_3.field_3.field_4.field_2.field_2==-0.125)) && (a4.field_3.field_1.field_3.field_3.field_4.field_3==32251070906368) && ((a4.field_3.field_1.field_3.field_3.field_4.field_4.field_1==-0.546875) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_2==100567390355456) && (((a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_1==16) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_2==-2.8671875) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_3==38) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_4==106528154320896) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_5==E_2_6) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_6==154283124)) && ((a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_2.field_1==-2.69140625) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_2.field_2==121530523058176) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_2.field_3==195491981033472)) && ((a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_3.field_1==0.296875) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_3.field_2==E_2_5))) && (((a4.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_1==1183512522) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_2==1.265625) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_3==-1.453125) && ((a4.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_4.field_1==-0.09375) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_4.field_2==E_2_1))) && (a4.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_2==132))))) && ((a4.field_3.field_1.field_3.field_4.field_1==1.28125) && (((a4.field_3.field_1.field_3.field_4.field_2.field_1.field_1==-0.65625) && (a4.field_3.field_1.field_3.field_4.field_2.field_1.field_2==E_2_5)) && (a4.field_3.field_1.field_3.field_4.field_2.field_2==177899132157952) && ((a4.field_3.field_1.field_3.field_4.field_2.field_3.field_1==-1.234375) && (a4.field_3.field_1.field_3.field_4.field_2.field_3.field_2==E_2_2)) && (a4.field_3.field_1.field_3.field_4.field_2.field_4==1.4375) && (a4.field_3.field_1.field_3.field_4.field_2.field_5==97002546921472) && ((a4.field_3.field_1.field_3.field_4.field_2.field_6.field_1==-0.09375) && (a4.field_3.field_1.field_3.field_4.field_2.field_6.field_2==109686219472896) && (a4.field_3.field_1.field_3.field_4.field_2.field_6.field_3==226948153081856))) && ((a4.field_3.field_1.field_3.field_4.field_3.field_1==0.80078125) && (a4.field_3.field_1.field_3.field_4.field_3.field_2==0.6875) && (a4.field_3.field_1.field_3.field_4.field_3.field_3==46040566726656)) && (a4.field_3.field_1.field_3.field_4.field_4==1.30859375) && (a4.field_3.field_1.field_3.field_4.field_5==E_11_6) && (a4.field_3.field_1.field_3.field_4.field_6==-1.4609375)) && (a4.field_3.field_1.field_3.field_5==197005372) && (a4.field_3.field_1.field_3.field_6==0.640625)) && ((a4.field_3.field_1.field_4.field_1==E_19_3) && ((a4.field_3.field_1.field_4.field_2.field_1==-2.33203125) && ((a4.field_3.field_1.field_4.field_2.field_2.field_1==E_18_2) && (a4.field_3.
\ No newline at end of file
+        goto bad;
+    }
+
+    return 2964505044;
+
+bad:
+    return 415294892;
+}
+
+t74
+fn_13_c(t26 a1, uint32_t a2, t70 a3, double a4, t73 a5)
+{
+    if (!(a1==E_26_9)) {
+        goto bad;
+    }
+
+    if (!(a2==2931952582)) {
+        goto bad;
+    }
+
+    if (!(((a3.field_1.field_1==E_29_2) && (a3.field_1.field_2==220) && (a3.field_1.field_3==281245651828737) && (a3.field_1.field_4==161440489930752)))) {
+        goto bad;
+    }
+
+    if (!(a4==0.62890625)) {
+        goto bad;
+    }
+
+    if (!((a5.field_1==0.90625) && ((a5.field_2.field_1==109360486285312) && (a5.field_2.field_2==-2.51953125) && (a5.field_2.field_3==3374314812) && (a5.field_2.field_4==4132094974) && (a5.field_2.field_5==143973346836480)) && ((a5.field_3.field_1==93) && (a5.field_3.field_2==3133286358) && (a5.field_3.field_3==129)) && (a5.field_4==0.76953125))) {
+        goto bad;
+    }
+
+    return E_74_6;
+
+bad:
+    return E_74_2;
+}
+
+uint64_t
+fn_14_c(uint32_t a1, uint8_t a2, t78 a3, t81 a4, t32 a5, t82 a6, t85 a7)
+{
+    if (!(a1==2391308062)) {
+        goto bad;
+    }
+
+    if (!(a2==66)) {
+        goto bad;
+    }
+
+    if (!(((a3.field_1.field_1==85) && (a3.field_1.field_2==-2.80859375) && (a3.field_1.field_3==155146548)) && ((a3.field_2.field_1==235) && (a3.field_2.field_2==-1.2890625)) && (a3.field_3==E_77_8))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==E_79_1) && (a4.field_2==274420389904384) && (a4.field_3==E_80_2))) {
+        goto bad;
+    }
+
+    if (!((a5.field_1==1325686188))) {
+        goto bad;
+    }
+
+    if (!(a6==E_82_5)) {
+        goto bad;
+    }
+
+    if (!((a7.field_1==558424532) && (((a7.field_2.field_1.field_1==206) && ((a7.field_2.field_1.field_2.field_1==150202022100992) && (a7.field_2.field_1.field_2.field_2==157) && (a7.field_2.field_1.field_2.field_3==860064444) && (a7.field_2.field_1.field_2.field_4==215) && (a7.field_2.field_1.field_2.field_5==-1.9765625) && (a7.field_2.field_1.field_2.field_6==-2.18359375)) && (a7.field_2.field_1.field_3==2792603168) && (a7.field_2.field_1.field_4==E_2_1)) && ((a7.field_2.field_2.field_1==47) && ((a7.field_2.field_2.field_2.field_1==209371989409792) && (a7.field_2.field_2.field_2.field_2==167) && (a7.field_2.field_2.field_2.field_3==1162519188) && (a7.field_2.field_2.field_2.field_4==232) && (a7.field_2.field_2.field_2.field_5==2.2109375) && (a7.field_2.field_2.field_2.field_6==3.82421875)) && (a7.field_2.field_2.field_3==2196829234) && (a7.field_2.field_2.field_4==E_2_2))) && (a7.field_3==239020664553472) && (a7.field_4==645390774) && (((a7.field_5.field_1.field_1==0.375) && ((a7.field_5.field_1.field_2.field_1==-3.5625) && (((a7.field_5.field_1.field_2.field_2.field_1.field_1==1.97265625) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_1==E_18_8) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_2==3857006490) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_3==1.4375) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_4==E_19_8) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_1==3.66015625) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_2==2.25390625) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_1==-0.5) && (((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_1==-1.265625) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_4)) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_2==246081152876544) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_1==0.671875) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_5)) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_4==0.6875) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_5==270577423351808) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_1==-3.7734375) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_2==103229432922112) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_3==25981307060224))) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_1==-2.328125) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_2==-1.21875) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_3==210485456797696)) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_4==-0.21484375) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_5==E_11_1) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_6==0.23828125))) && (((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_1==-0.296875) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_2==149437025615872) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_3==217610901782528)) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_2==-0.59375) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_1==2925618826) && (((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_1==100) && ((a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==100015436857344) && (a7.field_5.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==
\ No newline at end of file
+        goto bad;
+    }
+
+    return 278379121082369;
+
+bad:
+    return 71555255238656;
+}
+
+t102
+fn_15_c(t86 a1, t69 a2, t88 a3, t93 a4, t95 a5, t25 a6, float a7, t60 a8, t97 a9, t100 a10)
+{
+    if (!(a1==E_86_10)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==E_29_3) && (a2.field_2==174) && (a2.field_3==120887724867584) && (a2.field_4==122558970331136))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==E_87_6) && (a3.field_2==E_19_4) && ((a3.field_3.field_1==13773365706752) && (a3.field_3.field_2==103) && (a3.field_3.field_3==2174769352) && (a3.field_3.field_4==176) && (a3.field_3.field_5==-3.88671875) && (a3.field_3.field_6==-0.2578125)) && (a3.field_4==E_48_7))) {
+        goto bad;
+    }
+
+    if (!(((a4.field_1.field_1==2.3515625) && (a4.field_1.field_2==0.375) && (((a4.field_1.field_3.field_1.field_1==225) && (a4.field_1.field_3.field_1.field_2==3.30859375) && (a4.field_1.field_3.field_1.field_3==307894648)) && ((a4.field_1.field_3.field_2.field_1==11) && (a4.field_1.field_3.field_2.field_2==1.78125)) && (a4.field_1.field_3.field_3==E_77_8))) && (a4.field_2==E_90_6) && (((a4.field_3.field_1.field_1==-0.5234375) && (a4.field_3.field_1.field_2==132763972009984) && (a4.field_3.field_1.field_3==229659410694144)) && (a4.field_3.field_2==-0.78125) && ((a4.field_3.field_3.field_1==1759559384) && (((a4.field_3.field_3.field_2.field_1.field_1==49) && ((a4.field_3.field_3.field_2.field_1.field_2.field_1==136392379072512) && (a4.field_3.field_3.field_2.field_1.field_2.field_2==89) && (a4.field_3.field_3.field_2.field_1.field_2.field_3==217892376) && (a4.field_3.field_3.field_2.field_1.field_2.field_4==68) && (a4.field_3.field_3.field_2.field_1.field_2.field_5==-2.91796875) && (a4.field_3.field_3.field_2.field_1.field_2.field_6==-1.44140625)) && (a4.field_3.field_3.field_2.field_1.field_3==411030898) && (a4.field_3.field_3.field_2.field_1.field_4==E_2_2)) && ((a4.field_3.field_3.field_2.field_2.field_1==22) && ((a4.field_3.field_3.field_2.field_2.field_2.field_1==172726771253248) && (a4.field_3.field_3.field_2.field_2.field_2.field_2==126) && (a4.field_3.field_3.field_2.field_2.field_2.field_3==1394729466) && (a4.field_3.field_3.field_2.field_2.field_2.field_4==253) && (a4.field_3.field_3.field_2.field_2.field_2.field_5==1.3359375) && (a4.field_3.field_3.field_2.field_2.field_2.field_6==-1.6875)) && (a4.field_3.field_3.field_2.field_2.field_3==691362998) && (a4.field_3.field_3.field_2.field_2.field_4==E_2_3))) && (a4.field_3.field_3.field_3==253720887820288) && (a4.field_3.field_3.field_4==-1.4375) && (a4.field_3.field_3.field_5==101)) && ((a4.field_3.field_4.field_1==249) && (a4.field_3.field_4.field_2==-1.296875))) && ((a4.field_4.field_1==528531976) && ((a4.field_4.field_2.field_1==261386844897280) && (a4.field_4.field_2.field_2==1.84765625) && (a4.field_4.field_2.field_3==2388631154) && (a4.field_4.field_2.field_4==1719296880) && (a4.field_4.field_2.field_5==155468073926656)) && (a4.field_4.field_3==3470986990) && (a4.field_4.field_4==3478856264)) && ((a4.field_5.field_1==3194978670) && (a4.field_5.field_2==1257202236) && (a4.field_5.field_3==678627422)))) {
+        goto bad;
+    }
+
+    if (!((a5.field_1==-0.953125) && (a5.field_2==1149891486) && (a5.field_3==E_94_1))) {
+        goto bad;
+    }
+
+    if (!((a6.field_1==E_24_7) && ((a6.field_2.field_1==0.953125) && (a6.field_2.field_2==E_2_3)))) {
+        goto bad;
+    }
+
+    if (!(a7==0.65625)) {
+        goto bad;
+    }
+
+    if (!((a8.field_1==174) && (a8.field_2==0.140625) && (a8.field_3==211052441108480) && ((a8.field_4.field_1==171324051947520) && (a8.field_4.field_2==72) && (a8.field_4.field_3==1314068538) && (a8.field_4.field_4==2) && (a8.field_4.field_5==2.62109375) && (a8.field_4.field_6==-3.015625)))) {
+        goto bad;
+    }
+
+    if (!((((a9.field_1.field_1.field_1==3.0234375) && (a9.field_1.field_1.field_2==1.390625) && (((a9.field_1.field_1.field_3.field_1.field_1==51) && (a9.field_1.field_1.field_3.field_1.field_2==-2.76953125) && (a9.field_1.field_1.field_3.field_1.field_3==3019798602)) && ((a9.field_1.field_1.field_3.field_2.field_1==1) && (a9.field_1.field_1.field_3.field_2.field_2==0.5078125)) && (a9.field_1.field_1.field_3.field_3==E_77_8))) && (a9.field_1.field_2==E_90_7) && (((a9.field_1.field_3.field_1.field_1==-3.71484375) && (a9.field_1.field_3.field_1.field_2==157999771287552) && (a9.field_1.field_3.field_1.field_3==111072570245120)) && (a9.field_1.field_3.field_2==0.21875) && ((a9.field_1.field_3.field_3.field_1==1336322566) && (((a9.field_1.field_3.field_3.field_2.field_1.field_1==0) && ((a9.field_1.field_3.field_3.field_2.field_1.field_2.field_1==240426317512704) && (a9.field_1.field_3.field_3.field_2.field_1.field_2.field_2==157) && (a9.field_1.field_3.field_3.field_2.field_1.field_2.field_3==52590348) && (a9.field_1.field_3.field_3.field_2.field_1.field_2.field_4==176) && (a9.field_1.field_3.field_3.field_2.field_1.field_2.field_5==1.80859375) && (a9.field_1.field_3.field_3.field_2.field_1.field_2.field_6==2.58984375)) && (a9.field_1.field_3.field_3.field_2.field_1.field_3==1153624366) && (a9.field_1.field_3.field_3.field_2.field_1.field_4==E_2_1)) && ((a9.field_1.field_3.field_3.field_2.field_2.field_1==206) && ((a9.field_1.field_3.field_3.field_2.field_2.field_2.field_1==180814220492800) && (a9.field_1.field_3.field_3.field_2.field_2.field_2.field_2==26) && (a9.field_1.field_3.field_3.field_2.field_2.field_2.field_3==299703506) && (a9.field_1.field_3.field_3.field_2.field_2.field_2.field_4==32) && (a9.field_1.field_3.field_3.field_2.field_2.field_2.field_5==1.73828125) && (a9.field_1.field_3.field_3.field_2.field_2.field_2.field_6==3.32421875)) && (a9.field_1.field_3.field_3.field_2.field_2.field_3==3465599182) && (a9.field_1.field_3.field_3.field_2.field_2.field_4==E_2_4))) && (a9.field_1.field_3.field_3.field_3==244610903965696) && (a9.field_1.field_3.field_3.field_4==-1.546875) && (a9.field_1.field_3.field_3.field_5==193)) && ((a9.field_1.field_3.field_4.field_1==146) && (a9.field_1.field_3.field_4.field_2==-1.515625))) && ((a9.field_1.field_4.field_1==1374840658) && ((a9.field_1.field_4.field_2.field_1==142626650193920) && (a9.field_1.field_4.field_2.field_2==1.80859375) && (a9.field_1.field_4.field_2.field_3==1480961136) && (a9.field_1.field_4.field_2.field_4==292227856) && (a9.field_1.field_4.field_2.field_5==35406836006912)) && (a9.field_1.field_4.field_3==3934363586) && (a9.field_1.field_4.field_4==1628550422)) && ((a9.field_1.field_5.field_1==554328638) && (a9.field_1.field_5.field_2==3308010754) && (a9.field_1.field_5.field_3==4278941526))) && (a9.field_2==-2.8046875) && ((a9.field_3.field_1==-0.31640625) && (a9.field_3.field_2==1.77734375)))) {
+        goto bad;
+    }
+
+    if (!(((((a10.field_1.field_1.field_1.field_1==-0.578125) && ((a10.field_1.field_1.field_1.field_2.field_1==-0.7265625) && (((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_1==-2.6015625) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_1==E_18_5) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_2==3722140840) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_3==1.234375) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_4==E_19_4) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_1==0.7421875) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_2==2.03125) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_1==-0.90625) && (((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_1==1.46875) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_5)) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_2==16987441070080) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_1==-0.125) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_3)) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_4==1.0625) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_5==215665831968768) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_1==1.7265625) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_2==135345495736320) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_3==22229593620480))) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_1==2.16015625) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_2==0.625) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_3==114942210998272)) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_4==-2.71484375) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_5==E_11_3) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_6==-0.2421875))) && (((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_1==2.91796875) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_2==59953140727808) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_3==184442813546496)) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_2==0.03125) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_1==1648496868) && (((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_1==248) && ((a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==258110700650496) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==141) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_3==1835743428) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_4==200) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_5==-0.42578125) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_6==2.7890625)) && (a10.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_3==1625618080) && (a10.field_1.fi
\ No newline at end of file
+        goto bad;
+    }
+
+    return (t102) {.field_1=0.25,.field_2=(t21) {.field_1=E_18_6,.field_2=696503716,.field_3=-1.078125,.field_4=E_19_6,.field_5=(t20) {.field_1=-3.4140625,.field_2=1.85546875,.field_3=(t12) {.field_1=-0.046875,.field_2=(t9) {.field_1=(t6) {.field_1=-0.015625,.field_2=E_2_2},.field_2=1680566779904,.field_3=(t6) {.field_1=-1.234375,.field_2=E_2_1},.field_4=0.578125,.field_5=246387639451648,.field_6=(t5) {.field_1=-2.4140625,.field_2=21180950511616,.field_3=63676999925760}},.field_3=(t10) {.field_1=-0.5546875,.field_2=0.375,.field_3=4498010144768},.field_4=-2.86328125,.field_5=E_11_4,.field_6=-1.4765625}},.field_6=(t15) {.field_1=(t5) {.field_1=1.16015625,.field_2=206263158308864,.field_3=67183469658112},.field_2=0.875,.field_3=(t13) {.field_1=2520041722,.field_2=(t8) {.field_1=(t3) {.field_1=194,.field_2=(t1) {.field_1=28598144729088,.field_2=42,.field_3=1389583824,.field_4=67,.field_5=-1.390625,.field_6=-3.390625},.field_3=1403784366,.field_4=E_2_1},.field_2=(t3) {.field_1=141,.field_2=(t1) {.field_1=230715822833664,.field_2=65,.field_3=2399362858,.field_4=237,.field_5=-1.59375,.field_6=-2.0},.field_3=3443253262,.field_4=E_2_3}},.field_3=89840887529472,.field_4=-1.484375,.field_5=234},.field_4=(t14) {.field_1=240,.field_2=-1.4375}}},.field_3=(t101) {.field_1=-1.40625},.field_4=-0.23828125};
+
+bad:
+    return (t102) {.field_1=-0.453125,.field_2=(t21) {.field_1=E_18_7,.field_2=869338882,.field_3=0.296875,.field_4=E_19_4,.field_5=(t20) {.field_1=2.26171875,.field_2=-1.1328125,.field_3=(t12) {.field_1=0.25,.field_2=(t9) {.field_1=(t6) {.field_1=1.421875,.field_2=E_2_5},.field_2=237789654155264,.field_3=(t6) {.field_1=-0.703125,.field_2=E_2_5},.field_4=-1.03125,.field_5=94734685962240,.field_6=(t5) {.field_1=-1.58203125,.field_2=279028912488449,.field_3=166458857750528}},.field_3=(t10) {.field_1=2.78515625,.field_2=1.3125,.field_3=249786336149504},.field_4=-3.125,.field_5=E_11_5,.field_6=-0.98046875}},.field_6=(t15) {.field_1=(t5) {.field_1=-0.62890625,.field_2=210339456876544,.field_3=81998632321024},.field_2=-0.4375,.field_3=(t13) {.field_1=3398079470,.field_2=(t8) {.field_1=(t3) {.field_1=87,.field_2=(t1) {.field_1=233528477483008,.field_2=37,.field_3=174654276,.field_4=8,.field_5=1.875,.field_6=0.15625},.field_3=3527113970,.field_4=E_2_1},.field_2=(t3) {.field_1=25,.field_2=(t1) {.field_1=218524851896320,.field_2=198,.field_3=4062706894,.field_4=13,.field_5=0.1484375,.field_6=-2.98828125},.field_3=1675854050,.field_4=E_2_5}},.field_3=30645607858176,.field_4=1.515625,.field_5=172},.field_4=(t14) {.field_1=6,.field_2=1.15625}}},.field_3=(t101) {.field_1=0.859375},.field_4=1.921875};
+}
+
+t15
+fn_16_c(uint64_t a1, t57 a2)
+{
+    if (!(a1==138813818142720)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==E_26_3) && (a2.field_2==224) && ((a2.field_3.field_1==107786496507904) && (a2.field_3.field_2==E_41_3) && (a2.field_3.field_3==3940023518) && ((a2.field_3.field_4.field_1==116812990251008) && ((a2.field_3.field_4.field_2.field_1==43) && (a2.field_3.field_4.field_2.field_2==-0.203125)) && (a2.field_3.field_4.field_3==66490954678272) && ((a2.field_3.field_4.field_4.field_1==-0.734375) && (a2.field_3.field_4.field_4.field_2==151595749212160) && (((a2.field_3.field_4.field_4.field_3.field_1.field_1==3) && (a2.field_3.field_4.field_4.field_3.field_1.field_2==-3.59765625) && (a2.field_3.field_4.field_4.field_3.field_1.field_3==124) && (a2.field_3.field_4.field_4.field_3.field_1.field_4==18634915053568) && (a2.field_3.field_4.field_4.field_3.field_1.field_5==E_2_4) && (a2.field_3.field_4.field_4.field_3.field_1.field_6==2585846002)) && ((a2.field_3.field_4.field_4.field_3.field_2.field_1==-0.33984375) && (a2.field_3.field_4.field_4.field_3.field_2.field_2==105850133544960) && (a2.field_3.field_4.field_4.field_3.field_2.field_3==200111611576320)) && ((a2.field_3.field_4.field_4.field_3.field_3.field_1==-0.1875) && (a2.field_3.field_4.field_4.field_3.field_3.field_2==E_2_1))) && (((a2.field_3.field_4.field_4.field_4.field_1.field_1==3167428002) && (a2.field_3.field_4.field_4.field_4.field_1.field_2==-0.609375) && (a2.field_3.field_4.field_4.field_4.field_1.field_3==1.015625) && ((a2.field_3.field_4.field_4.field_4.field_1.field_4.field_1==-0.046875) && (a2.field_3.field_4.field_4.field_4.field_1.field_4.field_2==E_2_4))) && (a2.field_3.field_4.field_4.field_4.field_2==4))))) && ((a2.field_4.field_1==1.5) && (((a2.field_4.field_2.field_1.field_1==-1.296875) && (a2.field_4.field_2.field_1.field_2==E_2_4)) && (a2.field_4.field_2.field_2==73429141815296) && ((a2.field_4.field_2.field_3.field_1==1.453125) && (a2.field_4.field_2.field_3.field_2==E_2_6)) && (a2.field_4.field_2.field_4==0.59375) && (a2.field_4.field_2.field_5==247630766538752) && ((a2.field_4.field_2.field_6.field_1==-1.03515625) && (a2.field_4.field_2.field_6.field_2==242640090824704) && (a2.field_4.field_2.field_6.field_3==89287634190336))) && ((a2.field_4.field_3.field_1==0.8125) && (a2.field_4.field_3.field_2==-1.171875) && (a2.field_4.field_3.field_3==240883383402496)) && (a2.field_4.field_4==0.91015625) && (a2.field_4.field_5==E_11_2) && (a2.field_4.field_6==-1.25)) && (a2.field_5==2931638482) && (a2.field_6==0.71875))) {
+        goto bad;
+    }
+
+    return (t15) {.field_1=(t5) {.field_1=-3.1015625,.field_2=183885376782336,.field_3=162392907317248},.field_2=-1.09375,.field_3=(t13) {.field_1=1678328882,.field_2=(t8) {.field_1=(t3) {.field_1=226,.field_2=(t1) {.field_1=274580443365376,.field_2=223,.field_3=1866442708,.field_4=253,.field_5=2.7421875,.field_6=0.16015625},.field_3=2411587072,.field_4=E_2_1},.field_2=(t3) {.field_1=123,.field_2=(t1) {.field_1=144693939929088,.field_2=205,.field_3=1556663324,.field_4=225,.field_5=1.2890625,.field_6=1.40234375},.field_3=2084842492,.field_4=E_2_5}},.field_3=150713528483840,.field_4=-1.25,.field_5=245},.field_4=(t14) {.field_1=224,.field_2=0.890625}};
+
+bad:
+    return (t15) {.field_1=(t5) {.field_1=1.46484375,.field_2=230270032019456,.field_3=259894633955328},.field_2=0.90625,.field_3=(t13) {.field_1=2024542726,.field_2=(t8) {.field_1=(t3) {.field_1=128,.field_2=(t1) {.field_1=265414265667584,.field_2=220,.field_3=1649945756,.field_4=235,.field_5=1.84765625,.field_6=2.4921875},.field_3=3909742020,.field_4=E_2_4},.field_2=(t3) {.field_1=86,.field_2=(t1) {.field_1=132799646662656,.field_2=178,.field_3=3529069034,.field_4=252,.field_5=0.01171875,.field_6=-2.46875},.field_3=3725795130,.field_4=E_2_1}},.field_3=243128701026304,.field_4=-0.46875,.field_5=245},.field_4=(t14) {.field_1=102,.field_2=-0.140625}};
+}
+
+double
+fn_17_c(float a1, t10 a2, t35 a3, float a4, t18 a5, uint64_t a6, t3 a7, float a8, t56 a9, t72 a10)
+{
+    if (!(a1==-0.8125)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==-2.640625) && (a2.field_2==-0.3125) && (a2.field_3==158864030433280))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==120060447424512) && (a3.field_2==200994178))) {
+        goto bad;
+    }
+
+    if (!(a4==-1.0625)) {
+        goto bad;
+    }
+
+    if (!(a5==E_18_7)) {
+        goto bad;
+    }
+
+    if (!(a6==180628077543424)) {
+        goto bad;
+    }
+
+    if (!((a7.field_1==160) && ((a7.field_2.field_1==267308015419392) && (a7.field_2.field_2==53) && (a7.field_2.field_3==2126242378) && (a7.field_2.field_4==29) && (a7.field_2.field_5==-3.328125) && (a7.field_2.field_6==2.71875)) && (a7.field_3==324345820) && (a7.field_4==E_2_3))) {
+        goto bad;
+    }
+
+    if (!(a8==1.5625)) {
+        goto bad;
+    }
+
+    if (!(a9==E_56_5)) {
+        goto bad;
+    }
+
+    if (!((a10.field_1==0) && (a10.field_2==1742227568) && (a10.field_3==93))) {
+        goto bad;
+    }
+
+    return 2.59765625;
+
+bad:
+    return -0.67578125;
+}
+
+t68
+fn_18_c(t29 a1, t50 a2, t94 a3, t97 a4, t82 a5, uint32_t a6)
+{
+    if (!(a1==E_29_5)) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==-0.671875) && (((a2.field_2.field_1.field_1==-2.3984375) && ((a2.field_2.field_1.field_2.field_1==E_18_5) && (a2.field_2.field_1.field_2.field_2==178101928) && (a2.field_2.field_1.field_2.field_3==-1.125) && (a2.field_2.field_1.field_2.field_4==E_19_6) && ((a2.field_2.field_1.field_2.field_5.field_1==0.28515625) && (a2.field_2.field_1.field_2.field_5.field_2==-1.88671875) && ((a2.field_2.field_1.field_2.field_5.field_3.field_1==0.921875) && (((a2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_1==-0.359375) && (a2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_3)) && (a2.field_2.field_1.field_2.field_5.field_3.field_2.field_2==75260795158528) && ((a2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_1==0.59375) && (a2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_2)) && (a2.field_2.field_1.field_2.field_5.field_3.field_2.field_4==-1.515625) && (a2.field_2.field_1.field_2.field_5.field_3.field_2.field_5==64393391505408) && ((a2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_1==3.38671875) && (a2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_2==241181364584448) && (a2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_3==262564167811072))) && ((a2.field_2.field_1.field_2.field_5.field_3.field_3.field_1==3.3984375) && (a2.field_2.field_1.field_2.field_5.field_3.field_3.field_2==-0.75) && (a2.field_2.field_1.field_2.field_5.field_3.field_3.field_3==84301476790272)) && (a2.field_2.field_1.field_2.field_5.field_3.field_4==-1.7421875) && (a2.field_2.field_1.field_2.field_5.field_3.field_5==E_11_1) && (a2.field_2.field_1.field_2.field_5.field_3.field_6==1.6640625))) && (((a2.field_2.field_1.field_2.field_6.field_1.field_1==2.96484375) && (a2.field_2.field_1.field_2.field_6.field_1.field_2==25240979636224) && (a2.field_2.field_1.field_2.field_6.field_1.field_3==279218169577473)) && (a2.field_2.field_1.field_2.field_6.field_2==0.46875) && ((a2.field_2.field_1.field_2.field_6.field_3.field_1==3583795084) && (((a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_1==121) && ((a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==18449750163456) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==7) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_3==4231471828) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_4==27) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_5==-2.578125) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_6==1.60546875)) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_3==2763967082) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_4==E_2_3)) && ((a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_1==127) && ((a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_1==7883293065216) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_2==195) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_3==3293015804) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_4==183) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_5==-3.18359375) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_6==2.20703125)) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_3==4053927584) && (a2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_4==E_2_1))) && (a2.field_2.field_1.field_2.field_6.field_3.field_3==179909264015360) && (a2.field_2.field_1.field_2.field_6.field_3.field_4==1.1875) && (a2.field_2.field_1.field_2.field_6.field_3.field_5==245)) && ((a2.field_2.field_1.field_2.field_6.field_4.field_1==230) && (a2.field_2.field_1.field_2.field_6.field_4.field_2==-1.015625)))) && (a2.field_2.field_1.field_3==66953411952640) && (a2.field_2.field_1.field_4==3.87890625)) && (a2.field_2.field_2==3.04296875) &&
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!(a3==E_94_3)) {
+        goto bad;
+    }
+
+    if (!((((a4.field_1.field_1.field_1==-1.234375) && (a4.field_1.field_1.field_2==1.390625) && (((a4.field_1.field_1.field_3.field_1.field_1==30) && (a4.field_1.field_1.field_3.field_1.field_2==-3.5390625) && (a4.field_1.field_1.field_3.field_1.field_3==2512982078)) && ((a4.field_1.field_1.field_3.field_2.field_1==139) && (a4.field_1.field_1.field_3.field_2.field_2==0.36328125)) && (a4.field_1.field_1.field_3.field_3==E_77_5))) && (a4.field_1.field_2==E_90_3) && (((a4.field_1.field_3.field_1.field_1==-1.4609375) && (a4.field_1.field_3.field_1.field_2==92383916457984) && (a4.field_1.field_3.field_1.field_3==113307733983232)) && (a4.field_1.field_3.field_2==-1.265625) && ((a4.field_1.field_3.field_3.field_1==1168626982) && (((a4.field_1.field_3.field_3.field_2.field_1.field_1==109) && ((a4.field_1.field_3.field_3.field_2.field_1.field_2.field_1==206784518291456) && (a4.field_1.field_3.field_3.field_2.field_1.field_2.field_2==38) && (a4.field_1.field_3.field_3.field_2.field_1.field_2.field_3==1671741250) && (a4.field_1.field_3.field_3.field_2.field_1.field_2.field_4==162) && (a4.field_1.field_3.field_3.field_2.field_1.field_2.field_5==-1.3671875) && (a4.field_1.field_3.field_3.field_2.field_1.field_2.field_6==0.9921875)) && (a4.field_1.field_3.field_3.field_2.field_1.field_3==2717166618) && (a4.field_1.field_3.field_3.field_2.field_1.field_4==E_2_2)) && ((a4.field_1.field_3.field_3.field_2.field_2.field_1==190) && ((a4.field_1.field_3.field_3.field_2.field_2.field_2.field_1==202281623093248) && (a4.field_1.field_3.field_3.field_2.field_2.field_2.field_2==24) && (a4.field_1.field_3.field_3.field_2.field_2.field_2.field_3==2205245826) && (a4.field_1.field_3.field_3.field_2.field_2.field_2.field_4==163) && (a4.field_1.field_3.field_3.field_2.field_2.field_2.field_5==-0.375) && (a4.field_1.field_3.field_3.field_2.field_2.field_2.field_6==-1.1875)) && (a4.field_1.field_3.field_3.field_2.field_2.field_3==2520606304) && (a4.field_1.field_3.field_3.field_2.field_2.field_4==E_2_5))) && (a4.field_1.field_3.field_3.field_3==81504045891584) && (a4.field_1.field_3.field_3.field_4==0.640625) && (a4.field_1.field_3.field_3.field_5==215)) && ((a4.field_1.field_3.field_4.field_1==223) && (a4.field_1.field_3.field_4.field_2==-0.78125))) && ((a4.field_1.field_4.field_1==1663866964) && ((a4.field_1.field_4.field_2.field_1==137293949304832) && (a4.field_1.field_4.field_2.field_2==0.4765625) && (a4.field_1.field_4.field_2.field_3==3008888856) && (a4.field_1.field_4.field_2.field_4==3504606106) && (a4.field_1.field_4.field_2.field_5==271175374602240)) && (a4.field_1.field_4.field_3==3418972692) && (a4.field_1.field_4.field_4==378265792)) && ((a4.field_1.field_5.field_1==1683646014) && (a4.field_1.field_5.field_2==2279286742) && (a4.field_1.field_5.field_3==1017297018))) && (a4.field_2==2.19921875) && ((a4.field_3.field_1==-2.6015625) && (a4.field_3.field_2==0.484375)))) {
+        goto bad;
+    }
+
+    if (!(a5==E_82_5)) {
+        goto bad;
+    }
+
+    if (!(a6==2225998788)) {
+        goto bad;
+    }
+
+    return (t68) {.field_1=E_64_2,.field_2=(t65) {.field_1=-1.3828125,.field_2=61112946,.field_3=190,.field_4=32961124368384,.field_5=1304765990,.field_6=126354513723392},.field_3=(t66) {.field_1=(t59) {.field_1=E_56_7,.field_2=766433818,.field_3=(t57) {.field_1=E_26_8,.field_2=88,.field_3=(t42) {.field_1=187522956001280,.field_2=E_41_2,.field_3=197628948,.field_4=(t23) {.field_1=135725845053440,.field_2=(t14) {.field_1=57,.field_2=1.078125},.field_3=160515871997952,.field_4=(t22) {.field_1=0.359375,.field_2=104917964292096,.field_3=(t7) {.field_1=(t4) {.field_1=206,.field_2=-0.80078125,.field_3=138,.field_4=103853490044928,.field_5=E_2_5,.field_6=1457574106},.field_2=(t5) {.field_1=-2.7734375,.field_2=269868276908032,.field_3=241406633312256},.field_3=(t6) {.field_1=-1.515625,.field_2=E_2_4}},.field_4=(t17) {.field_1=(t16) {.field_1=64443498,.field_2=-0.5,.field_3=0.4375,.field_4=(t6) {.field_1=0.8125,.field_2=E_2_3}},.field_2=241}}}},.field_4=(t12) {.field_1=-0.921875,.field_2=(t9) {.field_1=(t6) {.field_1=-0.265625,.field_2=E_2_1},.field_2=255656365260800,.field_3=(t6) {.field_1=0.8125,.field_2=E_2_5},.field_4=-1.03125,.field_5=226905594134528,.field_6=(t5) {.field_1=-1.796875,.field_2=110809697746944,.field_3=182448222502912}},.field_3=(t10) {.field_1=2.66015625,.field_2=-1.53125,.field_3=5891210215424},.field_4=1.15234375,.field_5=E_11_3,.field_6=0.47265625},.field_5=69698034,.field_6=-0.90625},.field_4=(t58) {.field_1=E_19_8,.field_2=(t30) {.field_1=-2.6484375,.field_2=(t21) {.field_1=E_18_2,.field_2=3254220376,.field_3=-1.015625,.field_4=E_19_7,.field_5=(t20) {.field_1=2.1328125,.field_2=0.1328125,.field_3=(t12) {.field_1=-0.203125,.field_2=(t9) {.field_1=(t6) {.field_1=0.09375,.field_2=E_2_6},.field_2=106879791398912,.field_3=(t6) {.field_1=0.75,.field_2=E_2_3},.field_4=0.0,.field_5=182488977768448,.field_6=(t5) {.field_1=-2.75,.field_2=81305866600448,.field_3=230134322036736}},.field_3=(t10) {.field_1=3.55078125,.field_2=0.1875,.field_3=59469043073024},.field_4=0.80078125,.field_5=E_11_3,.field_6=-2.1796875}},.field_6=(t15) {.field_1=(t5) {.field_1=0.96484375,.field_2=12986746798080,.field_3=177073504780288},.field_2=-0.984375,.field_3=(t13) {.field_1=267860066,.field_2=(t8) {.field_1=(t3) {.field_1=215,.field_2=(t1) {.field_1=23720503803904,.field_2=57,.field_3=65633880,.field_4=215,.field_5=-0.7734375,.field_6=2.4453125},.field_3=2639863120,.field_4=E_2_6},.field_2=(t3) {.field_1=63,.field_2=(t1) {.field_1=41253608357888,.field_2=228,.field_3=2702252196,.field_4=226,.field_5=-1.72265625,.field_6=-2.890625},.field_3=2297595192,.field_4=E_2_3}},.field_3=117994529226752,.field_4=-0.46875,.field_5=97},.field_4=(t14) {.field_1=250,.field_2=0.203125}}},.field_3=277277376118785,.field_4=-0.96484375},.field_3=0.890625,.field_4=0.84765625}},.field_2=(t53) {.field_1=-0.234375,.field_2=(t50) {.field_1=-0.671875,.field_2=(t39) {.field_1=(t30) {.field_1=2.2890625,.field_2=(t21) {.field_1=E_18_5,.field_2=1104171190,.field_3=1.1875,.field_4=E_19_6,.field_5=(t20) {.field_1=-1.77734375,.field_2=1.7109375,.field_3=(t12) {.field_1=-1.21875,.field_2=(t9) {.field_1=(t6) {.field_1=-1.296875,.field_2=E_2_3},.field_2=7804846080000,.field_3=(t6) {.field_1=-0.515625,.field_2=E_2_3},.field_4=1.3125,.field_5=271269411815424,.field_6=(t5) {.field_1=-1.0390625,.field_2=55968624803840,.field_3=26483097731072}},.field_3=(t10) {.field_1=3.140625,.field_2=0.390625,.field_3=144477626957824},.field_4=-1.91796875,.field_5=E_11_1,.field_6=-0.0703125}},.field_6=(t15) {.field_1=(t5) {.field_1=2.48828125,.field_2=279887108243457,.field_3=244326716669952},.field_2=0.328125,.field_3=(t13) {.field_1=2589946058,.field_2=(t8) {.field_1=(t3) {.field_1=74,.field_2=(t1) {.field_1=4995850829824,.field_2=101,.field_3=3334065356,.field_4=70,.field_5=-1.7734375,.field_6=-0.1171875},.field_3=2350206898,.field_4=E_2_6},.field_2=(t3) {.field_1=152,.field_2=(t1) {.field_1=177982762647552,.field_2=83,.field_3=2674374442,.field_4=247,.field_5=2.39453125,.field_6=0.328125},.field_3=3997067408,.field_4=E_2_2}},.field_3=208487505199104,.field_4=-1.5,.field_5=19},.field_
\ No newline at end of file
+
+bad:
+    return (t68) {.field_1=E_64_9,.field_2=(t65) {.field_1=-1.625,.field_2=493732968,.field_3=106,.field_4=119753663578112,.field_5=1283596086,.field_6=217997951107072},.field_3=(t66) {.field_1=(t59) {.field_1=E_56_4,.field_2=2699322070,.field_3=(t57) {.field_1=E_26_2,.field_2=232,.field_3=(t42) {.field_1=180662919102464,.field_2=E_41_6,.field_3=17131048,.field_4=(t23) {.field_1=103630696611840,.field_2=(t14) {.field_1=20,.field_2=-1.0625},.field_3=198361319997440,.field_4=(t22) {.field_1=0.125,.field_2=102277325520896,.field_3=(t7) {.field_1=(t4) {.field_1=214,.field_2=-3.80859375,.field_3=248,.field_4=207630602338304,.field_5=E_2_4,.field_6=2722826334},.field_2=(t5) {.field_1=2.72265625,.field_2=203418755792896,.field_3=276891418099712},.field_3=(t6) {.field_1=-0.890625,.field_2=E_2_5}},.field_4=(t17) {.field_1=(t16) {.field_1=4221742598,.field_2=0.03125,.field_3=1.21875,.field_4=(t6) {.field_1=-0.3125,.field_2=E_2_6}},.field_2=48}}}},.field_4=(t12) {.field_1=-1.03125,.field_2=(t9) {.field_1=(t6) {.field_1=-0.1875,.field_2=E_2_5},.field_2=90774124494848,.field_3=(t6) {.field_1=-0.46875,.field_2=E_2_3},.field_4=-0.96875,.field_5=99977078505472,.field_6=(t5) {.field_1=2.5546875,.field_2=76855133863936,.field_3=146126020149248}},.field_3=(t10) {.field_1=0.25,.field_2=0.984375,.field_3=248403345670144},.field_4=-1.00390625,.field_5=E_11_5,.field_6=2.7734375},.field_5=468749822,.field_6=-0.40625},.field_4=(t58) {.field_1=E_19_4,.field_2=(t30) {.field_1=3.57421875,.field_2=(t21) {.field_1=E_18_1,.field_2=2029298424,.field_3=-1.03125,.field_4=E_19_7,.field_5=(t20) {.field_1=-0.34765625,.field_2=1.4140625,.field_3=(t12) {.field_1=0.8125,.field_2=(t9) {.field_1=(t6) {.field_1=1.109375,.field_2=E_2_4},.field_2=266026004119552,.field_3=(t6) {.field_1=-1.484375,.field_2=E_2_1},.field_4=0.828125,.field_5=98825356050432,.field_6=(t5) {.field_1=-0.7265625,.field_2=62214033113088,.field_3=152598466789376}},.field_3=(t10) {.field_1=2.05078125,.field_2=-1.421875,.field_3=229453600653312},.field_4=-1.70703125,.field_5=E_11_4,.field_6=1.00390625}},.field_6=(t15) {.field_1=(t5) {.field_1=-2.625,.field_2=267777080688640,.field_3=128034704850944},.field_2=-1.515625,.field_3=(t13) {.field_1=259736516,.field_2=(t8) {.field_1=(t3) {.field_1=211,.field_2=(t1) {.field_1=142852680843264,.field_2=4,.field_3=3936173516,.field_4=250,.field_5=-2.41796875,.field_6=2.21484375},.field_3=1870163782,.field_4=E_2_6},.field_2=(t3) {.field_1=138,.field_2=(t1) {.field_1=81686317760512,.field_2=124,.field_3=2083117010,.field_4=81,.field_5=0.32421875,.field_6=-1.9765625},.field_3=2877241598,.field_4=E_2_6}},.field_3=131784260321280,.field_4=-0.90625,.field_5=181},.field_4=(t14) {.field_1=132,.field_2=-1.484375}}},.field_3=279307994923009,.field_4=-3.15625},.field_3=0.484375,.field_4=-2.6875}},.field_2=(t53) {.field_1=-1.421875,.field_2=(t50) {.field_1=-3.04296875,.field_2=(t39) {.field_1=(t30) {.field_1=-2.5390625,.field_2=(t21) {.field_1=E_18_1,.field_2=4015984290,.field_3=0.578125,.field_4=E_19_2,.field_5=(t20) {.field_1=2.74609375,.field_2=1.26953125,.field_3=(t12) {.field_1=-0.578125,.field_2=(t9) {.field_1=(t6) {.field_1=0.421875,.field_2=E_2_1},.field_2=52941939802112,.field_3=(t6) {.field_1=-1.015625,.field_2=E_2_3},.field_4=0.546875,.field_5=185704319811584,.field_6=(t5) {.field_1=1.6171875,.field_2=60560770203648,.field_3=255274547019776}},.field_3=(t10) {.field_1=-0.9609375,.field_2=-1.0625,.field_3=105583830630400},.field_4=0.6953125,.field_5=E_11_6,.field_6=3.05859375}},.field_6=(t15) {.field_1=(t5) {.field_1=0.90625,.field_2=244012407324672,.field_3=277955523772417},.field_2=-0.71875,.field_3=(t13) {.field_1=99410342,.field_2=(t8) {.field_1=(t3) {.field_1=8,.field_2=(t1) {.field_1=107724715327488,.field_2=50,.field_3=613651762,.field_4=81,.field_5=2.9765625,.field_6=-1.80859375},.field_3=726988920,.field_4=E_2_4},.field_2=(t3) {.field_1=149,.field_2=(t1) {.field_1=226335956926464,.field_2=164,.field_3=3320618414,.field_4=250,.field_5=-3.6796875,.field_6=-0.4140625},.field_3=2742774408,.field_4=E_2_5}},.field_3=186327866408960,.field_4=0.140625,.fie
\ No newline at end of file
+}
+
+uint8_t
+fn_19_c(uint64_t a1, uint8_t a2)
+{
+    if (!(a1==158887773995008)) {
+        goto bad;
+    }
+
+    if (!(a2==186)) {
+        goto bad;
+    }
+
+    return 113;
+
+bad:
+    return 241;
+}
+
+uint8_t
+fn_20_c(t72 a1, t54 a2, t102 a3, t30 a4, float a5, t100 a6, t82 a7, t92 a8, t19 a9)
+{
+    if (!((a1.field_1==31) && (a1.field_2==784492568) && (a1.field_3==176))) {
+        goto bad;
+    }
+
+    if (!((a2.field_1==-0.03125) && (a2.field_2==E_2_6) && (a2.field_3==E_43_2))) {
+        goto bad;
+    }
+
+    if (!((a3.field_1==-0.953125) && ((a3.field_2.field_1==E_18_1) && (a3.field_2.field_2==3892333532) && (a3.field_2.field_3==0.921875) && (a3.field_2.field_4==E_19_3) && ((a3.field_2.field_5.field_1==2.6015625) && (a3.field_2.field_5.field_2==-0.328125) && ((a3.field_2.field_5.field_3.field_1==0.3125) && (((a3.field_2.field_5.field_3.field_2.field_1.field_1==0.34375) && (a3.field_2.field_5.field_3.field_2.field_1.field_2==E_2_3)) && (a3.field_2.field_5.field_3.field_2.field_2==231543623516160) && ((a3.field_2.field_5.field_3.field_2.field_3.field_1==1.046875) && (a3.field_2.field_5.field_3.field_2.field_3.field_2==E_2_1)) && (a3.field_2.field_5.field_3.field_2.field_4==1.078125) && (a3.field_2.field_5.field_3.field_2.field_5==158249674997760) && ((a3.field_2.field_5.field_3.field_2.field_6.field_1==-3.65234375) && (a3.field_2.field_5.field_3.field_2.field_6.field_2==81418480910336) && (a3.field_2.field_5.field_3.field_2.field_6.field_3==142554027130880))) && ((a3.field_2.field_5.field_3.field_3.field_1==3.359375) && (a3.field_2.field_5.field_3.field_3.field_2==1.21875) && (a3.field_2.field_5.field_3.field_3.field_3==57638369755136)) && (a3.field_2.field_5.field_3.field_4==-3.484375) && (a3.field_2.field_5.field_3.field_5==E_11_1) && (a3.field_2.field_5.field_3.field_6==3.09765625))) && (((a3.field_2.field_6.field_1.field_1==0.51171875) && (a3.field_2.field_6.field_1.field_2==165765595136000) && (a3.field_2.field_6.field_1.field_3==108768946552832)) && (a3.field_2.field_6.field_2==-0.25) && ((a3.field_2.field_6.field_3.field_1==3389738472) && (((a3.field_2.field_6.field_3.field_2.field_1.field_1==18) && ((a3.field_2.field_6.field_3.field_2.field_1.field_2.field_1==117849701351424) && (a3.field_2.field_6.field_3.field_2.field_1.field_2.field_2==251) && (a3.field_2.field_6.field_3.field_2.field_1.field_2.field_3==595888978) && (a3.field_2.field_6.field_3.field_2.field_1.field_2.field_4==83) && (a3.field_2.field_6.field_3.field_2.field_1.field_2.field_5==2.171875) && (a3.field_2.field_6.field_3.field_2.field_1.field_2.field_6==-0.47265625)) && (a3.field_2.field_6.field_3.field_2.field_1.field_3==678334346) && (a3.field_2.field_6.field_3.field_2.field_1.field_4==E_2_2)) && ((a3.field_2.field_6.field_3.field_2.field_2.field_1==10) && ((a3.field_2.field_6.field_3.field_2.field_2.field_2.field_1==215416273371136) && (a3.field_2.field_6.field_3.field_2.field_2.field_2.field_2==175) && (a3.field_2.field_6.field_3.field_2.field_2.field_2.field_3==3712234320) && (a3.field_2.field_6.field_3.field_2.field_2.field_2.field_4==153) && (a3.field_2.field_6.field_3.field_2.field_2.field_2.field_5==1.58203125) && (a3.field_2.field_6.field_3.field_2.field_2.field_2.field_6==1.640625)) && (a3.field_2.field_6.field_3.field_2.field_2.field_3==691527554) && (a3.field_2.field_6.field_3.field_2.field_2.field_4==E_2_5))) && (a3.field_2.field_6.field_3.field_3==281208706433025) && (a3.field_2.field_6.field_3.field_4==0.53125) && (a3.field_2.field_6.field_3.field_5==170)) && ((a3.field_2.field_6.field_4.field_1==226) && (a3.field_2.field_6.field_4.field_2==1.171875)))) && ((a3.field_3.field_1==0.6875)) && (a3.field_4==3.54296875))) {
+        goto bad;
+    }
+
+    if (!((a4.field_1==0.328125) && ((a4.field_2.field_1==E_18_2) && (a4.field_2.field_2==3038599074) && (a4.field_2.field_3==-0.53125) && (a4.field_2.field_4==E_19_2) && ((a4.field_2.field_5.field_1==-2.921875) && (a4.field_2.field_5.field_2==-1.4453125) && ((a4.field_2.field_5.field_3.field_1==-0.421875) && (((a4.field_2.field_5.field_3.field_2.field_1.field_1==-0.15625) && (a4.field_2.field_5.field_3.field_2.field_1.field_2==E_2_1)) && (a4.field_2.field_5.field_3.field_2.field_2==226740145750016) && ((a4.field_2.field_5.field_3.field_2.field_3.field_1==0.34375) && (a4.field_2.field_5.field_3.field_2.field_3.field_2==E_2_2)) && (a4.field_2.field_5.field_3.field_2.field_4==1.09375) && (a4.field_2.field_5.field_3.field_2.field_5==105371665039360) && ((a4.field_2.field_5.field_3.field_2.field_6.field_1==-3.7890625) && (a4.field_2.field_5.field_3.field_2.field_6.field_2==200291522183168) && (a4.field_2.field_5.field_3.field_2.field_6.field_3==273916916662272))) && ((a4.field_2.field_5.field_3.field_3.field_1==1.69921875) && (a4.field_2.field_5.field_3.field_3.field_2==-0.25) && (a4.field_2.field_5.field_3.field_3.field_3==37761889730560)) && (a4.field_2.field_5.field_3.field_4==-0.37109375) && (a4.field_2.field_5.field_3.field_5==E_11_3) && (a4.field_2.field_5.field_3.field_6==2.359375))) && (((a4.field_2.field_6.field_1.field_1==-2.98828125) && (a4.field_2.field_6.field_1.field_2==85889758134272) && (a4.field_2.field_6.field_1.field_3==189673236725760)) && (a4.field_2.field_6.field_2==1.0625) && ((a4.field_2.field_6.field_3.field_1==1108811158) && (((a4.field_2.field_6.field_3.field_2.field_1.field_1==113) && ((a4.field_2.field_6.field_3.field_2.field_1.field_2.field_1==34340434870272) && (a4.field_2.field_6.field_3.field_2.field_1.field_2.field_2==204) && (a4.field_2.field_6.field_3.field_2.field_1.field_2.field_3==2563547796) && (a4.field_2.field_6.field_3.field_2.field_1.field_2.field_4==212) && (a4.field_2.field_6.field_3.field_2.field_1.field_2.field_5==-2.8828125) && (a4.field_2.field_6.field_3.field_2.field_1.field_2.field_6==2.53125)) && (a4.field_2.field_6.field_3.field_2.field_1.field_3==4104468038) && (a4.field_2.field_6.field_3.field_2.field_1.field_4==E_2_3)) && ((a4.field_2.field_6.field_3.field_2.field_2.field_1==48) && ((a4.field_2.field_6.field_3.field_2.field_2.field_2.field_1==114490489438208) && (a4.field_2.field_6.field_3.field_2.field_2.field_2.field_2==137) && (a4.field_2.field_6.field_3.field_2.field_2.field_2.field_3==4274611490) && (a4.field_2.field_6.field_3.field_2.field_2.field_2.field_4==4) && (a4.field_2.field_6.field_3.field_2.field_2.field_2.field_5==2.87109375) && (a4.field_2.field_6.field_3.field_2.field_2.field_2.field_6==2.67578125)) && (a4.field_2.field_6.field_3.field_2.field_2.field_3==1675682774) && (a4.field_2.field_6.field_3.field_2.field_2.field_4==E_2_6))) && (a4.field_2.field_6.field_3.field_3==155964017999872) && (a4.field_2.field_6.field_3.field_4==-0.421875) && (a4.field_2.field_6.field_3.field_5==153)) && ((a4.field_2.field_6.field_4.field_1==249) && (a4.field_2.field_6.field_4.field_2==-0.015625)))) && (a4.field_3==14699609849856) && (a4.field_4==-0.8125))) {
+        goto bad;
+    }
+
+    if (!(a5==-1.03125)) {
+        goto bad;
+    }
+
+    if (!(((((a6.field_1.field_1.field_1.field_1==-1.546875) && ((a6.field_1.field_1.field_1.field_2.field_1==3.58984375) && (((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_1==-0.6640625) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_1==E_18_2) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_2==3261231628) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_3==-1.53125) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_4==E_19_8) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_1==3.0546875) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_2==2.625) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_1==1.296875) && (((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_1==-0.515625) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_1)) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_2==90256515661824) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_1==1.1875) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_1)) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_4==-0.515625) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_5==209147190050816) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_1==2.83984375) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_2==204519943045120) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_3==176046915452928))) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_1==-0.64453125) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_2==-1.28125) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_3==63390518214656)) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_4==-0.8359375) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_5==E_11_4) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_5.field_3.field_6==-1.73828125))) && (((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_1==2.2578125) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_2==249508094672896) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_1.field_3==125875889766400)) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_2==-0.03125) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_1==3690927442) && (((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_1==116) && ((a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==126408480784384) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==70) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_3==2502906064) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_4==53) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_5==-1.66796875) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_6==0.3203125)) && (a6.field_1.field_1.field_1.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_3==425223464) && (a6.field_1.field_1.field_1.field_2.field_2.fiel
\ No newline at end of file
+        goto bad;
+    }
+
+    if (!(a7==E_82_5)) {
+        goto bad;
+    }
+
+    if (!((a8.field_1==588421914) && (a8.field_2==2163719396) && (a8.field_3==664040668))) {
+        goto bad;
+    }
+
+    if (!(a9==E_19_4)) {
+        goto bad;
+    }
+
+    return 139;
+
+bad:
+    return 48;
+}
+
+int
+const check_c_to_myr_fns(void)
+{
+    uint32_t a_1_1 = 3331313618;
+    t3 a_1_2 = (t3) {.field_1=163,.field_2=(t1) {.field_1=112669747445760,.field_2=68,.field_3=2961163238,.field_4=144,.field_5=3.1171875,.field_6=-0.77734375},.field_3=2638767956,.field_4=E_2_3};
+    t2 a_1_3 = E_2_1;
+    float a_1_4 = 0.875;
+    uint8_t a_1_5 = 63;
+    t7 ret_1 = fn_1_myr(a_1_1, a_1_2, a_1_3, a_1_4, a_1_5);
+    if (!(((ret_1.field_1.field_1==156) && (ret_1.field_1.field_2==2.83203125) && (ret_1.field_1.field_3==67) && (ret_1.field_1.field_4==143760266887168) && (ret_1.field_1.field_5==E_2_6) && (ret_1.field_1.field_6==2927029180)) && ((ret_1.field_2.field_1==-2.55078125) && (ret_1.field_2.field_2==159665344872448) && (ret_1.field_2.field_3==199843724394496)) && ((ret_1.field_3.field_1==-0.625) && (ret_1.field_3.field_2==E_2_6)))) {
+        return -1;
+    }
+
+    t7 a_2_1 = (t7) {.field_1=(t4) {.field_1=195,.field_2=-2.625,.field_3=107,.field_4=250193960632320,.field_5=E_2_1,.field_6=3277066896},.field_2=(t5) {.field_1=0.01171875,.field_2=271113481355264,.field_3=7202154348544},.field_3=(t6) {.field_1=-1.53125,.field_2=E_2_6}};
+    t8 a_2_2 = (t8) {.field_1=(t3) {.field_1=75,.field_2=(t1) {.field_1=149688830001152,.field_2=166,.field_3=4203656652,.field_4=184,.field_5=1.6796875,.field_6=-2.66015625},.field_3=2647535284,.field_4=E_2_3},.field_2=(t3) {.field_1=60,.field_2=(t1) {.field_1=234959706259456,.field_2=30,.field_3=3070502934,.field_4=195,.field_5=2.9921875,.field_6=2.96484375},.field_3=803402210,.field_4=E_2_5}};
+    t12 a_2_3 = (t12) {.field_1=0.203125,.field_2=(t9) {.field_1=(t6) {.field_1=-0.140625,.field_2=E_2_2},.field_2=151793905303552,.field_3=(t6) {.field_1=0.75,.field_2=E_2_1},.field_4=-0.875,.field_5=59595538169856,.field_6=(t5) {.field_1=-0.51171875,.field_2=90586118225920,.field_3=47799910137856}},.field_3=(t10) {.field_1=-3.4140625,.field_2=0.671875,.field_3=185693112107008},.field_4=-1.23828125,.field_5=E_11_1,.field_6=2.890625};
+    double a_2_4 = 0.94921875;
+    t15 a_2_5 = (t15) {.field_1=(t5) {.field_1=2.03515625,.field_2=29216526696448,.field_3=236353793556480},.field_2=1.09375,.field_3=(t13) {.field_1=4181791332,.field_2=(t8) {.field_1=(t3) {.field_1=44,.field_2=(t1) {.field_1=132595126632448,.field_2=171,.field_3=3948447728,.field_4=220,.field_5=-3.69140625,.field_6=-2.40625},.field_3=3172323970,.field_4=E_2_5},.field_2=(t3) {.field_1=224,.field_2=(t1) {.field_1=275519312887808,.field_2=53,.field_3=3186715686,.field_4=144,.field_5=-2.5703125,.field_6=-3.41015625},.field_3=1867717394,.field_4=E_2_5}},.field_3=35551921045504,.field_4=-0.203125,.field_5=101},.field_4=(t14) {.field_1=102,.field_2=1.15625}};
+    t13 a_2_6 = (t13) {.field_1=1580005156,.field_2=(t8) {.field_1=(t3) {.field_1=51,.field_2=(t1) {.field_1=266965320073216,.field_2=53,.field_3=212878900,.field_4=236,.field_5=-0.921875,.field_6=0.16015625},.field_3=2543329268,.field_4=E_2_2},.field_2=(t3) {.field_1=98,.field_2=(t1) {.field_1=174501380489216,.field_2=126,.field_3=522689612,.field_4=110,.field_5=-1.0234375,.field_6=-3.12109375},.field_3=2756676114,.field_4=E_2_1}},.field_3=186819725099008,.field_4=0.984375,.field_5=44};
+    uint32_t a_2_7 = 2083878374;
+    float ret_2 = fn_2_myr(a_2_1, a_2_2, a_2_3, a_2_4, a_2_5, a_2_6, a_2_7);
+    if (!(ret_2==0.109375)) {
+        return -1;
+    }
+
+    t5 a_3_1 = (t5) {.field_1=0.36328125,.field_2=217080895242240,.field_3=146180381081600};
+    t15 a_3_2 = (t15) {.field_1=(t5) {.field_1=0.5390625,.field_2=117399373217792,.field_3=101569454014464},.field_2=-1.296875,.field_3=(t13) {.field_1=39734246,.field_2=(t8) {.field_1=(t3) {.field_1=169,.field_2=(t1) {.field_1=133031533740032,.field_2=161,.field_3=668802928,.field_4=152,.field_5=-3.4296875,.field_6=0.1953125},.field_3=2984403120,.field_4=E_2_5},.field_2=(t3) {.field_1=162,.field_2=(t1) {.field_1=100930591260672,.field_2=132,.field_3=3484222870,.field_4=117,.field_5=-3.8984375,.field_6=-3.02734375},.field_3=4255148568,.field_4=E_2_6}},.field_3=229240590827520,.field_4=-0.328125,.field_5=51},.field_4=(t14) {.field_1=92,.field_2=-1.046875}};
+    t16 a_3_3 = (t16) {.field_1=1212401592,.field_2=-1.046875,.field_3=1.109375,.field_4=(t6) {.field_1=1.296875,.field_2=E_2_2}};
+    t16 a_3_4 = (t16) {.field_1=3641606114,.field_2=-1.125,.field_3=0.546875,.field_4=(t6) {.field_1=-0.046875,.field_2=E_2_3}};
+    uint64_t a_3_5 = 83130758201344;
+    t17 a_3_6 = (t17) {.field_1=(t16) {.field_1=954818626,.field_2=-0.5,.field_3=-0.703125,.field_4=(t6) {.field_1=0.265625,.field_2=E_2_4}},.field_2=254};
+    t12 a_3_7 = (t12) {.field_1=-0.671875,.field_2=(t9) {.field_1=(t6) {.field_1=0.671875,.field_2=E_2_1},.field_2=186559912869888,.field_3=(t6) {.field_1=1.546875,.field_2=E_2_2},.field_4=0.046875,.field_5=255023204139008,.field_6=(t5) {.field_1=1.13671875,.field_2=270028714934272,.field_3=247333204000768}},.field_3=(t10) {.field_1=-0.0546875,.field_2=-1.25,.field_3=156053374763008},.field_4=3.73046875,.field_5=E_11_4,.field_6=1.92578125};
+    float ret_3 = fn_3_myr(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6, a_3_7);
+    if (!(ret_3==0.171875)) {
+        return -1;
+    }
+
+    t1 a_4_1 = (t1) {.field_1=254108937224192,.field_2=215,.field_3=1243252406,.field_4=124,.field_5=-1.1875,.field_6=-1.68359375};
+    t21 a_4_2 = (t21) {.field_1=E_18_8,.field_2=4113752024,.field_3=0.5,.field_4=E_19_5,.field_5=(t20) {.field_1=-0.3203125,.field_2=1.33984375,.field_3=(t12) {.field_1=-0.171875,.field_2=(t9) {.field_1=(t6) {.field_1=-0.625,.field_2=E_2_6},.field_2=262778588495872,.field_3=(t6) {.field_1=0.46875,.field_2=E_2_2},.field_4=1.125,.field_5=182381629145088,.field_6=(t5) {.field_1=2.4609375,.field_2=139713139179520,.field_3=225645534511104}},.field_3=(t10) {.field_1=-3.54296875,.field_2=-1.171875,.field_3=78173635870720},.field_4=2.28515625,.field_5=E_11_4,.field_6=-0.7890625}},.field_6=(t15) {.field_1=(t5) {.field_1=-0.01953125,.field_2=23439019999232,.field_3=3807452332032},.field_2=-0.625,.field_3=(t13) {.field_1=233931326,.field_2=(t8) {.field_1=(t3) {.field_1=154,.field_2=(t1) {.field_1=198616597528576,.field_2=197,.field_3=2016579036,.field_4=169,.field_5=-0.5546875,.field_6=-3.796875},.field_3=526208716,.field_4=E_2_1},.field_2=(t3) {.field_1=118,.field_2=(t1) {.field_1=119263763103744,.field_2=15,.field_3=1698145536,.field_4=18,.field_5=-1.51171875,.field_6=-1.921875},.field_3=3097128252,.field_4=E_2_1}},.field_3=211270742966272,.field_4=0.078125,.field_5=42},.field_4=(t14) {.field_1=225,.field_2=0.9375}}};
+    t23 a_4_3 = (t23) {.field_1=190020550524928,.field_2=(t14) {.field_1=11,.field_2=-1.0625},.field_3=210612318502912,.field_4=(t22) {.field_1=-0.46875,.field_2=116393468362752,.field_3=(t7) {.field_1=(t4) {.field_1=120,.field_2=-0.21484375,.field_3=42,.field_4=279254693969921,.field_5=E_2_4,.field_6=185092378},.field_2=(t5) {.field_1=2.28515625,.field_2=168886583296000,.field_3=165671684931584},.field_3=(t6) {.field_1=1.546875,.field_2=E_2_1}},.field_4=(t17) {.field_1=(t16) {.field_1=933489974,.field_2=-0.921875,.field_3=1.0,.field_4=(t6) {.field_1=1.265625,.field_2=E_2_1}},.field_2=72}}};
+    double a_4_4 = -1.47265625;
+    t6 a_4_5 = (t6) {.field_1=0.359375,.field_2=E_2_4};
+    uint64_t a_4_6 = 106223398289408;
+    double a_4_7 = -1.80078125;
+    t2 ret_4 = fn_4_myr(a_4_1, a_4_2, a_4_3, a_4_4, a_4_5, a_4_6, a_4_7);
+    if (!(ret_4==E_2_4)) {
+        return -1;
+    }
+
+    uint32_t a_5_1 = 490829306;
+    t24 a_5_2 = E_24_2;
+    double a_5_3 = -1.296875;
+    t25 a_5_4 = (t25) {.field_1=E_24_8,.field_2=(t6) {.field_1=0.1875,.field_2=E_2_3}};
+    uint64_t a_5_5 = 245616036151296;
+    t28 a_5_6 = (t28) {.field_1=(t15) {.field_1=(t5) {.field_1=2.08203125,.field_2=35857928683520,.field_3=93232914235392},.field_2=-0.609375,.field_3=(t13) {.field_1=1442943954,.field_2=(t8) {.field_1=(t3) {.field_1=49,.field_2=(t1) {.field_1=243496050229248,.field_2=211,.field_3=1781303846,.field_4=188,.field_5=1.796875,.field_6=2.92578125},.field_3=961004516,.field_4=E_2_2},.field_2=(t3) {.field_1=142,.field_2=(t1) {.field_1=24547072671744,.field_2=51,.field_3=2197818536,.field_4=124,.field_5=-2.42578125,.field_6=-3.234375},.field_3=3597667158,.field_4=E_2_5}},.field_3=212450688237568,.field_4=-0.625,.field_5=212},.field_4=(t14) {.field_1=40,.field_2=1.328125}},.field_2=E_26_3,.field_3=(t27) {.field_1=(t15) {.field_1=(t5) {.field_1=3.07421875,.field_2=82227144294400,.field_3=7948002787328},.field_2=-1.5,.field_3=(t13) {.field_1=2677308022,.field_2=(t8) {.field_1=(t3) {.field_1=85,.field_2=(t1) {.field_1=100333243203584,.field_2=209,.field_3=846728032,.field_4=47,.field_5=-2.0859375,.field_6=3.3984375},.field_3=3924268624,.field_4=E_2_1},.field_2=(t3) {.field_1=40,.field_2=(t1) {.field_1=58951057276928,.field_2=170,.field_3=1055614716,.field_4=104,.field_5=-2.51953125,.field_6=1.8203125},.field_3=2570174796,.field_4=E_2_2}},.field_3=160655520563200,.field_4=-0.515625,.field_5=4},.field_4=(t14) {.field_1=223,.field_2=-1.0625}},.field_2=-1.015625,.field_3=0.9375,.field_4=119362880667648,.field_5=-1.359375,.field_6=25145455280128}};
+    t3 ret_5 = fn_5_myr(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5, a_5_6);
+    if (!((ret_5.field_1==182) && ((ret_5.field_2.field_1==220780978372608) && (ret_5.field_2.field_2==114) && (ret_5.field_2.field_3==2281314962) && (ret_5.field_2.field_4==251) && (ret_5.field_2.field_5==1.01171875) && (ret_5.field_2.field_6==2.06640625)) && (ret_5.field_3==3935630006) && (ret_5.field_4==E_2_4))) {
+        return -1;
+    }
+
+    t29 a_6_1 = E_29_6;
+    t8 a_6_2 = (t8) {.field_1=(t3) {.field_1=44,.field_2=(t1) {.field_1=82970538278912,.field_2=173,.field_3=1039620306,.field_4=98,.field_5=-2.87890625,.field_6=-1.3203125},.field_3=415749068,.field_4=E_2_6},.field_2=(t3) {.field_1=198,.field_2=(t1) {.field_1=176754788270080,.field_2=229,.field_3=1745396264,.field_4=100,.field_5=2.453125,.field_6=3.51171875},.field_3=1134845604,.field_4=E_2_6}};
+    t33 a_6_3 = (t33) {.field_1=45346413608960,.field_2=(t30) {.field_1=1.5546875,.field_2=(t21) {.field_1=E_18_1,.field_2=3388995392,.field_3=0.296875,.field_4=E_19_4,.field_5=(t20) {.field_1=-2.4921875,.field_2=-0.69921875,.field_3=(t12) {.field_1=-0.390625,.field_2=(t9) {.field_1=(t6) {.field_1=-0.171875,.field_2=E_2_2},.field_2=21150251483136,.field_3=(t6) {.field_1=-0.796875,.field_2=E_2_4},.field_4=1.375,.field_5=215200983941120,.field_6=(t5) {.field_1=2.125,.field_2=158112869384192,.field_3=73351684030464}},.field_3=(t10) {.field_1=1.25,.field_2=-0.703125,.field_3=212315222310912},.field_4=-3.5546875,.field_5=E_11_2,.field_6=-0.61328125}},.field_6=(t15) {.field_1=(t5) {.field_1=1.76171875,.field_2=253745235361792,.field_3=92984779997184},.field_2=0.90625,.field_3=(t13) {.field_1=2939679992,.field_2=(t8) {.field_1=(t3) {.field_1=146,.field_2=(t1) {.field_1=267681124188160,.field_2=98,.field_3=2525744200,.field_4=189,.field_5=3.75390625,.field_6=-3.81640625},.field_3=3957579288,.field_4=E_2_3},.field_2=(t3) {.field_1=98,.field_2=(t1) {.field_1=103318747742208,.field_2=176,.field_3=1976332274,.field_4=157,.field_5=-2.35546875,.field_6=-0.79296875},.field_3=1628294370,.field_4=E_2_6}},.field_3=270327169941504,.field_4=0.4375,.field_5=161},.field_4=(t14) {.field_1=61,.field_2=-0.328125}}},.field_3=190305229078528,.field_4=-0.0859375},.field_3=E_31_8,.field_4=(t32) {.field_1=1725236208}};
+    t5 a_6_4 = (t5) {.field_1=-2.41015625,.field_2=21064454635520,.field_3=201636834967552};
+    uint32_t a_6_5 = 1968388378;
+    float a_6_6 = 1.203125;
+    t11 a_6_7 = E_11_5;
+    t36 a_6_8 = (t36) {.field_1=165571080617984,.field_2=(t6) {.field_1=0.671875,.field_2=E_2_6},.field_3=(t34) {.field_1=3138764072,.field_2=-1.03125,.field_3=50747094728704,.field_4=2634664560},.field_4=(t35) {.field_1=171685942525952,.field_2=2132603492}};
+    t16 a_6_9 = (t16) {.field_1=849505522,.field_2=0.28125,.field_3=1.4375,.field_4=(t6) {.field_1=-0.4375,.field_2=E_2_3}};
+    t37 a_6_10 = E_37_6;
+    double ret_6 = fn_6_myr(a_6_1, a_6_2, a_6_3, a_6_4, a_6_5, a_6_6, a_6_7, a_6_8, a_6_9, a_6_10);
+    if (!(ret_6==-0.47265625)) {
+        return -1;
+    }
+
+    uint64_t a_7_1 = 152633167446016;
+    t38 a_7_2 = E_38_5;
+    uint8_t a_7_3 = 21;
+    t40 a_7_4 = (t40) {.field_1=(t39) {.field_1=(t30) {.field_1=3.7265625,.field_2=(t21) {.field_1=E_18_8,.field_2=1660321984,.field_3=0.46875,.field_4=E_19_6,.field_5=(t20) {.field_1=3.328125,.field_2=-3.79296875,.field_3=(t12) {.field_1=-0.984375,.field_2=(t9) {.field_1=(t6) {.field_1=-0.71875,.field_2=E_2_5},.field_2=107860547076096,.field_3=(t6) {.field_1=0.984375,.field_2=E_2_3},.field_4=1.03125,.field_5=103537434427392,.field_6=(t5) {.field_1=-0.41015625,.field_2=257720167301120,.field_3=23490682028032}},.field_3=(t10) {.field_1=-3.0546875,.field_2=0.671875,.field_3=189976970788864},.field_4=0.015625,.field_5=E_11_5,.field_6=-0.41796875}},.field_6=(t15) {.field_1=(t5) {.field_1=0.0625,.field_2=74574491418624,.field_3=201256086929408},.field_2=1.359375,.field_3=(t13) {.field_1=1220073662,.field_2=(t8) {.field_1=(t3) {.field_1=46,.field_2=(t1) {.field_1=265659814641664,.field_2=66,.field_3=27449604,.field_4=84,.field_5=3.22265625,.field_6=1.9609375},.field_3=1100098150,.field_4=E_2_6},.field_2=(t3) {.field_1=239,.field_2=(t1) {.field_1=147943258062848,.field_2=159,.field_3=1367706340,.field_4=86,.field_5=3.89453125,.field_6=-2.74609375},.field_3=3028657672,.field_4=E_2_3}},.field_3=18076800647168,.field_4=0.90625,.field_5=142},.field_4=(t14) {.field_1=199,.field_2=-0.109375}}},.field_3=15997300899840,.field_4=-0.2890625},.field_2=3.20703125,.field_3=158990308868096},.field_2=186,.field_3=(t1) {.field_1=175995273347072,.field_2=127,.field_3=52543290,.field_4=206,.field_5=-0.46875,.field_6=-1.7734375}};
+    t42 a_7_5 = (t42) {.field_1=207514518814720,.field_2=E_41_5,.field_3=3821234462,.field_4=(t23) {.field_1=206987958681600,.field_2=(t14) {.field_1=247,.field_2=0.296875},.field_3=50935557783552,.field_4=(t22) {.field_1=-1.46875,.field_2=107941368692736,.field_3=(t7) {.field_1=(t4) {.field_1=188,.field_2=2.4140625,.field_3=216,.field_4=223121033003008,.field_5=E_2_2,.field_6=3252553412},.field_2=(t5) {.field_1=-1.11328125,.field_2=48622469120,.field_3=107679637045248},.field_3=(t6) {.field_1=1.109375,.field_2=E_2_1}},.field_4=(t17) {.field_1=(t16) {.field_1=811385302,.field_2=-0.640625,.field_3=-0.671875,.field_4=(t6) {.field_1=-1.5625,.field_2=E_2_1}},.field_2=120}}}};
+    t43 a_7_6 = E_43_4;
+    uint8_t a_7_7 = 164;
+    double ret_7 = fn_7_myr(a_7_1, a_7_2, a_7_3, a_7_4, a_7_5, a_7_6, a_7_7);
+    if (!(ret_7==2.984375)) {
+        return -1;
+    }
+
+    t44 ret_8 = fn_8_myr();
+    if (!((ret_8.field_1==1.1875))) {
+        return -1;
+    }
+
+    t45 a_9_1 = E_45_6;
+    t46 a_9_2 = (t46) {.field_1=4118535730};
+    t45 a_9_3 = E_45_7;
+    t47 a_9_4 = E_47_2;
+    t48 a_9_5 = E_48_6;
+    float a_9_6 = -0.21875;
+    double a_9_7 = -1.4140625;
+    uint8_t a_9_8 = 162;
+    uint64_t a_9_9 = 170573566967808;
+    t49 a_9_10 = E_49_5;
+    t53 ret_9 = fn_9_myr(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10);
+    if (!((ret_9.field_1==-0.46875) && ((ret_9.field_2.field_1==-0.28125) && (((ret_9.field_2.field_2.field_1.field_1==3.50390625) && ((ret_9.field_2.field_2.field_1.field_2.field_1==E_18_9) && (ret_9.field_2.field_2.field_1.field_2.field_2==298590436) && (ret_9.field_2.field_2.field_1.field_2.field_3==0.359375) && (ret_9.field_2.field_2.field_1.field_2.field_4==E_19_5) && ((ret_9.field_2.field_2.field_1.field_2.field_5.field_1==2.28125) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_2==-0.7421875) && ((ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_1==-1.359375) && (((ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_1==-1.53125) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_1.field_2==E_2_2)) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_2==159748598530048) && ((ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_1==1.328125) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_3.field_2==E_2_2)) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_4==-0.546875) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_5==146401660239872) && ((ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_1==0.6875) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_2==228983429529600) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_2.field_6.field_3==105127852507136))) && ((ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_1==-0.84375) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_2==0.359375) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_3.field_3==153705986129920)) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_4==-1.80859375) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_5==E_11_1) && (ret_9.field_2.field_2.field_1.field_2.field_5.field_3.field_6==3.28125))) && (((ret_9.field_2.field_2.field_1.field_2.field_6.field_1.field_1==1.96484375) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_1.field_2==46322522914816) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_1.field_3==96194539421696)) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_2==1.46875) && ((ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_1==912869840) && (((ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_1==176) && ((ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_1==121643541069824) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_2==41) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_3==2802989848) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_4==128) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_5==2.15625) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_2.field_6==-2.44921875)) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_3==1259853458) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_1.field_4==E_2_2)) && ((ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_1==64) && ((ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_1==86146197356544) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_2==90) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_3==3519983450) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_4==58) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_5==0.50390625) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_2.field_6==-2.765625)) && (ret_9.field_2.field_2.field_1.field_2.field_6.field_3.field_2.field_2.field_3==3211917080) &&
\ No newline at end of file
+        return -1;
+    }
+
+    float a_10_1 = -1.4375;
+    t55 a_10_2 = (t55) {.field_1=(t30) {.field_1=3.2734375,.field_2=(t21) {.field_1=E_18_8,.field_2=298655464,.field_3=-1.21875,.field_4=E_19_6,.field_5=(t20) {.field_1=-2.87109375,.field_2=3.77734375,.field_3=(t12) {.field_1=0.15625,.field_2=(t9) {.field_1=(t6) {.field_1=1.03125,.field_2=E_2_5},.field_2=4317979738112,.field_3=(t6) {.field_1=-0.375,.field_2=E_2_1},.field_4=-0.625,.field_5=119942540689408,.field_6=(t5) {.field_1=1.90234375,.field_2=84070773030912,.field_3=265295537897472}},.field_3=(t10) {.field_1=-1.5078125,.field_2=-0.046875,.field_3=247680725286912},.field_4=2.1484375,.field_5=E_11_1,.field_6=-0.6015625}},.field_6=(t15) {.field_1=(t5) {.field_1=-1.84765625,.field_2=4068918427648,.field_3=127361585905664},.field_2=0.6875,.field_3=(t13) {.field_1=4144444706,.field_2=(t8) {.field_1=(t3) {.field_1=65,.field_2=(t1) {.field_1=272708430856192,.field_2=226,.field_3=232384220,.field_4=9,.field_5=3.86328125,.field_6=1.4609375},.field_3=735172550,.field_4=E_2_6},.field_2=(t3) {.field_1=61,.field_2=(t1) {.field_1=558452178944,.field_2=178,.field_3=1092184810,.field_4=98,.field_5=1.76953125,.field_6=0.4453125},.field_3=3483926918,.field_4=E_2_3}},.field_3=240867814670336,.field_4=0.796875,.field_5=198},.field_4=(t14) {.field_1=86,.field_2=0.421875}}},.field_3=155213721894912,.field_4=-0.5859375},.field_2=15967994380288,.field_3=(t54) {.field_1=0.984375,.field_2=E_2_3,.field_3=E_43_4},.field_4=0.09375};
+    t43 a_10_3 = E_43_4;
+    float ret_10 = fn_10_myr(a_10_1, a_10_2, a_10_3);
+    if (!(ret_10==1.0)) {
+        return -1;
+    }
+
+    t40 a_11_1 = (t40) {.field_1=(t39) {.field_1=(t30) {.field_1=-1.875,.field_2=(t21) {.field_1=E_18_7,.field_2=3060119432,.field_3=1.4375,.field_4=E_19_8,.field_5=(t20) {.field_1=-3.14453125,.field_2=1.421875,.field_3=(t12) {.field_1=0.171875,.field_2=(t9) {.field_1=(t6) {.field_1=1.28125,.field_2=E_2_1},.field_2=115694040645632,.field_3=(t6) {.field_1=0.515625,.field_2=E_2_6},.field_4=0.78125,.field_5=83317925609472,.field_6=(t5) {.field_1=-0.16015625,.field_2=49194524213248,.field_3=99285919989760}},.field_3=(t10) {.field_1=-1.60546875,.field_2=0.359375,.field_3=242615500275712},.field_4=2.5546875,.field_5=E_11_1,.field_6=0.984375}},.field_6=(t15) {.field_1=(t5) {.field_1=-1.34375,.field_2=86155678318592,.field_3=125076719534080},.field_2=1.15625,.field_3=(t13) {.field_1=2526692668,.field_2=(t8) {.field_1=(t3) {.field_1=243,.field_2=(t1) {.field_1=162605589856256,.field_2=217,.field_3=2977687486,.field_4=74,.field_5=2.37109375,.field_6=1.49609375},.field_3=1665217660,.field_4=E_2_3},.field_2=(t3) {.field_1=63,.field_2=(t1) {.field_1=83432466808832,.field_2=163,.field_3=2825472336,.field_4=245,.field_5=0.5078125,.field_6=-0.71875},.field_3=1094350794,.field_4=E_2_1}},.field_3=163990210084864,.field_4=0.34375,.field_5=86},.field_4=(t14) {.field_1=50,.field_2=-0.09375}}},.field_3=46874424901632,.field_4=-2.23046875},.field_2=-3.16015625,.field_3=139156190003200},.field_2=133,.field_3=(t1) {.field_1=151978903994368,.field_2=92,.field_3=469183736,.field_4=125,.field_5=3.43359375,.field_6=3.57421875}};
+    uint64_t a_11_2 = 64581458329600;
+    t59 a_11_3 = (t59) {.field_1=E_56_6,.field_2=2175957910,.field_3=(t57) {.field_1=E_26_6,.field_2=168,.field_3=(t42) {.field_1=80343449468928,.field_2=E_41_3,.field_3=458518304,.field_4=(t23) {.field_1=132879007088640,.field_2=(t14) {.field_1=141,.field_2=0.3125},.field_3=67929798082560,.field_4=(t22) {.field_1=-0.65625,.field_2=121657342951424,.field_3=(t7) {.field_1=(t4) {.field_1=53,.field_2=-0.0546875,.field_3=110,.field_4=109205112356864,.field_5=E_2_5,.field_6=3971726706},.field_2=(t5) {.field_1=-3.20703125,.field_2=177956855611392,.field_3=219483313799168},.field_3=(t6) {.field_1=1.265625,.field_2=E_2_6}},.field_4=(t17) {.field_1=(t16) {.field_1=2465490790,.field_2=0.53125,.field_3=-0.078125,.field_4=(t6) {.field_1=0.3125,.field_2=E_2_2}},.field_2=219}}}},.field_4=(t12) {.field_1=-0.828125,.field_2=(t9) {.field_1=(t6) {.field_1=1.484375,.field_2=E_2_3},.field_2=223230053711872,.field_3=(t6) {.field_1=0.421875,.field_2=E_2_4},.field_4=-0.875,.field_5=208129902903296,.field_6=(t5) {.field_1=-2.94921875,.field_2=217811484278784,.field_3=95447919886336}},.field_3=(t10) {.field_1=-1.0625,.field_2=-1.375,.field_3=217105262837760},.field_4=0.5546875,.field_5=E_11_4,.field_6=-2.32421875},.field_5=4119368836,.field_6=-0.484375},.field_4=(t58) {.field_1=E_19_2,.field_2=(t30) {.field_1=-3.52734375,.field_2=(t21) {.field_1=E_18_9,.field_2=3895962858,.field_3=1.40625,.field_4=E_19_8,.field_5=(t20) {.field_1=-0.1484375,.field_2=0.92578125,.field_3=(t12) {.field_1=-0.265625,.field_2=(t9) {.field_1=(t6) {.field_1=-1.328125,.field_2=E_2_5},.field_2=76685686865920,.field_3=(t6) {.field_1=-0.578125,.field_2=E_2_5},.field_4=0.4375,.field_5=31133991829504,.field_6=(t5) {.field_1=-0.59765625,.field_2=81066773446656,.field_3=93021535076352}},.field_3=(t10) {.field_1=-2.6328125,.field_2=-0.28125,.field_3=29358042644480},.field_4=0.015625,.field_5=E_11_5,.field_6=-2.60546875}},.field_6=(t15) {.field_1=(t5) {.field_1=-1.7734375,.field_2=97291012014080,.field_3=203235864870912},.field_2=-0.078125,.field_3=(t13) {.field_1=1308944570,.field_2=(t8) {.field_1=(t3) {.field_1=17,.field_2=(t1) {.field_1=169812367376384,.field_2=90,.field_3=214389768,.field_4=130,.field_5=-1.5390625,.field_6=3.83984375},.field_3=4258613008,.field_4=E_2_6},.field_2=(t3) {.field_1=103,.field_2=(t1) {.field_1=19826711592960,.field_2=188,.field_3=2910355046,.field_4=99,.field_5=0.2265625,.field_6=-1.4453125},.field_3=2141412632,.field_4=E_2_6}},.field_3=169766818938880,.field_4=1.03125,.field_5=29},.field_4=(t14) {.field_1=3,.field_2=1.359375}}},.field_3=173832218083328,.field_4=2.25390625},.field_3=-1.25,.field_4=3.0546875}};
+    uint32_t ret_11 = fn_11_myr(a_11_1, a_11_2, a_11_3);
+    if (!(ret_11==3531194568)) {
+        return -1;
+    }
+
+    t63 a_12_1 = (t63) {.field_1=(t60) {.field_1=1,.field_2=-0.953125,.field_3=28380691169280,.field_4=(t1) {.field_1=266791176896512,.field_2=173,.field_3=841702660,.field_4=225,.field_5=-2.734375,.field_6=-2.24609375}},.field_2=(t61) {.field_1=-0.875,.field_2=(t16) {.field_1=2975373622,.field_2=1.46875,.field_3=-0.828125,.field_4=(t6) {.field_1=0.390625,.field_2=E_2_2}}},.field_3=0.515625,.field_4=(t62) {.field_1=E_18_1,.field_2=(t7) {.field_1=(t4) {.field_1=124,.field_2=0.00390625,.field_3=79,.field_4=236261015289856,.field_5=E_2_3,.field_6=2156655358},.field_2=(t5) {.field_1=2.4140625,.field_2=51905146388480,.field_3=223439089434624},.field_3=(t6) {.field_1=0.53125,.field_2=E_2_1}}},.field_5=255485003694080,.field_6=3.1015625};
+    double a_12_2 = 3.234375;
+    uint32_t a_12_3 = 1992315490;
+    t68 a_12_4 = (t68) {.field_1=E_64_6,.field_2=(t65) {.field_1=-1.48828125,.field_2=1219436194,.field_3=50,.field_4=41975805771776,.field_5=2064448724,.field_6=122353563467776},.field_3=(t66) {.field_1=(t59) {.field_1=E_56_2,.field_2=1046332580,.field_3=(t57) {.field_1=E_26_8,.field_2=209,.field_3=(t42) {.field_1=142694099582976,.field_2=E_41_2,.field_3=1010741440,.field_4=(t23) {.field_1=61520011984896,.field_2=(t14) {.field_1=110,.field_2=-0.125},.field_3=32251070906368,.field_4=(t22) {.field_1=-0.546875,.field_2=100567390355456,.field_3=(t7) {.field_1=(t4) {.field_1=16,.field_2=-2.8671875,.field_3=38,.field_4=106528154320896,.field_5=E_2_6,.field_6=154283124},.field_2=(t5) {.field_1=-2.69140625,.field_2=121530523058176,.field_3=195491981033472},.field_3=(t6) {.field_1=0.296875,.field_2=E_2_5}},.field_4=(t17) {.field_1=(t16) {.field_1=1183512522,.field_2=1.265625,.field_3=-1.453125,.field_4=(t6) {.field_1=-0.09375,.field_2=E_2_1}},.field_2=132}}}},.field_4=(t12) {.field_1=1.28125,.field_2=(t9) {.field_1=(t6) {.field_1=-0.65625,.field_2=E_2_5},.field_2=177899132157952,.field_3=(t6) {.field_1=-1.234375,.field_2=E_2_2},.field_4=1.4375,.field_5=97002546921472,.field_6=(t5) {.field_1=-0.09375,.field_2=109686219472896,.field_3=226948153081856}},.field_3=(t10) {.field_1=0.80078125,.field_2=0.6875,.field_3=46040566726656},.field_4=1.30859375,.field_5=E_11_6,.field_6=-1.4609375},.field_5=197005372,.field_6=0.640625},.field_4=(t58) {.field_1=E_19_3,.field_2=(t30) {.field_1=-2.33203125,.field_2=(t21) {.field_1=E_18_2,.field_2=187071608,.field_3=0.921875,.field_4=E_19_8,.field_5=(t20) {.field_1=-1.4140625,.field_2=1.54296875,.field_3=(t12) {.field_1=1.34375,.field_2=(t9) {.field_1=(t6) {.field_1=0.90625,.field_2=E_2_5},.field_2=125311720620032,.field_3=(t6) {.field_1=0.625,.field_2=E_2_1},.field_4=-0.921875,.field_5=92709840093184,.field_6=(t5) {.field_1=-2.73828125,.field_2=134199459708928,.field_3=81184594198528}},.field_3=(t10) {.field_1=-0.046875,.field_2=1.453125,.field_3=190870813671424},.field_4=-1.55859375,.field_5=E_11_4,.field_6=-0.8125}},.field_6=(t15) {.field_1=(t5) {.field_1=-0.28125,.field_2=65980206415872,.field_3=69437640933376},.field_2=0.875,.field_3=(t13) {.field_1=1203783426,.field_2=(t8) {.field_1=(t3) {.field_1=243,.field_2=(t1) {.field_1=35503180218368,.field_2=123,.field_3=359364016,.field_4=43,.field_5=-1.74609375,.field_6=3.69140625},.field_3=2099391278,.field_4=E_2_6},.field_2=(t3) {.field_1=230,.field_2=(t1) {.field_1=78725579800576,.field_2=184,.field_3=1476808480,.field_4=250,.field_5=2.0546875,.field_6=0.40234375},.field_3=1316011470,.field_4=E_2_6}},.field_3=7917143982080,.field_4=0.296875,.field_5=104},.field_4=(t14) {.field_1=254,.field_2=-0.71875}}},.field_3=198977607696384,.field_4=0.46875},.field_3=0.53125,.field_4=-2.57421875}},.field_2=(t53) {.field_1=0.921875,.field_2=(t50) {.field_1=3.24609375,.field_2=(t39) {.field_1=(t30) {.field_1=3.5,.field_2=(t21) {.field_1=E_18_1,.field_2=3714170846,.field_3=-1.34375,.field_4=E_19_5,.field_5=(t20) {.field_1=3.50390625,.field_2=-2.00390625,.field_3=(t12) {.field_1=1.046875,.field_2=(t9) {.field_1=(t6) {.field_1=1.328125,.field_2=E_2_5},.field_2=227074820669440,.field_3=(t6) {.field_1=1.0,.field_2=E_2_1},.field_4=0.09375,.field_5=45904748347392,.field_6=(t5) {.field_1=3.82421875,.field_2=82226218532864,.field_3=201097409331200}},.field_3=(t10) {.field_1=-1.59765625,.field_2=-0.921875,.field_3=209014553313280},.field_4=3.0546875,.field_5=E_11_4,.field_6=1.83984375}},.field_6=(t15) {.field_1=(t5) {.field_1=-2.62890625,.field_2=89468697313280,.field_3=83042110013440},.field_2=1.046875,.field_3=(t13) {.field_1=2099223986,.field_2=(t8) {.field_1=(t3) {.field_1=22,.field_2=(t1) {.field_1=210486406021120,.field_2=111,.field_3=702570652,.field_4=156,.field_5=0.0859375,.field_6=1.71875},.field_3=2409538788,.field_4=E_2_5},.field_2=(t3) {.field_1=141,.field_2=(t1) {.field_1=135559761887232,.field_2=124,.field_3=1544636438,.field_4=77,.field_5=-0.00390625,.field_6=3.0390625},.field_3=1992571074,.field_4=E_2_3}},.field_3=50968790564864,.field_4=-1.015625,.field_
\ No newline at end of file
+    uint32_t ret_12 = fn_12_myr(a_12_1, a_12_2, a_12_3, a_12_4);
+    if (!(ret_12==2964505044)) {
+        return -1;
+    }
+
+    t26 a_13_1 = E_26_9;
+    uint32_t a_13_2 = 2931952582;
+    t70 a_13_3 = (t70) {.field_1=(t69) {.field_1=E_29_2,.field_2=220,.field_3=281245651828737,.field_4=161440489930752}};
+    double a_13_4 = 0.62890625;
+    t73 a_13_5 = (t73) {.field_1=0.90625,.field_2=(t71) {.field_1=109360486285312,.field_2=-2.51953125,.field_3=3374314812,.field_4=4132094974,.field_5=143973346836480},.field_3=(t72) {.field_1=93,.field_2=3133286358,.field_3=129},.field_4=0.76953125};
+    t74 ret_13 = fn_13_myr(a_13_1, a_13_2, a_13_3, a_13_4, a_13_5);
+    if (!(ret_13==E_74_6)) {
+        return -1;
+    }
+
+    uint32_t a_14_1 = 2391308062;
+    uint8_t a_14_2 = 66;
+    t78 a_14_3 = (t78) {.field_1=(t75) {.field_1=85,.field_2=-2.80859375,.field_3=155146548},.field_2=(t76) {.field_1=235,.field_2=-1.2890625},.field_3=E_77_8};
+    t81 a_14_4 = (t81) {.field_1=E_79_1,.field_2=274420389904384,.field_3=E_80_2};
+    t32 a_14_5 = (t32) {.field_1=1325686188};
+    t82 a_14_6 = E_82_5;
+    t85 a_14_7 = (t85) {.field_1=558424532,.field_2=(t8) {.field_1=(t3) {.field_1=206,.field_2=(t1) {.field_1=150202022100992,.field_2=157,.field_3=860064444,.field_4=215,.field_5=-1.9765625,.field_6=-2.18359375},.field_3=2792603168,.field_4=E_2_1},.field_2=(t3) {.field_1=47,.field_2=(t1) {.field_1=209371989409792,.field_2=167,.field_3=1162519188,.field_4=232,.field_5=2.2109375,.field_6=3.82421875},.field_3=2196829234,.field_4=E_2_2}},.field_3=239020664553472,.field_4=645390774,.field_5=(t83) {.field_1=(t53) {.field_1=0.375,.field_2=(t50) {.field_1=-3.5625,.field_2=(t39) {.field_1=(t30) {.field_1=1.97265625,.field_2=(t21) {.field_1=E_18_8,.field_2=3857006490,.field_3=1.4375,.field_4=E_19_8,.field_5=(t20) {.field_1=3.66015625,.field_2=2.25390625,.field_3=(t12) {.field_1=-0.5,.field_2=(t9) {.field_1=(t6) {.field_1=-1.265625,.field_2=E_2_4},.field_2=246081152876544,.field_3=(t6) {.field_1=0.671875,.field_2=E_2_5},.field_4=0.6875,.field_5=270577423351808,.field_6=(t5) {.field_1=-3.7734375,.field_2=103229432922112,.field_3=25981307060224}},.field_3=(t10) {.field_1=-2.328125,.field_2=-1.21875,.field_3=210485456797696},.field_4=-0.21484375,.field_5=E_11_1,.field_6=0.23828125}},.field_6=(t15) {.field_1=(t5) {.field_1=-0.296875,.field_2=149437025615872,.field_3=217610901782528},.field_2=-0.59375,.field_3=(t13) {.field_1=2925618826,.field_2=(t8) {.field_1=(t3) {.field_1=100,.field_2=(t1) {.field_1=100015436857344,.field_2=111,.field_3=988840590,.field_4=64,.field_5=-0.8671875,.field_6=-2.19140625},.field_3=951054362,.field_4=E_2_2},.field_2=(t3) {.field_1=143,.field_2=(t1) {.field_1=89940269858816,.field_2=197,.field_3=1866268236,.field_4=8,.field_5=0.546875,.field_6=-2.7265625},.field_3=4272545584,.field_4=E_2_4}},.field_3=145750579740672,.field_4=-1.296875,.field_5=201},.field_4=(t14) {.field_1=160,.field_2=1.046875}}},.field_3=73607486504960,.field_4=1.15625},.field_2=-1.05078125,.field_3=203696970924032},.field_3=767588794,.field_4=-1.140625},.field_3=(t51) {.field_1=-3.6328125},.field_4=2.8125,.field_5=(t44) {.field_1=0.09375},.field_6=(t52) {.field_1=(t23) {.field_1=109872603332608,.field_2=(t14) {.field_1=75,.field_2=0.828125},.field_3=181185840939008,.field_4=(t22) {.field_1=0.578125,.field_2=276458107961344,.field_3=(t7) {.field_1=(t4) {.field_1=221,.field_2=2.8125,.field_3=138,.field_4=51979432886272,.field_5=E_2_4,.field_6=4196052024},.field_2=(t5) {.field_1=-2.203125,.field_2=57078884073472,.field_3=36038635683840},.field_3=(t6) {.field_1=-0.90625,.field_2=E_2_5}},.field_4=(t17) {.field_1=(t16) {.field_1=2773883292,.field_2=-0.625,.field_3=0.25,.field_4=(t6) {.field_1=-0.703125,.field_2=E_2_1}},.field_2=215}}},.field_2=1.328125,.field_3=140846684569600,.field_4=144}},.field_2=432794756,.field_3=2744398968},.field_6=(t84) {.field_1=153,.field_2=270401691844608}};
+    uint64_t ret_14 = fn_14_myr(a_14_1, a_14_2, a_14_3, a_14_4, a_14_5, a_14_6, a_14_7);
+    if (!(ret_14==278379121082369)) {
+        return -1;
+    }
+
+    t86 a_15_1 = E_86_10;
+    t69 a_15_2 = (t69) {.field_1=E_29_3,.field_2=174,.field_3=120887724867584,.field_4=122558970331136};
+    t88 a_15_3 = (t88) {.field_1=E_87_6,.field_2=E_19_4,.field_3=(t1) {.field_1=13773365706752,.field_2=103,.field_3=2174769352,.field_4=176,.field_5=-3.88671875,.field_6=-0.2578125},.field_4=E_48_7};
+    t93 a_15_4 = (t93) {.field_1=(t89) {.field_1=2.3515625,.field_2=0.375,.field_3=(t78) {.field_1=(t75) {.field_1=225,.field_2=3.30859375,.field_3=307894648},.field_2=(t76) {.field_1=11,.field_2=1.78125},.field_3=E_77_8}},.field_2=E_90_6,.field_3=(t15) {.field_1=(t5) {.field_1=-0.5234375,.field_2=132763972009984,.field_3=229659410694144},.field_2=-0.78125,.field_3=(t13) {.field_1=1759559384,.field_2=(t8) {.field_1=(t3) {.field_1=49,.field_2=(t1) {.field_1=136392379072512,.field_2=89,.field_3=217892376,.field_4=68,.field_5=-2.91796875,.field_6=-1.44140625},.field_3=411030898,.field_4=E_2_2},.field_2=(t3) {.field_1=22,.field_2=(t1) {.field_1=172726771253248,.field_2=126,.field_3=1394729466,.field_4=253,.field_5=1.3359375,.field_6=-1.6875},.field_3=691362998,.field_4=E_2_3}},.field_3=253720887820288,.field_4=-1.4375,.field_5=101},.field_4=(t14) {.field_1=249,.field_2=-1.296875}},.field_4=(t91) {.field_1=528531976,.field_2=(t71) {.field_1=261386844897280,.field_2=1.84765625,.field_3=2388631154,.field_4=1719296880,.field_5=155468073926656},.field_3=3470986990,.field_4=3478856264},.field_5=(t92) {.field_1=3194978670,.field_2=1257202236,.field_3=678627422}};
+    t95 a_15_5 = (t95) {.field_1=-0.953125,.field_2=1149891486,.field_3=E_94_1};
+    t25 a_15_6 = (t25) {.field_1=E_24_7,.field_2=(t6) {.field_1=0.953125,.field_2=E_2_3}};
+    float a_15_7 = 0.65625;
+    t60 a_15_8 = (t60) {.field_1=174,.field_2=0.140625,.field_3=211052441108480,.field_4=(t1) {.field_1=171324051947520,.field_2=72,.field_3=1314068538,.field_4=2,.field_5=2.62109375,.field_6=-3.015625}};
+    t97 a_15_9 = (t97) {.field_1=(t93) {.field_1=(t89) {.field_1=3.0234375,.field_2=1.390625,.field_3=(t78) {.field_1=(t75) {.field_1=51,.field_2=-2.76953125,.field_3=3019798602},.field_2=(t76) {.field_1=1,.field_2=0.5078125},.field_3=E_77_8}},.field_2=E_90_7,.field_3=(t15) {.field_1=(t5) {.field_1=-3.71484375,.field_2=157999771287552,.field_3=111072570245120},.field_2=0.21875,.field_3=(t13) {.field_1=1336322566,.field_2=(t8) {.field_1=(t3) {.field_1=0,.field_2=(t1) {.field_1=240426317512704,.field_2=157,.field_3=52590348,.field_4=176,.field_5=1.80859375,.field_6=2.58984375},.field_3=1153624366,.field_4=E_2_1},.field_2=(t3) {.field_1=206,.field_2=(t1) {.field_1=180814220492800,.field_2=26,.field_3=299703506,.field_4=32,.field_5=1.73828125,.field_6=3.32421875},.field_3=3465599182,.field_4=E_2_4}},.field_3=244610903965696,.field_4=-1.546875,.field_5=193},.field_4=(t14) {.field_1=146,.field_2=-1.515625}},.field_4=(t91) {.field_1=1374840658,.field_2=(t71) {.field_1=142626650193920,.field_2=1.80859375,.field_3=1480961136,.field_4=292227856,.field_5=35406836006912},.field_3=3934363586,.field_4=1628550422},.field_5=(t92) {.field_1=554328638,.field_2=3308010754,.field_3=4278941526}},.field_2=-2.8046875,.field_3=(t96) {.field_1=-0.31640625,.field_2=1.77734375}};
+    t100 a_15_10 = (t100) {.field_1=(t98) {.field_1=(t83) {.field_1=(t53) {.field_1=-0.578125,.field_2=(t50) {.field_1=-0.7265625,.field_2=(t39) {.field_1=(t30) {.field_1=-2.6015625,.field_2=(t21) {.field_1=E_18_5,.field_2=3722140840,.field_3=1.234375,.field_4=E_19_4,.field_5=(t20) {.field_1=0.7421875,.field_2=2.03125,.field_3=(t12) {.field_1=-0.90625,.field_2=(t9) {.field_1=(t6) {.field_1=1.46875,.field_2=E_2_5},.field_2=16987441070080,.field_3=(t6) {.field_1=-0.125,.field_2=E_2_3},.field_4=1.0625,.field_5=215665831968768,.field_6=(t5) {.field_1=1.7265625,.field_2=135345495736320,.field_3=22229593620480}},.field_3=(t10) {.field_1=2.16015625,.field_2=0.625,.field_3=114942210998272},.field_4=-2.71484375,.field_5=E_11_3,.field_6=-0.2421875}},.field_6=(t15) {.field_1=(t5) {.field_1=2.91796875,.field_2=59953140727808,.field_3=184442813546496},.field_2=0.03125,.field_3=(t13) {.field_1=1648496868,.field_2=(t8) {.field_1=(t3) {.field_1=248,.field_2=(t1) {.field_1=258110700650496,.field_2=141,.field_3=1835743428,.field_4=200,.field_5=-0.42578125,.field_6=2.7890625},.field_3=1625618080,.field_4=E_2_2},.field_2=(t3) {.field_1=17,.field_2=(t1) {.field_1=96824602525696,.field_2=239,.field_3=545066032,.field_4=206,.field_5=-1.140625,.field_6=3.6171875},.field_3=2459246160,.field_4=E_2_1}},.field_3=124927959629824,.field_4=0.46875,.field_5=218},.field_4=(t14) {.field_1=36,.field_2=-1.375}}},.field_3=1156421255168,.field_4=0.4921875},.field_2=0.2265625,.field_3=246949201182720},.field_3=3332544584,.field_4=-0.984375},.field_3=(t51) {.field_1=-0.87890625},.field_4=-2.66015625,.field_5=(t44) {.field_1=-1.078125},.field_6=(t52) {.field_1=(t23) {.field_1=85664792313856,.field_2=(t14) {.field_1=181,.field_2=0.265625},.field_3=24759761633280,.field_4=(t22) {.field_1=-1.078125,.field_2=123531649613824,.field_3=(t7) {.field_1=(t4) {.field_1=119,.field_2=-1.08203125,.field_3=129,.field_4=228120870649856,.field_5=E_2_2,.field_6=2715867670},.field_2=(t5) {.field_1=0.9140625,.field_2=183028377845760,.field_3=167569567645696},.field_3=(t6) {.field_1=-0.96875,.field_2=E_2_5}},.field_4=(t17) {.field_1=(t16) {.field_1=168190774,.field_2=1.078125,.field_3=0.234375,.field_4=(t6) {.field_1=-1.0,.field_2=E_2_6}},.field_2=148}}},.field_2=0.765625,.field_3=120963210805248,.field_4=117}},.field_2=2231554362,.field_3=2636507052},.field_2=2.703125,.field_3=191209702686720,.field_4=2.1015625,.field_5=38},.field_2=109765657755648,.field_3=-1.1640625,.field_4=-2.046875,.field_5=(t99) {.field_1=E_19_5,.field_2=3391967572}};
+    t102 ret_15 = fn_15_myr(a_15_1, a_15_2, a_15_3, a_15_4, a_15_5, a_15_6, a_15_7, a_15_8, a_15_9, a_15_10);
+    if (!((ret_15.field_1==0.25) && ((ret_15.field_2.field_1==E_18_6) && (ret_15.field_2.field_2==696503716) && (ret_15.field_2.field_3==-1.078125) && (ret_15.field_2.field_4==E_19_6) && ((ret_15.field_2.field_5.field_1==-3.4140625) && (ret_15.field_2.field_5.field_2==1.85546875) && ((ret_15.field_2.field_5.field_3.field_1==-0.046875) && (((ret_15.field_2.field_5.field_3.field_2.field_1.field_1==-0.015625) && (ret_15.field_2.field_5.field_3.field_2.field_1.field_2==E_2_2)) && (ret_15.field_2.field_5.field_3.field_2.field_2==1680566779904) && ((ret_15.field_2.field_5.field_3.field_2.field_3.field_1==-1.234375) && (ret_15.field_2.field_5.field_3.field_2.field_3.field_2==E_2_1)) && (ret_15.field_2.field_5.field_3.field_2.field_4==0.578125) && (ret_15.field_2.field_5.field_3.field_2.field_5==246387639451648) && ((ret_15.field_2.field_5.field_3.field_2.field_6.field_1==-2.4140625) && (ret_15.field_2.field_5.field_3.field_2.field_6.field_2==21180950511616) && (ret_15.field_2.field_5.field_3.field_2.field_6.field_3==63676999925760))) && ((ret_15.field_2.field_5.field_3.field_3.field_1==-0.5546875) && (ret_15.field_2.field_5.field_3.field_3.field_2==0.375) && (ret_15.field_2.field_5.field_3.field_3.field_3==4498010144768)) && (ret_15.field_2.field_5.field_3.field_4==-2.86328125) && (ret_15.field_2.field_5.field_3.field_5==E_11_4) && (ret_15.field_2.field_5.field_3.field_6==-1.4765625))) && (((ret_15.field_2.field_6.field_1.field_1==1.16015625) && (ret_15.field_2.field_6.field_1.field_2==206263158308864) && (ret_15.field_2.field_6.field_1.field_3==67183469658112)) && (ret_15.field_2.field_6.field_2==0.875) && ((ret_15.field_2.field_6.field_3.field_1==2520041722) && (((ret_15.field_2.field_6.field_3.field_2.field_1.field_1==194) && ((ret_15.field_2.field_6.field_3.field_2.field_1.field_2.field_1==28598144729088) && (ret_15.field_2.field_6.field_3.field_2.field_1.field_2.field_2==42) && (ret_15.field_2.field_6.field_3.field_2.field_1.field_2.field_3==1389583824) && (ret_15.field_2.field_6.field_3.field_2.field_1.field_2.field_4==67) && (ret_15.field_2.field_6.field_3.field_2.field_1.field_2.field_5==-1.390625) && (ret_15.field_2.field_6.field_3.field_2.field_1.field_2.field_6==-3.390625)) && (ret_15.field_2.field_6.field_3.field_2.field_1.field_3==1403784366) && (ret_15.field_2.field_6.field_3.field_2.field_1.field_4==E_2_1)) && ((ret_15.field_2.field_6.field_3.field_2.field_2.field_1==141) && ((ret_15.field_2.field_6.field_3.field_2.field_2.field_2.field_1==230715822833664) && (ret_15.field_2.field_6.field_3.field_2.field_2.field_2.field_2==65) && (ret_15.field_2.field_6.field_3.field_2.field_2.field_2.field_3==2399362858) && (ret_15.field_2.field_6.field_3.field_2.field_2.field_2.field_4==237) && (ret_15.field_2.field_6.field_3.field_2.field_2.field_2.field_5==-1.59375) && (ret_15.field_2.field_6.field_3.field_2.field_2.field_2.field_6==-2.0)) && (ret_15.field_2.field_6.field_3.field_2.field_2.field_3==3443253262) && (ret_15.field_2.field_6.field_3.field_2.field_2.field_4==E_2_3))) && (ret_15.field_2.field_6.field_3.field_3==89840887529472) && (ret_15.field_2.field_6.field_3.field_4==-1.484375) && (ret_15.field_2.field_6.field_3.field_5==234)) && ((ret_15.field_2.field_6.field_4.field_1==240) && (ret_15.field_2.field_6.field_4.field_2==-1.4375)))) && ((ret_15.field_3.field_1==-1.40625)) && (ret_15.field_4==-0.23828125))) {
+        return -1;
+    }
+
+    uint64_t a_16_1 = 138813818142720;
+    t57 a_16_2 = (t57) {.field_1=E_26_3,.field_2=224,.field_3=(t42) {.field_1=107786496507904,.field_2=E_41_3,.field_3=3940023518,.field_4=(t23) {.field_1=116812990251008,.field_2=(t14) {.field_1=43,.field_2=-0.203125},.field_3=66490954678272,.field_4=(t22) {.field_1=-0.734375,.field_2=151595749212160,.field_3=(t7) {.field_1=(t4) {.field_1=3,.field_2=-3.59765625,.field_3=124,.field_4=18634915053568,.field_5=E_2_4,.field_6=2585846002},.field_2=(t5) {.field_1=-0.33984375,.field_2=105850133544960,.field_3=200111611576320},.field_3=(t6) {.field_1=-0.1875,.field_2=E_2_1}},.field_4=(t17) {.field_1=(t16) {.field_1=3167428002,.field_2=-0.609375,.field_3=1.015625,.field_4=(t6) {.field_1=-0.046875,.field_2=E_2_4}},.field_2=4}}}},.field_4=(t12) {.field_1=1.5,.field_2=(t9) {.field_1=(t6) {.field_1=-1.296875,.field_2=E_2_4},.field_2=73429141815296,.field_3=(t6) {.field_1=1.453125,.field_2=E_2_6},.field_4=0.59375,.field_5=247630766538752,.field_6=(t5) {.field_1=-1.03515625,.field_2=242640090824704,.field_3=89287634190336}},.field_3=(t10) {.field_1=0.8125,.field_2=-1.171875,.field_3=240883383402496},.field_4=0.91015625,.field_5=E_11_2,.field_6=-1.25},.field_5=2931638482,.field_6=0.71875};
+    t15 ret_16 = fn_16_myr(a_16_1, a_16_2);
+    if (!(((ret_16.field_1.field_1==-3.1015625) && (ret_16.field_1.field_2==183885376782336) && (ret_16.field_1.field_3==162392907317248)) && (ret_16.field_2==-1.09375) && ((ret_16.field_3.field_1==1678328882) && (((ret_16.field_3.field_2.field_1.field_1==226) && ((ret_16.field_3.field_2.field_1.field_2.field_1==274580443365376) && (ret_16.field_3.field_2.field_1.field_2.field_2==223) && (ret_16.field_3.field_2.field_1.field_2.field_3==1866442708) && (ret_16.field_3.field_2.field_1.field_2.field_4==253) && (ret_16.field_3.field_2.field_1.field_2.field_5==2.7421875) && (ret_16.field_3.field_2.field_1.field_2.field_6==0.16015625)) && (ret_16.field_3.field_2.field_1.field_3==2411587072) && (ret_16.field_3.field_2.field_1.field_4==E_2_1)) && ((ret_16.field_3.field_2.field_2.field_1==123) && ((ret_16.field_3.field_2.field_2.field_2.field_1==144693939929088) && (ret_16.field_3.field_2.field_2.field_2.field_2==205) && (ret_16.field_3.field_2.field_2.field_2.field_3==1556663324) && (ret_16.field_3.field_2.field_2.field_2.field_4==225) && (ret_16.field_3.field_2.field_2.field_2.field_5==1.2890625) && (ret_16.field_3.field_2.field_2.field_2.field_6==1.40234375)) && (ret_16.field_3.field_2.field_2.field_3==2084842492) && (ret_16.field_3.field_2.field_2.field_4==E_2_5))) && (ret_16.field_3.field_3==150713528483840) && (ret_16.field_3.field_4==-1.25) && (ret_16.field_3.field_5==245)) && ((ret_16.field_4.field_1==224) && (ret_16.field_4.field_2==0.890625)))) {
+        return -1;
+    }
+
+    float a_17_1 = -0.8125;
+    t10 a_17_2 = (t10) {.field_1=-2.640625,.field_2=-0.3125,.field_3=158864030433280};
+    t35 a_17_3 = (t35) {.field_1=120060447424512,.field_2=200994178};
+    float a_17_4 = -1.0625;
+    t18 a_17_5 = E_18_7;
+    uint64_t a_17_6 = 180628077543424;
+    t3 a_17_7 = (t3) {.field_1=160,.field_2=(t1) {.field_1=267308015419392,.field_2=53,.field_3=2126242378,.field_4=29,.field_5=-3.328125,.field_6=2.71875},.field_3=324345820,.field_4=E_2_3};
+    float a_17_8 = 1.5625;
+    t56 a_17_9 = E_56_5;
+    t72 a_17_10 = (t72) {.field_1=0,.field_2=1742227568,.field_3=93};
+    double ret_17 = fn_17_myr(a_17_1, a_17_2, a_17_3, a_17_4, a_17_5, a_17_6, a_17_7, a_17_8, a_17_9, a_17_10);
+    if (!(ret_17==2.59765625)) {
+        return -1;
+    }
+
+    t29 a_18_1 = E_29_5;
+    t50 a_18_2 = (t50) {.field_1=-0.671875,.field_2=(t39) {.field_1=(t30) {.field_1=-2.3984375,.field_2=(t21) {.field_1=E_18_5,.field_2=178101928,.field_3=-1.125,.field_4=E_19_6,.field_5=(t20) {.field_1=0.28515625,.field_2=-1.88671875,.field_3=(t12) {.field_1=0.921875,.field_2=(t9) {.field_1=(t6) {.field_1=-0.359375,.field_2=E_2_3},.field_2=75260795158528,.field_3=(t6) {.field_1=0.59375,.field_2=E_2_2},.field_4=-1.515625,.field_5=64393391505408,.field_6=(t5) {.field_1=3.38671875,.field_2=241181364584448,.field_3=262564167811072}},.field_3=(t10) {.field_1=3.3984375,.field_2=-0.75,.field_3=84301476790272},.field_4=-1.7421875,.field_5=E_11_1,.field_6=1.6640625}},.field_6=(t15) {.field_1=(t5) {.field_1=2.96484375,.field_2=25240979636224,.field_3=279218169577473},.field_2=0.46875,.field_3=(t13) {.field_1=3583795084,.field_2=(t8) {.field_1=(t3) {.field_1=121,.field_2=(t1) {.field_1=18449750163456,.field_2=7,.field_3=4231471828,.field_4=27,.field_5=-2.578125,.field_6=1.60546875},.field_3=2763967082,.field_4=E_2_3},.field_2=(t3) {.field_1=127,.field_2=(t1) {.field_1=7883293065216,.field_2=195,.field_3=3293015804,.field_4=183,.field_5=-3.18359375,.field_6=2.20703125},.field_3=4053927584,.field_4=E_2_1}},.field_3=179909264015360,.field_4=1.1875,.field_5=245},.field_4=(t14) {.field_1=230,.field_2=-1.015625}}},.field_3=66953411952640,.field_4=3.87890625},.field_2=3.04296875,.field_3=33030485442560},.field_3=369406000,.field_4=1.203125};
+    t94 a_18_3 = E_94_3;
+    t97 a_18_4 = (t97) {.field_1=(t93) {.field_1=(t89) {.field_1=-1.234375,.field_2=1.390625,.field_3=(t78) {.field_1=(t75) {.field_1=30,.field_2=-3.5390625,.field_3=2512982078},.field_2=(t76) {.field_1=139,.field_2=0.36328125},.field_3=E_77_5}},.field_2=E_90_3,.field_3=(t15) {.field_1=(t5) {.field_1=-1.4609375,.field_2=92383916457984,.field_3=113307733983232},.field_2=-1.265625,.field_3=(t13) {.field_1=1168626982,.field_2=(t8) {.field_1=(t3) {.field_1=109,.field_2=(t1) {.field_1=206784518291456,.field_2=38,.field_3=1671741250,.field_4=162,.field_5=-1.3671875,.field_6=0.9921875},.field_3=2717166618,.field_4=E_2_2},.field_2=(t3) {.field_1=190,.field_2=(t1) {.field_1=202281623093248,.field_2=24,.field_3=2205245826,.field_4=163,.field_5=-0.375,.field_6=-1.1875},.field_3=2520606304,.field_4=E_2_5}},.field_3=81504045891584,.field_4=0.640625,.field_5=215},.field_4=(t14) {.field_1=223,.field_2=-0.78125}},.field_4=(t91) {.field_1=1663866964,.field_2=(t71) {.field_1=137293949304832,.field_2=0.4765625,.field_3=3008888856,.field_4=3504606106,.field_5=271175374602240},.field_3=3418972692,.field_4=378265792},.field_5=(t92) {.field_1=1683646014,.field_2=2279286742,.field_3=1017297018}},.field_2=2.19921875,.field_3=(t96) {.field_1=-2.6015625,.field_2=0.484375}};
+    t82 a_18_5 = E_82_5;
+    uint32_t a_18_6 = 2225998788;
+    t68 ret_18 = fn_18_myr(a_18_1, a_18_2, a_18_3, a_18_4, a_18_5, a_18_6);
+    if (!((ret_18.field_1==E_64_2) && ((ret_18.field_2.field_1==-1.3828125) && (ret_18.field_2.field_2==61112946) && (ret_18.field_2.field_3==190) && (ret_18.field_2.field_4==32961124368384) && (ret_18.field_2.field_5==1304765990) && (ret_18.field_2.field_6==126354513723392)) && (((ret_18.field_3.field_1.field_1==E_56_7) && (ret_18.field_3.field_1.field_2==766433818) && ((ret_18.field_3.field_1.field_3.field_1==E_26_8) && (ret_18.field_3.field_1.field_3.field_2==88) && ((ret_18.field_3.field_1.field_3.field_3.field_1==187522956001280) && (ret_18.field_3.field_1.field_3.field_3.field_2==E_41_2) && (ret_18.field_3.field_1.field_3.field_3.field_3==197628948) && ((ret_18.field_3.field_1.field_3.field_3.field_4.field_1==135725845053440) && ((ret_18.field_3.field_1.field_3.field_3.field_4.field_2.field_1==57) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_2.field_2==1.078125)) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_3==160515871997952) && ((ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_1==0.359375) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_2==104917964292096) && (((ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_1==206) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_2==-0.80078125) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_3==138) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_4==103853490044928) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_5==E_2_5) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_1.field_6==1457574106)) && ((ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_2.field_1==-2.7734375) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_2.field_2==269868276908032) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_2.field_3==241406633312256)) && ((ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_3.field_1==-1.515625) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_3.field_3.field_2==E_2_4))) && (((ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_1==64443498) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_2==-0.5) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_3==0.4375) && ((ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_4.field_1==0.8125) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_1.field_4.field_2==E_2_3))) && (ret_18.field_3.field_1.field_3.field_3.field_4.field_4.field_4.field_2==241))))) && ((ret_18.field_3.field_1.field_3.field_4.field_1==-0.921875) && (((ret_18.field_3.field_1.field_3.field_4.field_2.field_1.field_1==-0.265625) && (ret_18.field_3.field_1.field_3.field_4.field_2.field_1.field_2==E_2_1)) && (ret_18.field_3.field_1.field_3.field_4.field_2.field_2==255656365260800) && ((ret_18.field_3.field_1.field_3.field_4.field_2.field_3.field_1==0.8125) && (ret_18.field_3.field_1.field_3.field_4.field_2.field_3.field_2==E_2_5)) && (ret_18.field_3.field_1.field_3.field_4.field_2.field_4==-1.03125) && (ret_18.field_3.field_1.field_3.field_4.field_2.field_5==226905594134528) && ((ret_18.field_3.field_1.field_3.field_4.field_2.field_6.field_1==-1.796875) && (ret_18.field_3.field_1.field_3.field_4.field_2.field_6.field_2==110809697746944) && (ret_18.field_3.field_1.field_3.field_4.field_2.field_6.field_3==182448222502912))) && ((ret_18.field_3.field_1.field_3.field_4.field_3.field_1==2.66015625) && (ret_18.field_3.field_1.field_3.field_4.field_3.field_2==-1.53125) && (ret_18.field_3.field_1.field_3.field_4.field_3.field_3==5891210215424)) && (ret_18.field_3.field_1.field_3.field_4.field_4==1.15234375) && (ret_18.field_3.field_1.field_3.field_4.field_5==E_11_3) && (ret_18.field_3.field_1.field_3.field_4.field_6==0.47265625)) && (ret_18.field_3.field_1.field_3.field_5==69698034) && (ret_18.field_3.field_1.f
\ No newline at end of file
+        return -1;
+    }
+
+    uint64_t a_19_1 = 158887773995008;
+    uint8_t a_19_2 = 186;
+    uint8_t ret_19 = fn_19_myr(a_19_1, a_19_2);
+    if (!(ret_19==113)) {
+        return -1;
+    }
+
+    t72 a_20_1 = (t72) {.field_1=31,.field_2=784492568,.field_3=176};
+    t54 a_20_2 = (t54) {.field_1=-0.03125,.field_2=E_2_6,.field_3=E_43_2};
+    t102 a_20_3 = (t102) {.field_1=-0.953125,.field_2=(t21) {.field_1=E_18_1,.field_2=3892333532,.field_3=0.921875,.field_4=E_19_3,.field_5=(t20) {.field_1=2.6015625,.field_2=-0.328125,.field_3=(t12) {.field_1=0.3125,.field_2=(t9) {.field_1=(t6) {.field_1=0.34375,.field_2=E_2_3},.field_2=231543623516160,.field_3=(t6) {.field_1=1.046875,.field_2=E_2_1},.field_4=1.078125,.field_5=158249674997760,.field_6=(t5) {.field_1=-3.65234375,.field_2=81418480910336,.field_3=142554027130880}},.field_3=(t10) {.field_1=3.359375,.field_2=1.21875,.field_3=57638369755136},.field_4=-3.484375,.field_5=E_11_1,.field_6=3.09765625}},.field_6=(t15) {.field_1=(t5) {.field_1=0.51171875,.field_2=165765595136000,.field_3=108768946552832},.field_2=-0.25,.field_3=(t13) {.field_1=3389738472,.field_2=(t8) {.field_1=(t3) {.field_1=18,.field_2=(t1) {.field_1=117849701351424,.field_2=251,.field_3=595888978,.field_4=83,.field_5=2.171875,.field_6=-0.47265625},.field_3=678334346,.field_4=E_2_2},.field_2=(t3) {.field_1=10,.field_2=(t1) {.field_1=215416273371136,.field_2=175,.field_3=3712234320,.field_4=153,.field_5=1.58203125,.field_6=1.640625},.field_3=691527554,.field_4=E_2_5}},.field_3=281208706433025,.field_4=0.53125,.field_5=170},.field_4=(t14) {.field_1=226,.field_2=1.171875}}},.field_3=(t101) {.field_1=0.6875},.field_4=3.54296875};
+    t30 a_20_4 = (t30) {.field_1=0.328125,.field_2=(t21) {.field_1=E_18_2,.field_2=3038599074,.field_3=-0.53125,.field_4=E_19_2,.field_5=(t20) {.field_1=-2.921875,.field_2=-1.4453125,.field_3=(t12) {.field_1=-0.421875,.field_2=(t9) {.field_1=(t6) {.field_1=-0.15625,.field_2=E_2_1},.field_2=226740145750016,.field_3=(t6) {.field_1=0.34375,.field_2=E_2_2},.field_4=1.09375,.field_5=105371665039360,.field_6=(t5) {.field_1=-3.7890625,.field_2=200291522183168,.field_3=273916916662272}},.field_3=(t10) {.field_1=1.69921875,.field_2=-0.25,.field_3=37761889730560},.field_4=-0.37109375,.field_5=E_11_3,.field_6=2.359375}},.field_6=(t15) {.field_1=(t5) {.field_1=-2.98828125,.field_2=85889758134272,.field_3=189673236725760},.field_2=1.0625,.field_3=(t13) {.field_1=1108811158,.field_2=(t8) {.field_1=(t3) {.field_1=113,.field_2=(t1) {.field_1=34340434870272,.field_2=204,.field_3=2563547796,.field_4=212,.field_5=-2.8828125,.field_6=2.53125},.field_3=4104468038,.field_4=E_2_3},.field_2=(t3) {.field_1=48,.field_2=(t1) {.field_1=114490489438208,.field_2=137,.field_3=4274611490,.field_4=4,.field_5=2.87109375,.field_6=2.67578125},.field_3=1675682774,.field_4=E_2_6}},.field_3=155964017999872,.field_4=-0.421875,.field_5=153},.field_4=(t14) {.field_1=249,.field_2=-0.015625}}},.field_3=14699609849856,.field_4=-0.8125};
+    float a_20_5 = -1.03125;
+    t100 a_20_6 = (t100) {.field_1=(t98) {.field_1=(t83) {.field_1=(t53) {.field_1=-1.546875,.field_2=(t50) {.field_1=3.58984375,.field_2=(t39) {.field_1=(t30) {.field_1=-0.6640625,.field_2=(t21) {.field_1=E_18_2,.field_2=3261231628,.field_3=-1.53125,.field_4=E_19_8,.field_5=(t20) {.field_1=3.0546875,.field_2=2.625,.field_3=(t12) {.field_1=1.296875,.field_2=(t9) {.field_1=(t6) {.field_1=-0.515625,.field_2=E_2_1},.field_2=90256515661824,.field_3=(t6) {.field_1=1.1875,.field_2=E_2_1},.field_4=-0.515625,.field_5=209147190050816,.field_6=(t5) {.field_1=2.83984375,.field_2=204519943045120,.field_3=176046915452928}},.field_3=(t10) {.field_1=-0.64453125,.field_2=-1.28125,.field_3=63390518214656},.field_4=-0.8359375,.field_5=E_11_4,.field_6=-1.73828125}},.field_6=(t15) {.field_1=(t5) {.field_1=2.2578125,.field_2=249508094672896,.field_3=125875889766400},.field_2=-0.03125,.field_3=(t13) {.field_1=3690927442,.field_2=(t8) {.field_1=(t3) {.field_1=116,.field_2=(t1) {.field_1=126408480784384,.field_2=70,.field_3=2502906064,.field_4=53,.field_5=-1.66796875,.field_6=0.3203125},.field_3=425223464,.field_4=E_2_1},.field_2=(t3) {.field_1=116,.field_2=(t1) {.field_1=122683318730752,.field_2=37,.field_3=3331048268,.field_4=79,.field_5=-2.58984375,.field_6=-3.03125},.field_3=234747400,.field_4=E_2_1}},.field_3=236050942525440,.field_4=0.5625,.field_5=115},.field_4=(t14) {.field_1=237,.field_2=1.265625}}},.field_3=237145589940224,.field_4=0.125},.field_2=-2.48046875,.field_3=177709856587776},.field_3=1727895586,.field_4=0.40625},.field_3=(t51) {.field_1=-2.9609375},.field_4=-1.86328125,.field_5=(t44) {.field_1=-1.3125},.field_6=(t52) {.field_1=(t23) {.field_1=160533698838528,.field_2=(t14) {.field_1=137,.field_2=0.53125},.field_3=219195279015936,.field_4=(t22) {.field_1=1.015625,.field_2=58457369870336,.field_3=(t7) {.field_1=(t4) {.field_1=224,.field_2=3.4765625,.field_3=169,.field_4=88271065972736,.field_5=E_2_1,.field_6=1881912782},.field_2=(t5) {.field_1=0.98046875,.field_2=73571505274880,.field_3=154864035561472},.field_3=(t6) {.field_1=0.5625,.field_2=E_2_2}},.field_4=(t17) {.field_1=(t16) {.field_1=1669921896,.field_2=-0.4375,.field_3=0.765625,.field_4=(t6) {.field_1=-0.578125,.field_2=E_2_2}},.field_2=149}}},.field_2=1.046875,.field_3=126107861778432,.field_4=55}},.field_2=1011521230,.field_3=334865810},.field_2=-1.265625,.field_3=139944064581632,.field_4=-2.64453125,.field_5=232},.field_2=9370746880000,.field_3=2.56640625,.field_4=1.46484375,.field_5=(t99) {.field_1=E_19_7,.field_2=155644616}};
+    t82 a_20_7 = E_82_5;
+    t92 a_20_8 = (t92) {.field_1=588421914,.field_2=2163719396,.field_3=664040668};
+    t19 a_20_9 = E_19_4;
+    uint8_t ret_20 = fn_20_myr(a_20_1, a_20_2, a_20_3, a_20_4, a_20_5, a_20_6, a_20_7, a_20_8, a_20_9);
+    if (!(ret_20==139)) {
+        return -1;
+    }
+
+    return 0;
+}
--- /dev/null
+++ b/test/abi/006_in-c.myr
@@ -1,0 +1,26 @@
+use std
+use "006_types"
+
+pkg = 
+    extern const fn_1_c : (a1 : uint32, a2 : (uint8,t1,uint32,t2), a3 : t2, a4 : flt32, a5 : uint8 -> t7)
+    extern const fn_2_c : (a1 : t7, a2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)), a3 : t12, a4 : flt64, a5 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)), a6 : t13, a7 : uint32 -> flt32)
+    extern const fn_3_c : (a1 : (flt64,uint64,uint64), a2 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)), a3 : (uint32,flt32,flt32,(flt32,t2)), a4 : (uint32,flt32,flt32,(flt32,t2)), a5 : uint64, a6 : t17, a7 : t12 -> flt32)
+    extern const fn_4_c : (a1 : t1, a2 : t21, a3 : t23, a4 : flt64, a5 : (flt32,t2), a6 : uint64, a7 : flt64 -> t2)
+    extern const fn_5_c : (a1 : uint32, a2 : t24, a3 : flt64, a4 : (t24,(flt32,t2)), a5 : uint64, a6 : t28 -> (uint8,t1,uint32,t2))
+    extern const fn_6_c : (a1 : t29, a2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)), a3 : (uint64,t30,t31,t32), a4 : (flt64,uint64,uint64), a5 : uint32, a6 : flt32, a7 : t11, a8 : (uint64,(flt32,t2),(uint32,flt32,uint64,uint32),t35), a9 : (uint32,flt32,flt32,(flt32,t2)), a10 : t37 -> flt64)
+    extern const fn_7_c : (a1 : uint64, a2 : t38, a3 : uint8, a4 : ((t30,flt64,uint64),uint8,t1), a5 : (uint64,t41,uint32,t23), a6 : t43, a7 : uint8 -> flt64)
+    extern const fn_8_c : ( -> t44)
+    extern const fn_9_c : (a1 : t45, a2 : t46, a3 : t45, a4 : t47, a5 : t48, a6 : flt32, a7 : flt64, a8 : uint8, a9 : uint64, a10 : t49 -> t53)
+    extern const fn_10_c : (a1 : flt32, a2 : (t30,uint64,t54,flt32), a3 : t43 -> flt32)
+    extern const fn_11_c : (a1 : ((t30,flt64,uint64),uint8,t1), a2 : uint64, a3 : (t56,uint32,t57,(t19,t30,flt32,flt64)) -> uint32)
+    extern const fn_12_c : (a1 : t63, a2 : flt64, a3 : uint32, a4 : t68 -> uint32)
+    extern const fn_13_c : (a1 : t26, a2 : uint32, a3 : t70, a4 : flt64, a5 : (flt32,t71,(uint8,uint32,uint8),flt64) -> t74)
+    extern const fn_14_c : (a1 : uint32, a2 : uint8, a3 : (t75,t76,t77), a4 : (t79,uint64,t80), a5 : t32, a6 : t82, a7 : t85 -> uint64)
+    extern const fn_15_c : (a1 : t86, a2 : t69, a3 : t88, a4 : t93, a5 : (flt32,uint32,t94), a6 : (t24,(flt32,t2)), a7 : flt32, a8 : (uint8,flt32,uint64,t1), a9 : (t93,flt64,t96), a10 : t100 -> (flt32,t21,t101,flt64))
+    extern const fn_16_c : (a1 : uint64, a2 : t57 -> ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)))
+    extern const fn_17_c : (a1 : flt32, a2 : (flt64,flt32,uint64), a3 : t35, a4 : flt32, a5 : t18, a6 : uint64, a7 : (uint8,t1,uint32,t2), a8 : flt32, a9 : t56, a10 : (uint8,uint32,uint8) -> flt64)
+    extern const fn_18_c : (a1 : t29, a2 : t50, a3 : t94, a4 : (t93,flt64,t96), a5 : t82, a6 : uint32 -> t68)
+    extern const fn_19_c : (a1 : uint64, a2 : uint8 -> uint8)
+    extern const fn_20_c : (a1 : (uint8,uint32,uint8), a2 : t54, a3 : (flt32,t21,t101,flt64), a4 : t30, a5 : flt32, a6 : t100, a7 : t82, a8 : (uint32,uint32,uint32), a9 : t19 -> uint8)
+    extern const check_c_to_myr_fns : (-> int)
+;;
--- /dev/null
+++ b/test/abi/006_in-myr.myr
@@ -1,0 +1,646 @@
+use std
+use "006_types"
+
+pkg =
+    const fn_1_myr : (a1 : uint32, a2 : (uint8,t1,uint32,t2), a3 : t2, a4 : flt32, a5 : uint8 -> t7)
+    const fn_2_myr : (a1 : t7, a2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)), a3 : t12, a4 : flt64, a5 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)), a6 : t13, a7 : uint32 -> flt32)
+    const fn_3_myr : (a1 : (flt64,uint64,uint64), a2 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)), a3 : (uint32,flt32,flt32,(flt32,t2)), a4 : (uint32,flt32,flt32,(flt32,t2)), a5 : uint64, a6 : t17, a7 : t12 -> flt32)
+    const fn_4_myr : (a1 : t1, a2 : t21, a3 : t23, a4 : flt64, a5 : (flt32,t2), a6 : uint64, a7 : flt64 -> t2)
+    const fn_5_myr : (a1 : uint32, a2 : t24, a3 : flt64, a4 : (t24,(flt32,t2)), a5 : uint64, a6 : t28 -> (uint8,t1,uint32,t2))
+    const fn_6_myr : (a1 : t29, a2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)), a3 : (uint64,t30,t31,t32), a4 : (flt64,uint64,uint64), a5 : uint32, a6 : flt32, a7 : t11, a8 : (uint64,(flt32,t2),(uint32,flt32,uint64,uint32),t35), a9 : (uint32,flt32,flt32,(flt32,t2)), a10 : t37 -> flt64)
+    const fn_7_myr : (a1 : uint64, a2 : t38, a3 : uint8, a4 : ((t30,flt64,uint64),uint8,t1), a5 : (uint64,t41,uint32,t23), a6 : t43, a7 : uint8 -> flt64)
+    const fn_8_myr : ( -> t44)
+    const fn_9_myr : (a1 : t45, a2 : t46, a3 : t45, a4 : t47, a5 : t48, a6 : flt32, a7 : flt64, a8 : uint8, a9 : uint64, a10 : t49 -> t53)
+    const fn_10_myr : (a1 : flt32, a2 : (t30,uint64,t54,flt32), a3 : t43 -> flt32)
+    const fn_11_myr : (a1 : ((t30,flt64,uint64),uint8,t1), a2 : uint64, a3 : (t56,uint32,t57,(t19,t30,flt32,flt64)) -> uint32)
+    const fn_12_myr : (a1 : t63, a2 : flt64, a3 : uint32, a4 : t68 -> uint32)
+    const fn_13_myr : (a1 : t26, a2 : uint32, a3 : t70, a4 : flt64, a5 : (flt32,t71,(uint8,uint32,uint8),flt64) -> t74)
+    const fn_14_myr : (a1 : uint32, a2 : uint8, a3 : (t75,t76,t77), a4 : (t79,uint64,t80), a5 : t32, a6 : t82, a7 : t85 -> uint64)
+    const fn_15_myr : (a1 : t86, a2 : t69, a3 : t88, a4 : t93, a5 : (flt32,uint32,t94), a6 : (t24,(flt32,t2)), a7 : flt32, a8 : (uint8,flt32,uint64,t1), a9 : (t93,flt64,t96), a10 : t100 -> (flt32,t21,t101,flt64))
+    const fn_16_myr : (a1 : uint64, a2 : t57 -> ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)))
+    const fn_17_myr : (a1 : flt32, a2 : (flt64,flt32,uint64), a3 : t35, a4 : flt32, a5 : t18, a6 : uint64, a7 : (uint8,t1,uint32,t2), a8 : flt32, a9 : t56, a10 : (uint8,uint32,uint8) -> flt64)
+    const fn_18_myr : (a1 : t29, a2 : t50, a3 : t94, a4 : (t93,flt64,t96), a5 : t82, a6 : uint32 -> t68)
+    const fn_19_myr : (a1 : uint64, a2 : uint8 -> uint8)
+    const fn_20_myr : (a1 : (uint8,uint32,uint8), a2 : t54, a3 : (flt32,t21,t101,flt64), a4 : t30, a5 : flt32, a6 : t100, a7 : t82, a8 : (uint32,uint32,uint32), a9 : t19 -> uint8)
+;;
+
+const fn_1_myr = { a1 : uint32, a2 : (uint8,t1,uint32,t2), a3 : t2, a4 : flt32, a5 : uint8
+    if !(a1==3331313618)
+        goto bad
+    ;;
+
+    if !((a2.0==163) && ((a2.1.field_1==112669747445760) && (a2.1.field_2==68) && (a2.1.field_3==2961163238) && (a2.1.field_4==144) && (a2.1.field_5==3.1171875) && (a2.1.field_6==-0.77734375)) && (a2.2==2638767956) && (a2.3==`E_2_3))
+        goto bad
+    ;;
+
+    if !(a3==`E_2_1)
+        goto bad
+    ;;
+
+    if !(a4==0.875)
+        goto bad
+    ;;
+
+    if !(a5==63)
+        goto bad
+    ;;
+
+    -> [.field_1=[.field_1=156,.field_2=2.83203125,.field_3=67,.field_4=143760266887168,.field_5=`E_2_6,.field_6=2927029180],.field_2=(-2.55078125,159665344872448,199843724394496),.field_3=(-0.625,`E_2_6)]
+
+:bad
+    -> [.field_1=[.field_1=224,.field_2=-3.55859375,.field_3=83,.field_4=192626519703552,.field_5=`E_2_2,.field_6=280197342],.field_2=(-2.49609375,252253836541952,197595307704320),.field_3=(-1.328125,`E_2_2)]
+}
+
+const fn_2_myr = { a1 : t7, a2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)), a3 : t12, a4 : flt64, a5 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)), a6 : t13, a7 : uint32
+    if !(((a1.field_1.field_1==195) && (a1.field_1.field_2==-2.625) && (a1.field_1.field_3==107) && (a1.field_1.field_4==250193960632320) && (a1.field_1.field_5==`E_2_1) && (a1.field_1.field_6==3277066896)) && ((a1.field_2.0==0.01171875) && (a1.field_2.1==271113481355264) && (a1.field_2.2==7202154348544)) && ((a1.field_3.0==-1.53125) && (a1.field_3.1==`E_2_6)))
+        goto bad
+    ;;
+
+    if !(((a2.0.0==75) && ((a2.0.1.field_1==149688830001152) && (a2.0.1.field_2==166) && (a2.0.1.field_3==4203656652) && (a2.0.1.field_4==184) && (a2.0.1.field_5==1.6796875) && (a2.0.1.field_6==-2.66015625)) && (a2.0.2==2647535284) && (a2.0.3==`E_2_3)) && ((a2.1.0==60) && ((a2.1.1.field_1==234959706259456) && (a2.1.1.field_2==30) && (a2.1.1.field_3==3070502934) && (a2.1.1.field_4==195) && (a2.1.1.field_5==2.9921875) && (a2.1.1.field_6==2.96484375)) && (a2.1.2==803402210) && (a2.1.3==`E_2_5)))
+        goto bad
+    ;;
+
+    if !((a3.field_1==0.203125) && (((a3.field_2.field_1.0==-0.140625) && (a3.field_2.field_1.1==`E_2_2)) && (a3.field_2.field_2==151793905303552) && ((a3.field_2.field_3.0==0.75) && (a3.field_2.field_3.1==`E_2_1)) && (a3.field_2.field_4==-0.875) && (a3.field_2.field_5==59595538169856) && ((a3.field_2.field_6.0==-0.51171875) && (a3.field_2.field_6.1==90586118225920) && (a3.field_2.field_6.2==47799910137856))) && ((a3.field_3.0==-3.4140625) && (a3.field_3.1==0.671875) && (a3.field_3.2==185693112107008)) && (a3.field_4==-1.23828125) && (a3.field_5==`E_11_1) && (a3.field_6==2.890625))
+        goto bad
+    ;;
+
+    if !(a4==0.94921875)
+        goto bad
+    ;;
+
+    if !(((a5.0.0==2.03515625) && (a5.0.1==29216526696448) && (a5.0.2==236353793556480)) && (a5.1==1.09375) && ((a5.2.field_1==4181791332) && (((a5.2.field_2.0.0==44) && ((a5.2.field_2.0.1.field_1==132595126632448) && (a5.2.field_2.0.1.field_2==171) && (a5.2.field_2.0.1.field_3==3948447728) && (a5.2.field_2.0.1.field_4==220) && (a5.2.field_2.0.1.field_5==-3.69140625) && (a5.2.field_2.0.1.field_6==-2.40625)) && (a5.2.field_2.0.2==3172323970) && (a5.2.field_2.0.3==`E_2_5)) && ((a5.2.field_2.1.0==224) && ((a5.2.field_2.1.1.field_1==275519312887808) && (a5.2.field_2.1.1.field_2==53) && (a5.2.field_2.1.1.field_3==3186715686) && (a5.2.field_2.1.1.field_4==144) && (a5.2.field_2.1.1.field_5==-2.5703125) && (a5.2.field_2.1.1.field_6==-3.41015625)) && (a5.2.field_2.1.2==1867717394) && (a5.2.field_2.1.3==`E_2_5))) && (a5.2.field_3==35551921045504) && (a5.2.field_4==-0.203125) && (a5.2.field_5==101)) && ((a5.3.0==102) && (a5.3.1==1.15625)))
+        goto bad
+    ;;
+
+    if !((a6.field_1==1580005156) && (((a6.field_2.0.0==51) && ((a6.field_2.0.1.field_1==266965320073216) && (a6.field_2.0.1.field_2==53) && (a6.field_2.0.1.field_3==212878900) && (a6.field_2.0.1.field_4==236) && (a6.field_2.0.1.field_5==-0.921875) && (a6.field_2.0.1.field_6==0.16015625)) && (a6.field_2.0.2==2543329268) && (a6.field_2.0.3==`E_2_2)) && ((a6.field_2.1.0==98) && ((a6.field_2.1.1.field_1==174501380489216) && (a6.field_2.1.1.field_2==126) && (a6.field_2.1.1.field_3==522689612) && (a6.field_2.1.1.field_4==110) && (a6.field_2.1.1.field_5==-1.0234375) && (a6.field_2.1.1.field_6==-3.12109375)) && (a6.field_2.1.2==2756676114) && (a6.field_2.1.3==`E_2_1))) && (a6.field_3==186819725099008) && (a6.field_4==0.984375) && (a6.field_5==44))
+        goto bad
+    ;;
+
+    if !(a7==2083878374)
+        goto bad
+    ;;
+
+    -> 0.109375
+
+:bad
+    -> 1.1875
+}
+
+const fn_3_myr = { a1 : (flt64,uint64,uint64), a2 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)), a3 : (uint32,flt32,flt32,(flt32,t2)), a4 : (uint32,flt32,flt32,(flt32,t2)), a5 : uint64, a6 : t17, a7 : t12
+    if !((a1.0==0.36328125) && (a1.1==217080895242240) && (a1.2==146180381081600))
+        goto bad
+    ;;
+
+    if !(((a2.0.0==0.5390625) && (a2.0.1==117399373217792) && (a2.0.2==101569454014464)) && (a2.1==-1.296875) && ((a2.2.field_1==39734246) && (((a2.2.field_2.0.0==169) && ((a2.2.field_2.0.1.field_1==133031533740032) && (a2.2.field_2.0.1.field_2==161) && (a2.2.field_2.0.1.field_3==668802928) && (a2.2.field_2.0.1.field_4==152) && (a2.2.field_2.0.1.field_5==-3.4296875) && (a2.2.field_2.0.1.field_6==0.1953125)) && (a2.2.field_2.0.2==2984403120) && (a2.2.field_2.0.3==`E_2_5)) && ((a2.2.field_2.1.0==162) && ((a2.2.field_2.1.1.field_1==100930591260672) && (a2.2.field_2.1.1.field_2==132) && (a2.2.field_2.1.1.field_3==3484222870) && (a2.2.field_2.1.1.field_4==117) && (a2.2.field_2.1.1.field_5==-3.8984375) && (a2.2.field_2.1.1.field_6==-3.02734375)) && (a2.2.field_2.1.2==4255148568) && (a2.2.field_2.1.3==`E_2_6))) && (a2.2.field_3==229240590827520) && (a2.2.field_4==-0.328125) && (a2.2.field_5==51)) && ((a2.3.0==92) && (a2.3.1==-1.046875)))
+        goto bad
+    ;;
+
+    if !((a3.0==1212401592) && (a3.1==-1.046875) && (a3.2==1.109375) && ((a3.3.0==1.296875) && (a3.3.1==`E_2_2)))
+        goto bad
+    ;;
+
+    if !((a4.0==3641606114) && (a4.1==-1.125) && (a4.2==0.546875) && ((a4.3.0==-0.046875) && (a4.3.1==`E_2_3)))
+        goto bad
+    ;;
+
+    if !(a5==83130758201344)
+        goto bad
+    ;;
+
+    if !(((a6.field_1.0==954818626) && (a6.field_1.1==-0.5) && (a6.field_1.2==-0.703125) && ((a6.field_1.3.0==0.265625) && (a6.field_1.3.1==`E_2_4))) && (a6.field_2==254))
+        goto bad
+    ;;
+
+    if !((a7.field_1==-0.671875) && (((a7.field_2.field_1.0==0.671875) && (a7.field_2.field_1.1==`E_2_1)) && (a7.field_2.field_2==186559912869888) && ((a7.field_2.field_3.0==1.546875) && (a7.field_2.field_3.1==`E_2_2)) && (a7.field_2.field_4==0.046875) && (a7.field_2.field_5==255023204139008) && ((a7.field_2.field_6.0==1.13671875) && (a7.field_2.field_6.1==270028714934272) && (a7.field_2.field_6.2==247333204000768))) && ((a7.field_3.0==-0.0546875) && (a7.field_3.1==-1.25) && (a7.field_3.2==156053374763008)) && (a7.field_4==3.73046875) && (a7.field_5==`E_11_4) && (a7.field_6==1.92578125))
+        goto bad
+    ;;
+
+    -> 0.171875
+
+:bad
+    -> 1.375
+}
+
+const fn_4_myr = { a1 : t1, a2 : t21, a3 : t23, a4 : flt64, a5 : (flt32,t2), a6 : uint64, a7 : flt64
+    if !((a1.field_1==254108937224192) && (a1.field_2==215) && (a1.field_3==1243252406) && (a1.field_4==124) && (a1.field_5==-1.1875) && (a1.field_6==-1.68359375))
+        goto bad
+    ;;
+
+    if !((a2.field_1==`E_18_8) && (a2.field_2==4113752024) && (a2.field_3==0.5) && (a2.field_4==`E_19_5) && ((a2.field_5.0==-0.3203125) && (a2.field_5.1==1.33984375) && ((a2.field_5.2.field_1==-0.171875) && (((a2.field_5.2.field_2.field_1.0==-0.625) && (a2.field_5.2.field_2.field_1.1==`E_2_6)) && (a2.field_5.2.field_2.field_2==262778588495872) && ((a2.field_5.2.field_2.field_3.0==0.46875) && (a2.field_5.2.field_2.field_3.1==`E_2_2)) && (a2.field_5.2.field_2.field_4==1.125) && (a2.field_5.2.field_2.field_5==182381629145088) && ((a2.field_5.2.field_2.field_6.0==2.4609375) && (a2.field_5.2.field_2.field_6.1==139713139179520) && (a2.field_5.2.field_2.field_6.2==225645534511104))) && ((a2.field_5.2.field_3.0==-3.54296875) && (a2.field_5.2.field_3.1==-1.171875) && (a2.field_5.2.field_3.2==78173635870720)) && (a2.field_5.2.field_4==2.28515625) && (a2.field_5.2.field_5==`E_11_4) && (a2.field_5.2.field_6==-0.7890625))) && (((a2.field_6.0.0==-0.01953125) && (a2.field_6.0.1==23439019999232) && (a2.field_6.0.2==3807452332032)) && (a2.field_6.1==-0.625) && ((a2.field_6.2.field_1==233931326) && (((a2.field_6.2.field_2.0.0==154) && ((a2.field_6.2.field_2.0.1.field_1==198616597528576) && (a2.field_6.2.field_2.0.1.field_2==197) && (a2.field_6.2.field_2.0.1.field_3==2016579036) && (a2.field_6.2.field_2.0.1.field_4==169) && (a2.field_6.2.field_2.0.1.field_5==-0.5546875) && (a2.field_6.2.field_2.0.1.field_6==-3.796875)) && (a2.field_6.2.field_2.0.2==526208716) && (a2.field_6.2.field_2.0.3==`E_2_1)) && ((a2.field_6.2.field_2.1.0==118) && ((a2.field_6.2.field_2.1.1.field_1==119263763103744) && (a2.field_6.2.field_2.1.1.field_2==15) && (a2.field_6.2.field_2.1.1.field_3==1698145536) && (a2.field_6.2.field_2.1.1.field_4==18) && (a2.field_6.2.field_2.1.1.field_5==-1.51171875) && (a2.field_6.2.field_2.1.1.field_6==-1.921875)) && (a2.field_6.2.field_2.1.2==3097128252) && (a2.field_6.2.field_2.1.3==`E_2_1))) && (a2.field_6.2.field_3==211270742966272) && (a2.field_6.2.field_4==0.078125) && (a2.field_6.2.field_5==42)) && ((a2.field_6.3.0==225) && (a2.field_6.3.1==0.9375))))
+        goto bad
+    ;;
+
+    if !((a3.field_1==190020550524928) && ((a3.field_2.0==11) && (a3.field_2.1==-1.0625)) && (a3.field_3==210612318502912) && ((a3.field_4.0==-0.46875) && (a3.field_4.1==116393468362752) && (((a3.field_4.2.field_1.field_1==120) && (a3.field_4.2.field_1.field_2==-0.21484375) && (a3.field_4.2.field_1.field_3==42) && (a3.field_4.2.field_1.field_4==279254693969921) && (a3.field_4.2.field_1.field_5==`E_2_4) && (a3.field_4.2.field_1.field_6==185092378)) && ((a3.field_4.2.field_2.0==2.28515625) && (a3.field_4.2.field_2.1==168886583296000) && (a3.field_4.2.field_2.2==165671684931584)) && ((a3.field_4.2.field_3.0==1.546875) && (a3.field_4.2.field_3.1==`E_2_1))) && (((a3.field_4.3.field_1.0==933489974) && (a3.field_4.3.field_1.1==-0.921875) && (a3.field_4.3.field_1.2==1.0) && ((a3.field_4.3.field_1.3.0==1.265625) && (a3.field_4.3.field_1.3.1==`E_2_1))) && (a3.field_4.3.field_2==72))))
+        goto bad
+    ;;
+
+    if !(a4==-1.47265625)
+        goto bad
+    ;;
+
+    if !((a5.0==0.359375) && (a5.1==`E_2_4))
+        goto bad
+    ;;
+
+    if !(a6==106223398289408)
+        goto bad
+    ;;
+
+    if !(a7==-1.80078125)
+        goto bad
+    ;;
+
+    -> `E_2_4
+
+:bad
+    -> `E_2_6
+}
+
+const fn_5_myr = { a1 : uint32, a2 : t24, a3 : flt64, a4 : (t24,(flt32,t2)), a5 : uint64, a6 : t28
+    if !(a1==490829306)
+        goto bad
+    ;;
+
+    if !(a2==`E_24_2)
+        goto bad
+    ;;
+
+    if !(a3==-1.296875)
+        goto bad
+    ;;
+
+    if !((a4.0==`E_24_8) && ((a4.1.0==0.1875) && (a4.1.1==`E_2_3)))
+        goto bad
+    ;;
+
+    if !(a5==245616036151296)
+        goto bad
+    ;;
+
+    if !((((a6.field_1.0.0==2.08203125) && (a6.field_1.0.1==35857928683520) && (a6.field_1.0.2==93232914235392)) && (a6.field_1.1==-0.609375) && ((a6.field_1.2.field_1==1442943954) && (((a6.field_1.2.field_2.0.0==49) && ((a6.field_1.2.field_2.0.1.field_1==243496050229248) && (a6.field_1.2.field_2.0.1.field_2==211) && (a6.field_1.2.field_2.0.1.field_3==1781303846) && (a6.field_1.2.field_2.0.1.field_4==188) && (a6.field_1.2.field_2.0.1.field_5==1.796875) && (a6.field_1.2.field_2.0.1.field_6==2.92578125)) && (a6.field_1.2.field_2.0.2==961004516) && (a6.field_1.2.field_2.0.3==`E_2_2)) && ((a6.field_1.2.field_2.1.0==142) && ((a6.field_1.2.field_2.1.1.field_1==24547072671744) && (a6.field_1.2.field_2.1.1.field_2==51) && (a6.field_1.2.field_2.1.1.field_3==2197818536) && (a6.field_1.2.field_2.1.1.field_4==124) && (a6.field_1.2.field_2.1.1.field_5==-2.42578125) && (a6.field_1.2.field_2.1.1.field_6==-3.234375)) && (a6.field_1.2.field_2.1.2==3597667158) && (a6.field_1.2.field_2.1.3==`E_2_5))) && (a6.field_1.2.field_3==212450688237568) && (a6.field_1.2.field_4==-0.625) && (a6.field_1.2.field_5==212)) && ((a6.field_1.3.0==40) && (a6.field_1.3.1==1.328125))) && (a6.field_2==`E_26_3) && ((((a6.field_3.field_1.0.0==3.07421875) && (a6.field_3.field_1.0.1==82227144294400) && (a6.field_3.field_1.0.2==7948002787328)) && (a6.field_3.field_1.1==-1.5) && ((a6.field_3.field_1.2.field_1==2677308022) && (((a6.field_3.field_1.2.field_2.0.0==85) && ((a6.field_3.field_1.2.field_2.0.1.field_1==100333243203584) && (a6.field_3.field_1.2.field_2.0.1.field_2==209) && (a6.field_3.field_1.2.field_2.0.1.field_3==846728032) && (a6.field_3.field_1.2.field_2.0.1.field_4==47) && (a6.field_3.field_1.2.field_2.0.1.field_5==-2.0859375) && (a6.field_3.field_1.2.field_2.0.1.field_6==3.3984375)) && (a6.field_3.field_1.2.field_2.0.2==3924268624) && (a6.field_3.field_1.2.field_2.0.3==`E_2_1)) && ((a6.field_3.field_1.2.field_2.1.0==40) && ((a6.field_3.field_1.2.field_2.1.1.field_1==58951057276928) && (a6.field_3.field_1.2.field_2.1.1.field_2==170) && (a6.field_3.field_1.2.field_2.1.1.field_3==1055614716) && (a6.field_3.field_1.2.field_2.1.1.field_4==104) && (a6.field_3.field_1.2.field_2.1.1.field_5==-2.51953125) && (a6.field_3.field_1.2.field_2.1.1.field_6==1.8203125)) && (a6.field_3.field_1.2.field_2.1.2==2570174796) && (a6.field_3.field_1.2.field_2.1.3==`E_2_2))) && (a6.field_3.field_1.2.field_3==160655520563200) && (a6.field_3.field_1.2.field_4==-0.515625) && (a6.field_3.field_1.2.field_5==4)) && ((a6.field_3.field_1.3.0==223) && (a6.field_3.field_1.3.1==-1.0625))) && (a6.field_3.field_2==-1.015625) && (a6.field_3.field_3==0.9375) && (a6.field_3.field_4==119362880667648) && (a6.field_3.field_5==-1.359375) && (a6.field_3.field_6==25145455280128)))
+        goto bad
+    ;;
+
+    -> (182,[.field_1=220780978372608,.field_2=114,.field_3=2281314962,.field_4=251,.field_5=1.01171875,.field_6=2.06640625],3935630006,`E_2_4)
+
+:bad
+    -> (223,[.field_1=21084164849664,.field_2=192,.field_3=2309250974,.field_4=82,.field_5=-2.64453125,.field_6=1.68359375],231075084,`E_2_5)
+}
+
+const fn_6_myr = { a1 : t29, a2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)), a3 : (uint64,t30,t31,t32), a4 : (flt64,uint64,uint64), a5 : uint32, a6 : flt32, a7 : t11, a8 : (uint64,(flt32,t2),(uint32,flt32,uint64,uint32),t35), a9 : (uint32,flt32,flt32,(flt32,t2)), a10 : t37
+    if !(a1==`E_29_6)
+        goto bad
+    ;;
+
+    if !(((a2.0.0==44) && ((a2.0.1.field_1==82970538278912) && (a2.0.1.field_2==173) && (a2.0.1.field_3==1039620306) && (a2.0.1.field_4==98) && (a2.0.1.field_5==-2.87890625) && (a2.0.1.field_6==-1.3203125)) && (a2.0.2==415749068) && (a2.0.3==`E_2_6)) && ((a2.1.0==198) && ((a2.1.1.field_1==176754788270080) && (a2.1.1.field_2==229) && (a2.1.1.field_3==1745396264) && (a2.1.1.field_4==100) && (a2.1.1.field_5==2.453125) && (a2.1.1.field_6==3.51171875)) && (a2.1.2==1134845604) && (a2.1.3==`E_2_6)))
+        goto bad
+    ;;
+
+    if !((a3.0==45346413608960) && ((a3.1.field_1==1.5546875) && ((a3.1.field_2.field_1==`E_18_1) && (a3.1.field_2.field_2==3388995392) && (a3.1.field_2.field_3==0.296875) && (a3.1.field_2.field_4==`E_19_4) && ((a3.1.field_2.field_5.0==-2.4921875) && (a3.1.field_2.field_5.1==-0.69921875) && ((a3.1.field_2.field_5.2.field_1==-0.390625) && (((a3.1.field_2.field_5.2.field_2.field_1.0==-0.171875) && (a3.1.field_2.field_5.2.field_2.field_1.1==`E_2_2)) && (a3.1.field_2.field_5.2.field_2.field_2==21150251483136) && ((a3.1.field_2.field_5.2.field_2.field_3.0==-0.796875) && (a3.1.field_2.field_5.2.field_2.field_3.1==`E_2_4)) && (a3.1.field_2.field_5.2.field_2.field_4==1.375) && (a3.1.field_2.field_5.2.field_2.field_5==215200983941120) && ((a3.1.field_2.field_5.2.field_2.field_6.0==2.125) && (a3.1.field_2.field_5.2.field_2.field_6.1==158112869384192) && (a3.1.field_2.field_5.2.field_2.field_6.2==73351684030464))) && ((a3.1.field_2.field_5.2.field_3.0==1.25) && (a3.1.field_2.field_5.2.field_3.1==-0.703125) && (a3.1.field_2.field_5.2.field_3.2==212315222310912)) && (a3.1.field_2.field_5.2.field_4==-3.5546875) && (a3.1.field_2.field_5.2.field_5==`E_11_2) && (a3.1.field_2.field_5.2.field_6==-0.61328125))) && (((a3.1.field_2.field_6.0.0==1.76171875) && (a3.1.field_2.field_6.0.1==253745235361792) && (a3.1.field_2.field_6.0.2==92984779997184)) && (a3.1.field_2.field_6.1==0.90625) && ((a3.1.field_2.field_6.2.field_1==2939679992) && (((a3.1.field_2.field_6.2.field_2.0.0==146) && ((a3.1.field_2.field_6.2.field_2.0.1.field_1==267681124188160) && (a3.1.field_2.field_6.2.field_2.0.1.field_2==98) && (a3.1.field_2.field_6.2.field_2.0.1.field_3==2525744200) && (a3.1.field_2.field_6.2.field_2.0.1.field_4==189) && (a3.1.field_2.field_6.2.field_2.0.1.field_5==3.75390625) && (a3.1.field_2.field_6.2.field_2.0.1.field_6==-3.81640625)) && (a3.1.field_2.field_6.2.field_2.0.2==3957579288) && (a3.1.field_2.field_6.2.field_2.0.3==`E_2_3)) && ((a3.1.field_2.field_6.2.field_2.1.0==98) && ((a3.1.field_2.field_6.2.field_2.1.1.field_1==103318747742208) && (a3.1.field_2.field_6.2.field_2.1.1.field_2==176) && (a3.1.field_2.field_6.2.field_2.1.1.field_3==1976332274) && (a3.1.field_2.field_6.2.field_2.1.1.field_4==157) && (a3.1.field_2.field_6.2.field_2.1.1.field_5==-2.35546875) && (a3.1.field_2.field_6.2.field_2.1.1.field_6==-0.79296875)) && (a3.1.field_2.field_6.2.field_2.1.2==1628294370) && (a3.1.field_2.field_6.2.field_2.1.3==`E_2_6))) && (a3.1.field_2.field_6.2.field_3==270327169941504) && (a3.1.field_2.field_6.2.field_4==0.4375) && (a3.1.field_2.field_6.2.field_5==161)) && ((a3.1.field_2.field_6.3.0==61) && (a3.1.field_2.field_6.3.1==-0.328125)))) && (a3.1.field_3==190305229078528) && (a3.1.field_4==-0.0859375)) && (a3.2==`E_31_8) && ((a3.3.field_1==1725236208)))
+        goto bad
+    ;;
+
+    if !((a4.0==-2.41015625) && (a4.1==21064454635520) && (a4.2==201636834967552))
+        goto bad
+    ;;
+
+    if !(a5==1968388378)
+        goto bad
+    ;;
+
+    if !(a6==1.203125)
+        goto bad
+    ;;
+
+    if !(a7==`E_11_5)
+        goto bad
+    ;;
+
+    if !((a8.0==165571080617984) && ((a8.1.0==0.671875) && (a8.1.1==`E_2_6)) && ((a8.2.0==3138764072) && (a8.2.1==-1.03125) && (a8.2.2==50747094728704) && (a8.2.3==2634664560)) && ((a8.3.field_1==171685942525952) && (a8.3.field_2==2132603492)))
+        goto bad
+    ;;
+
+    if !((a9.0==849505522) && (a9.1==0.28125) && (a9.2==1.4375) && ((a9.3.0==-0.4375) && (a9.3.1==`E_2_3)))
+        goto bad
+    ;;
+
+    if !(a10==`E_37_6)
+        goto bad
+    ;;
+
+    -> -0.47265625
+
+:bad
+    -> -1.22265625
+}
+
+const fn_7_myr = { a1 : uint64, a2 : t38, a3 : uint8, a4 : ((t30,flt64,uint64),uint8,t1), a5 : (uint64,t41,uint32,t23), a6 : t43, a7 : uint8
+    if !(a1==152633167446016)
+        goto bad
+    ;;
+
+    if !(a2==`E_38_5)
+        goto bad
+    ;;
+
+    if !(a3==21)
+        goto bad
+    ;;
+
+    if !((((a4.0.0.field_1==3.7265625) && ((a4.0.0.field_2.field_1==`E_18_8) && (a4.0.0.field_2.field_2==1660321984) && (a4.0.0.field_2.field_3==0.46875) && (a4.0.0.field_2.field_4==`E_19_6) && ((a4.0.0.field_2.field_5.0==3.328125) && (a4.0.0.field_2.field_5.1==-3.79296875) && ((a4.0.0.field_2.field_5.2.field_1==-0.984375) && (((a4.0.0.field_2.field_5.2.field_2.field_1.0==-0.71875) && (a4.0.0.field_2.field_5.2.field_2.field_1.1==`E_2_5)) && (a4.0.0.field_2.field_5.2.field_2.field_2==107860547076096) && ((a4.0.0.field_2.field_5.2.field_2.field_3.0==0.984375) && (a4.0.0.field_2.field_5.2.field_2.field_3.1==`E_2_3)) && (a4.0.0.field_2.field_5.2.field_2.field_4==1.03125) && (a4.0.0.field_2.field_5.2.field_2.field_5==103537434427392) && ((a4.0.0.field_2.field_5.2.field_2.field_6.0==-0.41015625) && (a4.0.0.field_2.field_5.2.field_2.field_6.1==257720167301120) && (a4.0.0.field_2.field_5.2.field_2.field_6.2==23490682028032))) && ((a4.0.0.field_2.field_5.2.field_3.0==-3.0546875) && (a4.0.0.field_2.field_5.2.field_3.1==0.671875) && (a4.0.0.field_2.field_5.2.field_3.2==189976970788864)) && (a4.0.0.field_2.field_5.2.field_4==0.015625) && (a4.0.0.field_2.field_5.2.field_5==`E_11_5) && (a4.0.0.field_2.field_5.2.field_6==-0.41796875))) && (((a4.0.0.field_2.field_6.0.0==0.0625) && (a4.0.0.field_2.field_6.0.1==74574491418624) && (a4.0.0.field_2.field_6.0.2==201256086929408)) && (a4.0.0.field_2.field_6.1==1.359375) && ((a4.0.0.field_2.field_6.2.field_1==1220073662) && (((a4.0.0.field_2.field_6.2.field_2.0.0==46) && ((a4.0.0.field_2.field_6.2.field_2.0.1.field_1==265659814641664) && (a4.0.0.field_2.field_6.2.field_2.0.1.field_2==66) && (a4.0.0.field_2.field_6.2.field_2.0.1.field_3==27449604) && (a4.0.0.field_2.field_6.2.field_2.0.1.field_4==84) && (a4.0.0.field_2.field_6.2.field_2.0.1.field_5==3.22265625) && (a4.0.0.field_2.field_6.2.field_2.0.1.field_6==1.9609375)) && (a4.0.0.field_2.field_6.2.field_2.0.2==1100098150) && (a4.0.0.field_2.field_6.2.field_2.0.3==`E_2_6)) && ((a4.0.0.field_2.field_6.2.field_2.1.0==239) && ((a4.0.0.field_2.field_6.2.field_2.1.1.field_1==147943258062848) && (a4.0.0.field_2.field_6.2.field_2.1.1.field_2==159) && (a4.0.0.field_2.field_6.2.field_2.1.1.field_3==1367706340) && (a4.0.0.field_2.field_6.2.field_2.1.1.field_4==86) && (a4.0.0.field_2.field_6.2.field_2.1.1.field_5==3.89453125) && (a4.0.0.field_2.field_6.2.field_2.1.1.field_6==-2.74609375)) && (a4.0.0.field_2.field_6.2.field_2.1.2==3028657672) && (a4.0.0.field_2.field_6.2.field_2.1.3==`E_2_3))) && (a4.0.0.field_2.field_6.2.field_3==18076800647168) && (a4.0.0.field_2.field_6.2.field_4==0.90625) && (a4.0.0.field_2.field_6.2.field_5==142)) && ((a4.0.0.field_2.field_6.3.0==199) && (a4.0.0.field_2.field_6.3.1==-0.109375)))) && (a4.0.0.field_3==15997300899840) && (a4.0.0.field_4==-0.2890625)) && (a4.0.1==3.20703125) && (a4.0.2==158990308868096)) && (a4.1==186) && ((a4.2.field_1==175995273347072) && (a4.2.field_2==127) && (a4.2.field_3==52543290) && (a4.2.field_4==206) && (a4.2.field_5==-0.46875) && (a4.2.field_6==-1.7734375)))
+        goto bad
+    ;;
+
+    if !((a5.0==207514518814720) && (a5.1==`E_41_5) && (a5.2==3821234462) && ((a5.3.field_1==206987958681600) && ((a5.3.field_2.0==247) && (a5.3.field_2.1==0.296875)) && (a5.3.field_3==50935557783552) && ((a5.3.field_4.0==-1.46875) && (a5.3.field_4.1==107941368692736) && (((a5.3.field_4.2.field_1.field_1==188) && (a5.3.field_4.2.field_1.field_2==2.4140625) && (a5.3.field_4.2.field_1.field_3==216) && (a5.3.field_4.2.field_1.field_4==223121033003008) && (a5.3.field_4.2.field_1.field_5==`E_2_2) && (a5.3.field_4.2.field_1.field_6==3252553412)) && ((a5.3.field_4.2.field_2.0==-1.11328125) && (a5.3.field_4.2.field_2.1==48622469120) && (a5.3.field_4.2.field_2.2==107679637045248)) && ((a5.3.field_4.2.field_3.0==1.109375) && (a5.3.field_4.2.field_3.1==`E_2_1))) && (((a5.3.field_4.3.field_1.0==811385302) && (a5.3.field_4.3.field_1.1==-0.640625) && (a5.3.field_4.3.field_1.2==-0.671875) && ((a5.3.field_4.3.field_1.3.0==-1.5625) && (a5.3.field_4.3.field_1.3.1==`E_2_1))) && (a5.3.field_4.3.field_2==120)))))
+        goto bad
+    ;;
+
+    if !(a6==`E_43_4)
+        goto bad
+    ;;
+
+    if !(a7==164)
+        goto bad
+    ;;
+
+    -> 2.984375
+
+:bad
+    -> 0.26171875
+}
+
+const fn_8_myr = { 
+    -> [.field_1=1.1875]
+
+:bad
+    -> [.field_1=0.03125]
+}
+
+const fn_9_myr = { a1 : t45, a2 : t46, a3 : t45, a4 : t47, a5 : t48, a6 : flt32, a7 : flt64, a8 : uint8, a9 : uint64, a10 : t49
+    if !(a1==`E_45_6)
+        goto bad
+    ;;
+
+    if !((a2.field_1==4118535730))
+        goto bad
+    ;;
+
+    if !(a3==`E_45_7)
+        goto bad
+    ;;
+
+    if !(a4==`E_47_2)
+        goto bad
+    ;;
+
+    if !(a5==`E_48_6)
+        goto bad
+    ;;
+
+    if !(a6==-0.21875)
+        goto bad
+    ;;
+
+    if !(a7==-1.4140625)
+        goto bad
+    ;;
+
+    if !(a8==162)
+        goto bad
+    ;;
+
+    if !(a9==170573566967808)
+        goto bad
+    ;;
+
+    if !(a10==`E_49_5)
+        goto bad
+    ;;
+
+    -> [.field_1=-0.46875,.field_2=[.field_1=-0.28125,.field_2=([.field_1=3.50390625,.field_2=[.field_1=`E_18_9,.field_2=298590436,.field_3=0.359375,.field_4=`E_19_5,.field_5=(2.28125,-0.7421875,[.field_1=-1.359375,.field_2=[.field_1=(-1.53125,`E_2_2),.field_2=159748598530048,.field_3=(1.328125,`E_2_2),.field_4=-0.546875,.field_5=146401660239872,.field_6=(0.6875,228983429529600,105127852507136)],.field_3=(-0.84375,0.359375,153705986129920),.field_4=-1.80859375,.field_5=`E_11_1,.field_6=3.28125]),.field_6=((1.96484375,46322522914816,96194539421696),1.46875,[.field_1=912869840,.field_2=((176,[.field_1=121643541069824,.field_2=41,.field_3=2802989848,.field_4=128,.field_5=2.15625,.field_6=-2.44921875],1259853458,`E_2_2),(64,[.field_1=86146197356544,.field_2=90,.field_3=3519983450,.field_4=58,.field_5=0.50390625,.field_6=-2.765625],3211917080,`E_2_1)),.field_3=270136525455360,.field_4=-1.1875,.field_5=139],(146,0.53125))],.field_3=228868406378496,.field_4=0.90234375],0.6796875,158843979956224),.field_3=3350000678,.field_4=1.34375],.field_3=[.field_1=0.25390625],.field_4=3.8515625,.field_5=[.field_1=0.375],.field_6=([.field_1=271586366193664,.field_2=(39,-0.71875),.field_3=131323353497600,.field_4=(1.34375,129109365489664,[.field_1=[.field_1=194,.field_2=-3.05078125,.field_3=181,.field_4=18560330366976,.field_5=`E_2_3,.field_6=2277482010],.field_2=(-1.61328125,7613576773632,190410156933120),.field_3=(-1.4375,`E_2_2)],[.field_1=(2732417384,-1.0625,0.703125,(-0.921875,`E_2_5)),.field_2=137])],1.015625,117426174033920,25)]
+
+:bad
+    -> [.field_1=0.328125,.field_2=[.field_1=-1.203125,.field_2=([.field_1=1.046875,.field_2=[.field_1=`E_18_6,.field_2=4145360800,.field_3=0.3125,.field_4=`E_19_6,.field_5=(-2.0546875,-3.3984375,[.field_1=0.5625,.field_2=[.field_1=(0.609375,`E_2_5),.field_2=221801050013696,.field_3=(-0.296875,`E_2_6),.field_4=-0.78125,.field_5=263658707091456,.field_6=(-2.4609375,78100894187520,172593887444992)],.field_3=(-2.13671875,-0.140625,70190616412160),.field_4=-0.8671875,.field_5=`E_11_2,.field_6=-0.33203125]),.field_6=((-2.19140625,202050438168576,79035918319616),0.421875,[.field_1=3518277532,.field_2=((226,[.field_1=276554656776192,.field_2=116,.field_3=2062106064,.field_4=242,.field_5=-3.5,.field_6=-2.11328125],793394830,`E_2_1),(232,[.field_1=247826144034816,.field_2=241,.field_3=2988853828,.field_4=73,.field_5=2.61328125,.field_6=3.48828125],960335446,`E_2_1)),.field_3=62990759493632,.field_4=1.0625,.field_5=62],(174,-1.296875))],.field_3=178677585936384,.field_4=2.82421875],0.33984375,240439403347968),.field_3=2488286120,.field_4=1.015625],.field_3=[.field_1=-0.0703125],.field_4=-0.79296875,.field_5=[.field_1=0.65625],.field_6=([.field_1=133232098148352,.field_2=(218,-0.984375),.field_3=118507166892032,.field_4=(1.265625,117681019027456,[.field_1=[.field_1=155,.field_2=-3.7421875,.field_3=83,.field_4=136854257926144,.field_5=`E_2_6,.field_6=93994772],.field_2=(2.1328125,224765803364352,272524883394560),.field_3=(1.5625,`E_2_5)],[.field_1=(824595126,1.046875,-1.375,(1.171875,`E_2_6)),.field_2=178])],0.734375,130355430162432,141)]
+}
+
+const fn_10_myr = { a1 : flt32, a2 : (t30,uint64,t54,flt32), a3 : t43
+    if !(a1==-1.4375)
+        goto bad
+    ;;
+
+    if !(((a2.0.field_1==3.2734375) && ((a2.0.field_2.field_1==`E_18_8) && (a2.0.field_2.field_2==298655464) && (a2.0.field_2.field_3==-1.21875) && (a2.0.field_2.field_4==`E_19_6) && ((a2.0.field_2.field_5.0==-2.87109375) && (a2.0.field_2.field_5.1==3.77734375) && ((a2.0.field_2.field_5.2.field_1==0.15625) && (((a2.0.field_2.field_5.2.field_2.field_1.0==1.03125) && (a2.0.field_2.field_5.2.field_2.field_1.1==`E_2_5)) && (a2.0.field_2.field_5.2.field_2.field_2==4317979738112) && ((a2.0.field_2.field_5.2.field_2.field_3.0==-0.375) && (a2.0.field_2.field_5.2.field_2.field_3.1==`E_2_1)) && (a2.0.field_2.field_5.2.field_2.field_4==-0.625) && (a2.0.field_2.field_5.2.field_2.field_5==119942540689408) && ((a2.0.field_2.field_5.2.field_2.field_6.0==1.90234375) && (a2.0.field_2.field_5.2.field_2.field_6.1==84070773030912) && (a2.0.field_2.field_5.2.field_2.field_6.2==265295537897472))) && ((a2.0.field_2.field_5.2.field_3.0==-1.5078125) && (a2.0.field_2.field_5.2.field_3.1==-0.046875) && (a2.0.field_2.field_5.2.field_3.2==247680725286912)) && (a2.0.field_2.field_5.2.field_4==2.1484375) && (a2.0.field_2.field_5.2.field_5==`E_11_1) && (a2.0.field_2.field_5.2.field_6==-0.6015625))) && (((a2.0.field_2.field_6.0.0==-1.84765625) && (a2.0.field_2.field_6.0.1==4068918427648) && (a2.0.field_2.field_6.0.2==127361585905664)) && (a2.0.field_2.field_6.1==0.6875) && ((a2.0.field_2.field_6.2.field_1==4144444706) && (((a2.0.field_2.field_6.2.field_2.0.0==65) && ((a2.0.field_2.field_6.2.field_2.0.1.field_1==272708430856192) && (a2.0.field_2.field_6.2.field_2.0.1.field_2==226) && (a2.0.field_2.field_6.2.field_2.0.1.field_3==232384220) && (a2.0.field_2.field_6.2.field_2.0.1.field_4==9) && (a2.0.field_2.field_6.2.field_2.0.1.field_5==3.86328125) && (a2.0.field_2.field_6.2.field_2.0.1.field_6==1.4609375)) && (a2.0.field_2.field_6.2.field_2.0.2==735172550) && (a2.0.field_2.field_6.2.field_2.0.3==`E_2_6)) && ((a2.0.field_2.field_6.2.field_2.1.0==61) && ((a2.0.field_2.field_6.2.field_2.1.1.field_1==558452178944) && (a2.0.field_2.field_6.2.field_2.1.1.field_2==178) && (a2.0.field_2.field_6.2.field_2.1.1.field_3==1092184810) && (a2.0.field_2.field_6.2.field_2.1.1.field_4==98) && (a2.0.field_2.field_6.2.field_2.1.1.field_5==1.76953125) && (a2.0.field_2.field_6.2.field_2.1.1.field_6==0.4453125)) && (a2.0.field_2.field_6.2.field_2.1.2==3483926918) && (a2.0.field_2.field_6.2.field_2.1.3==`E_2_3))) && (a2.0.field_2.field_6.2.field_3==240867814670336) && (a2.0.field_2.field_6.2.field_4==0.796875) && (a2.0.field_2.field_6.2.field_5==198)) && ((a2.0.field_2.field_6.3.0==86) && (a2.0.field_2.field_6.3.1==0.421875)))) && (a2.0.field_3==155213721894912) && (a2.0.field_4==-0.5859375)) && (a2.1==15967994380288) && ((a2.2.field_1==0.984375) && (a2.2.field_2==`E_2_3) && (a2.2.field_3==`E_43_4)) && (a2.3==0.09375))
+        goto bad
+    ;;
+
+    if !(a3==`E_43_4)
+        goto bad
+    ;;
+
+    -> 1.0
+
+:bad
+    -> 0.125
+}
+
+const fn_11_myr = { a1 : ((t30,flt64,uint64),uint8,t1), a2 : uint64, a3 : (t56,uint32,t57,(t19,t30,flt32,flt64))
+    if !((((a1.0.0.field_1==-1.875) && ((a1.0.0.field_2.field_1==`E_18_7) && (a1.0.0.field_2.field_2==3060119432) && (a1.0.0.field_2.field_3==1.4375) && (a1.0.0.field_2.field_4==`E_19_8) && ((a1.0.0.field_2.field_5.0==-3.14453125) && (a1.0.0.field_2.field_5.1==1.421875) && ((a1.0.0.field_2.field_5.2.field_1==0.171875) && (((a1.0.0.field_2.field_5.2.field_2.field_1.0==1.28125) && (a1.0.0.field_2.field_5.2.field_2.field_1.1==`E_2_1)) && (a1.0.0.field_2.field_5.2.field_2.field_2==115694040645632) && ((a1.0.0.field_2.field_5.2.field_2.field_3.0==0.515625) && (a1.0.0.field_2.field_5.2.field_2.field_3.1==`E_2_6)) && (a1.0.0.field_2.field_5.2.field_2.field_4==0.78125) && (a1.0.0.field_2.field_5.2.field_2.field_5==83317925609472) && ((a1.0.0.field_2.field_5.2.field_2.field_6.0==-0.16015625) && (a1.0.0.field_2.field_5.2.field_2.field_6.1==49194524213248) && (a1.0.0.field_2.field_5.2.field_2.field_6.2==99285919989760))) && ((a1.0.0.field_2.field_5.2.field_3.0==-1.60546875) && (a1.0.0.field_2.field_5.2.field_3.1==0.359375) && (a1.0.0.field_2.field_5.2.field_3.2==242615500275712)) && (a1.0.0.field_2.field_5.2.field_4==2.5546875) && (a1.0.0.field_2.field_5.2.field_5==`E_11_1) && (a1.0.0.field_2.field_5.2.field_6==0.984375))) && (((a1.0.0.field_2.field_6.0.0==-1.34375) && (a1.0.0.field_2.field_6.0.1==86155678318592) && (a1.0.0.field_2.field_6.0.2==125076719534080)) && (a1.0.0.field_2.field_6.1==1.15625) && ((a1.0.0.field_2.field_6.2.field_1==2526692668) && (((a1.0.0.field_2.field_6.2.field_2.0.0==243) && ((a1.0.0.field_2.field_6.2.field_2.0.1.field_1==162605589856256) && (a1.0.0.field_2.field_6.2.field_2.0.1.field_2==217) && (a1.0.0.field_2.field_6.2.field_2.0.1.field_3==2977687486) && (a1.0.0.field_2.field_6.2.field_2.0.1.field_4==74) && (a1.0.0.field_2.field_6.2.field_2.0.1.field_5==2.37109375) && (a1.0.0.field_2.field_6.2.field_2.0.1.field_6==1.49609375)) && (a1.0.0.field_2.field_6.2.field_2.0.2==1665217660) && (a1.0.0.field_2.field_6.2.field_2.0.3==`E_2_3)) && ((a1.0.0.field_2.field_6.2.field_2.1.0==63) && ((a1.0.0.field_2.field_6.2.field_2.1.1.field_1==83432466808832) && (a1.0.0.field_2.field_6.2.field_2.1.1.field_2==163) && (a1.0.0.field_2.field_6.2.field_2.1.1.field_3==2825472336) && (a1.0.0.field_2.field_6.2.field_2.1.1.field_4==245) && (a1.0.0.field_2.field_6.2.field_2.1.1.field_5==0.5078125) && (a1.0.0.field_2.field_6.2.field_2.1.1.field_6==-0.71875)) && (a1.0.0.field_2.field_6.2.field_2.1.2==1094350794) && (a1.0.0.field_2.field_6.2.field_2.1.3==`E_2_1))) && (a1.0.0.field_2.field_6.2.field_3==163990210084864) && (a1.0.0.field_2.field_6.2.field_4==0.34375) && (a1.0.0.field_2.field_6.2.field_5==86)) && ((a1.0.0.field_2.field_6.3.0==50) && (a1.0.0.field_2.field_6.3.1==-0.09375)))) && (a1.0.0.field_3==46874424901632) && (a1.0.0.field_4==-2.23046875)) && (a1.0.1==-3.16015625) && (a1.0.2==139156190003200)) && (a1.1==133) && ((a1.2.field_1==151978903994368) && (a1.2.field_2==92) && (a1.2.field_3==469183736) && (a1.2.field_4==125) && (a1.2.field_5==3.43359375) && (a1.2.field_6==3.57421875)))
+        goto bad
+    ;;
+
+    if !(a2==64581458329600)
+        goto bad
+    ;;
+
+    if !((a3.0==`E_56_6) && (a3.1==2175957910) && ((a3.2.field_1==`E_26_6) && (a3.2.field_2==168) && ((a3.2.field_3.0==80343449468928) && (a3.2.field_3.1==`E_41_3) && (a3.2.field_3.2==458518304) && ((a3.2.field_3.3.field_1==132879007088640) && ((a3.2.field_3.3.field_2.0==141) && (a3.2.field_3.3.field_2.1==0.3125)) && (a3.2.field_3.3.field_3==67929798082560) && ((a3.2.field_3.3.field_4.0==-0.65625) && (a3.2.field_3.3.field_4.1==121657342951424) && (((a3.2.field_3.3.field_4.2.field_1.field_1==53) && (a3.2.field_3.3.field_4.2.field_1.field_2==-0.0546875) && (a3.2.field_3.3.field_4.2.field_1.field_3==110) && (a3.2.field_3.3.field_4.2.field_1.field_4==109205112356864) && (a3.2.field_3.3.field_4.2.field_1.field_5==`E_2_5) && (a3.2.field_3.3.field_4.2.field_1.field_6==3971726706)) && ((a3.2.field_3.3.field_4.2.field_2.0==-3.20703125) && (a3.2.field_3.3.field_4.2.field_2.1==177956855611392) && (a3.2.field_3.3.field_4.2.field_2.2==219483313799168)) && ((a3.2.field_3.3.field_4.2.field_3.0==1.265625) && (a3.2.field_3.3.field_4.2.field_3.1==`E_2_6))) && (((a3.2.field_3.3.field_4.3.field_1.0==2465490790) && (a3.2.field_3.3.field_4.3.field_1.1==0.53125) && (a3.2.field_3.3.field_4.3.field_1.2==-0.078125) && ((a3.2.field_3.3.field_4.3.field_1.3.0==0.3125) && (a3.2.field_3.3.field_4.3.field_1.3.1==`E_2_2))) && (a3.2.field_3.3.field_4.3.field_2==219))))) && ((a3.2.field_4.field_1==-0.828125) && (((a3.2.field_4.field_2.field_1.0==1.484375) && (a3.2.field_4.field_2.field_1.1==`E_2_3)) && (a3.2.field_4.field_2.field_2==223230053711872) && ((a3.2.field_4.field_2.field_3.0==0.421875) && (a3.2.field_4.field_2.field_3.1==`E_2_4)) && (a3.2.field_4.field_2.field_4==-0.875) && (a3.2.field_4.field_2.field_5==208129902903296) && ((a3.2.field_4.field_2.field_6.0==-2.94921875) && (a3.2.field_4.field_2.field_6.1==217811484278784) && (a3.2.field_4.field_2.field_6.2==95447919886336))) && ((a3.2.field_4.field_3.0==-1.0625) && (a3.2.field_4.field_3.1==-1.375) && (a3.2.field_4.field_3.2==217105262837760)) && (a3.2.field_4.field_4==0.5546875) && (a3.2.field_4.field_5==`E_11_4) && (a3.2.field_4.field_6==-2.32421875)) && (a3.2.field_5==4119368836) && (a3.2.field_6==-0.484375)) && ((a3.3.0==`E_19_2) && ((a3.3.1.field_1==-3.52734375) && ((a3.3.1.field_2.field_1==`E_18_9) && (a3.3.1.field_2.field_2==3895962858) && (a3.3.1.field_2.field_3==1.40625) && (a3.3.1.field_2.field_4==`E_19_8) && ((a3.3.1.field_2.field_5.0==-0.1484375) && (a3.3.1.field_2.field_5.1==0.92578125) && ((a3.3.1.field_2.field_5.2.field_1==-0.265625) && (((a3.3.1.field_2.field_5.2.field_2.field_1.0==-1.328125) && (a3.3.1.field_2.field_5.2.field_2.field_1.1==`E_2_5)) && (a3.3.1.field_2.field_5.2.field_2.field_2==76685686865920) && ((a3.3.1.field_2.field_5.2.field_2.field_3.0==-0.578125) && (a3.3.1.field_2.field_5.2.field_2.field_3.1==`E_2_5)) && (a3.3.1.field_2.field_5.2.field_2.field_4==0.4375) && (a3.3.1.field_2.field_5.2.field_2.field_5==31133991829504) && ((a3.3.1.field_2.field_5.2.field_2.field_6.0==-0.59765625) && (a3.3.1.field_2.field_5.2.field_2.field_6.1==81066773446656) && (a3.3.1.field_2.field_5.2.field_2.field_6.2==93021535076352))) && ((a3.3.1.field_2.field_5.2.field_3.0==-2.6328125) && (a3.3.1.field_2.field_5.2.field_3.1==-0.28125) && (a3.3.1.field_2.field_5.2.field_3.2==29358042644480)) && (a3.3.1.field_2.field_5.2.field_4==0.015625) && (a3.3.1.field_2.field_5.2.field_5==`E_11_5) && (a3.3.1.field_2.field_5.2.field_6==-2.60546875))) && (((a3.3.1.field_2.field_6.0.0==-1.7734375) && (a3.3.1.field_2.field_6.0.1==97291012014080) && (a3.3.1.field_2.field_6.0.2==203235864870912)) && (a3.3.1.field_2.field_6.1==-0.078125) && ((a3.3.1.field_2.field_6.2.field_1==1308944570) && (((a3.3.1.field_2.field_6.2.field_2.0.0==17) && ((a3.3.1.field_2.field_6.2.field_2.0.1.field_1==169812367376384) && (a3.3.1.field_2.field_6.2.field_2.0.1.field_2==90) && (a3.3.1.field_2.field_6.2.field_2.0.1.field_3==214389768) && (a3.3.1.field_2.field_6.2.field_2.0.1.field_4==130) && (a3.3.1.field_2.field_6.2.field_2.0.1.field_5==-1.5390625) && (a3.3.1.field_2.field_6.2.field_2.0.1.field_6==3.83984375)) && (a3.3.1.field_
\ No newline at end of file
+        goto bad
+    ;;
+
+    -> 3531194568
+
+:bad
+    -> 1575783646
+}
+
+const fn_12_myr = { a1 : t63, a2 : flt64, a3 : uint32, a4 : t68
+    if !(((a1.field_1.0==1) && (a1.field_1.1==-0.953125) && (a1.field_1.2==28380691169280) && ((a1.field_1.3.field_1==266791176896512) && (a1.field_1.3.field_2==173) && (a1.field_1.3.field_3==841702660) && (a1.field_1.3.field_4==225) && (a1.field_1.3.field_5==-2.734375) && (a1.field_1.3.field_6==-2.24609375))) && ((a1.field_2.field_1==-0.875) && ((a1.field_2.field_2.0==2975373622) && (a1.field_2.field_2.1==1.46875) && (a1.field_2.field_2.2==-0.828125) && ((a1.field_2.field_2.3.0==0.390625) && (a1.field_2.field_2.3.1==`E_2_2)))) && (a1.field_3==0.515625) && ((a1.field_4.field_1==`E_18_1) && (((a1.field_4.field_2.field_1.field_1==124) && (a1.field_4.field_2.field_1.field_2==0.00390625) && (a1.field_4.field_2.field_1.field_3==79) && (a1.field_4.field_2.field_1.field_4==236261015289856) && (a1.field_4.field_2.field_1.field_5==`E_2_3) && (a1.field_4.field_2.field_1.field_6==2156655358)) && ((a1.field_4.field_2.field_2.0==2.4140625) && (a1.field_4.field_2.field_2.1==51905146388480) && (a1.field_4.field_2.field_2.2==223439089434624)) && ((a1.field_4.field_2.field_3.0==0.53125) && (a1.field_4.field_2.field_3.1==`E_2_1)))) && (a1.field_5==255485003694080) && (a1.field_6==3.1015625))
+        goto bad
+    ;;
+
+    if !(a2==3.234375)
+        goto bad
+    ;;
+
+    if !(a3==1992315490)
+        goto bad
+    ;;
+
+    if !((a4.field_1==`E_64_6) && ((a4.field_2.field_1==-1.48828125) && (a4.field_2.field_2==1219436194) && (a4.field_2.field_3==50) && (a4.field_2.field_4==41975805771776) && (a4.field_2.field_5==2064448724) && (a4.field_2.field_6==122353563467776)) && (((a4.field_3.0.0==`E_56_2) && (a4.field_3.0.1==1046332580) && ((a4.field_3.0.2.field_1==`E_26_8) && (a4.field_3.0.2.field_2==209) && ((a4.field_3.0.2.field_3.0==142694099582976) && (a4.field_3.0.2.field_3.1==`E_41_2) && (a4.field_3.0.2.field_3.2==1010741440) && ((a4.field_3.0.2.field_3.3.field_1==61520011984896) && ((a4.field_3.0.2.field_3.3.field_2.0==110) && (a4.field_3.0.2.field_3.3.field_2.1==-0.125)) && (a4.field_3.0.2.field_3.3.field_3==32251070906368) && ((a4.field_3.0.2.field_3.3.field_4.0==-0.546875) && (a4.field_3.0.2.field_3.3.field_4.1==100567390355456) && (((a4.field_3.0.2.field_3.3.field_4.2.field_1.field_1==16) && (a4.field_3.0.2.field_3.3.field_4.2.field_1.field_2==-2.8671875) && (a4.field_3.0.2.field_3.3.field_4.2.field_1.field_3==38) && (a4.field_3.0.2.field_3.3.field_4.2.field_1.field_4==106528154320896) && (a4.field_3.0.2.field_3.3.field_4.2.field_1.field_5==`E_2_6) && (a4.field_3.0.2.field_3.3.field_4.2.field_1.field_6==154283124)) && ((a4.field_3.0.2.field_3.3.field_4.2.field_2.0==-2.69140625) && (a4.field_3.0.2.field_3.3.field_4.2.field_2.1==121530523058176) && (a4.field_3.0.2.field_3.3.field_4.2.field_2.2==195491981033472)) && ((a4.field_3.0.2.field_3.3.field_4.2.field_3.0==0.296875) && (a4.field_3.0.2.field_3.3.field_4.2.field_3.1==`E_2_5))) && (((a4.field_3.0.2.field_3.3.field_4.3.field_1.0==1183512522) && (a4.field_3.0.2.field_3.3.field_4.3.field_1.1==1.265625) && (a4.field_3.0.2.field_3.3.field_4.3.field_1.2==-1.453125) && ((a4.field_3.0.2.field_3.3.field_4.3.field_1.3.0==-0.09375) && (a4.field_3.0.2.field_3.3.field_4.3.field_1.3.1==`E_2_1))) && (a4.field_3.0.2.field_3.3.field_4.3.field_2==132))))) && ((a4.field_3.0.2.field_4.field_1==1.28125) && (((a4.field_3.0.2.field_4.field_2.field_1.0==-0.65625) && (a4.field_3.0.2.field_4.field_2.field_1.1==`E_2_5)) && (a4.field_3.0.2.field_4.field_2.field_2==177899132157952) && ((a4.field_3.0.2.field_4.field_2.field_3.0==-1.234375) && (a4.field_3.0.2.field_4.field_2.field_3.1==`E_2_2)) && (a4.field_3.0.2.field_4.field_2.field_4==1.4375) && (a4.field_3.0.2.field_4.field_2.field_5==97002546921472) && ((a4.field_3.0.2.field_4.field_2.field_6.0==-0.09375) && (a4.field_3.0.2.field_4.field_2.field_6.1==109686219472896) && (a4.field_3.0.2.field_4.field_2.field_6.2==226948153081856))) && ((a4.field_3.0.2.field_4.field_3.0==0.80078125) && (a4.field_3.0.2.field_4.field_3.1==0.6875) && (a4.field_3.0.2.field_4.field_3.2==46040566726656)) && (a4.field_3.0.2.field_4.field_4==1.30859375) && (a4.field_3.0.2.field_4.field_5==`E_11_6) && (a4.field_3.0.2.field_4.field_6==-1.4609375)) && (a4.field_3.0.2.field_5==197005372) && (a4.field_3.0.2.field_6==0.640625)) && ((a4.field_3.0.3.0==`E_19_3) && ((a4.field_3.0.3.1.field_1==-2.33203125) && ((a4.field_3.0.3.1.field_2.field_1==`E_18_2) && (a4.field_3.0.3.1.field_2.field_2==187071608) && (a4.field_3.0.3.1.field_2.field_3==0.921875) && (a4.field_3.0.3.1.field_2.field_4==`E_19_8) && ((a4.field_3.0.3.1.field_2.field_5.0==-1.4140625) && (a4.field_3.0.3.1.field_2.field_5.1==1.54296875) && ((a4.field_3.0.3.1.field_2.field_5.2.field_1==1.34375) && (((a4.field_3.0.3.1.field_2.field_5.2.field_2.field_1.0==0.90625) && (a4.field_3.0.3.1.field_2.field_5.2.field_2.field_1.1==`E_2_5)) && (a4.field_3.0.3.1.field_2.field_5.2.field_2.field_2==125311720620032) && ((a4.field_3.0.3.1.field_2.field_5.2.field_2.field_3.0==0.625) && (a4.field_3.0.3.1.field_2.field_5.2.field_2.field_3.1==`E_2_1)) && (a4.field_3.0.3.1.field_2.field_5.2.field_2.field_4==-0.921875) && (a4.field_3.0.3.1.field_2.field_5.2.field_2.field_5==92709840093184) && ((a4.field_3.0.3.1.field_2.field_5.2.field_2.field_6.0==-2.73828125) && (a4.field_3.0.3.1.field_2.field_5.2.field_2.field_6.1==134199459708928) && (a4.field_3.0.3.1.field_2.field_5.2.field_2.field_6.2==81184594198528))) && ((a4.field_3.0.3.1.field_2.field_5.2.field_3.0
\ No newline at end of file
+        goto bad
+    ;;
+
+    -> 2964505044
+
+:bad
+    -> 415294892
+}
+
+const fn_13_myr = { a1 : t26, a2 : uint32, a3 : t70, a4 : flt64, a5 : (flt32,t71,(uint8,uint32,uint8),flt64)
+    if !(a1==`E_26_9)
+        goto bad
+    ;;
+
+    if !(a2==2931952582)
+        goto bad
+    ;;
+
+    if !(((a3.field_1.field_1==`E_29_2) && (a3.field_1.field_2==220) && (a3.field_1.field_3==281245651828737) && (a3.field_1.field_4==161440489930752)))
+        goto bad
+    ;;
+
+    if !(a4==0.62890625)
+        goto bad
+    ;;
+
+    if !((a5.0==0.90625) && ((a5.1.field_1==109360486285312) && (a5.1.field_2==-2.51953125) && (a5.1.field_3==3374314812) && (a5.1.field_4==4132094974) && (a5.1.field_5==143973346836480)) && ((a5.2.0==93) && (a5.2.1==3133286358) && (a5.2.2==129)) && (a5.3==0.76953125))
+        goto bad
+    ;;
+
+    -> `E_74_6
+
+:bad
+    -> `E_74_2
+}
+
+const fn_14_myr = { a1 : uint32, a2 : uint8, a3 : (t75,t76,t77), a4 : (t79,uint64,t80), a5 : t32, a6 : t82, a7 : t85
+    if !(a1==2391308062)
+        goto bad
+    ;;
+
+    if !(a2==66)
+        goto bad
+    ;;
+
+    if !(((a3.0.field_1==85) && (a3.0.field_2==-2.80859375) && (a3.0.field_3==155146548)) && ((a3.1.field_1==235) && (a3.1.field_2==-1.2890625)) && (a3.2==`E_77_8))
+        goto bad
+    ;;
+
+    if !((a4.0==`E_79_1) && (a4.1==274420389904384) && (a4.2==`E_80_2))
+        goto bad
+    ;;
+
+    if !((a5.field_1==1325686188))
+        goto bad
+    ;;
+
+    if !(a6==`E_82_5)
+        goto bad
+    ;;
+
+    if !((a7.field_1==558424532) && (((a7.field_2.0.0==206) && ((a7.field_2.0.1.field_1==150202022100992) && (a7.field_2.0.1.field_2==157) && (a7.field_2.0.1.field_3==860064444) && (a7.field_2.0.1.field_4==215) && (a7.field_2.0.1.field_5==-1.9765625) && (a7.field_2.0.1.field_6==-2.18359375)) && (a7.field_2.0.2==2792603168) && (a7.field_2.0.3==`E_2_1)) && ((a7.field_2.1.0==47) && ((a7.field_2.1.1.field_1==209371989409792) && (a7.field_2.1.1.field_2==167) && (a7.field_2.1.1.field_3==1162519188) && (a7.field_2.1.1.field_4==232) && (a7.field_2.1.1.field_5==2.2109375) && (a7.field_2.1.1.field_6==3.82421875)) && (a7.field_2.1.2==2196829234) && (a7.field_2.1.3==`E_2_2))) && (a7.field_3==239020664553472) && (a7.field_4==645390774) && (((a7.field_5.0.field_1==0.375) && ((a7.field_5.0.field_2.field_1==-3.5625) && (((a7.field_5.0.field_2.field_2.0.field_1==1.97265625) && ((a7.field_5.0.field_2.field_2.0.field_2.field_1==`E_18_8) && (a7.field_5.0.field_2.field_2.0.field_2.field_2==3857006490) && (a7.field_5.0.field_2.field_2.0.field_2.field_3==1.4375) && (a7.field_5.0.field_2.field_2.0.field_2.field_4==`E_19_8) && ((a7.field_5.0.field_2.field_2.0.field_2.field_5.0==3.66015625) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.1==2.25390625) && ((a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_1==-0.5) && (((a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_1.0==-1.265625) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_1.1==`E_2_4)) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_2==246081152876544) && ((a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_3.0==0.671875) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_3.1==`E_2_5)) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_4==0.6875) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_5==270577423351808) && ((a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.0==-3.7734375) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.1==103229432922112) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.2==25981307060224))) && ((a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_3.0==-2.328125) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_3.1==-1.21875) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_3.2==210485456797696)) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_4==-0.21484375) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_5==`E_11_1) && (a7.field_5.0.field_2.field_2.0.field_2.field_5.2.field_6==0.23828125))) && (((a7.field_5.0.field_2.field_2.0.field_2.field_6.0.0==-0.296875) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.0.1==149437025615872) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.0.2==217610901782528)) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.1==-0.59375) && ((a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_1==2925618826) && (((a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.0==100) && ((a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_1==100015436857344) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_2==111) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_3==988840590) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_4==64) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_5==-0.8671875) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_6==-2.19140625)) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.2==951054362) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.0.3==`E_2_2)) && ((a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.1.0==143) && ((a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_1==89940269858816) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_2==197) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_3==1866268236) && (a7.field_5.0.field_2.field_2.0.field_2.field_6.2.field_2
\ No newline at end of file
+        goto bad
+    ;;
+
+    -> 278379121082369
+
+:bad
+    -> 71555255238656
+}
+
+const fn_15_myr = { a1 : t86, a2 : t69, a3 : t88, a4 : t93, a5 : (flt32,uint32,t94), a6 : (t24,(flt32,t2)), a7 : flt32, a8 : (uint8,flt32,uint64,t1), a9 : (t93,flt64,t96), a10 : t100
+    if !(a1==`E_86_10)
+        goto bad
+    ;;
+
+    if !((a2.field_1==`E_29_3) && (a2.field_2==174) && (a2.field_3==120887724867584) && (a2.field_4==122558970331136))
+        goto bad
+    ;;
+
+    if !((a3.field_1==`E_87_6) && (a3.field_2==`E_19_4) && ((a3.field_3.field_1==13773365706752) && (a3.field_3.field_2==103) && (a3.field_3.field_3==2174769352) && (a3.field_3.field_4==176) && (a3.field_3.field_5==-3.88671875) && (a3.field_3.field_6==-0.2578125)) && (a3.field_4==`E_48_7))
+        goto bad
+    ;;
+
+    if !(((a4.field_1.0==2.3515625) && (a4.field_1.1==0.375) && (((a4.field_1.2.0.field_1==225) && (a4.field_1.2.0.field_2==3.30859375) && (a4.field_1.2.0.field_3==307894648)) && ((a4.field_1.2.1.field_1==11) && (a4.field_1.2.1.field_2==1.78125)) && (a4.field_1.2.2==`E_77_8))) && (a4.field_2==`E_90_6) && (((a4.field_3.0.0==-0.5234375) && (a4.field_3.0.1==132763972009984) && (a4.field_3.0.2==229659410694144)) && (a4.field_3.1==-0.78125) && ((a4.field_3.2.field_1==1759559384) && (((a4.field_3.2.field_2.0.0==49) && ((a4.field_3.2.field_2.0.1.field_1==136392379072512) && (a4.field_3.2.field_2.0.1.field_2==89) && (a4.field_3.2.field_2.0.1.field_3==217892376) && (a4.field_3.2.field_2.0.1.field_4==68) && (a4.field_3.2.field_2.0.1.field_5==-2.91796875) && (a4.field_3.2.field_2.0.1.field_6==-1.44140625)) && (a4.field_3.2.field_2.0.2==411030898) && (a4.field_3.2.field_2.0.3==`E_2_2)) && ((a4.field_3.2.field_2.1.0==22) && ((a4.field_3.2.field_2.1.1.field_1==172726771253248) && (a4.field_3.2.field_2.1.1.field_2==126) && (a4.field_3.2.field_2.1.1.field_3==1394729466) && (a4.field_3.2.field_2.1.1.field_4==253) && (a4.field_3.2.field_2.1.1.field_5==1.3359375) && (a4.field_3.2.field_2.1.1.field_6==-1.6875)) && (a4.field_3.2.field_2.1.2==691362998) && (a4.field_3.2.field_2.1.3==`E_2_3))) && (a4.field_3.2.field_3==253720887820288) && (a4.field_3.2.field_4==-1.4375) && (a4.field_3.2.field_5==101)) && ((a4.field_3.3.0==249) && (a4.field_3.3.1==-1.296875))) && ((a4.field_4.0==528531976) && ((a4.field_4.1.field_1==261386844897280) && (a4.field_4.1.field_2==1.84765625) && (a4.field_4.1.field_3==2388631154) && (a4.field_4.1.field_4==1719296880) && (a4.field_4.1.field_5==155468073926656)) && (a4.field_4.2==3470986990) && (a4.field_4.3==3478856264)) && ((a4.field_5.0==3194978670) && (a4.field_5.1==1257202236) && (a4.field_5.2==678627422)))
+        goto bad
+    ;;
+
+    if !((a5.0==-0.953125) && (a5.1==1149891486) && (a5.2==`E_94_1))
+        goto bad
+    ;;
+
+    if !((a6.0==`E_24_7) && ((a6.1.0==0.953125) && (a6.1.1==`E_2_3)))
+        goto bad
+    ;;
+
+    if !(a7==0.65625)
+        goto bad
+    ;;
+
+    if !((a8.0==174) && (a8.1==0.140625) && (a8.2==211052441108480) && ((a8.3.field_1==171324051947520) && (a8.3.field_2==72) && (a8.3.field_3==1314068538) && (a8.3.field_4==2) && (a8.3.field_5==2.62109375) && (a8.3.field_6==-3.015625)))
+        goto bad
+    ;;
+
+    if !((((a9.0.field_1.0==3.0234375) && (a9.0.field_1.1==1.390625) && (((a9.0.field_1.2.0.field_1==51) && (a9.0.field_1.2.0.field_2==-2.76953125) && (a9.0.field_1.2.0.field_3==3019798602)) && ((a9.0.field_1.2.1.field_1==1) && (a9.0.field_1.2.1.field_2==0.5078125)) && (a9.0.field_1.2.2==`E_77_8))) && (a9.0.field_2==`E_90_7) && (((a9.0.field_3.0.0==-3.71484375) && (a9.0.field_3.0.1==157999771287552) && (a9.0.field_3.0.2==111072570245120)) && (a9.0.field_3.1==0.21875) && ((a9.0.field_3.2.field_1==1336322566) && (((a9.0.field_3.2.field_2.0.0==0) && ((a9.0.field_3.2.field_2.0.1.field_1==240426317512704) && (a9.0.field_3.2.field_2.0.1.field_2==157) && (a9.0.field_3.2.field_2.0.1.field_3==52590348) && (a9.0.field_3.2.field_2.0.1.field_4==176) && (a9.0.field_3.2.field_2.0.1.field_5==1.80859375) && (a9.0.field_3.2.field_2.0.1.field_6==2.58984375)) && (a9.0.field_3.2.field_2.0.2==1153624366) && (a9.0.field_3.2.field_2.0.3==`E_2_1)) && ((a9.0.field_3.2.field_2.1.0==206) && ((a9.0.field_3.2.field_2.1.1.field_1==180814220492800) && (a9.0.field_3.2.field_2.1.1.field_2==26) && (a9.0.field_3.2.field_2.1.1.field_3==299703506) && (a9.0.field_3.2.field_2.1.1.field_4==32) && (a9.0.field_3.2.field_2.1.1.field_5==1.73828125) && (a9.0.field_3.2.field_2.1.1.field_6==3.32421875)) && (a9.0.field_3.2.field_2.1.2==3465599182) && (a9.0.field_3.2.field_2.1.3==`E_2_4))) && (a9.0.field_3.2.field_3==244610903965696) && (a9.0.field_3.2.field_4==-1.546875) && (a9.0.field_3.2.field_5==193)) && ((a9.0.field_3.3.0==146) && (a9.0.field_3.3.1==-1.515625))) && ((a9.0.field_4.0==1374840658) && ((a9.0.field_4.1.field_1==142626650193920) && (a9.0.field_4.1.field_2==1.80859375) && (a9.0.field_4.1.field_3==1480961136) && (a9.0.field_4.1.field_4==292227856) && (a9.0.field_4.1.field_5==35406836006912)) && (a9.0.field_4.2==3934363586) && (a9.0.field_4.3==1628550422)) && ((a9.0.field_5.0==554328638) && (a9.0.field_5.1==3308010754) && (a9.0.field_5.2==4278941526))) && (a9.1==-2.8046875) && ((a9.2.field_1==-0.31640625) && (a9.2.field_2==1.77734375)))
+        goto bad
+    ;;
+
+    if !(((((a10.field_1.field_1.0.field_1==-0.578125) && ((a10.field_1.field_1.0.field_2.field_1==-0.7265625) && (((a10.field_1.field_1.0.field_2.field_2.0.field_1==-2.6015625) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_1==`E_18_5) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_2==3722140840) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_3==1.234375) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_4==`E_19_4) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.0==0.7421875) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.1==2.03125) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_1==-0.90625) && (((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_1.0==1.46875) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_1.1==`E_2_5)) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_2==16987441070080) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_3.0==-0.125) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_3.1==`E_2_3)) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_4==1.0625) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_5==215665831968768) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.0==1.7265625) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.1==135345495736320) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.2==22229593620480))) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_3.0==2.16015625) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_3.1==0.625) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_3.2==114942210998272)) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_4==-2.71484375) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_5==`E_11_3) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_6==-0.2421875))) && (((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.0.0==2.91796875) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.0.1==59953140727808) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.0.2==184442813546496)) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.1==0.03125) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_1==1648496868) && (((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.0==248) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_1==258110700650496) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_2==141) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_3==1835743428) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_4==200) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_5==-0.42578125) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_6==2.7890625)) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.2==1625618080) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.3==`E_2_2)) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.0==17) && ((a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_1==96824602525696) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_2==239) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_3==545066032) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_4==206) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_5==-1.140625) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_6==3.6171875)) && (a10.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.2==2459246160) && (a10.field_1.field_1.0.
\ No newline at end of file
+        goto bad
+    ;;
+
+    -> (0.25,[.field_1=`E_18_6,.field_2=696503716,.field_3=-1.078125,.field_4=`E_19_6,.field_5=(-3.4140625,1.85546875,[.field_1=-0.046875,.field_2=[.field_1=(-0.015625,`E_2_2),.field_2=1680566779904,.field_3=(-1.234375,`E_2_1),.field_4=0.578125,.field_5=246387639451648,.field_6=(-2.4140625,21180950511616,63676999925760)],.field_3=(-0.5546875,0.375,4498010144768),.field_4=-2.86328125,.field_5=`E_11_4,.field_6=-1.4765625]),.field_6=((1.16015625,206263158308864,67183469658112),0.875,[.field_1=2520041722,.field_2=((194,[.field_1=28598144729088,.field_2=42,.field_3=1389583824,.field_4=67,.field_5=-1.390625,.field_6=-3.390625],1403784366,`E_2_1),(141,[.field_1=230715822833664,.field_2=65,.field_3=2399362858,.field_4=237,.field_5=-1.59375,.field_6=-2.0],3443253262,`E_2_3)),.field_3=89840887529472,.field_4=-1.484375,.field_5=234],(240,-1.4375))],[.field_1=-1.40625],-0.23828125)
+
+:bad
+    -> (-0.453125,[.field_1=`E_18_7,.field_2=869338882,.field_3=0.296875,.field_4=`E_19_4,.field_5=(2.26171875,-1.1328125,[.field_1=0.25,.field_2=[.field_1=(1.421875,`E_2_5),.field_2=237789654155264,.field_3=(-0.703125,`E_2_5),.field_4=-1.03125,.field_5=94734685962240,.field_6=(-1.58203125,279028912488449,166458857750528)],.field_3=(2.78515625,1.3125,249786336149504),.field_4=-3.125,.field_5=`E_11_5,.field_6=-0.98046875]),.field_6=((-0.62890625,210339456876544,81998632321024),-0.4375,[.field_1=3398079470,.field_2=((87,[.field_1=233528477483008,.field_2=37,.field_3=174654276,.field_4=8,.field_5=1.875,.field_6=0.15625],3527113970,`E_2_1),(25,[.field_1=218524851896320,.field_2=198,.field_3=4062706894,.field_4=13,.field_5=0.1484375,.field_6=-2.98828125],1675854050,`E_2_5)),.field_3=30645607858176,.field_4=1.515625,.field_5=172],(6,1.15625))],[.field_1=0.859375],1.921875)
+}
+
+const fn_16_myr = { a1 : uint64, a2 : t57
+    if !(a1==138813818142720)
+        goto bad
+    ;;
+
+    if !((a2.field_1==`E_26_3) && (a2.field_2==224) && ((a2.field_3.0==107786496507904) && (a2.field_3.1==`E_41_3) && (a2.field_3.2==3940023518) && ((a2.field_3.3.field_1==116812990251008) && ((a2.field_3.3.field_2.0==43) && (a2.field_3.3.field_2.1==-0.203125)) && (a2.field_3.3.field_3==66490954678272) && ((a2.field_3.3.field_4.0==-0.734375) && (a2.field_3.3.field_4.1==151595749212160) && (((a2.field_3.3.field_4.2.field_1.field_1==3) && (a2.field_3.3.field_4.2.field_1.field_2==-3.59765625) && (a2.field_3.3.field_4.2.field_1.field_3==124) && (a2.field_3.3.field_4.2.field_1.field_4==18634915053568) && (a2.field_3.3.field_4.2.field_1.field_5==`E_2_4) && (a2.field_3.3.field_4.2.field_1.field_6==2585846002)) && ((a2.field_3.3.field_4.2.field_2.0==-0.33984375) && (a2.field_3.3.field_4.2.field_2.1==105850133544960) && (a2.field_3.3.field_4.2.field_2.2==200111611576320)) && ((a2.field_3.3.field_4.2.field_3.0==-0.1875) && (a2.field_3.3.field_4.2.field_3.1==`E_2_1))) && (((a2.field_3.3.field_4.3.field_1.0==3167428002) && (a2.field_3.3.field_4.3.field_1.1==-0.609375) && (a2.field_3.3.field_4.3.field_1.2==1.015625) && ((a2.field_3.3.field_4.3.field_1.3.0==-0.046875) && (a2.field_3.3.field_4.3.field_1.3.1==`E_2_4))) && (a2.field_3.3.field_4.3.field_2==4))))) && ((a2.field_4.field_1==1.5) && (((a2.field_4.field_2.field_1.0==-1.296875) && (a2.field_4.field_2.field_1.1==`E_2_4)) && (a2.field_4.field_2.field_2==73429141815296) && ((a2.field_4.field_2.field_3.0==1.453125) && (a2.field_4.field_2.field_3.1==`E_2_6)) && (a2.field_4.field_2.field_4==0.59375) && (a2.field_4.field_2.field_5==247630766538752) && ((a2.field_4.field_2.field_6.0==-1.03515625) && (a2.field_4.field_2.field_6.1==242640090824704) && (a2.field_4.field_2.field_6.2==89287634190336))) && ((a2.field_4.field_3.0==0.8125) && (a2.field_4.field_3.1==-1.171875) && (a2.field_4.field_3.2==240883383402496)) && (a2.field_4.field_4==0.91015625) && (a2.field_4.field_5==`E_11_2) && (a2.field_4.field_6==-1.25)) && (a2.field_5==2931638482) && (a2.field_6==0.71875))
+        goto bad
+    ;;
+
+    -> ((-3.1015625,183885376782336,162392907317248),-1.09375,[.field_1=1678328882,.field_2=((226,[.field_1=274580443365376,.field_2=223,.field_3=1866442708,.field_4=253,.field_5=2.7421875,.field_6=0.16015625],2411587072,`E_2_1),(123,[.field_1=144693939929088,.field_2=205,.field_3=1556663324,.field_4=225,.field_5=1.2890625,.field_6=1.40234375],2084842492,`E_2_5)),.field_3=150713528483840,.field_4=-1.25,.field_5=245],(224,0.890625))
+
+:bad
+    -> ((1.46484375,230270032019456,259894633955328),0.90625,[.field_1=2024542726,.field_2=((128,[.field_1=265414265667584,.field_2=220,.field_3=1649945756,.field_4=235,.field_5=1.84765625,.field_6=2.4921875],3909742020,`E_2_4),(86,[.field_1=132799646662656,.field_2=178,.field_3=3529069034,.field_4=252,.field_5=0.01171875,.field_6=-2.46875],3725795130,`E_2_1)),.field_3=243128701026304,.field_4=-0.46875,.field_5=245],(102,-0.140625))
+}
+
+const fn_17_myr = { a1 : flt32, a2 : (flt64,flt32,uint64), a3 : t35, a4 : flt32, a5 : t18, a6 : uint64, a7 : (uint8,t1,uint32,t2), a8 : flt32, a9 : t56, a10 : (uint8,uint32,uint8)
+    if !(a1==-0.8125)
+        goto bad
+    ;;
+
+    if !((a2.0==-2.640625) && (a2.1==-0.3125) && (a2.2==158864030433280))
+        goto bad
+    ;;
+
+    if !((a3.field_1==120060447424512) && (a3.field_2==200994178))
+        goto bad
+    ;;
+
+    if !(a4==-1.0625)
+        goto bad
+    ;;
+
+    if !(a5==`E_18_7)
+        goto bad
+    ;;
+
+    if !(a6==180628077543424)
+        goto bad
+    ;;
+
+    if !((a7.0==160) && ((a7.1.field_1==267308015419392) && (a7.1.field_2==53) && (a7.1.field_3==2126242378) && (a7.1.field_4==29) && (a7.1.field_5==-3.328125) && (a7.1.field_6==2.71875)) && (a7.2==324345820) && (a7.3==`E_2_3))
+        goto bad
+    ;;
+
+    if !(a8==1.5625)
+        goto bad
+    ;;
+
+    if !(a9==`E_56_5)
+        goto bad
+    ;;
+
+    if !((a10.0==0) && (a10.1==1742227568) && (a10.2==93))
+        goto bad
+    ;;
+
+    -> 2.59765625
+
+:bad
+    -> -0.67578125
+}
+
+const fn_18_myr = { a1 : t29, a2 : t50, a3 : t94, a4 : (t93,flt64,t96), a5 : t82, a6 : uint32
+    if !(a1==`E_29_5)
+        goto bad
+    ;;
+
+    if !((a2.field_1==-0.671875) && (((a2.field_2.0.field_1==-2.3984375) && ((a2.field_2.0.field_2.field_1==`E_18_5) && (a2.field_2.0.field_2.field_2==178101928) && (a2.field_2.0.field_2.field_3==-1.125) && (a2.field_2.0.field_2.field_4==`E_19_6) && ((a2.field_2.0.field_2.field_5.0==0.28515625) && (a2.field_2.0.field_2.field_5.1==-1.88671875) && ((a2.field_2.0.field_2.field_5.2.field_1==0.921875) && (((a2.field_2.0.field_2.field_5.2.field_2.field_1.0==-0.359375) && (a2.field_2.0.field_2.field_5.2.field_2.field_1.1==`E_2_3)) && (a2.field_2.0.field_2.field_5.2.field_2.field_2==75260795158528) && ((a2.field_2.0.field_2.field_5.2.field_2.field_3.0==0.59375) && (a2.field_2.0.field_2.field_5.2.field_2.field_3.1==`E_2_2)) && (a2.field_2.0.field_2.field_5.2.field_2.field_4==-1.515625) && (a2.field_2.0.field_2.field_5.2.field_2.field_5==64393391505408) && ((a2.field_2.0.field_2.field_5.2.field_2.field_6.0==3.38671875) && (a2.field_2.0.field_2.field_5.2.field_2.field_6.1==241181364584448) && (a2.field_2.0.field_2.field_5.2.field_2.field_6.2==262564167811072))) && ((a2.field_2.0.field_2.field_5.2.field_3.0==3.3984375) && (a2.field_2.0.field_2.field_5.2.field_3.1==-0.75) && (a2.field_2.0.field_2.field_5.2.field_3.2==84301476790272)) && (a2.field_2.0.field_2.field_5.2.field_4==-1.7421875) && (a2.field_2.0.field_2.field_5.2.field_5==`E_11_1) && (a2.field_2.0.field_2.field_5.2.field_6==1.6640625))) && (((a2.field_2.0.field_2.field_6.0.0==2.96484375) && (a2.field_2.0.field_2.field_6.0.1==25240979636224) && (a2.field_2.0.field_2.field_6.0.2==279218169577473)) && (a2.field_2.0.field_2.field_6.1==0.46875) && ((a2.field_2.0.field_2.field_6.2.field_1==3583795084) && (((a2.field_2.0.field_2.field_6.2.field_2.0.0==121) && ((a2.field_2.0.field_2.field_6.2.field_2.0.1.field_1==18449750163456) && (a2.field_2.0.field_2.field_6.2.field_2.0.1.field_2==7) && (a2.field_2.0.field_2.field_6.2.field_2.0.1.field_3==4231471828) && (a2.field_2.0.field_2.field_6.2.field_2.0.1.field_4==27) && (a2.field_2.0.field_2.field_6.2.field_2.0.1.field_5==-2.578125) && (a2.field_2.0.field_2.field_6.2.field_2.0.1.field_6==1.60546875)) && (a2.field_2.0.field_2.field_6.2.field_2.0.2==2763967082) && (a2.field_2.0.field_2.field_6.2.field_2.0.3==`E_2_3)) && ((a2.field_2.0.field_2.field_6.2.field_2.1.0==127) && ((a2.field_2.0.field_2.field_6.2.field_2.1.1.field_1==7883293065216) && (a2.field_2.0.field_2.field_6.2.field_2.1.1.field_2==195) && (a2.field_2.0.field_2.field_6.2.field_2.1.1.field_3==3293015804) && (a2.field_2.0.field_2.field_6.2.field_2.1.1.field_4==183) && (a2.field_2.0.field_2.field_6.2.field_2.1.1.field_5==-3.18359375) && (a2.field_2.0.field_2.field_6.2.field_2.1.1.field_6==2.20703125)) && (a2.field_2.0.field_2.field_6.2.field_2.1.2==4053927584) && (a2.field_2.0.field_2.field_6.2.field_2.1.3==`E_2_1))) && (a2.field_2.0.field_2.field_6.2.field_3==179909264015360) && (a2.field_2.0.field_2.field_6.2.field_4==1.1875) && (a2.field_2.0.field_2.field_6.2.field_5==245)) && ((a2.field_2.0.field_2.field_6.3.0==230) && (a2.field_2.0.field_2.field_6.3.1==-1.015625)))) && (a2.field_2.0.field_3==66953411952640) && (a2.field_2.0.field_4==3.87890625)) && (a2.field_2.1==3.04296875) && (a2.field_2.2==33030485442560)) && (a2.field_3==369406000) && (a2.field_4==1.203125))
+        goto bad
+    ;;
+
+    if !(a3==`E_94_3)
+        goto bad
+    ;;
+
+    if !((((a4.0.field_1.0==-1.234375) && (a4.0.field_1.1==1.390625) && (((a4.0.field_1.2.0.field_1==30) && (a4.0.field_1.2.0.field_2==-3.5390625) && (a4.0.field_1.2.0.field_3==2512982078)) && ((a4.0.field_1.2.1.field_1==139) && (a4.0.field_1.2.1.field_2==0.36328125)) && (a4.0.field_1.2.2==`E_77_5))) && (a4.0.field_2==`E_90_3) && (((a4.0.field_3.0.0==-1.4609375) && (a4.0.field_3.0.1==92383916457984) && (a4.0.field_3.0.2==113307733983232)) && (a4.0.field_3.1==-1.265625) && ((a4.0.field_3.2.field_1==1168626982) && (((a4.0.field_3.2.field_2.0.0==109) && ((a4.0.field_3.2.field_2.0.1.field_1==206784518291456) && (a4.0.field_3.2.field_2.0.1.field_2==38) && (a4.0.field_3.2.field_2.0.1.field_3==1671741250) && (a4.0.field_3.2.field_2.0.1.field_4==162) && (a4.0.field_3.2.field_2.0.1.field_5==-1.3671875) && (a4.0.field_3.2.field_2.0.1.field_6==0.9921875)) && (a4.0.field_3.2.field_2.0.2==2717166618) && (a4.0.field_3.2.field_2.0.3==`E_2_2)) && ((a4.0.field_3.2.field_2.1.0==190) && ((a4.0.field_3.2.field_2.1.1.field_1==202281623093248) && (a4.0.field_3.2.field_2.1.1.field_2==24) && (a4.0.field_3.2.field_2.1.1.field_3==2205245826) && (a4.0.field_3.2.field_2.1.1.field_4==163) && (a4.0.field_3.2.field_2.1.1.field_5==-0.375) && (a4.0.field_3.2.field_2.1.1.field_6==-1.1875)) && (a4.0.field_3.2.field_2.1.2==2520606304) && (a4.0.field_3.2.field_2.1.3==`E_2_5))) && (a4.0.field_3.2.field_3==81504045891584) && (a4.0.field_3.2.field_4==0.640625) && (a4.0.field_3.2.field_5==215)) && ((a4.0.field_3.3.0==223) && (a4.0.field_3.3.1==-0.78125))) && ((a4.0.field_4.0==1663866964) && ((a4.0.field_4.1.field_1==137293949304832) && (a4.0.field_4.1.field_2==0.4765625) && (a4.0.field_4.1.field_3==3008888856) && (a4.0.field_4.1.field_4==3504606106) && (a4.0.field_4.1.field_5==271175374602240)) && (a4.0.field_4.2==3418972692) && (a4.0.field_4.3==378265792)) && ((a4.0.field_5.0==1683646014) && (a4.0.field_5.1==2279286742) && (a4.0.field_5.2==1017297018))) && (a4.1==2.19921875) && ((a4.2.field_1==-2.6015625) && (a4.2.field_2==0.484375)))
+        goto bad
+    ;;
+
+    if !(a5==`E_82_5)
+        goto bad
+    ;;
+
+    if !(a6==2225998788)
+        goto bad
+    ;;
+
+    -> [.field_1=`E_64_2,.field_2=[.field_1=-1.3828125,.field_2=61112946,.field_3=190,.field_4=32961124368384,.field_5=1304765990,.field_6=126354513723392],.field_3=((`E_56_7,766433818,[.field_1=`E_26_8,.field_2=88,.field_3=(187522956001280,`E_41_2,197628948,[.field_1=135725845053440,.field_2=(57,1.078125),.field_3=160515871997952,.field_4=(0.359375,104917964292096,[.field_1=[.field_1=206,.field_2=-0.80078125,.field_3=138,.field_4=103853490044928,.field_5=`E_2_5,.field_6=1457574106],.field_2=(-2.7734375,269868276908032,241406633312256),.field_3=(-1.515625,`E_2_4)],[.field_1=(64443498,-0.5,0.4375,(0.8125,`E_2_3)),.field_2=241])]),.field_4=[.field_1=-0.921875,.field_2=[.field_1=(-0.265625,`E_2_1),.field_2=255656365260800,.field_3=(0.8125,`E_2_5),.field_4=-1.03125,.field_5=226905594134528,.field_6=(-1.796875,110809697746944,182448222502912)],.field_3=(2.66015625,-1.53125,5891210215424),.field_4=1.15234375,.field_5=`E_11_3,.field_6=0.47265625],.field_5=69698034,.field_6=-0.90625],(`E_19_8,[.field_1=-2.6484375,.field_2=[.field_1=`E_18_2,.field_2=3254220376,.field_3=-1.015625,.field_4=`E_19_7,.field_5=(2.1328125,0.1328125,[.field_1=-0.203125,.field_2=[.field_1=(0.09375,`E_2_6),.field_2=106879791398912,.field_3=(0.75,`E_2_3),.field_4=0.0,.field_5=182488977768448,.field_6=(-2.75,81305866600448,230134322036736)],.field_3=(3.55078125,0.1875,59469043073024),.field_4=0.80078125,.field_5=`E_11_3,.field_6=-2.1796875]),.field_6=((0.96484375,12986746798080,177073504780288),-0.984375,[.field_1=267860066,.field_2=((215,[.field_1=23720503803904,.field_2=57,.field_3=65633880,.field_4=215,.field_5=-0.7734375,.field_6=2.4453125],2639863120,`E_2_6),(63,[.field_1=41253608357888,.field_2=228,.field_3=2702252196,.field_4=226,.field_5=-1.72265625,.field_6=-2.890625],2297595192,`E_2_3)),.field_3=117994529226752,.field_4=-0.46875,.field_5=97],(250,0.203125))],.field_3=277277376118785,.field_4=-0.96484375],0.890625,0.84765625)),[.field_1=-0.234375,.field_2=[.field_1=-0.671875,.field_2=([.field_1=2.2890625,.field_2=[.field_1=`E_18_5,.field_2=1104171190,.field_3=1.1875,.field_4=`E_19_6,.field_5=(-1.77734375,1.7109375,[.field_1=-1.21875,.field_2=[.field_1=(-1.296875,`E_2_3),.field_2=7804846080000,.field_3=(-0.515625,`E_2_3),.field_4=1.3125,.field_5=271269411815424,.field_6=(-1.0390625,55968624803840,26483097731072)],.field_3=(3.140625,0.390625,144477626957824),.field_4=-1.91796875,.field_5=`E_11_1,.field_6=-0.0703125]),.field_6=((2.48828125,279887108243457,244326716669952),0.328125,[.field_1=2589946058,.field_2=((74,[.field_1=4995850829824,.field_2=101,.field_3=3334065356,.field_4=70,.field_5=-1.7734375,.field_6=-0.1171875],2350206898,`E_2_6),(152,[.field_1=177982762647552,.field_2=83,.field_3=2674374442,.field_4=247,.field_5=2.39453125,.field_6=0.328125],3997067408,`E_2_2)),.field_3=208487505199104,.field_4=-1.5,.field_5=19],(94,0.125))],.field_3=92775544913920,.field_4=-0.96484375],-3.6796875,41625584271360),.field_3=1594096200,.field_4=1.25],.field_3=[.field_1=1.96484375],.field_4=3.70703125,.field_5=[.field_1=-0.984375],.field_6=([.field_1=216482604515328,.field_2=(94,1.453125),.field_3=12366441873408,.field_4=(0.453125,126556415852544,[.field_1=[.field_1=151,.field_2=1.05859375,.field_3=11,.field_4=62897387208704,.field_5=`E_2_6,.field_6=2865786744],.field_2=(-2.421875,216082708430848,58856103739392),.field_3=(-1.1875,`E_2_6)],[.field_1=(4079339738,-1.109375,-1.515625,(-0.578125,`E_2_5)),.field_2=88])],0.609375,200682606166016,126)]),.field_4=(([.field_1=18371726016512,.field_2=(156,-0.796875),.field_3=11102142726144,.field_4=(0.9375,3949612367872,[.field_1=[.field_1=104,.field_2=2.0546875,.field_3=14,.field_4=14837206614016,.field_5=`E_2_2,.field_6=2787867058],.field_2=(1.46875,72374060974080,245603042721792),.field_3=(0.46875,`E_2_6)],[.field_1=(270200364,-0.265625,-1.15625,(-1.0,`E_2_3)),.field_2=21])],-0.53125,105323182686208,102),-3.8046875),.field_5=(0.6875,26654515134464,[.field_1=[.field_1=185,.field_2=-2.23828125,.field_3=40,.field_4=94730623254528,.field_5=`E_2_3,.field_6=856451172],.field_2=(-2.8515625,132974633549824,171401795600384),.
\ No newline at end of file
+
+:bad
+    -> [.field_1=`E_64_9,.field_2=[.field_1=-1.625,.field_2=493732968,.field_3=106,.field_4=119753663578112,.field_5=1283596086,.field_6=217997951107072],.field_3=((`E_56_4,2699322070,[.field_1=`E_26_2,.field_2=232,.field_3=(180662919102464,`E_41_6,17131048,[.field_1=103630696611840,.field_2=(20,-1.0625),.field_3=198361319997440,.field_4=(0.125,102277325520896,[.field_1=[.field_1=214,.field_2=-3.80859375,.field_3=248,.field_4=207630602338304,.field_5=`E_2_4,.field_6=2722826334],.field_2=(2.72265625,203418755792896,276891418099712),.field_3=(-0.890625,`E_2_5)],[.field_1=(4221742598,0.03125,1.21875,(-0.3125,`E_2_6)),.field_2=48])]),.field_4=[.field_1=-1.03125,.field_2=[.field_1=(-0.1875,`E_2_5),.field_2=90774124494848,.field_3=(-0.46875,`E_2_3),.field_4=-0.96875,.field_5=99977078505472,.field_6=(2.5546875,76855133863936,146126020149248)],.field_3=(0.25,0.984375,248403345670144),.field_4=-1.00390625,.field_5=`E_11_5,.field_6=2.7734375],.field_5=468749822,.field_6=-0.40625],(`E_19_4,[.field_1=3.57421875,.field_2=[.field_1=`E_18_1,.field_2=2029298424,.field_3=-1.03125,.field_4=`E_19_7,.field_5=(-0.34765625,1.4140625,[.field_1=0.8125,.field_2=[.field_1=(1.109375,`E_2_4),.field_2=266026004119552,.field_3=(-1.484375,`E_2_1),.field_4=0.828125,.field_5=98825356050432,.field_6=(-0.7265625,62214033113088,152598466789376)],.field_3=(2.05078125,-1.421875,229453600653312),.field_4=-1.70703125,.field_5=`E_11_4,.field_6=1.00390625]),.field_6=((-2.625,267777080688640,128034704850944),-1.515625,[.field_1=259736516,.field_2=((211,[.field_1=142852680843264,.field_2=4,.field_3=3936173516,.field_4=250,.field_5=-2.41796875,.field_6=2.21484375],1870163782,`E_2_6),(138,[.field_1=81686317760512,.field_2=124,.field_3=2083117010,.field_4=81,.field_5=0.32421875,.field_6=-1.9765625],2877241598,`E_2_6)),.field_3=131784260321280,.field_4=-0.90625,.field_5=181],(132,-1.484375))],.field_3=279307994923009,.field_4=-3.15625],0.484375,-2.6875)),[.field_1=-1.421875,.field_2=[.field_1=-3.04296875,.field_2=([.field_1=-2.5390625,.field_2=[.field_1=`E_18_1,.field_2=4015984290,.field_3=0.578125,.field_4=`E_19_2,.field_5=(2.74609375,1.26953125,[.field_1=-0.578125,.field_2=[.field_1=(0.421875,`E_2_1),.field_2=52941939802112,.field_3=(-1.015625,`E_2_3),.field_4=0.546875,.field_5=185704319811584,.field_6=(1.6171875,60560770203648,255274547019776)],.field_3=(-0.9609375,-1.0625,105583830630400),.field_4=0.6953125,.field_5=`E_11_6,.field_6=3.05859375]),.field_6=((0.90625,244012407324672,277955523772417),-0.71875,[.field_1=99410342,.field_2=((8,[.field_1=107724715327488,.field_2=50,.field_3=613651762,.field_4=81,.field_5=2.9765625,.field_6=-1.80859375],726988920,`E_2_4),(149,[.field_1=226335956926464,.field_2=164,.field_3=3320618414,.field_4=250,.field_5=-3.6796875,.field_6=-0.4140625],2742774408,`E_2_5)),.field_3=186327866408960,.field_4=0.140625,.field_5=28],(211,1.328125))],.field_3=197574553108480,.field_4=1.56640625],2.4375,89527896899584),.field_3=2436176174,.field_4=0.9375],.field_3=[.field_1=0.703125],.field_4=0.70703125,.field_5=[.field_1=1.046875],.field_6=([.field_1=273811777912832,.field_2=(201,1.5),.field_3=81778086379520,.field_4=(0.53125,69212746940416,[.field_1=[.field_1=117,.field_2=-2.25,.field_3=212,.field_4=74283012456448,.field_5=`E_2_6,.field_6=2594542348],.field_2=(-2.01171875,248411503984640,14328046682112),.field_3=(1.203125,`E_2_4)],[.field_1=(3061766252,-0.234375,0.734375,(0.125,`E_2_3)),.field_2=111])],-0.8125,44898282504192,192)]),.field_4=(([.field_1=226898411388928,.field_2=(245,-0.5),.field_3=111595632590848,.field_4=(0.921875,88533462941696,[.field_1=[.field_1=47,.field_2=2.1171875,.field_3=154,.field_4=240405809463296,.field_5=`E_2_1,.field_6=278604200],.field_2=(-3.390625,238588698165248,92541617307648),.field_3=(1.3125,`E_2_3)],[.field_1=(2454693200,0.953125,0.015625,(-0.140625,`E_2_3)),.field_2=55])],1.1875,42958779449344,193),-2.1328125),.field_5=(0.265625,279496136720385,[.field_1=[.field_1=99,.field_2=-1.265625,.field_3=204,.field_4=97330511872000,.field_5=`E_2_5,.field_6=839847220],.field_2=(-2.8203125,279855182249985,107102583652
\ No newline at end of file
+}
+
+const fn_19_myr = { a1 : uint64, a2 : uint8
+    if !(a1==158887773995008)
+        goto bad
+    ;;
+
+    if !(a2==186)
+        goto bad
+    ;;
+
+    -> 113
+
+:bad
+    -> 241
+}
+
+const fn_20_myr = { a1 : (uint8,uint32,uint8), a2 : t54, a3 : (flt32,t21,t101,flt64), a4 : t30, a5 : flt32, a6 : t100, a7 : t82, a8 : (uint32,uint32,uint32), a9 : t19
+    if !((a1.0==31) && (a1.1==784492568) && (a1.2==176))
+        goto bad
+    ;;
+
+    if !((a2.field_1==-0.03125) && (a2.field_2==`E_2_6) && (a2.field_3==`E_43_2))
+        goto bad
+    ;;
+
+    if !((a3.0==-0.953125) && ((a3.1.field_1==`E_18_1) && (a3.1.field_2==3892333532) && (a3.1.field_3==0.921875) && (a3.1.field_4==`E_19_3) && ((a3.1.field_5.0==2.6015625) && (a3.1.field_5.1==-0.328125) && ((a3.1.field_5.2.field_1==0.3125) && (((a3.1.field_5.2.field_2.field_1.0==0.34375) && (a3.1.field_5.2.field_2.field_1.1==`E_2_3)) && (a3.1.field_5.2.field_2.field_2==231543623516160) && ((a3.1.field_5.2.field_2.field_3.0==1.046875) && (a3.1.field_5.2.field_2.field_3.1==`E_2_1)) && (a3.1.field_5.2.field_2.field_4==1.078125) && (a3.1.field_5.2.field_2.field_5==158249674997760) && ((a3.1.field_5.2.field_2.field_6.0==-3.65234375) && (a3.1.field_5.2.field_2.field_6.1==81418480910336) && (a3.1.field_5.2.field_2.field_6.2==142554027130880))) && ((a3.1.field_5.2.field_3.0==3.359375) && (a3.1.field_5.2.field_3.1==1.21875) && (a3.1.field_5.2.field_3.2==57638369755136)) && (a3.1.field_5.2.field_4==-3.484375) && (a3.1.field_5.2.field_5==`E_11_1) && (a3.1.field_5.2.field_6==3.09765625))) && (((a3.1.field_6.0.0==0.51171875) && (a3.1.field_6.0.1==165765595136000) && (a3.1.field_6.0.2==108768946552832)) && (a3.1.field_6.1==-0.25) && ((a3.1.field_6.2.field_1==3389738472) && (((a3.1.field_6.2.field_2.0.0==18) && ((a3.1.field_6.2.field_2.0.1.field_1==117849701351424) && (a3.1.field_6.2.field_2.0.1.field_2==251) && (a3.1.field_6.2.field_2.0.1.field_3==595888978) && (a3.1.field_6.2.field_2.0.1.field_4==83) && (a3.1.field_6.2.field_2.0.1.field_5==2.171875) && (a3.1.field_6.2.field_2.0.1.field_6==-0.47265625)) && (a3.1.field_6.2.field_2.0.2==678334346) && (a3.1.field_6.2.field_2.0.3==`E_2_2)) && ((a3.1.field_6.2.field_2.1.0==10) && ((a3.1.field_6.2.field_2.1.1.field_1==215416273371136) && (a3.1.field_6.2.field_2.1.1.field_2==175) && (a3.1.field_6.2.field_2.1.1.field_3==3712234320) && (a3.1.field_6.2.field_2.1.1.field_4==153) && (a3.1.field_6.2.field_2.1.1.field_5==1.58203125) && (a3.1.field_6.2.field_2.1.1.field_6==1.640625)) && (a3.1.field_6.2.field_2.1.2==691527554) && (a3.1.field_6.2.field_2.1.3==`E_2_5))) && (a3.1.field_6.2.field_3==281208706433025) && (a3.1.field_6.2.field_4==0.53125) && (a3.1.field_6.2.field_5==170)) && ((a3.1.field_6.3.0==226) && (a3.1.field_6.3.1==1.171875)))) && ((a3.2.field_1==0.6875)) && (a3.3==3.54296875))
+        goto bad
+    ;;
+
+    if !((a4.field_1==0.328125) && ((a4.field_2.field_1==`E_18_2) && (a4.field_2.field_2==3038599074) && (a4.field_2.field_3==-0.53125) && (a4.field_2.field_4==`E_19_2) && ((a4.field_2.field_5.0==-2.921875) && (a4.field_2.field_5.1==-1.4453125) && ((a4.field_2.field_5.2.field_1==-0.421875) && (((a4.field_2.field_5.2.field_2.field_1.0==-0.15625) && (a4.field_2.field_5.2.field_2.field_1.1==`E_2_1)) && (a4.field_2.field_5.2.field_2.field_2==226740145750016) && ((a4.field_2.field_5.2.field_2.field_3.0==0.34375) && (a4.field_2.field_5.2.field_2.field_3.1==`E_2_2)) && (a4.field_2.field_5.2.field_2.field_4==1.09375) && (a4.field_2.field_5.2.field_2.field_5==105371665039360) && ((a4.field_2.field_5.2.field_2.field_6.0==-3.7890625) && (a4.field_2.field_5.2.field_2.field_6.1==200291522183168) && (a4.field_2.field_5.2.field_2.field_6.2==273916916662272))) && ((a4.field_2.field_5.2.field_3.0==1.69921875) && (a4.field_2.field_5.2.field_3.1==-0.25) && (a4.field_2.field_5.2.field_3.2==37761889730560)) && (a4.field_2.field_5.2.field_4==-0.37109375) && (a4.field_2.field_5.2.field_5==`E_11_3) && (a4.field_2.field_5.2.field_6==2.359375))) && (((a4.field_2.field_6.0.0==-2.98828125) && (a4.field_2.field_6.0.1==85889758134272) && (a4.field_2.field_6.0.2==189673236725760)) && (a4.field_2.field_6.1==1.0625) && ((a4.field_2.field_6.2.field_1==1108811158) && (((a4.field_2.field_6.2.field_2.0.0==113) && ((a4.field_2.field_6.2.field_2.0.1.field_1==34340434870272) && (a4.field_2.field_6.2.field_2.0.1.field_2==204) && (a4.field_2.field_6.2.field_2.0.1.field_3==2563547796) && (a4.field_2.field_6.2.field_2.0.1.field_4==212) && (a4.field_2.field_6.2.field_2.0.1.field_5==-2.8828125) && (a4.field_2.field_6.2.field_2.0.1.field_6==2.53125)) && (a4.field_2.field_6.2.field_2.0.2==4104468038) && (a4.field_2.field_6.2.field_2.0.3==`E_2_3)) && ((a4.field_2.field_6.2.field_2.1.0==48) && ((a4.field_2.field_6.2.field_2.1.1.field_1==114490489438208) && (a4.field_2.field_6.2.field_2.1.1.field_2==137) && (a4.field_2.field_6.2.field_2.1.1.field_3==4274611490) && (a4.field_2.field_6.2.field_2.1.1.field_4==4) && (a4.field_2.field_6.2.field_2.1.1.field_5==2.87109375) && (a4.field_2.field_6.2.field_2.1.1.field_6==2.67578125)) && (a4.field_2.field_6.2.field_2.1.2==1675682774) && (a4.field_2.field_6.2.field_2.1.3==`E_2_6))) && (a4.field_2.field_6.2.field_3==155964017999872) && (a4.field_2.field_6.2.field_4==-0.421875) && (a4.field_2.field_6.2.field_5==153)) && ((a4.field_2.field_6.3.0==249) && (a4.field_2.field_6.3.1==-0.015625)))) && (a4.field_3==14699609849856) && (a4.field_4==-0.8125))
+        goto bad
+    ;;
+
+    if !(a5==-1.03125)
+        goto bad
+    ;;
+
+    if !(((((a6.field_1.field_1.0.field_1==-1.546875) && ((a6.field_1.field_1.0.field_2.field_1==3.58984375) && (((a6.field_1.field_1.0.field_2.field_2.0.field_1==-0.6640625) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_1==`E_18_2) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_2==3261231628) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_3==-1.53125) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_4==`E_19_8) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.0==3.0546875) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.1==2.625) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_1==1.296875) && (((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_1.0==-0.515625) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_1.1==`E_2_1)) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_2==90256515661824) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_3.0==1.1875) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_3.1==`E_2_1)) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_4==-0.515625) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_5==209147190050816) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.0==2.83984375) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.1==204519943045120) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_2.field_6.2==176046915452928))) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_3.0==-0.64453125) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_3.1==-1.28125) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_3.2==63390518214656)) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_4==-0.8359375) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_5==`E_11_4) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_5.2.field_6==-1.73828125))) && (((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.0.0==2.2578125) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.0.1==249508094672896) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.0.2==125875889766400)) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.1==-0.03125) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_1==3690927442) && (((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.0==116) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_1==126408480784384) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_2==70) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_3==2502906064) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_4==53) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_5==-1.66796875) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_6==0.3203125)) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.2==425223464) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.0.3==`E_2_1)) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.0==116) && ((a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_1==122683318730752) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_2==37) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_3==3331048268) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_4==79) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_5==-2.58984375) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_6==-3.03125)) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_2.1.2==234747400) && (a6.field_1.field_1.0.field_2.field_2.0.field_2.field_6.2.field_
\ No newline at end of file
+        goto bad
+    ;;
+
+    if !(a7==`E_82_5)
+        goto bad
+    ;;
+
+    if !((a8.0==588421914) && (a8.1==2163719396) && (a8.2==664040668))
+        goto bad
+    ;;
+
+    if !(a9==`E_19_4)
+        goto bad
+    ;;
+
+    -> 139
+
+:bad
+    -> 48
+}
+
--- /dev/null
+++ b/test/abi/006_main.myr
@@ -1,0 +1,339 @@
+/* seed = 1591565643 */
+use std
+use "006_types"
+use "006_in-myr"
+use "006_in-c"
+
+const main = {
+    /* myr calling myr */
+    var a_1_1 : uint32 = 3331313618
+    var a_1_2 : (uint8,t1,uint32,t2) = (163,[.field_1=112669747445760,.field_2=68,.field_3=2961163238,.field_4=144,.field_5=3.1171875,.field_6=-0.77734375],2638767956,`E_2_3)
+    var a_1_3 : t2 = `E_2_1
+    var a_1_4 : flt32 = 0.875
+    var a_1_5 : uint8 = 63
+    var ret_1 : t7 = fn_1_myr(a_1_1, a_1_2, a_1_3, a_1_4, a_1_5)
+    if !(((ret_1.field_1.field_1==156) && (ret_1.field_1.field_2==2.83203125) && (ret_1.field_1.field_3==67) && (ret_1.field_1.field_4==143760266887168) && (ret_1.field_1.field_5==`E_2_6) && (ret_1.field_1.field_6==2927029180)) && ((ret_1.field_2.0==-2.55078125) && (ret_1.field_2.1==159665344872448) && (ret_1.field_2.2==199843724394496)) && ((ret_1.field_3.0==-0.625) && (ret_1.field_3.1==`E_2_6)))
+        std.put("myr_to_myr 1 failed\n")
+        std.exit(1)
+    ;;
+    var a_2_1 : t7 = [.field_1=[.field_1=195,.field_2=-2.625,.field_3=107,.field_4=250193960632320,.field_5=`E_2_1,.field_6=3277066896],.field_2=(0.01171875,271113481355264,7202154348544),.field_3=(-1.53125,`E_2_6)]
+    var a_2_2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)) = ((75,[.field_1=149688830001152,.field_2=166,.field_3=4203656652,.field_4=184,.field_5=1.6796875,.field_6=-2.66015625],2647535284,`E_2_3),(60,[.field_1=234959706259456,.field_2=30,.field_3=3070502934,.field_4=195,.field_5=2.9921875,.field_6=2.96484375],803402210,`E_2_5))
+    var a_2_3 : t12 = [.field_1=0.203125,.field_2=[.field_1=(-0.140625,`E_2_2),.field_2=151793905303552,.field_3=(0.75,`E_2_1),.field_4=-0.875,.field_5=59595538169856,.field_6=(-0.51171875,90586118225920,47799910137856)],.field_3=(-3.4140625,0.671875,185693112107008),.field_4=-1.23828125,.field_5=`E_11_1,.field_6=2.890625]
+    var a_2_4 : flt64 = 0.94921875
+    var a_2_5 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)) = ((2.03515625,29216526696448,236353793556480),1.09375,[.field_1=4181791332,.field_2=((44,[.field_1=132595126632448,.field_2=171,.field_3=3948447728,.field_4=220,.field_5=-3.69140625,.field_6=-2.40625],3172323970,`E_2_5),(224,[.field_1=275519312887808,.field_2=53,.field_3=3186715686,.field_4=144,.field_5=-2.5703125,.field_6=-3.41015625],1867717394,`E_2_5)),.field_3=35551921045504,.field_4=-0.203125,.field_5=101],(102,1.15625))
+    var a_2_6 : t13 = [.field_1=1580005156,.field_2=((51,[.field_1=266965320073216,.field_2=53,.field_3=212878900,.field_4=236,.field_5=-0.921875,.field_6=0.16015625],2543329268,`E_2_2),(98,[.field_1=174501380489216,.field_2=126,.field_3=522689612,.field_4=110,.field_5=-1.0234375,.field_6=-3.12109375],2756676114,`E_2_1)),.field_3=186819725099008,.field_4=0.984375,.field_5=44]
+    var a_2_7 : uint32 = 2083878374
+    var ret_2 : flt32 = fn_2_myr(a_2_1, a_2_2, a_2_3, a_2_4, a_2_5, a_2_6, a_2_7)
+    if !(ret_2==0.109375)
+        std.put("myr_to_myr 2 failed\n")
+        std.exit(1)
+    ;;
+    var a_3_1 : (flt64,uint64,uint64) = (0.36328125,217080895242240,146180381081600)
+    var a_3_2 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)) = ((0.5390625,117399373217792,101569454014464),-1.296875,[.field_1=39734246,.field_2=((169,[.field_1=133031533740032,.field_2=161,.field_3=668802928,.field_4=152,.field_5=-3.4296875,.field_6=0.1953125],2984403120,`E_2_5),(162,[.field_1=100930591260672,.field_2=132,.field_3=3484222870,.field_4=117,.field_5=-3.8984375,.field_6=-3.02734375],4255148568,`E_2_6)),.field_3=229240590827520,.field_4=-0.328125,.field_5=51],(92,-1.046875))
+    var a_3_3 : (uint32,flt32,flt32,(flt32,t2)) = (1212401592,-1.046875,1.109375,(1.296875,`E_2_2))
+    var a_3_4 : (uint32,flt32,flt32,(flt32,t2)) = (3641606114,-1.125,0.546875,(-0.046875,`E_2_3))
+    var a_3_5 : uint64 = 83130758201344
+    var a_3_6 : t17 = [.field_1=(954818626,-0.5,-0.703125,(0.265625,`E_2_4)),.field_2=254]
+    var a_3_7 : t12 = [.field_1=-0.671875,.field_2=[.field_1=(0.671875,`E_2_1),.field_2=186559912869888,.field_3=(1.546875,`E_2_2),.field_4=0.046875,.field_5=255023204139008,.field_6=(1.13671875,270028714934272,247333204000768)],.field_3=(-0.0546875,-1.25,156053374763008),.field_4=3.73046875,.field_5=`E_11_4,.field_6=1.92578125]
+    var ret_3 : flt32 = fn_3_myr(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6, a_3_7)
+    if !(ret_3==0.171875)
+        std.put("myr_to_myr 3 failed\n")
+        std.exit(1)
+    ;;
+    var a_4_1 : t1 = [.field_1=254108937224192,.field_2=215,.field_3=1243252406,.field_4=124,.field_5=-1.1875,.field_6=-1.68359375]
+    var a_4_2 : t21 = [.field_1=`E_18_8,.field_2=4113752024,.field_3=0.5,.field_4=`E_19_5,.field_5=(-0.3203125,1.33984375,[.field_1=-0.171875,.field_2=[.field_1=(-0.625,`E_2_6),.field_2=262778588495872,.field_3=(0.46875,`E_2_2),.field_4=1.125,.field_5=182381629145088,.field_6=(2.4609375,139713139179520,225645534511104)],.field_3=(-3.54296875,-1.171875,78173635870720),.field_4=2.28515625,.field_5=`E_11_4,.field_6=-0.7890625]),.field_6=((-0.01953125,23439019999232,3807452332032),-0.625,[.field_1=233931326,.field_2=((154,[.field_1=198616597528576,.field_2=197,.field_3=2016579036,.field_4=169,.field_5=-0.5546875,.field_6=-3.796875],526208716,`E_2_1),(118,[.field_1=119263763103744,.field_2=15,.field_3=1698145536,.field_4=18,.field_5=-1.51171875,.field_6=-1.921875],3097128252,`E_2_1)),.field_3=211270742966272,.field_4=0.078125,.field_5=42],(225,0.9375))]
+    var a_4_3 : t23 = [.field_1=190020550524928,.field_2=(11,-1.0625),.field_3=210612318502912,.field_4=(-0.46875,116393468362752,[.field_1=[.field_1=120,.field_2=-0.21484375,.field_3=42,.field_4=279254693969921,.field_5=`E_2_4,.field_6=185092378],.field_2=(2.28515625,168886583296000,165671684931584),.field_3=(1.546875,`E_2_1)],[.field_1=(933489974,-0.921875,1.0,(1.265625,`E_2_1)),.field_2=72])]
+    var a_4_4 : flt64 = -1.47265625
+    var a_4_5 : (flt32,t2) = (0.359375,`E_2_4)
+    var a_4_6 : uint64 = 106223398289408
+    var a_4_7 : flt64 = -1.80078125
+    var ret_4 : t2 = fn_4_myr(a_4_1, a_4_2, a_4_3, a_4_4, a_4_5, a_4_6, a_4_7)
+    if !(ret_4==`E_2_4)
+        std.put("myr_to_myr 4 failed\n")
+        std.exit(1)
+    ;;
+    var a_5_1 : uint32 = 490829306
+    var a_5_2 : t24 = `E_24_2
+    var a_5_3 : flt64 = -1.296875
+    var a_5_4 : (t24,(flt32,t2)) = (`E_24_8,(0.1875,`E_2_3))
+    var a_5_5 : uint64 = 245616036151296
+    var a_5_6 : t28 = [.field_1=((2.08203125,35857928683520,93232914235392),-0.609375,[.field_1=1442943954,.field_2=((49,[.field_1=243496050229248,.field_2=211,.field_3=1781303846,.field_4=188,.field_5=1.796875,.field_6=2.92578125],961004516,`E_2_2),(142,[.field_1=24547072671744,.field_2=51,.field_3=2197818536,.field_4=124,.field_5=-2.42578125,.field_6=-3.234375],3597667158,`E_2_5)),.field_3=212450688237568,.field_4=-0.625,.field_5=212],(40,1.328125)),.field_2=`E_26_3,.field_3=[.field_1=((3.07421875,82227144294400,7948002787328),-1.5,[.field_1=2677308022,.field_2=((85,[.field_1=100333243203584,.field_2=209,.field_3=846728032,.field_4=47,.field_5=-2.0859375,.field_6=3.3984375],3924268624,`E_2_1),(40,[.field_1=58951057276928,.field_2=170,.field_3=1055614716,.field_4=104,.field_5=-2.51953125,.field_6=1.8203125],2570174796,`E_2_2)),.field_3=160655520563200,.field_4=-0.515625,.field_5=4],(223,-1.0625)),.field_2=-1.015625,.field_3=0.9375,.field_4=119362880667648,.field_5=-1.359375,.field_6=25145455280128]]
+    var ret_5 : (uint8,t1,uint32,t2) = fn_5_myr(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5, a_5_6)
+    if !((ret_5.0==182) && ((ret_5.1.field_1==220780978372608) && (ret_5.1.field_2==114) && (ret_5.1.field_3==2281314962) && (ret_5.1.field_4==251) && (ret_5.1.field_5==1.01171875) && (ret_5.1.field_6==2.06640625)) && (ret_5.2==3935630006) && (ret_5.3==`E_2_4))
+        std.put("myr_to_myr 5 failed\n")
+        std.exit(1)
+    ;;
+    var a_6_1 : t29 = `E_29_6
+    var a_6_2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2)) = ((44,[.field_1=82970538278912,.field_2=173,.field_3=1039620306,.field_4=98,.field_5=-2.87890625,.field_6=-1.3203125],415749068,`E_2_6),(198,[.field_1=176754788270080,.field_2=229,.field_3=1745396264,.field_4=100,.field_5=2.453125,.field_6=3.51171875],1134845604,`E_2_6))
+    var a_6_3 : (uint64,t30,t31,t32) = (45346413608960,[.field_1=1.5546875,.field_2=[.field_1=`E_18_1,.field_2=3388995392,.field_3=0.296875,.field_4=`E_19_4,.field_5=(-2.4921875,-0.69921875,[.field_1=-0.390625,.field_2=[.field_1=(-0.171875,`E_2_2),.field_2=21150251483136,.field_3=(-0.796875,`E_2_4),.field_4=1.375,.field_5=215200983941120,.field_6=(2.125,158112869384192,73351684030464)],.field_3=(1.25,-0.703125,212315222310912),.field_4=-3.5546875,.field_5=`E_11_2,.field_6=-0.61328125]),.field_6=((1.76171875,253745235361792,92984779997184),0.90625,[.field_1=2939679992,.field_2=((146,[.field_1=267681124188160,.field_2=98,.field_3=2525744200,.field_4=189,.field_5=3.75390625,.field_6=-3.81640625],3957579288,`E_2_3),(98,[.field_1=103318747742208,.field_2=176,.field_3=1976332274,.field_4=157,.field_5=-2.35546875,.field_6=-0.79296875],1628294370,`E_2_6)),.field_3=270327169941504,.field_4=0.4375,.field_5=161],(61,-0.328125))],.field_3=190305229078528,.field_4=-0.0859375],`E_31_8,[.field_1=1725236208])
+    var a_6_4 : (flt64,uint64,uint64) = (-2.41015625,21064454635520,201636834967552)
+    var a_6_5 : uint32 = 1968388378
+    var a_6_6 : flt32 = 1.203125
+    var a_6_7 : t11 = `E_11_5
+    var a_6_8 : (uint64,(flt32,t2),(uint32,flt32,uint64,uint32),t35) = (165571080617984,(0.671875,`E_2_6),(3138764072,-1.03125,50747094728704,2634664560),[.field_1=171685942525952,.field_2=2132603492])
+    var a_6_9 : (uint32,flt32,flt32,(flt32,t2)) = (849505522,0.28125,1.4375,(-0.4375,`E_2_3))
+    var a_6_10 : t37 = `E_37_6
+    var ret_6 : flt64 = fn_6_myr(a_6_1, a_6_2, a_6_3, a_6_4, a_6_5, a_6_6, a_6_7, a_6_8, a_6_9, a_6_10)
+    if !(ret_6==-0.47265625)
+        std.put("myr_to_myr 6 failed\n")
+        std.exit(1)
+    ;;
+    var a_7_1 : uint64 = 152633167446016
+    var a_7_2 : t38 = `E_38_5
+    var a_7_3 : uint8 = 21
+    var a_7_4 : ((t30,flt64,uint64),uint8,t1) = (([.field_1=3.7265625,.field_2=[.field_1=`E_18_8,.field_2=1660321984,.field_3=0.46875,.field_4=`E_19_6,.field_5=(3.328125,-3.79296875,[.field_1=-0.984375,.field_2=[.field_1=(-0.71875,`E_2_5),.field_2=107860547076096,.field_3=(0.984375,`E_2_3),.field_4=1.03125,.field_5=103537434427392,.field_6=(-0.41015625,257720167301120,23490682028032)],.field_3=(-3.0546875,0.671875,189976970788864),.field_4=0.015625,.field_5=`E_11_5,.field_6=-0.41796875]),.field_6=((0.0625,74574491418624,201256086929408),1.359375,[.field_1=1220073662,.field_2=((46,[.field_1=265659814641664,.field_2=66,.field_3=27449604,.field_4=84,.field_5=3.22265625,.field_6=1.9609375],1100098150,`E_2_6),(239,[.field_1=147943258062848,.field_2=159,.field_3=1367706340,.field_4=86,.field_5=3.89453125,.field_6=-2.74609375],3028657672,`E_2_3)),.field_3=18076800647168,.field_4=0.90625,.field_5=142],(199,-0.109375))],.field_3=15997300899840,.field_4=-0.2890625],3.20703125,158990308868096),186,[.field_1=175995273347072,.field_2=127,.field_3=52543290,.field_4=206,.field_5=-0.46875,.field_6=-1.7734375])
+    var a_7_5 : (uint64,t41,uint32,t23) = (207514518814720,`E_41_5,3821234462,[.field_1=206987958681600,.field_2=(247,0.296875),.field_3=50935557783552,.field_4=(-1.46875,107941368692736,[.field_1=[.field_1=188,.field_2=2.4140625,.field_3=216,.field_4=223121033003008,.field_5=`E_2_2,.field_6=3252553412],.field_2=(-1.11328125,48622469120,107679637045248),.field_3=(1.109375,`E_2_1)],[.field_1=(811385302,-0.640625,-0.671875,(-1.5625,`E_2_1)),.field_2=120])])
+    var a_7_6 : t43 = `E_43_4
+    var a_7_7 : uint8 = 164
+    var ret_7 : flt64 = fn_7_myr(a_7_1, a_7_2, a_7_3, a_7_4, a_7_5, a_7_6, a_7_7)
+    if !(ret_7==2.984375)
+        std.put("myr_to_myr 7 failed\n")
+        std.exit(1)
+    ;;
+    var ret_8 : t44 = fn_8_myr()
+    if !((ret_8.field_1==1.1875))
+        std.put("myr_to_myr 8 failed\n")
+        std.exit(1)
+    ;;
+    var a_9_1 : t45 = `E_45_6
+    var a_9_2 : t46 = [.field_1=4118535730]
+    var a_9_3 : t45 = `E_45_7
+    var a_9_4 : t47 = `E_47_2
+    var a_9_5 : t48 = `E_48_6
+    var a_9_6 : flt32 = -0.21875
+    var a_9_7 : flt64 = -1.4140625
+    var a_9_8 : uint8 = 162
+    var a_9_9 : uint64 = 170573566967808
+    var a_9_10 : t49 = `E_49_5
+    var ret_9 : t53 = fn_9_myr(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10)
+    if !((ret_9.field_1==-0.46875) && ((ret_9.field_2.field_1==-0.28125) && (((ret_9.field_2.field_2.0.field_1==3.50390625) && ((ret_9.field_2.field_2.0.field_2.field_1==`E_18_9) && (ret_9.field_2.field_2.0.field_2.field_2==298590436) && (ret_9.field_2.field_2.0.field_2.field_3==0.359375) && (ret_9.field_2.field_2.0.field_2.field_4==`E_19_5) && ((ret_9.field_2.field_2.0.field_2.field_5.0==2.28125) && (ret_9.field_2.field_2.0.field_2.field_5.1==-0.7421875) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_1==-1.359375) && (((ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_1.0==-1.53125) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_1.1==`E_2_2)) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_2==159748598530048) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_3.0==1.328125) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_3.1==`E_2_2)) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_4==-0.546875) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_5==146401660239872) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_6.0==0.6875) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_6.1==228983429529600) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_6.2==105127852507136))) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_3.0==-0.84375) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_3.1==0.359375) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_3.2==153705986129920)) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_4==-1.80859375) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_5==`E_11_1) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_6==3.28125))) && (((ret_9.field_2.field_2.0.field_2.field_6.0.0==1.96484375) && (ret_9.field_2.field_2.0.field_2.field_6.0.1==46322522914816) && (ret_9.field_2.field_2.0.field_2.field_6.0.2==96194539421696)) && (ret_9.field_2.field_2.0.field_2.field_6.1==1.46875) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_1==912869840) && (((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.0==176) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_1==121643541069824) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_2==41) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_3==2802989848) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_4==128) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_5==2.15625) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_6==-2.44921875)) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.2==1259853458) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.3==`E_2_2)) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.0==64) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_1==86146197356544) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_2==90) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_3==3519983450) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_4==58) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_5==0.50390625) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_6==-2.765625)) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.2==3211917080) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.3==`E_2_1))) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_3==270136525455360) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_4==-1.1875) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_5==139)) && ((ret_9.field_2.field_2.0.field_2.field_6.3.0==146) && (ret_9.field_2.field_2.0.field_2.field_6.3.1==0.53125)))) && (ret_9.field_2.field_2.0.field_3==228868406378496) && (ret_9.field_2.field_2.0.field_4==0.90234375)) && (ret_9.field_2.field_2.1==0.6796875) && (ret_9.field_2.field_2.2==158843979956224)) && (ret_9.field_2.field_3==3350000678) && (ret_9.field_2.field_4==1.34375)) && ((ret_9.field_3.field_1==0.25390625)) && (ret_9.field_4==3.8515625) && ((ret_9.field_5.field_1==0.375)) && (((ret_9.field_6.0.field_1==27158636619366
\ No newline at end of file
+        std.put("myr_to_myr 9 failed\n")
+        std.exit(1)
+    ;;
+    var a_10_1 : flt32 = -1.4375
+    var a_10_2 : (t30,uint64,t54,flt32) = ([.field_1=3.2734375,.field_2=[.field_1=`E_18_8,.field_2=298655464,.field_3=-1.21875,.field_4=`E_19_6,.field_5=(-2.87109375,3.77734375,[.field_1=0.15625,.field_2=[.field_1=(1.03125,`E_2_5),.field_2=4317979738112,.field_3=(-0.375,`E_2_1),.field_4=-0.625,.field_5=119942540689408,.field_6=(1.90234375,84070773030912,265295537897472)],.field_3=(-1.5078125,-0.046875,247680725286912),.field_4=2.1484375,.field_5=`E_11_1,.field_6=-0.6015625]),.field_6=((-1.84765625,4068918427648,127361585905664),0.6875,[.field_1=4144444706,.field_2=((65,[.field_1=272708430856192,.field_2=226,.field_3=232384220,.field_4=9,.field_5=3.86328125,.field_6=1.4609375],735172550,`E_2_6),(61,[.field_1=558452178944,.field_2=178,.field_3=1092184810,.field_4=98,.field_5=1.76953125,.field_6=0.4453125],3483926918,`E_2_3)),.field_3=240867814670336,.field_4=0.796875,.field_5=198],(86,0.421875))],.field_3=155213721894912,.field_4=-0.5859375],15967994380288,[.field_1=0.984375,.field_2=`E_2_3,.field_3=`E_43_4],0.09375)
+    var a_10_3 : t43 = `E_43_4
+    var ret_10 : flt32 = fn_10_myr(a_10_1, a_10_2, a_10_3)
+    if !(ret_10==1.0)
+        std.put("myr_to_myr 10 failed\n")
+        std.exit(1)
+    ;;
+    var a_11_1 : ((t30,flt64,uint64),uint8,t1) = (([.field_1=-1.875,.field_2=[.field_1=`E_18_7,.field_2=3060119432,.field_3=1.4375,.field_4=`E_19_8,.field_5=(-3.14453125,1.421875,[.field_1=0.171875,.field_2=[.field_1=(1.28125,`E_2_1),.field_2=115694040645632,.field_3=(0.515625,`E_2_6),.field_4=0.78125,.field_5=83317925609472,.field_6=(-0.16015625,49194524213248,99285919989760)],.field_3=(-1.60546875,0.359375,242615500275712),.field_4=2.5546875,.field_5=`E_11_1,.field_6=0.984375]),.field_6=((-1.34375,86155678318592,125076719534080),1.15625,[.field_1=2526692668,.field_2=((243,[.field_1=162605589856256,.field_2=217,.field_3=2977687486,.field_4=74,.field_5=2.37109375,.field_6=1.49609375],1665217660,`E_2_3),(63,[.field_1=83432466808832,.field_2=163,.field_3=2825472336,.field_4=245,.field_5=0.5078125,.field_6=-0.71875],1094350794,`E_2_1)),.field_3=163990210084864,.field_4=0.34375,.field_5=86],(50,-0.09375))],.field_3=46874424901632,.field_4=-2.23046875],-3.16015625,139156190003200),133,[.field_1=151978903994368,.field_2=92,.field_3=469183736,.field_4=125,.field_5=3.43359375,.field_6=3.57421875])
+    var a_11_2 : uint64 = 64581458329600
+    var a_11_3 : (t56,uint32,t57,(t19,t30,flt32,flt64)) = (`E_56_6,2175957910,[.field_1=`E_26_6,.field_2=168,.field_3=(80343449468928,`E_41_3,458518304,[.field_1=132879007088640,.field_2=(141,0.3125),.field_3=67929798082560,.field_4=(-0.65625,121657342951424,[.field_1=[.field_1=53,.field_2=-0.0546875,.field_3=110,.field_4=109205112356864,.field_5=`E_2_5,.field_6=3971726706],.field_2=(-3.20703125,177956855611392,219483313799168),.field_3=(1.265625,`E_2_6)],[.field_1=(2465490790,0.53125,-0.078125,(0.3125,`E_2_2)),.field_2=219])]),.field_4=[.field_1=-0.828125,.field_2=[.field_1=(1.484375,`E_2_3),.field_2=223230053711872,.field_3=(0.421875,`E_2_4),.field_4=-0.875,.field_5=208129902903296,.field_6=(-2.94921875,217811484278784,95447919886336)],.field_3=(-1.0625,-1.375,217105262837760),.field_4=0.5546875,.field_5=`E_11_4,.field_6=-2.32421875],.field_5=4119368836,.field_6=-0.484375],(`E_19_2,[.field_1=-3.52734375,.field_2=[.field_1=`E_18_9,.field_2=3895962858,.field_3=1.40625,.field_4=`E_19_8,.field_5=(-0.1484375,0.92578125,[.field_1=-0.265625,.field_2=[.field_1=(-1.328125,`E_2_5),.field_2=76685686865920,.field_3=(-0.578125,`E_2_5),.field_4=0.4375,.field_5=31133991829504,.field_6=(-0.59765625,81066773446656,93021535076352)],.field_3=(-2.6328125,-0.28125,29358042644480),.field_4=0.015625,.field_5=`E_11_5,.field_6=-2.60546875]),.field_6=((-1.7734375,97291012014080,203235864870912),-0.078125,[.field_1=1308944570,.field_2=((17,[.field_1=169812367376384,.field_2=90,.field_3=214389768,.field_4=130,.field_5=-1.5390625,.field_6=3.83984375],4258613008,`E_2_6),(103,[.field_1=19826711592960,.field_2=188,.field_3=2910355046,.field_4=99,.field_5=0.2265625,.field_6=-1.4453125],2141412632,`E_2_6)),.field_3=169766818938880,.field_4=1.03125,.field_5=29],(3,1.359375))],.field_3=173832218083328,.field_4=2.25390625],-1.25,3.0546875))
+    var ret_11 : uint32 = fn_11_myr(a_11_1, a_11_2, a_11_3)
+    if !(ret_11==3531194568)
+        std.put("myr_to_myr 11 failed\n")
+        std.exit(1)
+    ;;
+    var a_12_1 : t63 = [.field_1=(1,-0.953125,28380691169280,[.field_1=266791176896512,.field_2=173,.field_3=841702660,.field_4=225,.field_5=-2.734375,.field_6=-2.24609375]),.field_2=[.field_1=-0.875,.field_2=(2975373622,1.46875,-0.828125,(0.390625,`E_2_2))],.field_3=0.515625,.field_4=[.field_1=`E_18_1,.field_2=[.field_1=[.field_1=124,.field_2=0.00390625,.field_3=79,.field_4=236261015289856,.field_5=`E_2_3,.field_6=2156655358],.field_2=(2.4140625,51905146388480,223439089434624),.field_3=(0.53125,`E_2_1)]],.field_5=255485003694080,.field_6=3.1015625]
+    var a_12_2 : flt64 = 3.234375
+    var a_12_3 : uint32 = 1992315490
+    var a_12_4 : t68 = [.field_1=`E_64_6,.field_2=[.field_1=-1.48828125,.field_2=1219436194,.field_3=50,.field_4=41975805771776,.field_5=2064448724,.field_6=122353563467776],.field_3=((`E_56_2,1046332580,[.field_1=`E_26_8,.field_2=209,.field_3=(142694099582976,`E_41_2,1010741440,[.field_1=61520011984896,.field_2=(110,-0.125),.field_3=32251070906368,.field_4=(-0.546875,100567390355456,[.field_1=[.field_1=16,.field_2=-2.8671875,.field_3=38,.field_4=106528154320896,.field_5=`E_2_6,.field_6=154283124],.field_2=(-2.69140625,121530523058176,195491981033472),.field_3=(0.296875,`E_2_5)],[.field_1=(1183512522,1.265625,-1.453125,(-0.09375,`E_2_1)),.field_2=132])]),.field_4=[.field_1=1.28125,.field_2=[.field_1=(-0.65625,`E_2_5),.field_2=177899132157952,.field_3=(-1.234375,`E_2_2),.field_4=1.4375,.field_5=97002546921472,.field_6=(-0.09375,109686219472896,226948153081856)],.field_3=(0.80078125,0.6875,46040566726656),.field_4=1.30859375,.field_5=`E_11_6,.field_6=-1.4609375],.field_5=197005372,.field_6=0.640625],(`E_19_3,[.field_1=-2.33203125,.field_2=[.field_1=`E_18_2,.field_2=187071608,.field_3=0.921875,.field_4=`E_19_8,.field_5=(-1.4140625,1.54296875,[.field_1=1.34375,.field_2=[.field_1=(0.90625,`E_2_5),.field_2=125311720620032,.field_3=(0.625,`E_2_1),.field_4=-0.921875,.field_5=92709840093184,.field_6=(-2.73828125,134199459708928,81184594198528)],.field_3=(-0.046875,1.453125,190870813671424),.field_4=-1.55859375,.field_5=`E_11_4,.field_6=-0.8125]),.field_6=((-0.28125,65980206415872,69437640933376),0.875,[.field_1=1203783426,.field_2=((243,[.field_1=35503180218368,.field_2=123,.field_3=359364016,.field_4=43,.field_5=-1.74609375,.field_6=3.69140625],2099391278,`E_2_6),(230,[.field_1=78725579800576,.field_2=184,.field_3=1476808480,.field_4=250,.field_5=2.0546875,.field_6=0.40234375],1316011470,`E_2_6)),.field_3=7917143982080,.field_4=0.296875,.field_5=104],(254,-0.71875))],.field_3=198977607696384,.field_4=0.46875],0.53125,-2.57421875)),[.field_1=0.921875,.field_2=[.field_1=3.24609375,.field_2=([.field_1=3.5,.field_2=[.field_1=`E_18_1,.field_2=3714170846,.field_3=-1.34375,.field_4=`E_19_5,.field_5=(3.50390625,-2.00390625,[.field_1=1.046875,.field_2=[.field_1=(1.328125,`E_2_5),.field_2=227074820669440,.field_3=(1.0,`E_2_1),.field_4=0.09375,.field_5=45904748347392,.field_6=(3.82421875,82226218532864,201097409331200)],.field_3=(-1.59765625,-0.921875,209014553313280),.field_4=3.0546875,.field_5=`E_11_4,.field_6=1.83984375]),.field_6=((-2.62890625,89468697313280,83042110013440),1.046875,[.field_1=2099223986,.field_2=((22,[.field_1=210486406021120,.field_2=111,.field_3=702570652,.field_4=156,.field_5=0.0859375,.field_6=1.71875],2409538788,`E_2_5),(141,[.field_1=135559761887232,.field_2=124,.field_3=1544636438,.field_4=77,.field_5=-0.00390625,.field_6=3.0390625],1992571074,`E_2_3)),.field_3=50968790564864,.field_4=-1.015625,.field_5=200],(98,1.328125))],.field_3=190118914424832,.field_4=3.87890625],1.22265625,236152535121920),.field_3=1350095886,.field_4=1.421875],.field_3=[.field_1=1.33984375],.field_4=2.37109375,.field_5=[.field_1=-1.4375],.field_6=([.field_1=117967668903936,.field_2=(61,-0.921875),.field_3=8916022067200,.field_4=(0.78125,260068453384192,[.field_1=[.field_1=151,.field_2=0.04296875,.field_3=122,.field_4=20912341385216,.field_5=`E_2_6,.field_6=3592715758],.field_2=(-0.9765625,138666200793088,204194791948288),.field_3=(1.0625,`E_2_6)],[.field_1=(3893487284,-1.515625,0.84375,(-0.65625,`E_2_6)),.field_2=113])],-0.671875,167371868864512,71)]),.field_4=(([.field_1=169699773906944,.field_2=(139,1.421875),.field_3=114279424327680,.field_4=(0.265625,104534041427968,[.field_1=[.field_1=165,.field_2=2.26953125,.field_3=103,.field_4=111656380792832,.field_5=`E_2_5,.field_6=4276697078],.field_2=(3.14453125,53795771645952,19714984378368),.field_3=(1.234375,`E_2_1)],[.field_1=(1912043998,-0.359375,0.796875,(-0.671875,`E_2_3)),.field_2=168])],-0.625,38298238189568,243),-2.03125),.field_5=(0.25,67610029064192,[.field_1=[.field_1=213,.field_2=2.8046875,.field_3=215,.field_4=107128833966080,.field_5=`E_2_5,.field_6=1069858560],.field_2=(3.64
\ No newline at end of file
+    var ret_12 : uint32 = fn_12_myr(a_12_1, a_12_2, a_12_3, a_12_4)
+    if !(ret_12==2964505044)
+        std.put("myr_to_myr 12 failed\n")
+        std.exit(1)
+    ;;
+    var a_13_1 : t26 = `E_26_9
+    var a_13_2 : uint32 = 2931952582
+    var a_13_3 : t70 = [.field_1=[.field_1=`E_29_2,.field_2=220,.field_3=281245651828737,.field_4=161440489930752]]
+    var a_13_4 : flt64 = 0.62890625
+    var a_13_5 : (flt32,t71,(uint8,uint32,uint8),flt64) = (0.90625,[.field_1=109360486285312,.field_2=-2.51953125,.field_3=3374314812,.field_4=4132094974,.field_5=143973346836480],(93,3133286358,129),0.76953125)
+    var ret_13 : t74 = fn_13_myr(a_13_1, a_13_2, a_13_3, a_13_4, a_13_5)
+    if !(ret_13==`E_74_6)
+        std.put("myr_to_myr 13 failed\n")
+        std.exit(1)
+    ;;
+    var a_14_1 : uint32 = 2391308062
+    var a_14_2 : uint8 = 66
+    var a_14_3 : (t75,t76,t77) = ([.field_1=85,.field_2=-2.80859375,.field_3=155146548],[.field_1=235,.field_2=-1.2890625],`E_77_8)
+    var a_14_4 : (t79,uint64,t80) = (`E_79_1,274420389904384,`E_80_2)
+    var a_14_5 : t32 = [.field_1=1325686188]
+    var a_14_6 : t82 = `E_82_5
+    var a_14_7 : t85 = [.field_1=558424532,.field_2=((206,[.field_1=150202022100992,.field_2=157,.field_3=860064444,.field_4=215,.field_5=-1.9765625,.field_6=-2.18359375],2792603168,`E_2_1),(47,[.field_1=209371989409792,.field_2=167,.field_3=1162519188,.field_4=232,.field_5=2.2109375,.field_6=3.82421875],2196829234,`E_2_2)),.field_3=239020664553472,.field_4=645390774,.field_5=([.field_1=0.375,.field_2=[.field_1=-3.5625,.field_2=([.field_1=1.97265625,.field_2=[.field_1=`E_18_8,.field_2=3857006490,.field_3=1.4375,.field_4=`E_19_8,.field_5=(3.66015625,2.25390625,[.field_1=-0.5,.field_2=[.field_1=(-1.265625,`E_2_4),.field_2=246081152876544,.field_3=(0.671875,`E_2_5),.field_4=0.6875,.field_5=270577423351808,.field_6=(-3.7734375,103229432922112,25981307060224)],.field_3=(-2.328125,-1.21875,210485456797696),.field_4=-0.21484375,.field_5=`E_11_1,.field_6=0.23828125]),.field_6=((-0.296875,149437025615872,217610901782528),-0.59375,[.field_1=2925618826,.field_2=((100,[.field_1=100015436857344,.field_2=111,.field_3=988840590,.field_4=64,.field_5=-0.8671875,.field_6=-2.19140625],951054362,`E_2_2),(143,[.field_1=89940269858816,.field_2=197,.field_3=1866268236,.field_4=8,.field_5=0.546875,.field_6=-2.7265625],4272545584,`E_2_4)),.field_3=145750579740672,.field_4=-1.296875,.field_5=201],(160,1.046875))],.field_3=73607486504960,.field_4=1.15625],-1.05078125,203696970924032),.field_3=767588794,.field_4=-1.140625],.field_3=[.field_1=-3.6328125],.field_4=2.8125,.field_5=[.field_1=0.09375],.field_6=([.field_1=109872603332608,.field_2=(75,0.828125),.field_3=181185840939008,.field_4=(0.578125,276458107961344,[.field_1=[.field_1=221,.field_2=2.8125,.field_3=138,.field_4=51979432886272,.field_5=`E_2_4,.field_6=4196052024],.field_2=(-2.203125,57078884073472,36038635683840),.field_3=(-0.90625,`E_2_5)],[.field_1=(2773883292,-0.625,0.25,(-0.703125,`E_2_1)),.field_2=215])],1.328125,140846684569600,144)],432794756,2744398968),.field_6=[.field_1=153,.field_2=270401691844608]]
+    var ret_14 : uint64 = fn_14_myr(a_14_1, a_14_2, a_14_3, a_14_4, a_14_5, a_14_6, a_14_7)
+    if !(ret_14==278379121082369)
+        std.put("myr_to_myr 14 failed\n")
+        std.exit(1)
+    ;;
+    var a_15_1 : t86 = `E_86_10
+    var a_15_2 : t69 = [.field_1=`E_29_3,.field_2=174,.field_3=120887724867584,.field_4=122558970331136]
+    var a_15_3 : t88 = [.field_1=`E_87_6,.field_2=`E_19_4,.field_3=[.field_1=13773365706752,.field_2=103,.field_3=2174769352,.field_4=176,.field_5=-3.88671875,.field_6=-0.2578125],.field_4=`E_48_7]
+    var a_15_4 : t93 = [.field_1=(2.3515625,0.375,([.field_1=225,.field_2=3.30859375,.field_3=307894648],[.field_1=11,.field_2=1.78125],`E_77_8)),.field_2=`E_90_6,.field_3=((-0.5234375,132763972009984,229659410694144),-0.78125,[.field_1=1759559384,.field_2=((49,[.field_1=136392379072512,.field_2=89,.field_3=217892376,.field_4=68,.field_5=-2.91796875,.field_6=-1.44140625],411030898,`E_2_2),(22,[.field_1=172726771253248,.field_2=126,.field_3=1394729466,.field_4=253,.field_5=1.3359375,.field_6=-1.6875],691362998,`E_2_3)),.field_3=253720887820288,.field_4=-1.4375,.field_5=101],(249,-1.296875)),.field_4=(528531976,[.field_1=261386844897280,.field_2=1.84765625,.field_3=2388631154,.field_4=1719296880,.field_5=155468073926656],3470986990,3478856264),.field_5=(3194978670,1257202236,678627422)]
+    var a_15_5 : (flt32,uint32,t94) = (-0.953125,1149891486,`E_94_1)
+    var a_15_6 : (t24,(flt32,t2)) = (`E_24_7,(0.953125,`E_2_3))
+    var a_15_7 : flt32 = 0.65625
+    var a_15_8 : (uint8,flt32,uint64,t1) = (174,0.140625,211052441108480,[.field_1=171324051947520,.field_2=72,.field_3=1314068538,.field_4=2,.field_5=2.62109375,.field_6=-3.015625])
+    var a_15_9 : (t93,flt64,t96) = ([.field_1=(3.0234375,1.390625,([.field_1=51,.field_2=-2.76953125,.field_3=3019798602],[.field_1=1,.field_2=0.5078125],`E_77_8)),.field_2=`E_90_7,.field_3=((-3.71484375,157999771287552,111072570245120),0.21875,[.field_1=1336322566,.field_2=((0,[.field_1=240426317512704,.field_2=157,.field_3=52590348,.field_4=176,.field_5=1.80859375,.field_6=2.58984375],1153624366,`E_2_1),(206,[.field_1=180814220492800,.field_2=26,.field_3=299703506,.field_4=32,.field_5=1.73828125,.field_6=3.32421875],3465599182,`E_2_4)),.field_3=244610903965696,.field_4=-1.546875,.field_5=193],(146,-1.515625)),.field_4=(1374840658,[.field_1=142626650193920,.field_2=1.80859375,.field_3=1480961136,.field_4=292227856,.field_5=35406836006912],3934363586,1628550422),.field_5=(554328638,3308010754,4278941526)],-2.8046875,[.field_1=-0.31640625,.field_2=1.77734375])
+    var a_15_10 : t100 = [.field_1=[.field_1=([.field_1=-0.578125,.field_2=[.field_1=-0.7265625,.field_2=([.field_1=-2.6015625,.field_2=[.field_1=`E_18_5,.field_2=3722140840,.field_3=1.234375,.field_4=`E_19_4,.field_5=(0.7421875,2.03125,[.field_1=-0.90625,.field_2=[.field_1=(1.46875,`E_2_5),.field_2=16987441070080,.field_3=(-0.125,`E_2_3),.field_4=1.0625,.field_5=215665831968768,.field_6=(1.7265625,135345495736320,22229593620480)],.field_3=(2.16015625,0.625,114942210998272),.field_4=-2.71484375,.field_5=`E_11_3,.field_6=-0.2421875]),.field_6=((2.91796875,59953140727808,184442813546496),0.03125,[.field_1=1648496868,.field_2=((248,[.field_1=258110700650496,.field_2=141,.field_3=1835743428,.field_4=200,.field_5=-0.42578125,.field_6=2.7890625],1625618080,`E_2_2),(17,[.field_1=96824602525696,.field_2=239,.field_3=545066032,.field_4=206,.field_5=-1.140625,.field_6=3.6171875],2459246160,`E_2_1)),.field_3=124927959629824,.field_4=0.46875,.field_5=218],(36,-1.375))],.field_3=1156421255168,.field_4=0.4921875],0.2265625,246949201182720),.field_3=3332544584,.field_4=-0.984375],.field_3=[.field_1=-0.87890625],.field_4=-2.66015625,.field_5=[.field_1=-1.078125],.field_6=([.field_1=85664792313856,.field_2=(181,0.265625),.field_3=24759761633280,.field_4=(-1.078125,123531649613824,[.field_1=[.field_1=119,.field_2=-1.08203125,.field_3=129,.field_4=228120870649856,.field_5=`E_2_2,.field_6=2715867670],.field_2=(0.9140625,183028377845760,167569567645696),.field_3=(-0.96875,`E_2_5)],[.field_1=(168190774,1.078125,0.234375,(-1.0,`E_2_6)),.field_2=148])],0.765625,120963210805248,117)],2231554362,2636507052),.field_2=2.703125,.field_3=191209702686720,.field_4=2.1015625,.field_5=38],.field_2=109765657755648,.field_3=-1.1640625,.field_4=-2.046875,.field_5=(`E_19_5,3391967572)]
+    var ret_15 : (flt32,t21,t101,flt64) = fn_15_myr(a_15_1, a_15_2, a_15_3, a_15_4, a_15_5, a_15_6, a_15_7, a_15_8, a_15_9, a_15_10)
+    if !((ret_15.0==0.25) && ((ret_15.1.field_1==`E_18_6) && (ret_15.1.field_2==696503716) && (ret_15.1.field_3==-1.078125) && (ret_15.1.field_4==`E_19_6) && ((ret_15.1.field_5.0==-3.4140625) && (ret_15.1.field_5.1==1.85546875) && ((ret_15.1.field_5.2.field_1==-0.046875) && (((ret_15.1.field_5.2.field_2.field_1.0==-0.015625) && (ret_15.1.field_5.2.field_2.field_1.1==`E_2_2)) && (ret_15.1.field_5.2.field_2.field_2==1680566779904) && ((ret_15.1.field_5.2.field_2.field_3.0==-1.234375) && (ret_15.1.field_5.2.field_2.field_3.1==`E_2_1)) && (ret_15.1.field_5.2.field_2.field_4==0.578125) && (ret_15.1.field_5.2.field_2.field_5==246387639451648) && ((ret_15.1.field_5.2.field_2.field_6.0==-2.4140625) && (ret_15.1.field_5.2.field_2.field_6.1==21180950511616) && (ret_15.1.field_5.2.field_2.field_6.2==63676999925760))) && ((ret_15.1.field_5.2.field_3.0==-0.5546875) && (ret_15.1.field_5.2.field_3.1==0.375) && (ret_15.1.field_5.2.field_3.2==4498010144768)) && (ret_15.1.field_5.2.field_4==-2.86328125) && (ret_15.1.field_5.2.field_5==`E_11_4) && (ret_15.1.field_5.2.field_6==-1.4765625))) && (((ret_15.1.field_6.0.0==1.16015625) && (ret_15.1.field_6.0.1==206263158308864) && (ret_15.1.field_6.0.2==67183469658112)) && (ret_15.1.field_6.1==0.875) && ((ret_15.1.field_6.2.field_1==2520041722) && (((ret_15.1.field_6.2.field_2.0.0==194) && ((ret_15.1.field_6.2.field_2.0.1.field_1==28598144729088) && (ret_15.1.field_6.2.field_2.0.1.field_2==42) && (ret_15.1.field_6.2.field_2.0.1.field_3==1389583824) && (ret_15.1.field_6.2.field_2.0.1.field_4==67) && (ret_15.1.field_6.2.field_2.0.1.field_5==-1.390625) && (ret_15.1.field_6.2.field_2.0.1.field_6==-3.390625)) && (ret_15.1.field_6.2.field_2.0.2==1403784366) && (ret_15.1.field_6.2.field_2.0.3==`E_2_1)) && ((ret_15.1.field_6.2.field_2.1.0==141) && ((ret_15.1.field_6.2.field_2.1.1.field_1==230715822833664) && (ret_15.1.field_6.2.field_2.1.1.field_2==65) && (ret_15.1.field_6.2.field_2.1.1.field_3==2399362858) && (ret_15.1.field_6.2.field_2.1.1.field_4==237) && (ret_15.1.field_6.2.field_2.1.1.field_5==-1.59375) && (ret_15.1.field_6.2.field_2.1.1.field_6==-2.0)) && (ret_15.1.field_6.2.field_2.1.2==3443253262) && (ret_15.1.field_6.2.field_2.1.3==`E_2_3))) && (ret_15.1.field_6.2.field_3==89840887529472) && (ret_15.1.field_6.2.field_4==-1.484375) && (ret_15.1.field_6.2.field_5==234)) && ((ret_15.1.field_6.3.0==240) && (ret_15.1.field_6.3.1==-1.4375)))) && ((ret_15.2.field_1==-1.40625)) && (ret_15.3==-0.23828125))
+        std.put("myr_to_myr 15 failed\n")
+        std.exit(1)
+    ;;
+    var a_16_1 : uint64 = 138813818142720
+    var a_16_2 : t57 = [.field_1=`E_26_3,.field_2=224,.field_3=(107786496507904,`E_41_3,3940023518,[.field_1=116812990251008,.field_2=(43,-0.203125),.field_3=66490954678272,.field_4=(-0.734375,151595749212160,[.field_1=[.field_1=3,.field_2=-3.59765625,.field_3=124,.field_4=18634915053568,.field_5=`E_2_4,.field_6=2585846002],.field_2=(-0.33984375,105850133544960,200111611576320),.field_3=(-0.1875,`E_2_1)],[.field_1=(3167428002,-0.609375,1.015625,(-0.046875,`E_2_4)),.field_2=4])]),.field_4=[.field_1=1.5,.field_2=[.field_1=(-1.296875,`E_2_4),.field_2=73429141815296,.field_3=(1.453125,`E_2_6),.field_4=0.59375,.field_5=247630766538752,.field_6=(-1.03515625,242640090824704,89287634190336)],.field_3=(0.8125,-1.171875,240883383402496),.field_4=0.91015625,.field_5=`E_11_2,.field_6=-1.25],.field_5=2931638482,.field_6=0.71875]
+    var ret_16 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32)) = fn_16_myr(a_16_1, a_16_2)
+    if !(((ret_16.0.0==-3.1015625) && (ret_16.0.1==183885376782336) && (ret_16.0.2==162392907317248)) && (ret_16.1==-1.09375) && ((ret_16.2.field_1==1678328882) && (((ret_16.2.field_2.0.0==226) && ((ret_16.2.field_2.0.1.field_1==274580443365376) && (ret_16.2.field_2.0.1.field_2==223) && (ret_16.2.field_2.0.1.field_3==1866442708) && (ret_16.2.field_2.0.1.field_4==253) && (ret_16.2.field_2.0.1.field_5==2.7421875) && (ret_16.2.field_2.0.1.field_6==0.16015625)) && (ret_16.2.field_2.0.2==2411587072) && (ret_16.2.field_2.0.3==`E_2_1)) && ((ret_16.2.field_2.1.0==123) && ((ret_16.2.field_2.1.1.field_1==144693939929088) && (ret_16.2.field_2.1.1.field_2==205) && (ret_16.2.field_2.1.1.field_3==1556663324) && (ret_16.2.field_2.1.1.field_4==225) && (ret_16.2.field_2.1.1.field_5==1.2890625) && (ret_16.2.field_2.1.1.field_6==1.40234375)) && (ret_16.2.field_2.1.2==2084842492) && (ret_16.2.field_2.1.3==`E_2_5))) && (ret_16.2.field_3==150713528483840) && (ret_16.2.field_4==-1.25) && (ret_16.2.field_5==245)) && ((ret_16.3.0==224) && (ret_16.3.1==0.890625)))
+        std.put("myr_to_myr 16 failed\n")
+        std.exit(1)
+    ;;
+    var a_17_1 : flt32 = -0.8125
+    var a_17_2 : (flt64,flt32,uint64) = (-2.640625,-0.3125,158864030433280)
+    var a_17_3 : t35 = [.field_1=120060447424512,.field_2=200994178]
+    var a_17_4 : flt32 = -1.0625
+    var a_17_5 : t18 = `E_18_7
+    var a_17_6 : uint64 = 180628077543424
+    var a_17_7 : (uint8,t1,uint32,t2) = (160,[.field_1=267308015419392,.field_2=53,.field_3=2126242378,.field_4=29,.field_5=-3.328125,.field_6=2.71875],324345820,`E_2_3)
+    var a_17_8 : flt32 = 1.5625
+    var a_17_9 : t56 = `E_56_5
+    var a_17_10 : (uint8,uint32,uint8) = (0,1742227568,93)
+    var ret_17 : flt64 = fn_17_myr(a_17_1, a_17_2, a_17_3, a_17_4, a_17_5, a_17_6, a_17_7, a_17_8, a_17_9, a_17_10)
+    if !(ret_17==2.59765625)
+        std.put("myr_to_myr 17 failed\n")
+        std.exit(1)
+    ;;
+    var a_18_1 : t29 = `E_29_5
+    var a_18_2 : t50 = [.field_1=-0.671875,.field_2=([.field_1=-2.3984375,.field_2=[.field_1=`E_18_5,.field_2=178101928,.field_3=-1.125,.field_4=`E_19_6,.field_5=(0.28515625,-1.88671875,[.field_1=0.921875,.field_2=[.field_1=(-0.359375,`E_2_3),.field_2=75260795158528,.field_3=(0.59375,`E_2_2),.field_4=-1.515625,.field_5=64393391505408,.field_6=(3.38671875,241181364584448,262564167811072)],.field_3=(3.3984375,-0.75,84301476790272),.field_4=-1.7421875,.field_5=`E_11_1,.field_6=1.6640625]),.field_6=((2.96484375,25240979636224,279218169577473),0.46875,[.field_1=3583795084,.field_2=((121,[.field_1=18449750163456,.field_2=7,.field_3=4231471828,.field_4=27,.field_5=-2.578125,.field_6=1.60546875],2763967082,`E_2_3),(127,[.field_1=7883293065216,.field_2=195,.field_3=3293015804,.field_4=183,.field_5=-3.18359375,.field_6=2.20703125],4053927584,`E_2_1)),.field_3=179909264015360,.field_4=1.1875,.field_5=245],(230,-1.015625))],.field_3=66953411952640,.field_4=3.87890625],3.04296875,33030485442560),.field_3=369406000,.field_4=1.203125]
+    var a_18_3 : t94 = `E_94_3
+    var a_18_4 : (t93,flt64,t96) = ([.field_1=(-1.234375,1.390625,([.field_1=30,.field_2=-3.5390625,.field_3=2512982078],[.field_1=139,.field_2=0.36328125],`E_77_5)),.field_2=`E_90_3,.field_3=((-1.4609375,92383916457984,113307733983232),-1.265625,[.field_1=1168626982,.field_2=((109,[.field_1=206784518291456,.field_2=38,.field_3=1671741250,.field_4=162,.field_5=-1.3671875,.field_6=0.9921875],2717166618,`E_2_2),(190,[.field_1=202281623093248,.field_2=24,.field_3=2205245826,.field_4=163,.field_5=-0.375,.field_6=-1.1875],2520606304,`E_2_5)),.field_3=81504045891584,.field_4=0.640625,.field_5=215],(223,-0.78125)),.field_4=(1663866964,[.field_1=137293949304832,.field_2=0.4765625,.field_3=3008888856,.field_4=3504606106,.field_5=271175374602240],3418972692,378265792),.field_5=(1683646014,2279286742,1017297018)],2.19921875,[.field_1=-2.6015625,.field_2=0.484375])
+    var a_18_5 : t82 = `E_82_5
+    var a_18_6 : uint32 = 2225998788
+    var ret_18 : t68 = fn_18_myr(a_18_1, a_18_2, a_18_3, a_18_4, a_18_5, a_18_6)
+    if !((ret_18.field_1==`E_64_2) && ((ret_18.field_2.field_1==-1.3828125) && (ret_18.field_2.field_2==61112946) && (ret_18.field_2.field_3==190) && (ret_18.field_2.field_4==32961124368384) && (ret_18.field_2.field_5==1304765990) && (ret_18.field_2.field_6==126354513723392)) && (((ret_18.field_3.0.0==`E_56_7) && (ret_18.field_3.0.1==766433818) && ((ret_18.field_3.0.2.field_1==`E_26_8) && (ret_18.field_3.0.2.field_2==88) && ((ret_18.field_3.0.2.field_3.0==187522956001280) && (ret_18.field_3.0.2.field_3.1==`E_41_2) && (ret_18.field_3.0.2.field_3.2==197628948) && ((ret_18.field_3.0.2.field_3.3.field_1==135725845053440) && ((ret_18.field_3.0.2.field_3.3.field_2.0==57) && (ret_18.field_3.0.2.field_3.3.field_2.1==1.078125)) && (ret_18.field_3.0.2.field_3.3.field_3==160515871997952) && ((ret_18.field_3.0.2.field_3.3.field_4.0==0.359375) && (ret_18.field_3.0.2.field_3.3.field_4.1==104917964292096) && (((ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_1==206) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_2==-0.80078125) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_3==138) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_4==103853490044928) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_5==`E_2_5) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_6==1457574106)) && ((ret_18.field_3.0.2.field_3.3.field_4.2.field_2.0==-2.7734375) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_2.1==269868276908032) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_2.2==241406633312256)) && ((ret_18.field_3.0.2.field_3.3.field_4.2.field_3.0==-1.515625) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_3.1==`E_2_4))) && (((ret_18.field_3.0.2.field_3.3.field_4.3.field_1.0==64443498) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_1.1==-0.5) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_1.2==0.4375) && ((ret_18.field_3.0.2.field_3.3.field_4.3.field_1.3.0==0.8125) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_1.3.1==`E_2_3))) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_2==241))))) && ((ret_18.field_3.0.2.field_4.field_1==-0.921875) && (((ret_18.field_3.0.2.field_4.field_2.field_1.0==-0.265625) && (ret_18.field_3.0.2.field_4.field_2.field_1.1==`E_2_1)) && (ret_18.field_3.0.2.field_4.field_2.field_2==255656365260800) && ((ret_18.field_3.0.2.field_4.field_2.field_3.0==0.8125) && (ret_18.field_3.0.2.field_4.field_2.field_3.1==`E_2_5)) && (ret_18.field_3.0.2.field_4.field_2.field_4==-1.03125) && (ret_18.field_3.0.2.field_4.field_2.field_5==226905594134528) && ((ret_18.field_3.0.2.field_4.field_2.field_6.0==-1.796875) && (ret_18.field_3.0.2.field_4.field_2.field_6.1==110809697746944) && (ret_18.field_3.0.2.field_4.field_2.field_6.2==182448222502912))) && ((ret_18.field_3.0.2.field_4.field_3.0==2.66015625) && (ret_18.field_3.0.2.field_4.field_3.1==-1.53125) && (ret_18.field_3.0.2.field_4.field_3.2==5891210215424)) && (ret_18.field_3.0.2.field_4.field_4==1.15234375) && (ret_18.field_3.0.2.field_4.field_5==`E_11_3) && (ret_18.field_3.0.2.field_4.field_6==0.47265625)) && (ret_18.field_3.0.2.field_5==69698034) && (ret_18.field_3.0.2.field_6==-0.90625)) && ((ret_18.field_3.0.3.0==`E_19_8) && ((ret_18.field_3.0.3.1.field_1==-2.6484375) && ((ret_18.field_3.0.3.1.field_2.field_1==`E_18_2) && (ret_18.field_3.0.3.1.field_2.field_2==3254220376) && (ret_18.field_3.0.3.1.field_2.field_3==-1.015625) && (ret_18.field_3.0.3.1.field_2.field_4==`E_19_7) && ((ret_18.field_3.0.3.1.field_2.field_5.0==2.1328125) && (ret_18.field_3.0.3.1.field_2.field_5.1==0.1328125) && ((ret_18.field_3.0.3.1.field_2.field_5.2.field_1==-0.203125) && (((ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_1.0==0.09375) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_1.1==`E_2_6)) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_2==106879791398912) && ((ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_3.0==0.75) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_3.1==`E_2_3)) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_4==0.0) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_5==182488977768
\ No newline at end of file
+        std.put("myr_to_myr 18 failed\n")
+        std.exit(1)
+    ;;
+    var a_19_1 : uint64 = 158887773995008
+    var a_19_2 : uint8 = 186
+    var ret_19 : uint8 = fn_19_myr(a_19_1, a_19_2)
+    if !(ret_19==113)
+        std.put("myr_to_myr 19 failed\n")
+        std.exit(1)
+    ;;
+    var a_20_1 : (uint8,uint32,uint8) = (31,784492568,176)
+    var a_20_2 : t54 = [.field_1=-0.03125,.field_2=`E_2_6,.field_3=`E_43_2]
+    var a_20_3 : (flt32,t21,t101,flt64) = (-0.953125,[.field_1=`E_18_1,.field_2=3892333532,.field_3=0.921875,.field_4=`E_19_3,.field_5=(2.6015625,-0.328125,[.field_1=0.3125,.field_2=[.field_1=(0.34375,`E_2_3),.field_2=231543623516160,.field_3=(1.046875,`E_2_1),.field_4=1.078125,.field_5=158249674997760,.field_6=(-3.65234375,81418480910336,142554027130880)],.field_3=(3.359375,1.21875,57638369755136),.field_4=-3.484375,.field_5=`E_11_1,.field_6=3.09765625]),.field_6=((0.51171875,165765595136000,108768946552832),-0.25,[.field_1=3389738472,.field_2=((18,[.field_1=117849701351424,.field_2=251,.field_3=595888978,.field_4=83,.field_5=2.171875,.field_6=-0.47265625],678334346,`E_2_2),(10,[.field_1=215416273371136,.field_2=175,.field_3=3712234320,.field_4=153,.field_5=1.58203125,.field_6=1.640625],691527554,`E_2_5)),.field_3=281208706433025,.field_4=0.53125,.field_5=170],(226,1.171875))],[.field_1=0.6875],3.54296875)
+    var a_20_4 : t30 = [.field_1=0.328125,.field_2=[.field_1=`E_18_2,.field_2=3038599074,.field_3=-0.53125,.field_4=`E_19_2,.field_5=(-2.921875,-1.4453125,[.field_1=-0.421875,.field_2=[.field_1=(-0.15625,`E_2_1),.field_2=226740145750016,.field_3=(0.34375,`E_2_2),.field_4=1.09375,.field_5=105371665039360,.field_6=(-3.7890625,200291522183168,273916916662272)],.field_3=(1.69921875,-0.25,37761889730560),.field_4=-0.37109375,.field_5=`E_11_3,.field_6=2.359375]),.field_6=((-2.98828125,85889758134272,189673236725760),1.0625,[.field_1=1108811158,.field_2=((113,[.field_1=34340434870272,.field_2=204,.field_3=2563547796,.field_4=212,.field_5=-2.8828125,.field_6=2.53125],4104468038,`E_2_3),(48,[.field_1=114490489438208,.field_2=137,.field_3=4274611490,.field_4=4,.field_5=2.87109375,.field_6=2.67578125],1675682774,`E_2_6)),.field_3=155964017999872,.field_4=-0.421875,.field_5=153],(249,-0.015625))],.field_3=14699609849856,.field_4=-0.8125]
+    var a_20_5 : flt32 = -1.03125
+    var a_20_6 : t100 = [.field_1=[.field_1=([.field_1=-1.546875,.field_2=[.field_1=3.58984375,.field_2=([.field_1=-0.6640625,.field_2=[.field_1=`E_18_2,.field_2=3261231628,.field_3=-1.53125,.field_4=`E_19_8,.field_5=(3.0546875,2.625,[.field_1=1.296875,.field_2=[.field_1=(-0.515625,`E_2_1),.field_2=90256515661824,.field_3=(1.1875,`E_2_1),.field_4=-0.515625,.field_5=209147190050816,.field_6=(2.83984375,204519943045120,176046915452928)],.field_3=(-0.64453125,-1.28125,63390518214656),.field_4=-0.8359375,.field_5=`E_11_4,.field_6=-1.73828125]),.field_6=((2.2578125,249508094672896,125875889766400),-0.03125,[.field_1=3690927442,.field_2=((116,[.field_1=126408480784384,.field_2=70,.field_3=2502906064,.field_4=53,.field_5=-1.66796875,.field_6=0.3203125],425223464,`E_2_1),(116,[.field_1=122683318730752,.field_2=37,.field_3=3331048268,.field_4=79,.field_5=-2.58984375,.field_6=-3.03125],234747400,`E_2_1)),.field_3=236050942525440,.field_4=0.5625,.field_5=115],(237,1.265625))],.field_3=237145589940224,.field_4=0.125],-2.48046875,177709856587776),.field_3=1727895586,.field_4=0.40625],.field_3=[.field_1=-2.9609375],.field_4=-1.86328125,.field_5=[.field_1=-1.3125],.field_6=([.field_1=160533698838528,.field_2=(137,0.53125),.field_3=219195279015936,.field_4=(1.015625,58457369870336,[.field_1=[.field_1=224,.field_2=3.4765625,.field_3=169,.field_4=88271065972736,.field_5=`E_2_1,.field_6=1881912782],.field_2=(0.98046875,73571505274880,154864035561472),.field_3=(0.5625,`E_2_2)],[.field_1=(1669921896,-0.4375,0.765625,(-0.578125,`E_2_2)),.field_2=149])],1.046875,126107861778432,55)],1011521230,334865810),.field_2=-1.265625,.field_3=139944064581632,.field_4=-2.64453125,.field_5=232],.field_2=9370746880000,.field_3=2.56640625,.field_4=1.46484375,.field_5=(`E_19_7,155644616)]
+    var a_20_7 : t82 = `E_82_5
+    var a_20_8 : (uint32,uint32,uint32) = (588421914,2163719396,664040668)
+    var a_20_9 : t19 = `E_19_4
+    var ret_20 : uint8 = fn_20_myr(a_20_1, a_20_2, a_20_3, a_20_4, a_20_5, a_20_6, a_20_7, a_20_8, a_20_9)
+    if !(ret_20==139)
+        std.put("myr_to_myr 20 failed\n")
+        std.exit(1)
+    ;;
+
+    /* myr calling c */
+    ret_1 = fn_1_c(a_1_1, a_1_2, a_1_3, a_1_4, a_1_5)
+    if !(((ret_1.field_1.field_1==156) && (ret_1.field_1.field_2==2.83203125) && (ret_1.field_1.field_3==67) && (ret_1.field_1.field_4==143760266887168) && (ret_1.field_1.field_5==`E_2_6) && (ret_1.field_1.field_6==2927029180)) && ((ret_1.field_2.0==-2.55078125) && (ret_1.field_2.1==159665344872448) && (ret_1.field_2.2==199843724394496)) && ((ret_1.field_3.0==-0.625) && (ret_1.field_3.1==`E_2_6)))
+        std.put("myr_to_c 1 failed\n")
+        std.exit(1)
+    ;;
+    ret_2 = fn_2_c(a_2_1, a_2_2, a_2_3, a_2_4, a_2_5, a_2_6, a_2_7)
+    if !(ret_2==0.109375)
+        std.put("myr_to_c 2 failed\n")
+        std.exit(1)
+    ;;
+    ret_3 = fn_3_c(a_3_1, a_3_2, a_3_3, a_3_4, a_3_5, a_3_6, a_3_7)
+    if !(ret_3==0.171875)
+        std.put("myr_to_c 3 failed\n")
+        std.exit(1)
+    ;;
+    ret_4 = fn_4_c(a_4_1, a_4_2, a_4_3, a_4_4, a_4_5, a_4_6, a_4_7)
+    if !(ret_4==`E_2_4)
+        std.put("myr_to_c 4 failed\n")
+        std.exit(1)
+    ;;
+    ret_5 = fn_5_c(a_5_1, a_5_2, a_5_3, a_5_4, a_5_5, a_5_6)
+    if !((ret_5.0==182) && ((ret_5.1.field_1==220780978372608) && (ret_5.1.field_2==114) && (ret_5.1.field_3==2281314962) && (ret_5.1.field_4==251) && (ret_5.1.field_5==1.01171875) && (ret_5.1.field_6==2.06640625)) && (ret_5.2==3935630006) && (ret_5.3==`E_2_4))
+        std.put("myr_to_c 5 failed\n")
+        std.exit(1)
+    ;;
+    ret_6 = fn_6_c(a_6_1, a_6_2, a_6_3, a_6_4, a_6_5, a_6_6, a_6_7, a_6_8, a_6_9, a_6_10)
+    if !(ret_6==-0.47265625)
+        std.put("myr_to_c 6 failed\n")
+        std.exit(1)
+    ;;
+    ret_7 = fn_7_c(a_7_1, a_7_2, a_7_3, a_7_4, a_7_5, a_7_6, a_7_7)
+    if !(ret_7==2.984375)
+        std.put("myr_to_c 7 failed\n")
+        std.exit(1)
+    ;;
+    ret_8 = fn_8_c()
+    if !((ret_8.field_1==1.1875))
+        std.put("myr_to_c 8 failed\n")
+        std.exit(1)
+    ;;
+    ret_9 = fn_9_c(a_9_1, a_9_2, a_9_3, a_9_4, a_9_5, a_9_6, a_9_7, a_9_8, a_9_9, a_9_10)
+    if !((ret_9.field_1==-0.46875) && ((ret_9.field_2.field_1==-0.28125) && (((ret_9.field_2.field_2.0.field_1==3.50390625) && ((ret_9.field_2.field_2.0.field_2.field_1==`E_18_9) && (ret_9.field_2.field_2.0.field_2.field_2==298590436) && (ret_9.field_2.field_2.0.field_2.field_3==0.359375) && (ret_9.field_2.field_2.0.field_2.field_4==`E_19_5) && ((ret_9.field_2.field_2.0.field_2.field_5.0==2.28125) && (ret_9.field_2.field_2.0.field_2.field_5.1==-0.7421875) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_1==-1.359375) && (((ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_1.0==-1.53125) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_1.1==`E_2_2)) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_2==159748598530048) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_3.0==1.328125) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_3.1==`E_2_2)) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_4==-0.546875) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_5==146401660239872) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_6.0==0.6875) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_6.1==228983429529600) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_2.field_6.2==105127852507136))) && ((ret_9.field_2.field_2.0.field_2.field_5.2.field_3.0==-0.84375) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_3.1==0.359375) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_3.2==153705986129920)) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_4==-1.80859375) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_5==`E_11_1) && (ret_9.field_2.field_2.0.field_2.field_5.2.field_6==3.28125))) && (((ret_9.field_2.field_2.0.field_2.field_6.0.0==1.96484375) && (ret_9.field_2.field_2.0.field_2.field_6.0.1==46322522914816) && (ret_9.field_2.field_2.0.field_2.field_6.0.2==96194539421696)) && (ret_9.field_2.field_2.0.field_2.field_6.1==1.46875) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_1==912869840) && (((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.0==176) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_1==121643541069824) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_2==41) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_3==2802989848) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_4==128) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_5==2.15625) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.1.field_6==-2.44921875)) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.2==1259853458) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.0.3==`E_2_2)) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.0==64) && ((ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_1==86146197356544) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_2==90) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_3==3519983450) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_4==58) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_5==0.50390625) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.1.field_6==-2.765625)) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.2==3211917080) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_2.1.3==`E_2_1))) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_3==270136525455360) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_4==-1.1875) && (ret_9.field_2.field_2.0.field_2.field_6.2.field_5==139)) && ((ret_9.field_2.field_2.0.field_2.field_6.3.0==146) && (ret_9.field_2.field_2.0.field_2.field_6.3.1==0.53125)))) && (ret_9.field_2.field_2.0.field_3==228868406378496) && (ret_9.field_2.field_2.0.field_4==0.90234375)) && (ret_9.field_2.field_2.1==0.6796875) && (ret_9.field_2.field_2.2==158843979956224)) && (ret_9.field_2.field_3==3350000678) && (ret_9.field_2.field_4==1.34375)) && ((ret_9.field_3.field_1==0.25390625)) && (ret_9.field_4==3.8515625) && ((ret_9.field_5.field_1==0.375)) && (((ret_9.field_6.0.field_1==27158636619366
\ No newline at end of file
+        std.put("myr_to_c 9 failed\n")
+        std.exit(1)
+    ;;
+    ret_10 = fn_10_c(a_10_1, a_10_2, a_10_3)
+    if !(ret_10==1.0)
+        std.put("myr_to_c 10 failed\n")
+        std.exit(1)
+    ;;
+    ret_11 = fn_11_c(a_11_1, a_11_2, a_11_3)
+    if !(ret_11==3531194568)
+        std.put("myr_to_c 11 failed\n")
+        std.exit(1)
+    ;;
+    ret_12 = fn_12_c(a_12_1, a_12_2, a_12_3, a_12_4)
+    if !(ret_12==2964505044)
+        std.put("myr_to_c 12 failed\n")
+        std.exit(1)
+    ;;
+    ret_13 = fn_13_c(a_13_1, a_13_2, a_13_3, a_13_4, a_13_5)
+    if !(ret_13==`E_74_6)
+        std.put("myr_to_c 13 failed\n")
+        std.exit(1)
+    ;;
+    ret_14 = fn_14_c(a_14_1, a_14_2, a_14_3, a_14_4, a_14_5, a_14_6, a_14_7)
+    if !(ret_14==278379121082369)
+        std.put("myr_to_c 14 failed\n")
+        std.exit(1)
+    ;;
+    ret_15 = fn_15_c(a_15_1, a_15_2, a_15_3, a_15_4, a_15_5, a_15_6, a_15_7, a_15_8, a_15_9, a_15_10)
+    if !((ret_15.0==0.25) && ((ret_15.1.field_1==`E_18_6) && (ret_15.1.field_2==696503716) && (ret_15.1.field_3==-1.078125) && (ret_15.1.field_4==`E_19_6) && ((ret_15.1.field_5.0==-3.4140625) && (ret_15.1.field_5.1==1.85546875) && ((ret_15.1.field_5.2.field_1==-0.046875) && (((ret_15.1.field_5.2.field_2.field_1.0==-0.015625) && (ret_15.1.field_5.2.field_2.field_1.1==`E_2_2)) && (ret_15.1.field_5.2.field_2.field_2==1680566779904) && ((ret_15.1.field_5.2.field_2.field_3.0==-1.234375) && (ret_15.1.field_5.2.field_2.field_3.1==`E_2_1)) && (ret_15.1.field_5.2.field_2.field_4==0.578125) && (ret_15.1.field_5.2.field_2.field_5==246387639451648) && ((ret_15.1.field_5.2.field_2.field_6.0==-2.4140625) && (ret_15.1.field_5.2.field_2.field_6.1==21180950511616) && (ret_15.1.field_5.2.field_2.field_6.2==63676999925760))) && ((ret_15.1.field_5.2.field_3.0==-0.5546875) && (ret_15.1.field_5.2.field_3.1==0.375) && (ret_15.1.field_5.2.field_3.2==4498010144768)) && (ret_15.1.field_5.2.field_4==-2.86328125) && (ret_15.1.field_5.2.field_5==`E_11_4) && (ret_15.1.field_5.2.field_6==-1.4765625))) && (((ret_15.1.field_6.0.0==1.16015625) && (ret_15.1.field_6.0.1==206263158308864) && (ret_15.1.field_6.0.2==67183469658112)) && (ret_15.1.field_6.1==0.875) && ((ret_15.1.field_6.2.field_1==2520041722) && (((ret_15.1.field_6.2.field_2.0.0==194) && ((ret_15.1.field_6.2.field_2.0.1.field_1==28598144729088) && (ret_15.1.field_6.2.field_2.0.1.field_2==42) && (ret_15.1.field_6.2.field_2.0.1.field_3==1389583824) && (ret_15.1.field_6.2.field_2.0.1.field_4==67) && (ret_15.1.field_6.2.field_2.0.1.field_5==-1.390625) && (ret_15.1.field_6.2.field_2.0.1.field_6==-3.390625)) && (ret_15.1.field_6.2.field_2.0.2==1403784366) && (ret_15.1.field_6.2.field_2.0.3==`E_2_1)) && ((ret_15.1.field_6.2.field_2.1.0==141) && ((ret_15.1.field_6.2.field_2.1.1.field_1==230715822833664) && (ret_15.1.field_6.2.field_2.1.1.field_2==65) && (ret_15.1.field_6.2.field_2.1.1.field_3==2399362858) && (ret_15.1.field_6.2.field_2.1.1.field_4==237) && (ret_15.1.field_6.2.field_2.1.1.field_5==-1.59375) && (ret_15.1.field_6.2.field_2.1.1.field_6==-2.0)) && (ret_15.1.field_6.2.field_2.1.2==3443253262) && (ret_15.1.field_6.2.field_2.1.3==`E_2_3))) && (ret_15.1.field_6.2.field_3==89840887529472) && (ret_15.1.field_6.2.field_4==-1.484375) && (ret_15.1.field_6.2.field_5==234)) && ((ret_15.1.field_6.3.0==240) && (ret_15.1.field_6.3.1==-1.4375)))) && ((ret_15.2.field_1==-1.40625)) && (ret_15.3==-0.23828125))
+        std.put("myr_to_c 15 failed\n")
+        std.exit(1)
+    ;;
+    ret_16 = fn_16_c(a_16_1, a_16_2)
+    if !(((ret_16.0.0==-3.1015625) && (ret_16.0.1==183885376782336) && (ret_16.0.2==162392907317248)) && (ret_16.1==-1.09375) && ((ret_16.2.field_1==1678328882) && (((ret_16.2.field_2.0.0==226) && ((ret_16.2.field_2.0.1.field_1==274580443365376) && (ret_16.2.field_2.0.1.field_2==223) && (ret_16.2.field_2.0.1.field_3==1866442708) && (ret_16.2.field_2.0.1.field_4==253) && (ret_16.2.field_2.0.1.field_5==2.7421875) && (ret_16.2.field_2.0.1.field_6==0.16015625)) && (ret_16.2.field_2.0.2==2411587072) && (ret_16.2.field_2.0.3==`E_2_1)) && ((ret_16.2.field_2.1.0==123) && ((ret_16.2.field_2.1.1.field_1==144693939929088) && (ret_16.2.field_2.1.1.field_2==205) && (ret_16.2.field_2.1.1.field_3==1556663324) && (ret_16.2.field_2.1.1.field_4==225) && (ret_16.2.field_2.1.1.field_5==1.2890625) && (ret_16.2.field_2.1.1.field_6==1.40234375)) && (ret_16.2.field_2.1.2==2084842492) && (ret_16.2.field_2.1.3==`E_2_5))) && (ret_16.2.field_3==150713528483840) && (ret_16.2.field_4==-1.25) && (ret_16.2.field_5==245)) && ((ret_16.3.0==224) && (ret_16.3.1==0.890625)))
+        std.put("myr_to_c 16 failed\n")
+        std.exit(1)
+    ;;
+    ret_17 = fn_17_c(a_17_1, a_17_2, a_17_3, a_17_4, a_17_5, a_17_6, a_17_7, a_17_8, a_17_9, a_17_10)
+    if !(ret_17==2.59765625)
+        std.put("myr_to_c 17 failed\n")
+        std.exit(1)
+    ;;
+    ret_18 = fn_18_c(a_18_1, a_18_2, a_18_3, a_18_4, a_18_5, a_18_6)
+    if !((ret_18.field_1==`E_64_2) && ((ret_18.field_2.field_1==-1.3828125) && (ret_18.field_2.field_2==61112946) && (ret_18.field_2.field_3==190) && (ret_18.field_2.field_4==32961124368384) && (ret_18.field_2.field_5==1304765990) && (ret_18.field_2.field_6==126354513723392)) && (((ret_18.field_3.0.0==`E_56_7) && (ret_18.field_3.0.1==766433818) && ((ret_18.field_3.0.2.field_1==`E_26_8) && (ret_18.field_3.0.2.field_2==88) && ((ret_18.field_3.0.2.field_3.0==187522956001280) && (ret_18.field_3.0.2.field_3.1==`E_41_2) && (ret_18.field_3.0.2.field_3.2==197628948) && ((ret_18.field_3.0.2.field_3.3.field_1==135725845053440) && ((ret_18.field_3.0.2.field_3.3.field_2.0==57) && (ret_18.field_3.0.2.field_3.3.field_2.1==1.078125)) && (ret_18.field_3.0.2.field_3.3.field_3==160515871997952) && ((ret_18.field_3.0.2.field_3.3.field_4.0==0.359375) && (ret_18.field_3.0.2.field_3.3.field_4.1==104917964292096) && (((ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_1==206) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_2==-0.80078125) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_3==138) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_4==103853490044928) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_5==`E_2_5) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_1.field_6==1457574106)) && ((ret_18.field_3.0.2.field_3.3.field_4.2.field_2.0==-2.7734375) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_2.1==269868276908032) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_2.2==241406633312256)) && ((ret_18.field_3.0.2.field_3.3.field_4.2.field_3.0==-1.515625) && (ret_18.field_3.0.2.field_3.3.field_4.2.field_3.1==`E_2_4))) && (((ret_18.field_3.0.2.field_3.3.field_4.3.field_1.0==64443498) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_1.1==-0.5) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_1.2==0.4375) && ((ret_18.field_3.0.2.field_3.3.field_4.3.field_1.3.0==0.8125) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_1.3.1==`E_2_3))) && (ret_18.field_3.0.2.field_3.3.field_4.3.field_2==241))))) && ((ret_18.field_3.0.2.field_4.field_1==-0.921875) && (((ret_18.field_3.0.2.field_4.field_2.field_1.0==-0.265625) && (ret_18.field_3.0.2.field_4.field_2.field_1.1==`E_2_1)) && (ret_18.field_3.0.2.field_4.field_2.field_2==255656365260800) && ((ret_18.field_3.0.2.field_4.field_2.field_3.0==0.8125) && (ret_18.field_3.0.2.field_4.field_2.field_3.1==`E_2_5)) && (ret_18.field_3.0.2.field_4.field_2.field_4==-1.03125) && (ret_18.field_3.0.2.field_4.field_2.field_5==226905594134528) && ((ret_18.field_3.0.2.field_4.field_2.field_6.0==-1.796875) && (ret_18.field_3.0.2.field_4.field_2.field_6.1==110809697746944) && (ret_18.field_3.0.2.field_4.field_2.field_6.2==182448222502912))) && ((ret_18.field_3.0.2.field_4.field_3.0==2.66015625) && (ret_18.field_3.0.2.field_4.field_3.1==-1.53125) && (ret_18.field_3.0.2.field_4.field_3.2==5891210215424)) && (ret_18.field_3.0.2.field_4.field_4==1.15234375) && (ret_18.field_3.0.2.field_4.field_5==`E_11_3) && (ret_18.field_3.0.2.field_4.field_6==0.47265625)) && (ret_18.field_3.0.2.field_5==69698034) && (ret_18.field_3.0.2.field_6==-0.90625)) && ((ret_18.field_3.0.3.0==`E_19_8) && ((ret_18.field_3.0.3.1.field_1==-2.6484375) && ((ret_18.field_3.0.3.1.field_2.field_1==`E_18_2) && (ret_18.field_3.0.3.1.field_2.field_2==3254220376) && (ret_18.field_3.0.3.1.field_2.field_3==-1.015625) && (ret_18.field_3.0.3.1.field_2.field_4==`E_19_7) && ((ret_18.field_3.0.3.1.field_2.field_5.0==2.1328125) && (ret_18.field_3.0.3.1.field_2.field_5.1==0.1328125) && ((ret_18.field_3.0.3.1.field_2.field_5.2.field_1==-0.203125) && (((ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_1.0==0.09375) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_1.1==`E_2_6)) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_2==106879791398912) && ((ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_3.0==0.75) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_3.1==`E_2_3)) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_4==0.0) && (ret_18.field_3.0.3.1.field_2.field_5.2.field_2.field_5==182488977768
\ No newline at end of file
+        std.put("myr_to_c 18 failed\n")
+        std.exit(1)
+    ;;
+    ret_19 = fn_19_c(a_19_1, a_19_2)
+    if !(ret_19==113)
+        std.put("myr_to_c 19 failed\n")
+        std.exit(1)
+    ;;
+    ret_20 = fn_20_c(a_20_1, a_20_2, a_20_3, a_20_4, a_20_5, a_20_6, a_20_7, a_20_8, a_20_9)
+    if !(ret_20==139)
+        std.put("myr_to_c 20 failed\n")
+        std.exit(1)
+    ;;
+
+    /* c calling myr */
+    if check_c_to_myr_fns() != 0
+        std.put("c_to_myr failed\n")
+        std.exit(1)
+    ;;
+
+    std.exit(0)
+}
--- /dev/null
+++ b/test/abi/006_types.h
@@ -1,0 +1,102 @@
+typedef struct {uint64_t field_1;uint8_t field_2;uint32_t field_3;uint8_t field_4;double field_5;double field_6;} t1;
+typedef enum {E_2_1,E_2_2,E_2_3,E_2_4,E_2_5,E_2_6,} t2;
+typedef struct {uint8_t field_1;t1 field_2;uint32_t field_3;t2 field_4;} t3;
+typedef struct {uint8_t field_1;double field_2;uint8_t field_3;uint64_t field_4;t2 field_5;uint32_t field_6;} t4;
+typedef struct {double field_1;uint64_t field_2;uint64_t field_3;} t5;
+typedef struct {float field_1;t2 field_2;} t6;
+typedef struct {t4 field_1;t5 field_2;t6 field_3;} t7;
+typedef struct {t3 field_1;t3 field_2;} t8;
+typedef struct {t6 field_1;uint64_t field_2;t6 field_3;float field_4;uint64_t field_5;t5 field_6;} t9;
+typedef struct {double field_1;float field_2;uint64_t field_3;} t10;
+typedef enum {E_11_1,E_11_2,E_11_3,E_11_4,E_11_5,E_11_6,} t11;
+typedef struct {float field_1;t9 field_2;t10 field_3;double field_4;t11 field_5;double field_6;} t12;
+typedef struct {uint32_t field_1;t8 field_2;uint64_t field_3;float field_4;uint8_t field_5;} t13;
+typedef struct {uint8_t field_1;float field_2;} t14;
+typedef struct {t5 field_1;float field_2;t13 field_3;t14 field_4;} t15;
+typedef struct {uint32_t field_1;float field_2;float field_3;t6 field_4;} t16;
+typedef struct {t16 field_1;uint8_t field_2;} t17;
+typedef enum {E_18_1,E_18_2,E_18_3,E_18_4,E_18_5,E_18_6,E_18_7,E_18_8,E_18_9,} t18;
+typedef enum {E_19_1,E_19_2,E_19_3,E_19_4,E_19_5,E_19_6,E_19_7,E_19_8,} t19;
+typedef struct {double field_1;double field_2;t12 field_3;} t20;
+typedef struct {t18 field_1;uint32_t field_2;float field_3;t19 field_4;t20 field_5;t15 field_6;} t21;
+typedef struct {float field_1;uint64_t field_2;t7 field_3;t17 field_4;} t22;
+typedef struct {uint64_t field_1;t14 field_2;uint64_t field_3;t22 field_4;} t23;
+typedef enum {E_24_1,E_24_2,E_24_3,E_24_4,E_24_5,E_24_6,E_24_7,E_24_8,E_24_9,} t24;
+typedef struct {t24 field_1;t6 field_2;} t25;
+typedef enum {E_26_1,E_26_2,E_26_3,E_26_4,E_26_5,E_26_6,E_26_7,E_26_8,E_26_9,E_26_10,} t26;
+typedef struct {t15 field_1;float field_2;float field_3;uint64_t field_4;float field_5;uint64_t field_6;} t27;
+typedef struct {t15 field_1;t26 field_2;t27 field_3;} t28;
+typedef enum {E_29_1,E_29_2,E_29_3,E_29_4,E_29_5,E_29_6,} t29;
+typedef struct {double field_1;t21 field_2;uint64_t field_3;double field_4;} t30;
+typedef enum {E_31_1,E_31_2,E_31_3,E_31_4,E_31_5,E_31_6,E_31_7,E_31_8,E_31_9,} t31;
+typedef struct {uint32_t field_1;} t32;
+typedef struct {uint64_t field_1;t30 field_2;t31 field_3;t32 field_4;} t33;
+typedef struct {uint32_t field_1;float field_2;uint64_t field_3;uint32_t field_4;} t34;
+typedef struct {uint64_t field_1;uint32_t field_2;} t35;
+typedef struct {uint64_t field_1;t6 field_2;t34 field_3;t35 field_4;} t36;
+typedef enum {E_37_1,E_37_2,E_37_3,E_37_4,E_37_5,E_37_6,E_37_7,E_37_8,E_37_9,E_37_10,} t37;
+typedef enum {E_38_1,E_38_2,E_38_3,E_38_4,E_38_5,E_38_6,E_38_7,E_38_8,} t38;
+typedef struct {t30 field_1;double field_2;uint64_t field_3;} t39;
+typedef struct {t39 field_1;uint8_t field_2;t1 field_3;} t40;
+typedef enum {E_41_1,E_41_2,E_41_3,E_41_4,E_41_5,E_41_6,} t41;
+typedef struct {uint64_t field_1;t41 field_2;uint32_t field_3;t23 field_4;} t42;
+typedef enum {E_43_1,E_43_2,E_43_3,E_43_4,E_43_5,E_43_6,} t43;
+typedef struct {float field_1;} t44;
+typedef enum {E_45_1,E_45_2,E_45_3,E_45_4,E_45_5,E_45_6,E_45_7,} t45;
+typedef struct {uint32_t field_1;} t46;
+typedef enum {E_47_1,E_47_2,E_47_3,E_47_4,E_47_5,E_47_6,E_47_7,} t47;
+typedef enum {E_48_1,E_48_2,E_48_3,E_48_4,E_48_5,E_48_6,E_48_7,} t48;
+typedef enum {E_49_1,E_49_2,E_49_3,E_49_4,E_49_5,E_49_6,} t49;
+typedef struct {double field_1;t39 field_2;uint32_t field_3;float field_4;} t50;
+typedef struct {double field_1;} t51;
+typedef struct {t23 field_1;float field_2;uint64_t field_3;uint8_t field_4;} t52;
+typedef struct {float field_1;t50 field_2;t51 field_3;double field_4;t44 field_5;t52 field_6;} t53;
+typedef struct {float field_1;t2 field_2;t43 field_3;} t54;
+typedef struct {t30 field_1;uint64_t field_2;t54 field_3;float field_4;} t55;
+typedef enum {E_56_1,E_56_2,E_56_3,E_56_4,E_56_5,E_56_6,E_56_7,} t56;
+typedef struct {t26 field_1;uint8_t field_2;t42 field_3;t12 field_4;uint32_t field_5;float field_6;} t57;
+typedef struct {t19 field_1;t30 field_2;float field_3;double field_4;} t58;
+typedef struct {t56 field_1;uint32_t field_2;t57 field_3;t58 field_4;} t59;
+typedef struct {uint8_t field_1;float field_2;uint64_t field_3;t1 field_4;} t60;
+typedef struct {float field_1;t16 field_2;} t61;
+typedef struct {t18 field_1;t7 field_2;} t62;
+typedef struct {t60 field_1;t61 field_2;double field_3;t62 field_4;uint64_t field_5;double field_6;} t63;
+typedef enum {E_64_1,E_64_2,E_64_3,E_64_4,E_64_5,E_64_6,E_64_7,E_64_8,E_64_9,} t64;
+typedef struct {double field_1;uint32_t field_2;uint8_t field_3;uint64_t field_4;uint32_t field_5;uint64_t field_6;} t65;
+typedef struct {t59 field_1;t53 field_2;} t66;
+typedef struct {t52 field_1;double field_2;} t67;
+typedef struct {t64 field_1;t65 field_2;t66 field_3;t67 field_4;t22 field_5;} t68;
+typedef struct {t29 field_1;uint8_t field_2;uint64_t field_3;uint64_t field_4;} t69;
+typedef struct {t69 field_1;} t70;
+typedef struct {uint64_t field_1;double field_2;uint32_t field_3;uint32_t field_4;uint64_t field_5;} t71;
+typedef struct {uint8_t field_1;uint32_t field_2;uint8_t field_3;} t72;
+typedef struct {float field_1;t71 field_2;t72 field_3;double field_4;} t73;
+typedef enum {E_74_1,E_74_2,E_74_3,E_74_4,E_74_5,E_74_6,} t74;
+typedef struct {uint8_t field_1;double field_2;uint32_t field_3;} t75;
+typedef struct {uint8_t field_1;double field_2;} t76;
+typedef enum {E_77_1,E_77_2,E_77_3,E_77_4,E_77_5,E_77_6,E_77_7,E_77_8,} t77;
+typedef struct {t75 field_1;t76 field_2;t77 field_3;} t78;
+typedef enum {E_79_1,E_79_2,E_79_3,E_79_4,E_79_5,E_79_6,E_79_7,E_79_8,E_79_9,E_79_10,} t79;
+typedef enum {E_80_1,E_80_2,E_80_3,E_80_4,E_80_5,E_80_6,} t80;
+typedef struct {t79 field_1;uint64_t field_2;t80 field_3;} t81;
+typedef enum {E_82_1,E_82_2,E_82_3,E_82_4,E_82_5,E_82_6,} t82;
+typedef struct {t53 field_1;uint32_t field_2;uint32_t field_3;} t83;
+typedef struct {uint8_t field_1;uint64_t field_2;} t84;
+typedef struct {uint32_t field_1;t8 field_2;uint64_t field_3;uint32_t field_4;t83 field_5;t84 field_6;} t85;
+typedef enum {E_86_1,E_86_2,E_86_3,E_86_4,E_86_5,E_86_6,E_86_7,E_86_8,E_86_9,E_86_10,} t86;
+typedef enum {E_87_1,E_87_2,E_87_3,E_87_4,E_87_5,E_87_6,} t87;
+typedef struct {t87 field_1;t19 field_2;t1 field_3;t48 field_4;} t88;
+typedef struct {double field_1;float field_2;t78 field_3;} t89;
+typedef enum {E_90_1,E_90_2,E_90_3,E_90_4,E_90_5,E_90_6,E_90_7,E_90_8,E_90_9,} t90;
+typedef struct {uint32_t field_1;t71 field_2;uint32_t field_3;uint32_t field_4;} t91;
+typedef struct {uint32_t field_1;uint32_t field_2;uint32_t field_3;} t92;
+typedef struct {t89 field_1;t90 field_2;t15 field_3;t91 field_4;t92 field_5;} t93;
+typedef enum {E_94_1,E_94_2,E_94_3,E_94_4,E_94_5,E_94_6,E_94_7,E_94_8,} t94;
+typedef struct {float field_1;uint32_t field_2;t94 field_3;} t95;
+typedef struct {double field_1;double field_2;} t96;
+typedef struct {t93 field_1;double field_2;t96 field_3;} t97;
+typedef struct {t83 field_1;double field_2;uint64_t field_3;double field_4;uint8_t field_5;} t98;
+typedef struct {t19 field_1;uint32_t field_2;} t99;
+typedef struct {t98 field_1;uint64_t field_2;double field_3;double field_4;t99 field_5;} t100;
+typedef struct {float field_1;} t101;
+typedef struct {float field_1;t21 field_2;t101 field_3;double field_4;} t102;
--- /dev/null
+++ b/test/abi/006_types.myr
@@ -1,0 +1,523 @@
+pkg =
+type t1 = struct
+field_1 : uint64
+field_2 : uint8
+field_3 : uint32
+field_4 : uint8
+field_5 : flt64
+field_6 : flt64
+;;
+type t2 = union
+`E_2_1
+`E_2_2
+`E_2_3
+`E_2_4
+`E_2_5
+`E_2_6
+;;
+
+type t4 = struct
+field_1 : uint8
+field_2 : flt64
+field_3 : uint8
+field_4 : uint64
+field_5 : t2
+field_6 : uint32
+;;
+
+
+type t7 = struct
+field_1 : t4
+field_2 : (flt64,uint64,uint64)
+field_3 : (flt32,t2)
+;;
+
+type t9 = struct
+field_1 : (flt32,t2)
+field_2 : uint64
+field_3 : (flt32,t2)
+field_4 : flt32
+field_5 : uint64
+field_6 : (flt64,uint64,uint64)
+;;
+
+type t11 = union
+`E_11_1
+`E_11_2
+`E_11_3
+`E_11_4
+`E_11_5
+`E_11_6
+;;
+type t12 = struct
+field_1 : flt32
+field_2 : t9
+field_3 : (flt64,flt32,uint64)
+field_4 : flt64
+field_5 : t11
+field_6 : flt64
+;;
+type t13 = struct
+field_1 : uint32
+field_2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2))
+field_3 : uint64
+field_4 : flt32
+field_5 : uint8
+;;
+
+
+
+type t17 = struct
+field_1 : (uint32,flt32,flt32,(flt32,t2))
+field_2 : uint8
+;;
+type t18 = union
+`E_18_1
+`E_18_2
+`E_18_3
+`E_18_4
+`E_18_5
+`E_18_6
+`E_18_7
+`E_18_8
+`E_18_9
+;;
+type t19 = union
+`E_19_1
+`E_19_2
+`E_19_3
+`E_19_4
+`E_19_5
+`E_19_6
+`E_19_7
+`E_19_8
+;;
+
+type t21 = struct
+field_1 : t18
+field_2 : uint32
+field_3 : flt32
+field_4 : t19
+field_5 : (flt64,flt64,t12)
+field_6 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32))
+;;
+
+type t23 = struct
+field_1 : uint64
+field_2 : (uint8,flt32)
+field_3 : uint64
+field_4 : (flt32,uint64,t7,t17)
+;;
+type t24 = union
+`E_24_1
+`E_24_2
+`E_24_3
+`E_24_4
+`E_24_5
+`E_24_6
+`E_24_7
+`E_24_8
+`E_24_9
+;;
+
+type t26 = union
+`E_26_1
+`E_26_2
+`E_26_3
+`E_26_4
+`E_26_5
+`E_26_6
+`E_26_7
+`E_26_8
+`E_26_9
+`E_26_10
+;;
+type t27 = struct
+field_1 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32))
+field_2 : flt32
+field_3 : flt32
+field_4 : uint64
+field_5 : flt32
+field_6 : uint64
+;;
+type t28 = struct
+field_1 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32))
+field_2 : t26
+field_3 : t27
+;;
+type t29 = union
+`E_29_1
+`E_29_2
+`E_29_3
+`E_29_4
+`E_29_5
+`E_29_6
+;;
+type t30 = struct
+field_1 : flt64
+field_2 : t21
+field_3 : uint64
+field_4 : flt64
+;;
+type t31 = union
+`E_31_1
+`E_31_2
+`E_31_3
+`E_31_4
+`E_31_5
+`E_31_6
+`E_31_7
+`E_31_8
+`E_31_9
+;;
+type t32 = struct
+field_1 : uint32
+;;
+
+
+type t35 = struct
+field_1 : uint64
+field_2 : uint32
+;;
+
+type t37 = union
+`E_37_1
+`E_37_2
+`E_37_3
+`E_37_4
+`E_37_5
+`E_37_6
+`E_37_7
+`E_37_8
+`E_37_9
+`E_37_10
+;;
+type t38 = union
+`E_38_1
+`E_38_2
+`E_38_3
+`E_38_4
+`E_38_5
+`E_38_6
+`E_38_7
+`E_38_8
+;;
+
+
+type t41 = union
+`E_41_1
+`E_41_2
+`E_41_3
+`E_41_4
+`E_41_5
+`E_41_6
+;;
+
+type t43 = union
+`E_43_1
+`E_43_2
+`E_43_3
+`E_43_4
+`E_43_5
+`E_43_6
+;;
+type t44 = struct
+field_1 : flt32
+;;
+type t45 = union
+`E_45_1
+`E_45_2
+`E_45_3
+`E_45_4
+`E_45_5
+`E_45_6
+`E_45_7
+;;
+type t46 = struct
+field_1 : uint32
+;;
+type t47 = union
+`E_47_1
+`E_47_2
+`E_47_3
+`E_47_4
+`E_47_5
+`E_47_6
+`E_47_7
+;;
+type t48 = union
+`E_48_1
+`E_48_2
+`E_48_3
+`E_48_4
+`E_48_5
+`E_48_6
+`E_48_7
+;;
+type t49 = union
+`E_49_1
+`E_49_2
+`E_49_3
+`E_49_4
+`E_49_5
+`E_49_6
+;;
+type t50 = struct
+field_1 : flt64
+field_2 : (t30,flt64,uint64)
+field_3 : uint32
+field_4 : flt32
+;;
+type t51 = struct
+field_1 : flt64
+;;
+
+type t53 = struct
+field_1 : flt32
+field_2 : t50
+field_3 : t51
+field_4 : flt64
+field_5 : t44
+field_6 : (t23,flt32,uint64,uint8)
+;;
+type t54 = struct
+field_1 : flt32
+field_2 : t2
+field_3 : t43
+;;
+
+type t56 = union
+`E_56_1
+`E_56_2
+`E_56_3
+`E_56_4
+`E_56_5
+`E_56_6
+`E_56_7
+;;
+type t57 = struct
+field_1 : t26
+field_2 : uint8
+field_3 : (uint64,t41,uint32,t23)
+field_4 : t12
+field_5 : uint32
+field_6 : flt32
+;;
+
+
+
+type t61 = struct
+field_1 : flt32
+field_2 : (uint32,flt32,flt32,(flt32,t2))
+;;
+type t62 = struct
+field_1 : t18
+field_2 : t7
+;;
+type t63 = struct
+field_1 : (uint8,flt32,uint64,t1)
+field_2 : t61
+field_3 : flt64
+field_4 : t62
+field_5 : uint64
+field_6 : flt64
+;;
+type t64 = union
+`E_64_1
+`E_64_2
+`E_64_3
+`E_64_4
+`E_64_5
+`E_64_6
+`E_64_7
+`E_64_8
+`E_64_9
+;;
+type t65 = struct
+field_1 : flt64
+field_2 : uint32
+field_3 : uint8
+field_4 : uint64
+field_5 : uint32
+field_6 : uint64
+;;
+
+
+type t68 = struct
+field_1 : t64
+field_2 : t65
+field_3 : ((t56,uint32,t57,(t19,t30,flt32,flt64)),t53)
+field_4 : ((t23,flt32,uint64,uint8),flt64)
+field_5 : (flt32,uint64,t7,t17)
+;;
+type t69 = struct
+field_1 : t29
+field_2 : uint8
+field_3 : uint64
+field_4 : uint64
+;;
+type t70 = struct
+field_1 : t69
+;;
+type t71 = struct
+field_1 : uint64
+field_2 : flt64
+field_3 : uint32
+field_4 : uint32
+field_5 : uint64
+;;
+
+
+type t74 = union
+`E_74_1
+`E_74_2
+`E_74_3
+`E_74_4
+`E_74_5
+`E_74_6
+;;
+type t75 = struct
+field_1 : uint8
+field_2 : flt64
+field_3 : uint32
+;;
+type t76 = struct
+field_1 : uint8
+field_2 : flt64
+;;
+type t77 = union
+`E_77_1
+`E_77_2
+`E_77_3
+`E_77_4
+`E_77_5
+`E_77_6
+`E_77_7
+`E_77_8
+;;
+
+type t79 = union
+`E_79_1
+`E_79_2
+`E_79_3
+`E_79_4
+`E_79_5
+`E_79_6
+`E_79_7
+`E_79_8
+`E_79_9
+`E_79_10
+;;
+type t80 = union
+`E_80_1
+`E_80_2
+`E_80_3
+`E_80_4
+`E_80_5
+`E_80_6
+;;
+
+type t82 = union
+`E_82_1
+`E_82_2
+`E_82_3
+`E_82_4
+`E_82_5
+`E_82_6
+;;
+
+type t84 = struct
+field_1 : uint8
+field_2 : uint64
+;;
+type t85 = struct
+field_1 : uint32
+field_2 : ((uint8,t1,uint32,t2),(uint8,t1,uint32,t2))
+field_3 : uint64
+field_4 : uint32
+field_5 : (t53,uint32,uint32)
+field_6 : t84
+;;
+type t86 = union
+`E_86_1
+`E_86_2
+`E_86_3
+`E_86_4
+`E_86_5
+`E_86_6
+`E_86_7
+`E_86_8
+`E_86_9
+`E_86_10
+;;
+type t87 = union
+`E_87_1
+`E_87_2
+`E_87_3
+`E_87_4
+`E_87_5
+`E_87_6
+;;
+type t88 = struct
+field_1 : t87
+field_2 : t19
+field_3 : t1
+field_4 : t48
+;;
+
+type t90 = union
+`E_90_1
+`E_90_2
+`E_90_3
+`E_90_4
+`E_90_5
+`E_90_6
+`E_90_7
+`E_90_8
+`E_90_9
+;;
+
+
+type t93 = struct
+field_1 : (flt64,flt32,(t75,t76,t77))
+field_2 : t90
+field_3 : ((flt64,uint64,uint64),flt32,t13,(uint8,flt32))
+field_4 : (uint32,t71,uint32,uint32)
+field_5 : (uint32,uint32,uint32)
+;;
+type t94 = union
+`E_94_1
+`E_94_2
+`E_94_3
+`E_94_4
+`E_94_5
+`E_94_6
+`E_94_7
+`E_94_8
+;;
+
+type t96 = struct
+field_1 : flt64
+field_2 : flt64
+;;
+
+type t98 = struct
+field_1 : (t53,uint32,uint32)
+field_2 : flt64
+field_3 : uint64
+field_4 : flt64
+field_5 : uint8
+;;
+
+type t100 = struct
+field_1 : t98
+field_2 : uint64
+field_3 : flt64
+field_4 : flt64
+field_5 : (t19,uint32)
+;;
+type t101 = struct
+field_1 : flt32
+;;
+
+;;
--- /dev/null
+++ b/test/abi/bld.proj
@@ -1,0 +1,39 @@
+bin 001-return-tuple = 
+        001_main.myr
+        001_in-c.glue.c
+        001_in-c.myr
+        001_in-myr.myr
+        001_types.myr
+;;
+
+bin 002-arg-alignment =
+        002_main.myr
+;;
+
+bin 003-ret-alignment =
+        003_main.myr
+;;
+
+bin 004-torture-1 =
+        004_main.myr
+        004_in-c.glue.c
+        004_in-c.myr
+        004_in-myr.myr
+        004_types.myr
+;;
+
+bin 005-torture-2 =
+        005_main.myr
+        005_in-c.glue.c
+        005_in-c.myr
+        005_in-myr.myr
+        005_types.myr
+;;
+
+bin 006-torture-3 =
+        006_main.myr
+        006_in-c.glue.c
+        006_in-c.myr
+        006_in-myr.myr
+        006_types.myr
+;;
--- a/test/tests
+++ b/test/tests
@@ -182,3 +182,9 @@
 B fmtnest	P	_.f2_2,_.f3__3,_4.4__
 B implexpr	P	12,z,hello
 B implexpr-concrete	P	zigzag
+B abi/001-return-tuple	E	0
+B abi/002-arg-alignment	E	0
+B abi/003-ret-alignment	E	0
+B abi/004-torture-1	E	0
+B abi/005-torture-2	E	0
+B abi/006-torture-3	E	0