shithub: mc

ref: 156c048f0239b99b870cf1694c6886e39b85ae09
dir: /test/abi/004_main.myr/

View raw version
/* 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)
}