diff --git a/benchmark-results/csv/ackermann.csv b/benchmark-results/csv/ackermann.csv
index 82722e00..13aaeb56 100644
--- a/benchmark-results/csv/ackermann.csv
+++ b/benchmark-results/csv/ackermann.csv
@@ -1,11 +1,11 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,0.6971293586876565,0.6970938914376081,0.6971781037501993,6.022167952631133e-5,2.209561057697848e-5,8.190810545120448e-5
-0x1f78b4,ocaml byte,1.8577895781666598,1.85503114162492,1.8601702075000617,3.4103454882132896e-3,2.1184561490212857e-3,4.0472253870404064e-3
-0xb2df8a,haskell,1.3623423167290791,1.362323652499981,1.3623558041873594,2.3226763932240096e-5,1.3585371814969033e-5,3.1147950675217034e-5
-0x33a02c,haskell strict,0.5260350726249499,0.5233064132501113,0.5296029591246452,4.302671194028871e-3,1.4583252920255451e-3,5.8193001355196445e-3
-0xfb9a99,juvix,2.2259131806457426,2.2148591515832927,2.243026654937296,1.9704657313393877e-2,4.495585916705069e-3,2.5528186619341583e-2
-0xe31a1c,juvix wasm,1.0724303239165351,1.0711216443334024,1.073315517916626,1.583521922567135e-3,1.0887362235685546e-3,1.983461638725415e-3
-0xfdbf6f,c,6.49433021066877e-4,6.474545700667813e-4,6.517719167913417e-4,8.683798356690586e-6,7.1897813967421135e-6,1.089842613521201e-5
-0xff7f00,c wasm,0.46334097081241526,0.46053990524994026,0.46614203637489027,3.6013091718271302e-3,2.400647874845916e-3,4.787828228643634e-3
-0xcab2d6,runtime,2.7661142599790955,2.6925274089373374,2.802671069895818,7.077343325283536e-2,1.0928806620337655e-3,8.497429055735954e-2
-0x6a3d9a,runtime wasm,2.9517789379790997,2.946910935437529,2.9595722607914468,8.506497084571255e-3,2.4247370416787817e-3,1.067997452432723e-2
+0xa6cee3,ocaml,0.6971140306249973,0.6967621565003507,0.6972830941248086,3.352459450850664e-4,6.079200003722418e-5,4.2218305383772905e-4
+0x1f78b4,ocaml byte,1.8578967357499891,1.8547402729999476,1.8607362982500035,3.6898320410239135e-3,3.2883941228464843e-3,4.187775536616148e-3
+0xb2df8a,haskell,1.3523052754792768,1.3521595846252694,1.3523892140209077,1.7059889310772758e-4,1.4930820722114645e-4,1.9384775842383936e-4
+0x33a02c,haskell strict,0.5246791982292128,0.5220882746250481,0.5272701218333775,5.1537013712183825e-3,3.853787507068773e-5,5.9812398139729205e-3
+0xfb9a99,juvix,2.20800972302078,2.1883707084998605,2.2191746106041705,2.291348119297104e-2,2.0645534793747748e-2,2.578420340697021e-2
+0xe31a1c,juvix wasm,1.0734526969372762,1.069793591124911,1.0764462948745859,4.4319098654879265e-3,2.9740685054736554e-3,5.5453051422003925e-3
+0xfdbf6f,c,6.425998703051613e-4,6.410879607807213e-4,6.454951925295942e-4,7.630184995184337e-6,4.902322955448544e-6,1.2157695285268928e-5
+0xff7f00,c wasm,0.4613445854374163,0.46065275975001896,0.46203641112481364,1.0512262281995226e-3,4.743186781476263e-4,1.459446073394493e-3
+0xcab2d6,runtime,2.7280327084793043,2.7002424972502013,2.7462442596458914,3.3644273140269756e-2,2.2584847050611246e-2,4.205777587355863e-2
+0x6a3d9a,runtime wasm,2.943928098645889,2.9387355967501207,2.947866070979198,6.75675268230135e-3,4.013039916503806e-3,9.094357546788879e-3
diff --git a/benchmark-results/csv/combinations.csv b/benchmark-results/csv/combinations.csv
index d47fb430..927e6db5 100644
--- a/benchmark-results/csv/combinations.csv
+++ b/benchmark-results/csv/combinations.csv
@@ -1,11 +1,11 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,10.787590605500062,10.786308879000066,10.789740129500046,2.364271795073817e-3,7.109690001625424e-4,2.8927096047556607e-3
-0x1f78b4,ocaml byte,56.52563326552083,56.46785865445846,56.623733330708056,0.10296037509201146,2.8632917478017328e-2,0.13342474899674261
-0xb2df8a,haskell,10.094119676895843,10.089300206250073,10.097258895458253,5.939215602325178e-3,3.654521179225492e-3,7.249714728209821e-3
-0x33a02c,haskell strict,10.102772945270866,10.098154983812549,10.10486227216673,4.446065032178721e-3,2.107309635817163e-3,5.839631381255936e-3
-0xfb9a99,juvix,12.447746662833367,12.42394048645832,12.488930516958476,4.383967298239592e-2,4.826221107658665e-3,5.4855569912867434e-2
-0xe31a1c,juvix wasm,29.741784316208186,29.72390656974966,29.766426203749916,2.9445957276737877e-2,9.80807575012932e-3,3.5998614407643625e-2
-0xfdbf6f,c,7.604203986604072,7.6031957603750016,7.604707954895693,9.726855828935947e-4,1.2952483333128484e-4,1.1641994655986322e-3
-0xff7f00,c wasm,9.795042724104158,9.792417410166687,9.796953861208255,2.9957805519672705e-3,1.707792124294845e-3,4.224810102516103e-3
-0xcab2d6,runtime,11.434246101499943,11.432366454499896,11.437718733749989,3.60126600154461e-3,2.213965091737817e-5,4.329817282133811e-3
-0x6a3d9a,runtime wasm,26.782303092708275,26.775847849166666,26.787545227875057,7.855906143379185e-3,5.367018999777429e-3,9.593045670018546e-3
+0xa6cee3,ocaml,10.782506022041767,10.781270298291853,10.783142782666724,1.1666857715376458e-3,3.750586667292666e-4,1.4705356729128316e-3
+0x1f78b4,ocaml byte,57.137292563124994,56.471577644624915,57.50021253737507,0.6714929092738928,0.434466546624556,0.8381277793102936
+0xb2df8a,haskell,10.09585480858334,10.091540196083315,10.1030927003751,7.688448241176006e-3,1.958390203514889e-3,9.964170753353086e-3
+0x33a02c,haskell strict,10.093459179687557,10.090731751375188,10.095299914750058,3.3423258689724645e-3,2.0477303459989077e-3,4.2509955353672935e-3
+0xfb9a99,juvix,12.366674256979119,12.359611312374682,12.371589688854366,8.768332911498871e-3,6.083851578036754e-3,1.1351703665428772e-2
+0xe31a1c,juvix wasm,29.781358177270857,29.74625710068733,29.798634105104234,3.3210290051859374e-2,8.51830629161121e-3,4.054115381606448e-2
+0xfdbf6f,c,7.60289782666653,7.601299044791726,7.605583359124751,2.959969843515918e-3,8.55142583380708e-4,3.6434655796139187e-3
+0xff7f00,c wasm,9.786252252520853,9.783158785166734,9.789345719874973,5.032065360674695e-3,2.1940928858222423e-3,6.9760295794088845e-3
+0xcab2d6,runtime,11.429804882062419,11.41939002700019,11.44726035118748,1.7989076324752162e-2,2.432380999986883e-3,2.166576528039413e-2
+0x6a3d9a,runtime wasm,26.78820689016669,26.77721837950014,26.809511245499834,2.141942216431268e-2,4.4844399997145956e-4,2.4919740325250392e-2
diff --git a/benchmark-results/csv/cps.csv b/benchmark-results/csv/cps.csv
index 64a76e2c..e53fd0cc 100644
--- a/benchmark-results/csv/cps.csv
+++ b/benchmark-results/csv/cps.csv
@@ -1,11 +1,11 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,0.40595535416673556,0.4055939315833257,0.40662525687514517,6.604742508886605e-4,1.0348491673539684e-4,7.795155840114623e-4
-0x1f78b4,ocaml byte,3.102258626104117,3.1009435652501907,3.104615043312492,2.391416572205389e-3,2.3736483308312017e-4,2.861160326456559e-3
-0xb2df8a,haskell,184.4755869287917,179.33995722775035,187.42024724916655,5.0614806559867045,2.6805622005317953,6.80040171456172
-0x33a02c,haskell strict,1.7120158417913747,1.7118670724994445,1.7122051039162518,2.1537449752443062e-4,7.463425026799086e-5,2.658746099404914e-4
-0xfb9a99,juvix,2.0192184454792823,2.017106343354044,2.021985073833548,3.6344045683442327e-3,1.688314927174927e-3,4.565951943184714e-3
-0xe31a1c,juvix wasm,2.0635572613958857,2.0588379460000397,2.066282694562574,4.655406364975597e-3,2.4765693333392846e-3,6.294118289782979e-3
-0xfdbf6f,c,0.1711944968696339,0.1711263889595232,0.17134251207114307,1.6242129977787502e-4,6.569434423007217e-5,2.331209207016183e-4
-0xff7f00,c wasm,0.2645031054169037,0.260514663467208,0.2665114841667188,4.219610899777202e-3,1.4036605429867829e-3,5.461628443635067e-3
-0xcab2d6,runtime,0.4088447987289025,0.4086969775829251,0.4091269846248906,2.853770329351067e-4,6.950083237228233e-6,3.324055613919575e-4
-0x6a3d9a,runtime wasm,0.48714995022930907,0.48271099266730744,0.48938954706238746,4.30082983193337e-3,6.469465244748236e-4,5.449139948923347e-3
+0xa6cee3,ocaml,0.40536247956244625,0.40521801193739293,0.4055359892499837,2.1467926407724183e-4,9.005406080085437e-5,2.7676497631949875e-4
+0x1f78b4,ocaml byte,3.0882553986249377,3.05385503962475,3.1035044555000013,3.3904613300664375e-2,7.848297000009552e-3,4.4253329443591755e-2
+0xb2df8a,haskell,179.04152405343737,172.938285031,185.4408460551249,8.055737344108381,0.1542682895518812,9.753642886117158
+0x33a02c,haskell strict,1.7118803699374137,1.7117456546251713,1.7121088298747509,2.350271581349758e-4,3.911937759707855e-5,2.9473269332857546e-4
+0xfb9a99,juvix,2.003385570125033,2.0008198942500712,2.0049402732500994,3.0299344781509227e-3,2.3685011878510354e-3,3.590433071067751e-3
+0xe31a1c,juvix wasm,2.0537935566669225,2.0521962190002796,2.0548593125004118,1.8657786039155554e-3,1.6474113301706303e-3,2.066452083674718e-3
+0xfdbf6f,c,0.17117806196182736,0.17110436566185946,0.1712783714139732,1.6039365809684722e-4,1.2173195884930538e-4,2.0587992129465465e-4
+0xff7f00,c wasm,0.2669316368102227,0.2644210809102515,0.27142077516029534,5.038266088389266e-3,1.2466473506707607e-3,6.601155096134642e-3
+0xcab2d6,runtime,0.4088932358331097,0.40871667616617435,0.4090697955000451,2.9420672116922306e-4,9.117897813702575e-5,3.936591606094573e-4
+0x6a3d9a,runtime wasm,0.4847795824998684,0.48044782174997636,0.4868673904998104,4.188183416551357e-3,6.522167097125324e-4,5.248842562890401e-3
diff --git a/benchmark-results/csv/fibonacci.csv b/benchmark-results/csv/fibonacci.csv
index f9700542..3c9dfab9 100644
--- a/benchmark-results/csv/fibonacci.csv
+++ b/benchmark-results/csv/fibonacci.csv
@@ -1,11 +1,11 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,0.4033965447499715,0.4030452555000039,0.40406424349995024,6.806138461203864e-4,6.333424996304848e-5,8.075600457389585e-4
-0x1f78b4,ocaml byte,2.145357461354133,2.145057075854164,2.1455509799166443,3.2098949004878593e-4,1.6441063790334758e-4,4.469119766367822e-4
-0xb2df8a,haskell,179.90508058216673,171.8786654850001,184.70217155233343,9.443661690884621,8.10275258699994,11.078407051811404
-0x33a02c,haskell strict,1.7119401502082876,1.7118330908332762,1.7120530056666516,2.0923932298178214e-4,1.1592166705098883e-5,2.460707358778295e-4
-0xfb9a99,juvix,0.30978066968662765,0.3097323154200694,0.3098377703331304,7.947623926765918e-5,4.476858478393128e-5,1.0290852384534849e-4
-0xe31a1c,juvix wasm,0.38097792958329063,0.38039822008327445,0.38135252958333393,6.737461836357046e-4,2.963205994669364e-4,8.651016434537356e-4
-0xfdbf6f,c,0.1925563737609688,0.19253982924446975,0.19258365597190477,3.48003930164655e-5,1.4480003904167629e-5,4.847373446119801e-5
-0xff7f00,c wasm,0.25382335996988026,0.25014779654979974,0.2569466456499413,5.056961563172879e-3,3.882869047447412e-3,6.585056751145755e-3
-0xcab2d6,runtime,0.30977842741330885,0.30971742589333795,0.3098885598332496,1.2333884263596008e-4,1.859281175400993e-5,1.5983059662331232e-4
-0x6a3d9a,runtime wasm,0.3821865552501625,0.3790901893750818,0.38371961912533453,2.9204131816730344e-3,9.373160003936787e-4,3.5757163050665745e-3
+0xa6cee3,ocaml,0.40285352285416326,0.40281320431250833,0.40287975218748784,4.359211461027169e-5,2.2940766586972805e-5,6.0574050622408114e-5
+0x1f78b4,ocaml byte,2.1484161846459053,2.1482526051667508,2.1486741167708296,2.8900235763314555e-4,6.774724285600015e-5,3.777706252949123e-4
+0xb2df8a,haskell,170.43014473331255,166.95530331987501,173.86394771037504,5.194203936911158,2.9737620632962503,7.30078497365162
+0x33a02c,haskell strict,1.7122548160000501,1.7120649382500424,1.7124252263750748,2.421985865582563e-4,1.243061110698906e-4,3.141977692506937e-4
+0xfb9a99,juvix,0.3097741823132613,0.3096722107798996,0.30984271334661273,1.3745239959179562e-4,1.1731300485239505e-4,1.5632996827393624e-4
+0xe31a1c,juvix wasm,0.3800241880208925,0.37695250329166663,0.3821199822084888,3.807903974410622e-3,2.276119208074677e-3,4.8400293534991345e-3
+0xfdbf6f,c,0.19252033789443126,0.19246785322786764,0.19259033477779516,9.3765480747721e-5,5.293342385130268e-5,1.2660698902001075e-4
+0xff7f00,c wasm,0.254853560480063,0.2512067084799977,0.2587606848802898,5.485344836468278e-3,3.7551156816572444e-3,7.90230663464142e-3
+0xcab2d6,runtime,0.3096293836300568,0.30962057169996726,0.30964313264009735,1.6189100276761613e-5,6.719757694797566e-6,2.1712489070144254e-5
+0x6a3d9a,runtime wasm,0.37667616639589596,0.3745581260000108,0.3777011141876301,2.014944931714841e-3,9.370579485488868e-4,2.5243892370231326e-3
diff --git a/benchmark-results/csv/fold.csv b/benchmark-results/csv/fold.csv
index a742a238..f1bc666f 100644
--- a/benchmark-results/csv/fold.csv
+++ b/benchmark-results/csv/fold.csv
@@ -1,9 +1,9 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,0.4142782329165963,0.4140645626245032,0.4143878597917971,2.0252636145489219e-4,4.688958332130233e-5,2.4689361740506835e-4
-0x1f78b4,ocaml byte,3.1075943162921553,3.105223918001002,3.1121212375420177,4.568992798428431e-3,2.5908366645421843e-4,5.377016386997418e-3
-0xb2df8a,haskell,1.6947052659377277,1.6921541999374767,1.699799081125775,5.096173087550613e-3,1.5323375464504352e-5,5.890678192137169e-3
-0x33a02c,haskell strict,1.6936238250207605,1.6921621952496935,1.694876386020989,1.722026703301467e-3,1.4574687531311937e-3,1.9420892965215045e-3
-0xfb9a99,juvix,0.3823447611663748,0.3820213554995462,0.38288494562493725,5.554012525933262e-4,1.8107413850639953e-4,7.468733952037181e-4
-0xe31a1c,juvix wasm,0.6217251402918009,0.6201761608749621,0.6242228653754864,2.614861791773429e-3,5.752874929123631e-4,3.341609250410372e-3
-0xcab2d6,runtime,0.4246462427916337,0.4245443161245248,0.4247963516247637,1.677157846259147e-4,3.9707842002505985e-5,2.142871131018151e-4
-0x6a3d9a,runtime wasm,1.2022991245831918,1.2002697071666262,1.2038546524998992,2.5778526126628513e-3,1.646140825979975e-3,3.417393978376633e-3
+0xa6cee3,ocaml,0.41643988237497825,0.414163934250079,0.4180961679997684,2.6936915454371887e-3,2.2201820745534617e-3,3.091634480991924e-3
+0x1f78b4,ocaml byte,3.103009384395591,3.1029501218747555,3.103063357749761,7.683101493557972e-5,3.607676109259483e-5,1.0561160553772122e-4
+0xb2df8a,haskell,1.6947637600623768,1.6921769401250608,1.6998496367499076,5.113368825734679e-3,7.726712518285606e-5,5.965924876385924e-3
+0x33a02c,haskell strict,1.6911478445627683,1.6865591516877885,1.6938398480003038,4.627047089999633e-3,1.7656812304280697e-3,6.336329570554548e-3
+0xfb9a99,juvix,0.38262905764588595,0.38260768791678856,0.38264129643755496,2.47507178250322e-5,2.2161756767022525e-5,2.6346368915140324e-5
+0xe31a1c,juvix wasm,0.6175366217291867,0.6134303798335168,0.6211474078124866,5.390570711971215e-3,2.9700212963704956e-3,7.247226059807019e-3
+0xcab2d6,runtime,0.4244632143746685,0.42432895049932995,0.42455950262490205,1.579359299096765e-4,1.3764792118735203e-4,1.8146263356532034e-4
+0x6a3d9a,runtime wasm,1.195986314041723,1.1936836253336573,1.1971988052915397,2.6658370405647377e-3,2.3474788908559446e-3,2.8001285978867057e-3
diff --git a/benchmark-results/csv/mapfold.csv b/benchmark-results/csv/mapfold.csv
index 9abba981..839db85e 100644
--- a/benchmark-results/csv/mapfold.csv
+++ b/benchmark-results/csv/mapfold.csv
@@ -1,9 +1,9 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,1.9699135513543145,1.9684326794379103,1.9717036839372213,2.3984150529719125e-3,1.1271650498521902e-3,3.202751457913845e-3
-0x1f78b4,ocaml byte,5.960988828270804,5.955219760374803,5.964525761270882,6.842322373570899e-3,5.753484474129924e-3,8.168196878801949e-3
-0xb2df8a,haskell,2.24227118489614,2.242234045624855,2.2423337888127435,6.737641377018966e-5,1.1616968995671454e-5,8.571231471071011e-5
-0x33a02c,haskell strict,2.200293253562753,2.1983803381253892,2.2015643551877324,2.436094432223064e-3,1.2838049827421506e-3,2.9354834613972897e-3
-0xfb9a99,juvix,3.4693426583539804,3.459371489187106,3.4882927676662803,1.911909094814883e-2,3.446652170634307e-4,2.2682763593457632e-2
-0xe31a1c,juvix wasm,1.3289944291043791,1.3250188959374327,1.333125650000511,5.278266711670831e-3,2.720508671467182e-3,6.537464837434783e-3
-0xcab2d6,runtime,3.29571017758326,3.2919214553330676,3.2978128589165863,3.7300914380630585e-3,8.834339996610652e-4,4.884890479581992e-3
-0x6a3d9a,runtime wasm,3.4977648907085572,3.4970310511668385,3.498229608625479,9.020050950720235e-4,5.452362919825968e-4,1.0683850377034422e-3
+0xa6cee3,ocaml,1.9640454347295038,1.9633880912501809,1.9643931686043363,6.39328671396479e-4,2.681634049214695e-4,8.697918446551689e-4
+0x1f78b4,ocaml byte,5.936142567479503,5.931934717833732,5.9389537581879495,5.184323237085902e-3,3.3623974492664405e-3,6.492166849060842e-3
+0xb2df8a,haskell,2.242128085791933,2.2420500093339797,2.242212745791676,1.1354132856037565e-4,5.116355903540744e-5,1.5633654179457532e-4
+0x33a02c,haskell strict,2.1961635992502124,2.1934840763749435,2.1999896591257766,4.578458028692762e-3,1.5098428514449232e-3,6.188093013345172e-3
+0xfb9a99,juvix,3.42507133758348,3.414126287875206,3.4327096045834273,1.2793554823442462e-2,7.636687547215144e-3,1.763982203424774e-2
+0xe31a1c,juvix wasm,1.3173960323331737,1.3137968484998055,1.3191926896665414,3.4062207900377632e-3,8.981036665621778e-4,4.155990561524835e-3
+0xcab2d6,runtime,3.2665691189791155,3.2633290200001284,3.272426751687476,6.011492524036631e-3,3.1277200014301343e-4,7.068245043148608e-3
+0x6a3d9a,runtime wasm,3.487500511749772,3.486175233749691,3.4888257897498534,1.8984169244879924e-3,7.698284326879874e-4,2.5625252909151127e-3
diff --git a/benchmark-results/csv/mapfun.csv b/benchmark-results/csv/mapfun.csv
index 7cb44dd4..09079496 100644
--- a/benchmark-results/csv/mapfun.csv
+++ b/benchmark-results/csv/mapfun.csv
@@ -1,9 +1,9 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,0.2694505857135118,0.2690298672933932,0.2698713041336305,6.57052033949149e-4,4.0313487392463815e-4,9.273543206973029e-4
-0x1f78b4,ocaml byte,0.9737093534375466,0.9725854013749995,0.9745065921876328,1.3525449828574421e-3,7.693632385400316e-4,1.8411440278825939e-3
-0xb2df8a,haskell,2.6005921151878133,2.5972464725000464,2.6022612852507336,3.3392851310364052e-3,1.3283124644658528e-5,3.8632277572806487e-3
-0x33a02c,haskell strict,1.2621554313123322,1.26212692437457,1.2621708775625016,2.716394669926711e-5,1.0331647630778002e-5,3.567158677287241e-5
-0xfb9a99,juvix,1.8274679368546458,1.8251923514167174,1.831235621563792,4.1092630698148554e-3,5.815037084175856e-4,5.255239460607781e-3
-0xe31a1c,juvix wasm,1.551264944958272,1.547078680249797,1.5534515513333342,4.0738441676934625e-3,3.738960832985194e-4,5.049751117015613e-3
-0xcab2d6,runtime,3.7048879428124337,3.6999993140624383,3.710532059812408,6.855646630426918e-3,2.755427000010968e-3,8.36477602604958e-3
-0x6a3d9a,runtime wasm,2.2305927726876384,2.2259016478748586,2.2341041328751694,5.8692299761494825e-3,3.271211625057502e-3,8.109138997970925e-3
+0xa6cee3,ocaml,0.26719459939650425,0.2653029862900621,0.2681659042332588,1.9953427732920075e-3,3.3138186911551865e-4,2.593536255478218e-3
+0x1f78b4,ocaml byte,0.9720161458748559,0.9711562133749491,0.972688678999854,1.1336018414523053e-3,5.510877844847458e-4,1.553148723026497e-3
+0xb2df8a,haskell,2.593563482458535,2.592265310458856,2.5961280705832905,2.5329559177699732e-3,7.333705099906622e-5,2.997999813875829e-3
+0x33a02c,haskell strict,1.2539702465209455,1.2521064576670446,1.255760782374864,2.3513532396320248e-3,1.277562528638942e-3,2.846477988968068e-3
+0xfb9a99,juvix,1.8242392371044314,1.822472232125392,1.8255242067918214,2.1896157382399113e-3,1.2186742496851366e-3,2.6735193890104056e-3
+0xe31a1c,juvix wasm,1.547532627791649,1.5452789388746169,1.5498125248335177,3.2169907869985487e-3,1.1217728336608834e-3,3.969884988422547e-3
+0xcab2d6,runtime,3.592357252916296,3.5829568724993806,3.598826990416607,1.1598543470716297e-2,7.757747266190111e-3,1.4941218749562299e-2
+0x6a3d9a,runtime wasm,2.218089547624951,2.206146761500046,2.2246098637498712,1.1406390502398377e-2,4.518315106793498e-3,1.505802507969631e-2
diff --git a/benchmark-results/csv/maybe.csv b/benchmark-results/csv/maybe.csv
index 0bf57b60..005014a1 100644
--- a/benchmark-results/csv/maybe.csv
+++ b/benchmark-results/csv/maybe.csv
@@ -1,11 +1,11 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,0.4231067206458003,0.4226323882916935,0.4233844923124366,5.579201748930479e-4,4.8692383768191293e-4,6.414861860228701e-4
-0x1f78b4,ocaml byte,4.263752689187527,4.236246832000006,4.283392259000152,3.235460010221579e-2,2.7464459130446615e-2,3.673100103202016e-2
-0xb2df8a,haskell,14.742478077395939,14.599346511583386,14.8158942108127,0.13968491936915348,9.254346117815698e-3,0.16542415315419484
-0x33a02c,haskell strict,0.7542787380208628,0.7519759144998943,0.756982819500081,3.1536873194340327e-3,1.2696571711429505e-3,3.8610203025830785e-3
-0xfb9a99,juvix,2.9578859741250767,2.945867486624877,2.972095747375306,1.8227458937902053e-2,8.06917635311939e-3,2.3906452581936074e-2
-0xe31a1c,juvix wasm,3.0263184216249592,3.0158565422500105,3.0339705323748944,1.2566781349058493e-2,9.4525652499442e-3,1.5340881678302765e-2
-0xfdbf6f,c,0.45780710412505715,0.4572939437499599,0.45820770312502646,6.21208985978726e-4,4.0043073017246596e-4,7.242818712656161e-4
-0xff7f00,c wasm,0.6165261700626274,0.6137223595003434,0.6191267794999931,3.8853173457019468e-3,2.1182833748980556e-3,5.361238803554415e-3
-0xcab2d6,runtime,0.9004370662080797,0.9001091892499744,0.9006187487497073,3.1478515408716684e-4,1.2927476929922837e-4,4.1957785726279127e-4
-0x6a3d9a,runtime wasm,1.9534849875205964,1.9488191478120598,1.9561762698540406,4.68505071728661e-3,1.2790817115932388e-3,6.2152503187171216e-3
+0xa6cee3,ocaml,0.4217602623957646,0.4203414585624614,0.42243427447908743,1.3551685796823882e-3,2.521254466153857e-4,1.7200228693654066e-3
+0x1f78b4,ocaml byte,4.234187039145809,4.232991328458297,4.236396351687517,2.186528283392931e-3,3.2377925003856944e-4,2.761375549230856e-3
+0xb2df8a,haskell,13.93071599664601,13.906151757062503,13.973578226250424,4.499808072889162e-2,9.242474138093516e-3,5.5270724304864384e-2
+0x33a02c,haskell strict,0.7521819368542803,0.7519534316667583,0.7524389740002562,3.156955942575534e-4,1.404830416428804e-4,3.842164341066352e-4
+0xfb9a99,juvix,2.9155440542084725,2.9131275542500816,2.919173841875022,4.031944087986355e-3,8.786667764669708e-4,5.24021223478765e-3
+0xe31a1c,juvix wasm,3.0002041789374325,2.986215699499894,3.0069357249374393,1.3228182751838619e-2,4.697016999746895e-3,1.6175274171543706e-2
+0xfdbf6f,c,0.45810135974990845,0.4576703748749272,0.458933211624867,8.284336606172584e-4,4.5118999992155295e-5,9.953169343483905e-4
+0xff7f00,c wasm,0.6129810314377172,0.6100230179374838,0.617271610500552,5.085066554234417e-3,1.6109644810235772e-3,6.831239562505184e-3
+0xcab2d6,runtime,0.9024542899166667,0.9009792806250516,0.903946962083334,2.0072675059644974e-3,8.452680832912729e-4,2.471147198097788e-3
+0x6a3d9a,runtime wasm,1.9529831578332733,1.9493695845831098,1.9559639481250315,5.229620917548591e-3,3.4922659889007873e-3,6.68413504373819e-3
diff --git a/benchmark-results/csv/mergesort.csv b/benchmark-results/csv/mergesort.csv
index 76380c5d..4d9de621 100644
--- a/benchmark-results/csv/mergesort.csv
+++ b/benchmark-results/csv/mergesort.csv
@@ -1,11 +1,11 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,3.4914409827499973,3.487083235874991,3.498623195250005,7.7370862535074275e-3,1.180320456578187e-3,9.742075074409993e-3
-0x1f78b4,ocaml byte,5.261565228874983,5.257577681749993,5.264902098125013,5.137075737337492e-3,2.963343473809137e-3,6.8408590834918e-3
-0xb2df8a,haskell,7.3341417957499955,7.259635965000021,7.40864762649997,0.12083692047864274,4.548498607934108e-2,0.16480612101713457
-0x33a02c,haskell strict,7.4747084809167035,7.332845447500091,7.570959579416652,0.17945755093185967,9.605906543397817e-2,0.2222823905149693
-0xfb9a99,juvix,3.556173385500036,3.5432926461249963,3.5756573799999956,2.079401045167809e-2,4.184989500079839e-3,2.553566777989992e-2
-0xe31a1c,juvix wasm,1.6283890438333657,1.4327386236666655,1.7653305690834031,0.22980674786273364,0.19617483680791536,0.2567552043258461
-0xfdbf6f,c,0.1341624993148941,0.1338306188690515,0.1344708993500106,5.94369911067167e-4,4.899796383956263e-4,7.257680436710997e-4
-0xff7f00,c wasm,0.2356454794860844,0.23424461608334216,0.23817316513879583,3.0063347509074216e-3,1.2523876440139368e-3,4.16888192461449e-3
-0xcab2d6,runtime,1.4536488353750059,1.451158174249997,1.4560489777500152,3.748663168997915e-3,2.136560719147331e-3,5.276711837847677e-3
-0x6a3d9a,runtime wasm,0.7771452384375171,0.7735441480000418,0.7798130205625,4.253976679552831e-3,3.434943757524543e-3,4.932437727937587e-3
+0xa6cee3,ocaml,3.357617006458329,3.356729828875011,3.3591235614999846,1.5599636690079137e-3,2.9011177449874705e-4,2.010614518202344e-3
+0x1f78b4,ocaml byte,5.196657362541655,5.18082536837499,5.207835337833311,1.884442441810357e-2,1.0747996201199265e-2,2.5814428174531553e-2
+0xb2df8a,haskell,6.269777978791654,6.259427795249977,6.2783960339999965,1.233189590620773e-2,8.938306627388586e-3,1.4738813023547912e-2
+0x33a02c,haskell strict,6.411681181625004,6.407404406875017,6.41962493600001,8.050594113090387e-3,2.219885803972487e-4,9.545096116456027e-3
+0xfb9a99,juvix,3.3875660058541968,3.380264106250138,3.3920082704374437,8.106490668570962e-3,3.7634208566776723e-3,1.1076889122387986e-2
+0xe31a1c,juvix wasm,1.4033898045624984,1.3931228427499982,1.4211792211250156,1.8550637463083042e-2,1.5846322499820653e-3,2.2817660617861245e-2
+0xfdbf6f,c,0.13017544100939357,0.12998420240939743,0.13052830925002232,4.7279539281729034e-4,1.8505861521000858e-4,6.992383731643512e-4
+0xff7f00,c wasm,0.22934208814719959,0.22809124613331733,0.2307177194721943,2.2270319124922926e-3,1.570413237265454e-3,3.152941291653433e-3
+0xcab2d6,runtime,1.3921258554166467,1.3891937504999703,1.3940678473333228,3.5597712740267173e-3,2.4497883905091195e-3,4.484838223427967e-3
+0x6a3d9a,runtime wasm,0.763803267999999,0.7629622619999736,0.7643878597500114,1.0455164959263785e-3,6.467639276776445e-4,1.3500568169429225e-3
diff --git a/benchmark-results/csv/prime.csv b/benchmark-results/csv/prime.csv
index 005a8a93..07ab9853 100644
--- a/benchmark-results/csv/prime.csv
+++ b/benchmark-results/csv/prime.csv
@@ -1,11 +1,11 @@
Color,Name,Mean,MeanLB,MeanUB,Stddev,StddevLB,StddevUB
-0xa6cee3,ocaml,16.24127537349989,16.23875577399997,16.243859144499766,3.2924830855837798e-3,1.7007204996843939e-3,4.039492068465002e-3
-0x1f78b4,ocaml byte,29.684320037270595,29.681386644999975,29.68665816049952,3.527498396945903e-3,1.8391270064283458e-3,4.935252261896694e-3
-0xb2df8a,haskell,22.539825841375166,22.534421379875425,22.543572889875083,6.284991217953729e-3,3.4475073488819154e-3,8.653437840375998e-3
-0x33a02c,haskell strict,22.545025540625375,22.536877406000713,22.55628076687526,1.378106183752243e-2,5.042442324799334e-3,1.881731087576745e-2
-0xfb9a99,juvix,13.049077032708169,13.048161043749815,13.050090150499727,1.3232551682493415e-3,5.66283267189766e-4,1.8069088887913245e-3
-0xe31a1c,juvix wasm,5.814510375603845,5.809200833999057,5.816328016916486,3.623785274695503e-3,6.114003747370589e-4,4.393095123580796e-3
-0xfdbf6f,c,0.36348334431253687,0.3632364082500317,0.36386197631247796,4.092435785848773e-4,1.0808987531163439e-4,5.176620665751966e-4
-0xff7f00,c wasm,0.5913304431662331,0.5893207120415885,0.5934936363325203,2.7785899120592425e-3,1.8498056238223873e-3,3.690622394384362e-3
-0xcab2d6,runtime,13.038990374667113,13.038316150000355,13.039664599333872,1.1247468024896316e-3,4.187557506156736e-4,1.5347887918067355e-3
-0x6a3d9a,runtime wasm,6.322481087687417,6.319145689499844,6.32686641774967,5.635411746483558e-3,2.7284303940251103e-3,7.1088543973973056e-3
+0xa6cee3,ocaml,16.23708536210438,16.23600585187546,16.239174917124956,2.0952190014572763e-3,5.606337481367518e-5,2.4452952153538633e-3
+0x1f78b4,ocaml byte,29.694125963958072,29.682252288749396,29.708090191374936,1.7218045146668477e-2,4.750740834746274e-3,2.3057187271365135e-2
+0xb2df8a,haskell,22.52155091006269,22.50566104712516,22.53510870706259,2.004809257198737e-2,1.1565747716953411e-2,2.604976586283997e-2
+0x33a02c,haskell strict,22.524423764708217,22.501835642082824,22.539482466458367,2.5130959911124733e-2,1.2590328322111679e-2,3.477658203638004e-2
+0xfb9a99,juvix,13.040741037979123,13.040238397374878,13.04104743141655,6.029164877822187e-4,4.14032249864249e-4,7.075853343051387e-4
+0xe31a1c,juvix wasm,5.808442829374826,5.802117886749784,5.813519137499952,7.643280848643567e-3,5.0046793449938475e-3,9.42429686748968e-3
+0xfdbf6f,c,0.36311611985422587,0.3630901820415602,0.3631662162504199,4.9881690068572284e-5,2.7001249236491276e-6,5.9900812498901126e-5
+0xff7f00,c wasm,0.58760143985387,0.583178539436858,0.5897515632707382,4.188809466498239e-3,1.008833958167088e-3,5.2487536513641285e-3
+0xcab2d6,runtime,13.03448730974992,13.033667283749764,13.03572394212506,1.3532913513032532e-3,2.2706695320833816e-4,1.7345943242826234e-3
+0x6a3d9a,runtime wasm,6.315501296166872,6.31240790066704,6.317075088333468,3.034516831757095e-3,1.39709794846079e-3,4.16297487818123e-3
diff --git a/benchmark-results/plot/ackermann.svg b/benchmark-results/plot/ackermann.svg
index afdf51ed..f373df0c 100644
--- a/benchmark-results/plot/ackermann.svg
+++ b/benchmark-results/plot/ackermann.svg
@@ -218,30 +218,30 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
Mean
@@ -249,31 +249,31 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
0.6971
- 1.8578
+ 1.8579
-
- 1.3623
+
+ 1.3523
-
- 0.5260
+
+ 0.5247
-
- 2.2259
+
+ 2.2080
-
- 1.0724
+
+ 1.0735
0.0006
-
- 0.4633
+
+ 0.4613
-
- 2.7661
+
+ 2.7280
-
- 2.9518
+
+ 2.9439
@@ -305,12 +305,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.5
+
+ 0.2
@@ -318,12 +318,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1
+
+ 0.4
@@ -331,12 +331,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1.5
+
+ 0.6
@@ -344,12 +344,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 2
+
+ 0.8
@@ -357,12 +357,25 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 2.5
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.2
@@ -375,7 +388,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
- 3
+ 1.4
@@ -442,68 +455,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.01%
+
+ 0.05%
-
- 0.18%
+
+ 0.20%
-
- 0.00%
+
+ 0.01%
-
- 0.82%
+
+ 0.98%
-
- 0.89%
+
+ 1.04%
-
- 0.15%
+
+ 0.41%
-
- 1.34%
+
+ 1.19%
-
- 0.78%
+
+ 0.23%
-
- 2.56%
+
+ 1.23%
-
- 0.29%
+
+ 0.23%
@@ -531,7 +544,7 @@ gnuplot_svg.plot_height = 420.3;
gnuplot_svg.plot_axis_xmin = -1;
gnuplot_svg.plot_axis_xmax = 10.5;
gnuplot_svg.plot_axis_ymin = 0;
-gnuplot_svg.plot_axis_ymax = 3;
+gnuplot_svg.plot_axis_ymax = 1.4;
gnuplot_svg.polar_mode = false;
gnuplot_svg.plot_axis_x2min = "none"
gnuplot_svg.plot_axis_y2min = "none"
diff --git a/benchmark-results/plot/combinations.svg b/benchmark-results/plot/combinations.svg
index 8684e335..c657358e 100644
--- a/benchmark-results/plot/combinations.svg
+++ b/benchmark-results/plot/combinations.svg
@@ -215,30 +215,30 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
@@ -246,34 +246,34 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
Mean
- 10.7876
+ 10.7825
-
- 56.5256
+
+ 57.1373
- 10.0941
+ 10.0959
-
- 10.1028
+
+ 10.0935
-
- 12.4477
+
+ 12.3667
-
- 29.7418
+
+ 29.7814
-
- 7.6042
+
+ 7.6029
-
- 9.7950
+
+ 9.7863
-
- 11.4342
+
+ 11.4298
- 26.7823
+ 26.7882
@@ -292,11 +292,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0
@@ -305,38 +305,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.05
-
-
-
-
-
-
-
-
-
-
-
-
- 0.1
-
-
-
-
-
-
-
-
-
-
-
-
- 0.15
+
+ 0.2
@@ -344,12 +318,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.2
+
+ 0.4
@@ -357,12 +331,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.25
+
+ 0.6
@@ -370,12 +344,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.3
+
+ 0.8
@@ -383,12 +357,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.35
+
+ 1
@@ -396,70 +370,70 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.4
+
+ 1.2
-
+
ocaml
-
+
ocaml byte
-
+
haskell
-
+
haskell strict
-
+
juvix
-
+
juvix wasm
-
+
c
-
+
c wasm
-
+
runtime
-
+
runtime wasm
-
+
-
+
Standard deviation
@@ -468,68 +442,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.02%
+
+ 0.01%
-
- 0.18%
+
+ 1.18%
-
- 0.06%
+
+ 0.08%
-
- 0.04%
+
+ 0.03%
-
- 0.35%
+
+ 0.07%
-
- 0.10%
+
+ 0.11%
-
- 0.01%
+
+ 0.04%
-
- 0.03%
+
+ 0.05%
-
- 0.03%
+
+ 0.16%
-
- 0.03%
+
+ 0.08%
@@ -540,7 +514,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
@@ -548,16 +522,16 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
// plot boundaries and axis scaling information for mousing
gnuplot_svg.plot_term_xmax = 800;
gnuplot_svg.plot_term_ymax = 1100;
-gnuplot_svg.plot_xmin = 62.2;
+gnuplot_svg.plot_xmin = 53.9;
gnuplot_svg.plot_xmax = 775.0;
gnuplot_svg.plot_ybot = 1042.3;
gnuplot_svg.plot_ytop = 622.0;
-gnuplot_svg.plot_width = 712.8;
+gnuplot_svg.plot_width = 721.1;
gnuplot_svg.plot_height = 420.3;
gnuplot_svg.plot_axis_xmin = -1;
gnuplot_svg.plot_axis_xmax = 10.5;
gnuplot_svg.plot_axis_ymin = 0;
-gnuplot_svg.plot_axis_ymax = 0.4;
+gnuplot_svg.plot_axis_ymax = 1.2;
gnuplot_svg.polar_mode = false;
gnuplot_svg.plot_axis_x2min = "none"
gnuplot_svg.plot_axis_y2min = "none"
diff --git a/benchmark-results/plot/cps.svg b/benchmark-results/plot/cps.svg
index d66d5c8a..bec0a9b5 100644
--- a/benchmark-results/plot/cps.svg
+++ b/benchmark-results/plot/cps.svg
@@ -70,11 +70,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
20
@@ -83,11 +83,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
40
@@ -96,11 +96,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
60
@@ -109,11 +109,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
80
@@ -122,11 +122,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
100
@@ -135,11 +135,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
120
@@ -148,11 +148,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
140
@@ -161,11 +161,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
160
@@ -173,26 +173,13 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
-
-
-
-
-
- 180
-
-
-
-
-
-
- 200
+ 180
@@ -267,65 +254,65 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
Mean
- 0.4060
+ 0.4054
-
- 3.1023
+
+ 3.0883
-
- 184.4756
+
+ 179.0415
-
- 1.7120
+
+ 1.7119
-
- 2.0192
+
+ 2.0034
-
- 2.0636
+
+ 2.0538
0.1712
- 0.2645
+ 0.2669
-
- 0.4088
+
+ 0.4089
-
- 0.4871
+
+ 0.4848
@@ -357,11 +344,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.5
@@ -370,11 +357,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1
@@ -383,11 +370,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1.5
@@ -396,11 +383,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2
@@ -409,11 +396,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2.5
@@ -421,13 +408,52 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
+
+
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.5
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
- 3
+ 4.5
@@ -494,68 +520,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.16%
+
+ 0.05%
-
- 0.08%
+
+ 1.10%
-
- 2.74%
+
+ 4.50%
-
+
0.01%
-
- 0.18%
+
+ 0.15%
-
- 0.23%
+
+ 0.09%
-
+
0.09%
-
- 1.60%
+
+ 1.89%
-
+
0.07%
-
- 0.88%
+
+ 0.86%
@@ -583,7 +609,7 @@ gnuplot_svg.plot_height = 420.3;
gnuplot_svg.plot_axis_xmin = -1;
gnuplot_svg.plot_axis_xmax = 10.5;
gnuplot_svg.plot_axis_ymin = 0;
-gnuplot_svg.plot_axis_ymax = 3;
+gnuplot_svg.plot_axis_ymax = 4.5;
gnuplot_svg.polar_mode = false;
gnuplot_svg.plot_axis_x2min = "none"
gnuplot_svg.plot_axis_y2min = "none"
diff --git a/benchmark-results/plot/fibonacci.svg b/benchmark-results/plot/fibonacci.svg
index d19e14fe..75d2e954 100644
--- a/benchmark-results/plot/fibonacci.svg
+++ b/benchmark-results/plot/fibonacci.svg
@@ -257,9 +257,9 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
@@ -285,34 +285,34 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
Mean
- 0.4034
+ 0.4029
- 2.1454
+ 2.1484
-
- 179.9051
+
+ 170.4301
- 1.7119
+ 1.7123
0.3098
- 0.3810
+ 0.3800
- 0.1926
+ 0.1925
- 0.2538
+ 0.2549
- 0.3098
+ 0.3096
- 0.3822
+ 0.3767
@@ -331,11 +331,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0
@@ -344,11 +344,24 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
+ 0.5
+
+
+
+
+
+
+
+
+
+
+
+
1
@@ -357,12 +370,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 2
+
+ 1.5
@@ -370,12 +383,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 3
+
+ 2
@@ -383,12 +396,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 4
+
+ 2.5
@@ -396,12 +409,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 5
+
+ 3
@@ -409,70 +422,70 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 6
+
+ 3.5
-
+
ocaml
-
+
ocaml byte
-
+
haskell
-
+
haskell strict
-
+
juvix
-
+
juvix wasm
-
+
c
-
+
c wasm
-
+
runtime
-
+
runtime wasm
-
+
-
+
Standard deviation
@@ -481,68 +494,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.17%
+
+ 0.01%
-
+
0.01%
-
- 5.25%
+
+ 3.05%
-
+
0.01%
-
- 0.03%
+
+ 0.04%
-
- 0.18%
+
+ 1.00%
-
- 0.02%
+
+ 0.05%
-
- 1.99%
+
+ 2.15%
-
- 0.04%
+
+ 0.01%
-
- 0.76%
+
+ 0.53%
@@ -553,7 +566,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
@@ -561,16 +574,16 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
// plot boundaries and axis scaling information for mousing
gnuplot_svg.plot_term_xmax = 800;
gnuplot_svg.plot_term_ymax = 1100;
-gnuplot_svg.plot_xmin = 37.3;
+gnuplot_svg.plot_xmin = 53.9;
gnuplot_svg.plot_xmax = 775.0;
gnuplot_svg.plot_ybot = 1042.3;
gnuplot_svg.plot_ytop = 622.0;
-gnuplot_svg.plot_width = 737.7;
+gnuplot_svg.plot_width = 721.1;
gnuplot_svg.plot_height = 420.3;
gnuplot_svg.plot_axis_xmin = -1;
gnuplot_svg.plot_axis_xmax = 10.5;
gnuplot_svg.plot_axis_ymin = 0;
-gnuplot_svg.plot_axis_ymax = 6;
+gnuplot_svg.plot_axis_ymax = 3.5;
gnuplot_svg.polar_mode = false;
gnuplot_svg.plot_axis_x2min = "none"
gnuplot_svg.plot_axis_y2min = "none"
diff --git a/benchmark-results/plot/fold.svg b/benchmark-results/plot/fold.svg
index 8c2b8fed..b1aee27d 100644
--- a/benchmark-results/plot/fold.svg
+++ b/benchmark-results/plot/fold.svg
@@ -215,56 +215,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Mean
-
- 0.4143
+
+ 0.4164
-
- 3.1076
+
+ 3.1030
- 1.6947
+ 1.6948
-
- 1.6936
+
+ 1.6911
- 0.3823
+ 0.3826
-
- 0.6217
+
+ 0.6175
- 0.4246
+ 0.4245
-
- 1.2023
+
+ 1.1960
@@ -283,11 +283,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0
@@ -296,12 +296,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.05
+
+ 0.1
@@ -309,12 +309,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.1
+
+ 0.2
@@ -322,12 +322,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.15
+
+ 0.3
@@ -335,12 +335,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.2
+
+ 0.4
@@ -348,12 +348,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.25
+
+ 0.5
@@ -361,12 +361,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.3
+
+ 0.6
@@ -374,12 +374,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.35
+
+ 0.7
@@ -387,12 +387,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.4
+
+ 0.8
@@ -400,60 +400,60 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.45
+
+ 0.9
-
+
ocaml
-
+
ocaml byte
-
+
haskell
-
+
haskell strict
-
+
juvix
-
+
juvix wasm
-
+
runtime
-
+
runtime wasm
-
+
-
+
Standard deviation
@@ -462,56 +462,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.05%
+
+ 0.65%
-
- 0.15%
+
+ 0.00%
-
+
0.30%
-
- 0.10%
+
+ 0.27%
-
- 0.15%
+
+ 0.01%
-
- 0.42%
+
+ 0.87%
-
+
0.04%
-
- 0.21%
+
+ 0.22%
@@ -522,7 +522,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
@@ -530,16 +530,16 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
// plot boundaries and axis scaling information for mousing
gnuplot_svg.plot_term_xmax = 800;
gnuplot_svg.plot_term_ymax = 1100;
-gnuplot_svg.plot_xmin = 62.2;
+gnuplot_svg.plot_xmin = 53.9;
gnuplot_svg.plot_xmax = 775.0;
gnuplot_svg.plot_ybot = 1042.3;
gnuplot_svg.plot_ytop = 622.0;
-gnuplot_svg.plot_width = 712.8;
+gnuplot_svg.plot_width = 721.1;
gnuplot_svg.plot_height = 420.3;
gnuplot_svg.plot_axis_xmin = -1;
gnuplot_svg.plot_axis_xmax = 8.5;
gnuplot_svg.plot_axis_ymin = 0;
-gnuplot_svg.plot_axis_ymax = 0.45;
+gnuplot_svg.plot_axis_ymax = 0.9;
gnuplot_svg.polar_mode = false;
gnuplot_svg.plot_axis_x2min = "none"
gnuplot_svg.plot_axis_y2min = "none"
diff --git a/benchmark-results/plot/mapfold.svg b/benchmark-results/plot/mapfold.svg
index f4a31612..dc445541 100644
--- a/benchmark-results/plot/mapfold.svg
+++ b/benchmark-results/plot/mapfold.svg
@@ -202,56 +202,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 1.9699
+
+ 1.9640
-
- 5.9610
+
+ 5.9361
- 2.2423
+ 2.2421
-
- 2.2003
+
+ 2.1962
-
- 3.4693
+
+ 3.4251
-
- 1.3290
+
+ 1.3174
-
- 3.2957
+
+ 3.2666
-
- 3.4978
+
+ 3.4875
@@ -270,11 +270,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0
@@ -283,11 +283,24 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
+ 0.05
+
+
+
+
+
+
+
+
+
+
+
+
0.1
@@ -296,11 +309,24 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
+
+
+
+
+ 0.15
+
+
+
+
+
+
+
+
-
+
0.2
@@ -309,12 +335,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.3
+
+ 0.25
@@ -322,12 +348,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.4
+
+ 0.3
@@ -335,12 +361,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.5
+
+ 0.35
@@ -348,60 +374,60 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.6
+
+ 0.4
-
+
ocaml
-
+
ocaml byte
-
+
haskell
-
+
haskell strict
-
+
juvix
-
+
juvix wasm
-
+
runtime
-
+
runtime wasm
-
+
-
+
Standard deviation
@@ -410,56 +436,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.12%
+
+ 0.03%
-
- 0.11%
+
+ 0.09%
-
- 0.00%
+
+ 0.01%
-
- 0.11%
+
+ 0.21%
-
- 0.55%
+
+ 0.37%
-
- 0.40%
+
+ 0.26%
-
- 0.11%
+
+ 0.18%
-
- 0.03%
+
+ 0.05%
@@ -470,7 +496,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
@@ -478,16 +504,16 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
// plot boundaries and axis scaling information for mousing
gnuplot_svg.plot_term_xmax = 800;
gnuplot_svg.plot_term_ymax = 1100;
-gnuplot_svg.plot_xmin = 53.9;
+gnuplot_svg.plot_xmin = 62.2;
gnuplot_svg.plot_xmax = 775.0;
gnuplot_svg.plot_ybot = 1042.3;
gnuplot_svg.plot_ytop = 622.0;
-gnuplot_svg.plot_width = 721.1;
+gnuplot_svg.plot_width = 712.8;
gnuplot_svg.plot_height = 420.3;
gnuplot_svg.plot_axis_xmin = -1;
gnuplot_svg.plot_axis_xmax = 8.5;
gnuplot_svg.plot_axis_ymin = 0;
-gnuplot_svg.plot_axis_ymax = 0.6;
+gnuplot_svg.plot_axis_ymax = 0.4;
gnuplot_svg.polar_mode = false;
gnuplot_svg.plot_axis_x2min = "none"
gnuplot_svg.plot_axis_y2min = "none"
diff --git a/benchmark-results/plot/mapfun.svg b/benchmark-results/plot/mapfun.svg
index 127a0ec4..dfc45515 100644
--- a/benchmark-results/plot/mapfun.svg
+++ b/benchmark-results/plot/mapfun.svg
@@ -228,56 +228,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 0.2695
+
+ 0.2672
-
- 0.9737
+
+ 0.9720
-
- 2.6006
+
+ 2.5936
-
- 1.2622
+
+ 1.2540
-
- 1.8275
+
+ 1.8242
-
- 1.5513
+
+ 1.5475
-
- 3.7049
+
+ 3.5924
-
- 2.2306
+
+ 2.2181
@@ -296,11 +296,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0
@@ -309,12 +309,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.05
+
+ 0.1
@@ -322,12 +322,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.1
+
+ 0.2
@@ -335,12 +335,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.15
+
+ 0.3
@@ -348,12 +348,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.2
+
+ 0.4
@@ -361,12 +361,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.25
+
+ 0.5
@@ -374,60 +374,86 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.3
+
+ 0.6
-
+
+
+
+
+
+
+
+
+
+ 0.7
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.8
+
+
+
+
ocaml
-
+
ocaml byte
-
+
haskell
-
+
haskell strict
-
+
juvix
-
+
juvix wasm
-
+
runtime
-
+
runtime wasm
-
+
-
+
Standard deviation
@@ -436,56 +462,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.24%
+
+ 0.75%
-
- 0.14%
+
+ 0.12%
-
- 0.13%
+
+ 0.10%
-
- 0.00%
+
+ 0.19%
-
- 0.22%
+
+ 0.12%
-
- 0.26%
+
+ 0.21%
-
- 0.19%
+
+ 0.32%
-
- 0.26%
+
+