diff --git a/benchmark-results/csv/ackermann.csv b/benchmark-results/csv/ackermann.csv
index a59fe5d6..1788631c 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.9545185565208764,0.9542192612499321,0.9546573433750609,2.852767654285572e-4,6.429589102064926e-5,3.7067831049394185e-4
-0x1f78b4,ocaml byte,2.14160595006255,2.1340316847499707,2.1563993661874292,1.4910603399645003e-2,2.4391605675612438e-5,1.7455437581004568e-2
-0xb2df8a,haskell,1.311807930229217,1.3100215663333379,1.3142662265001945,2.8390198455649175e-3,8.041766667022353e-4,3.7622787805080818e-3
-0x33a02c,haskell strict,0.7016963423748924,0.7009260882497301,0.703016485250032,1.4053923898193605e-3,2.636797496506915e-4,1.7277154845646938e-3
-0xfb9a99,juvix,2.2153402397290924,2.1986193975624246,2.2408476354163063,2.7902296511490014e-2,4.646420625022074e-3,3.5375573317657116e-2
-0xe31a1c,juvix wasm,1.0112685500833816,1.0070383952499924,1.0138315530000455,4.372927950142685e-3,2.2667269230831634e-3,6.150181981025552e-3
-0xfdbf6f,c,6.328451336624735e-4,6.312950518812024e-4,6.345812771269604e-4,6.229514618656122e-6,5.024285546374503e-6,7.808528636605906e-6
-0xff7f00,c wasm,0.30102670089323513,0.2997165211733227,0.30244157913311936,2.076097417333121e-3,1.5585263578428666e-3,2.686454190895371e-3
-0xcab2d6,runtime,2.891168058395806,2.845705694687581,2.914936920562468,4.3084650212042205e-2,1.7662172880621562e-2,5.489183588101384e-2
-0x6a3d9a,runtime wasm,2.824027874374792,2.8192217905000234,2.8267446189997827,4.654156425618384e-3,2.0505761118543657e-3,6.274052962230929e-3
+0xa6cee3,ocaml,0.2649125763599962,0.2648354359601217,0.26496101975988495,8.825909327763686e-5,5.062009712547668e-5,1.326677144065068e-4
+0x1f78b4,ocaml byte,2.2268125571453843,2.2250184421247923,2.2291862730000958,2.7682715903590074e-3,8.306796408044767e-4,3.668315794385632e-3
+0xb2df8a,haskell,1.6075175143958707,1.6047628806665366,1.6102721481252047,3.6953753476694847e-3,1.6806208426942601e-3,4.857145575777145e-3
+0x33a02c,haskell strict,0.8050138784376107,0.8048704181877611,0.8051021664372229,1.4938865410763213e-4,9.745374268119933e-5,1.9871717851694765e-4
+0xfb9a99,juvix,2.6201174399999068,2.601251045000481,2.6460831819997566,2.934471474670307e-2,7.687181363162581e-3,3.8137869692321774e-2
+0xe31a1c,juvix wasm,1.282913363333023,1.2822234433333506,1.2837294746242378,1.04548303476088e-3,4.959084910177651e-4,1.3275762402818636e-3
+0xfdbf6f,c,7.757433313574764e-4,7.734555253638086e-4,7.788019964161983e-4,1.0059404256593376e-5,7.412894083185879e-6,1.4639384873053137e-5
+0xff7f00,c wasm,0.5530921507499139,0.5501013020002574,0.5548617149997881,3.0155793728617974e-3,1.3200251363020823e-3,4.182393477001126e-3
+0xcab2d6,runtime,3.320851404249879,3.294834690999778,3.335621424124838,3.0494865943381e-2,2.636271735496227e-2,3.410989980297472e-2
+0x6a3d9a,runtime wasm,3.5365733929167695,3.52354342254201,3.5429366890416154,1.2294780937112752e-2,4.063044166590091e-3,1.5396024691148978e-2
diff --git a/benchmark-results/csv/combinations.csv b/benchmark-results/csv/combinations.csv
index f1cd5a4a..f750451a 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.933353467291719,10.930281227166839,10.938505027874953,5.670454436833834e-3,1.6076593334064526e-3,6.931707771052743e-3
-0x1f78b4,ocaml byte,63.08628886456231,63.07862015349974,63.092186100937376,9.358835892314038e-3,6.168519271149915e-3,1.1535926032274364e-2
-0xb2df8a,haskell,9.04943167979176,9.044418132000146,9.0552785173752,7.220344833705423e-3,3.2024818007890055e-3,9.650373087611547e-3
-0x33a02c,haskell strict,9.25812353785407,9.254398251916351,9.260504779729198,4.186667904799608e-3,1.7248837312239008e-3,5.49924255044228e-3
-0xfb9a99,juvix,10.25928767254184,10.257103202916747,10.26037717412538,2.156526164131512e-3,9.932624982411653e-5,2.523711656774099e-3
-0xe31a1c,juvix wasm,27.174381361854103,27.10246759204165,27.225570622687428,8.634490327651588e-2,5.065799979514884e-2,0.10462894835873764
-0xfdbf6f,c,7.127774312750091,7.126379397000164,7.128833688375039,1.8184335615803683e-3,1.056462472986293e-3,2.4465232089460084e-3
-0xff7f00,c wasm,9.163806291625141,9.16156442625038,9.166048156999903,3.25348864123362e-3,1.5553772512067433e-3,4.435761333162314e-3
-0xcab2d6,runtime,12.686673839416718,12.678304975833424,12.692594712416698,9.87346307663223e-3,8.403063999935512e-3,1.1688346503131998e-2
-0x6a3d9a,runtime wasm,24.84955716125008,24.77830625837521,24.885934848875003,6.848137425144521e-2,3.5324376750168085e-2,8.4010670970986e-2
+0xa6cee3,ocaml,10.885209868416515,10.884002475874752,10.886054235541584,1.4710371786882726e-3,6.68766660030962e-4,1.9499823478134994e-3
+0x1f78b4,ocaml byte,67.89727741572922,67.73395728610406,68.0796007169168,0.23730935974368153,0.11109524611487204,0.30606877004810706
+0xb2df8a,haskell,12.022908860354278,12.01747530474995,12.032379369167074,9.685130942493236e-3,1.424204805416173e-3,1.2171353697295828e-2
+0x33a02c,haskell strict,11.907093222145761,11.905046224499984,11.908399933229077,2.4814272714964625e-3,1.7096185844579278e-3,3.0177199828228377e-3
+0xfb9a99,juvix,14.843440778395953,14.838511226625087,14.846683045333444,6.01069787094832e-3,3.8966174109957784e-3,7.487694756580135e-3
+0xe31a1c,juvix wasm,35.667651435750166,35.663755232750304,35.674061474375094,6.8141453679336885e-3,8.01819749653987e-4,8.550989632946393e-3
+0xfdbf6f,c,6.945097072958579,6.942211040167118,6.947962516625353,3.679383109673552e-3,1.911529833213077e-3,4.457762708621347e-3
+0xff7f00,c wasm,9.580572425145684,9.576420464250077,9.582970078499784,4.123360884923836e-3,1.3858367526763515e-3,5.5798840447142655e-3
+0xcab2d6,runtime,13.713003746812547,13.70597190300009,13.724253280000312,1.3067252636293257e-2,5.055206374890986e-3,1.6073907230931814e-2
+0x6a3d9a,runtime wasm,32.124687573687844,32.11473778368755,32.13187187987554,1.1949418679453918e-2,6.950532219688502e-3,1.6591444445628302e-2
diff --git a/benchmark-results/csv/cps.csv b/benchmark-results/csv/cps.csv
index 0b2d2015..49298caa 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.34416113187512565,0.34406681912503245,0.3442119695001793,9.076036484280937e-5,4.483675956941532e-5,1.1740446603873454e-4
-0x1f78b4,ocaml byte,2.367601245729228,2.367244469937475,2.367876909916769,4.674416910083219e-4,2.4698899983377487e-4,6.36619171530411e-4
-0xb2df8a,haskell,167.12116345925003,164.51484121999988,168.35901802675016,2.4735086331682634,0.5521368089996486,3.160340714648628
-0x33a02c,haskell strict,0.8473038639582455,0.8470414458332698,0.8478005784999141,4.97676381665e-4,3.163924998261791e-5,6.060287003799179e-4
-0xfb9a99,juvix,1.8117272526875088,1.7953152595000574,1.8281392458749601,2.483925831441464e-2,7.619959560012282e-3,3.276863805110231e-2
-0xe31a1c,juvix wasm,1.7075392291460882,1.7053305273126398,1.7110018725002192,3.907573638146845e-3,8.163947869403755e-4,5.100778392404217e-3
-0xfdbf6f,c,0.20227876931661135,0.2022383995663909,0.202342530566663,8.164269279089757e-5,3.73261356664856e-5,1.1527924793706239e-4
-0xff7f00,c wasm,0.29562832026349495,0.2934807264500705,0.29855751757349935,3.914265154804324e-3,2.0458825267975597e-3,5.735770011183134e-3
-0xcab2d6,runtime,0.5646579921665307,0.5645461712497308,0.5647164212500684,1.0925347208987712e-4,1.7425000351067865e-5,1.2990115602551944e-4
-0x6a3d9a,runtime wasm,0.6499249278334295,0.6466789389999121,0.651717872500285,3.1138230159211567e-3,1.2880672122215033e-3,4.1406283442046495e-3
+0xa6cee3,ocaml,0.4870892005832654,0.4869576290831598,0.48722470566675236,1.8276844664515154e-4,6.725630272733865e-5,2.45679282983701e-4
+0x1f78b4,ocaml byte,3.7218532858750373,3.721371144500305,3.7221569684999545,4.99270902163672e-4,2.550509724089599e-4,7.013249809766323e-4
+0xb2df8a,haskell,242.0021755252084,232.50213170608336,247.68903294733346,9.50796083352788,4.023671605801126,13.133234654027694
+0x33a02c,haskell strict,1.6675586554167694,1.6671394514999065,1.6678712624175205,4.987439186123811e-4,4.2057260888423917e-4,5.665878835974258e-4
+0xfb9a99,juvix,2.3380259083958586,2.3305550679582816,2.3520411005625874,1.4354990348712633e-2,8.19673463095855e-4,1.725316695083118e-2
+0xe31a1c,juvix wasm,2.441077899083401,2.438188392374741,2.4431864139169575,3.4817386266602413e-3,1.8690370138091086e-3,4.869406426976289e-3
+0xfdbf6f,c,0.2053789406945978,0.2053480353336757,0.2054136823611922,5.373201759168918e-5,4.3496285170488526e-5,7.105268464382645e-5
+0xff7f00,c wasm,0.32033578694328146,0.317837001920052,0.3222442601335691,3.4729304654054494e-3,2.3662068925052967e-3,4.955364924284365e-3
+0xcab2d6,runtime,0.4903897470624467,0.48999946950001083,0.4906236538749151,4.597225717743648e-4,4.015641699235506e-4,5.401846445756175e-4
+0x6a3d9a,runtime wasm,0.6068157022082232,0.5824684650415293,0.6502091268330332,4.551695939686955e-2,3.8338918642442515e-3,5.622753572885767e-2
diff --git a/benchmark-results/csv/fibonacci.csv b/benchmark-results/csv/fibonacci.csv
index fc0fa745..680b9e7f 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.33376849118750346,0.3336740158124911,0.3338700947500115,1.3847252202672808e-4,5.637804629589101e-5,1.7690806106010744e-4
-0x1f78b4,ocaml byte,1.5233231395208122,1.5222543824374384,1.523853172270833,1.0077392216027762e-3,3.442546250198575e-4,1.2341759952850567e-3
-0xb2df8a,haskell,159.34478805425002,154.41976480849996,162.45684612812505,5.928828067170982,4.1868637200538386,7.186990266741995
-0x33a02c,haskell strict,0.8473715303957855,0.8470318077916279,0.8476703404999171,4.031876903471896e-4,3.2295319982981313e-4,4.854261470774224e-4
-0xfb9a99,juvix,0.36380800729171864,0.36369750933331113,0.36387942375020543,1.2990701395621286e-4,1.1300670357982844e-4,1.5099152937082054e-4
-0xe31a1c,juvix wasm,0.4632402247500333,0.46113711100004673,0.4646108805000419,2.512636166120014e-3,1.8339893489849573e-3,3.0716570072457134e-3
-0xfdbf6f,c,0.1869863225221795,0.1866593720222353,0.18764543672207565,7.790208720207323e-4,5.0536989634398306e-5,1.0470188265047373e-3
-0xff7f00,c wasm,0.3027185689466008,0.3020685427332789,0.3041903832399567,1.3799962872970816e-3,4.515394645345513e-4,1.7788381406974192e-3
-0xcab2d6,runtime,0.36381035116667704,0.36373235299998896,0.3639355850000072,1.472610764096518e-4,6.128750004563699e-5,1.8003763632419036e-4
-0x6a3d9a,runtime wasm,0.4654093689374766,0.4613427386249592,0.46838709362488845,4.811558982743721e-3,4.072539649419164e-3,5.478069961019e-3
+0xa6cee3,ocaml,0.48416947920832837,0.4838227424166822,0.48445234333335446,4.242324840985242e-4,2.609624364801123e-4,5.251547256640959e-4
+0x1f78b4,ocaml byte,2.5785194064375645,2.5776767825001343,2.5789843438750495,9.816012989217128e-4,8.736322538056768e-4,1.073727018753178e-3
+0xb2df8a,haskell,230.8458216458334,224.71192634100032,237.93578686,9.216398627848758,3.9858918478780847,12.022004794744005
+0x33a02c,haskell strict,1.6667325382292877,1.66634543856253,1.6673840339170358,6.772186647517111e-4,1.1536406183953768e-4,8.764204512304602e-4
+0xfb9a99,juvix,0.3717711552917156,0.37171568024996304,0.37185921625018636,9.866247053181137e-5,1.7139027459931084e-5,1.2763309194972387e-4
+0xe31a1c,juvix wasm,0.45605840897896616,0.45250161949979884,0.4585620898122329,4.188926199688116e-3,2.678983303818627e-3,5.782003212205807e-3
+0xfdbf6f,c,0.2310307197971194,0.23097466439991574,0.2310886350332415,9.300495566242594e-5,6.476023679714359e-5,1.3970543067133915e-4
+0xff7f00,c wasm,0.29957693568651844,0.29828877951966204,0.3009600519867308,1.9980299322543194e-3,1.6172141791273424e-3,2.3149956170910586e-3
+0xcab2d6,runtime,0.37164578835412004,0.3714938815626283,0.3717564400414706,1.907120716633011e-4,1.2763730508590627e-4,2.555391259125805e-4
+0x6a3d9a,runtime wasm,0.4565993177709326,0.45356595714586473,0.46170089700024164,5.610750257930963e-3,1.6859171665449535e-3,6.864483210908802e-3
diff --git a/benchmark-results/csv/fold.csv b/benchmark-results/csv/fold.csv
index 8d2b1b5f..6b7891ef 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.36626279870828665,0.35334466466664105,0.37918093274993225,1.93331477607026e-2,1.060265510276611e-2,2.711203926256562e-2
-0x1f78b4,ocaml byte,2.6971211286874754,2.694992520186929,2.698485274000329,2.268433726355909e-3,1.2592389045948556e-3,3.2016093159048854e-3
-0xb2df8a,haskell,1.034317545604002,1.0337982159999228,1.0352315903126055,9.341755248520021e-4,2.3341309172345785e-5,1.115204855418477e-3
-0x33a02c,haskell strict,1.0340029563962314,1.0337030585418083,1.034390128188079,4.5708421053115584e-4,1.4477039961348522e-4,6.081272248542067e-4
-0xfb9a99,juvix,0.45370488645824025,0.4535934332498073,0.45377447825012496,1.353222898420621e-4,8.562214053704003e-5,1.5907953305814912e-4
-0xe31a1c,juvix wasm,0.6524684081249461,0.6501002482500553,0.6536867898748824,2.7351903346964626e-3,2.3919664158987978e-3,2.788275597237389e-3
-0xcab2d6,runtime,0.5730545163336274,0.5722662605005553,0.5738713596667822,1.091292821035087e-3,4.5335099980547966e-4,1.3629342295805244e-3
-0x6a3d9a,runtime wasm,1.284059909374908,1.2835711110001284,1.284436027875131,6.00751212111808e-4,3.682414160502225e-4,7.551294077272947e-4
+0xa6cee3,ocaml,0.4967870095414734,0.49661319112487945,0.4969345848753619,2.330916774432171e-4,1.4936686768702955e-4,2.891557790519646e-4
+0x1f78b4,ocaml byte,3.726878819021598,3.724329061001299,3.7285395393543395,3.0764455679724873e-3,2.136191803573487e-3,3.8352693246281e-3
+0xb2df8a,haskell,1.82470546901997,1.8239481350626647,1.825237044290437,9.304989228022008e-4,5.066654385473935e-4,1.2276205019947839e-3
+0x33a02c,haskell strict,1.8251289885624828,1.8245635469370427,1.8259651694374952,9.573191078093466e-4,2.2686199471756057e-4,1.2428216542101015e-3
+0xfb9a99,juvix,0.4581284198338835,0.4577428257921383,0.45887686445848885,7.563659022630335e-4,2.1036431199510878e-5,8.904912951980455e-4
+0xe31a1c,juvix wasm,0.7442148940209942,0.7423294353748133,0.7456005246881432,2.335106387245643e-3,1.5038256082592226e-3,3.0164003046392264e-3
+0xcab2d6,runtime,0.5146537300205031,0.5094194913745014,0.5248670982496151,1.0298413915041344e-2,2.4327137543878052e-4,1.1940043199783791e-2
+0x6a3d9a,runtime wasm,1.4408873856254256,1.4392928437509909,1.4439049951244367,3.0334383881730318e-3,8.87254563967173e-5,3.5657753295715564e-3
diff --git a/benchmark-results/csv/mapfold.csv b/benchmark-results/csv/mapfold.csv
index c88bc500..a477beb1 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,2.3594528131878483,2.3510601376874547,2.3649901866882224,9.056949930943123e-3,5.252604419737695e-3,1.278801632417792e-2
-0x1f78b4,ocaml byte,6.369477007250301,6.353803301750379,6.396139902500029,2.7413220614929464e-2,2.1240774154086123e-4,3.269727928536833e-2
-0xb2df8a,haskell,2.0681710464374796,2.053753690812755,2.085652942437264,2.079428380040503e-2,7.568543499776981e-3,2.542624414551331e-2
-0x33a02c,haskell strict,2.0739217042087525,2.0697184413750165,2.0786846115844733,6.181758633240157e-3,2.7555397804386286e-3,8.186890134078263e-3
-0xfb9a99,juvix,3.309931169666887,3.301616583251075,3.314072907083111,7.85705920764375e-3,2.2114343332002573e-3,9.636781972798214e-3
-0xe31a1c,juvix wasm,1.301891315812706,1.3013770398752058,1.302405591750206,8.187443807552644e-4,4.427287036746717e-4,1.152859801591056e-3
-0xcab2d6,runtime,3.340430901083247,3.3381392382498234,3.3430723888751572,3.1909039604424124e-3,1.8948193200624608e-4,3.894587469008707e-3
-0x6a3d9a,runtime wasm,3.3337065276671183,3.3239155921678503,3.3395468699168305,1.0026175034852869e-2,3.2408672338824105e-3,1.3487692680123519e-2
+0xa6cee3,ocaml,1.7815419258754446,1.7777049760006776,1.7838893786251901,4.54573532814235e-3,3.815837289729711e-3,5.421209907902131e-3
+0x1f78b4,ocaml byte,7.1803052463329395,7.152152306166423,7.230177675832995,5.24195665409273e-2,5.028829833312098e-3,6.501643033447062e-2
+0xb2df8a,haskell,2.885947009562566,2.8832429725011934,2.8877973594378545,3.3437149744743396e-3,2.9897316602343197e-3,3.760197577408891e-3
+0x33a02c,haskell strict,2.6139708637087247,2.6120109479998064,2.615260180250516,2.1979557002204052e-3,7.424282790500811e-4,2.9775490098951645e-3
+0xfb9a99,juvix,3.979664792229111,3.9625348719793387,3.9986359648119105,2.2891809934608685e-2,1.0326833124963741e-2,2.7870167171657332e-2
+0xe31a1c,juvix wasm,1.5338983912083677,1.530960794999828,1.5359265500419497,3.3586619146021178e-3,2.111162883750141e-3,4.683832194111502e-3
+0xcab2d6,runtime,3.8413492141250267,3.8308243288738595,3.8586252355007673,1.8486340560463648e-2,2.995236249868638e-3,2.2992056485286363e-2
+0x6a3d9a,runtime wasm,4.171343763916639,4.16967964208402,4.174363520873612,3.021185745615364e-3,5.065364310054906e-4,3.843124752106608e-3
diff --git a/benchmark-results/csv/mapfun.csv b/benchmark-results/csv/mapfun.csv
index 486b07e0..5149cd44 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.3170981220236172,0.3167659418234507,0.31770103569060665,6.680004171862795e-4,1.2921370442125091e-4,8.830573398570942e-4
-0x1f78b4,ocaml byte,1.0022457138749512,1.000771149749653,1.0031940656252423,1.8328276811499105e-3,1.0570368893316306e-3,2.1901245532678693e-3
-0xb2df8a,haskell,2.750776065333298,2.748034257624795,2.7524746099584263,2.815388070300626e-3,1.2929179677923879e-3,3.922620786193679e-3
-0x33a02c,haskell strict,1.3537039842499705,1.3518391952502498,1.3557232888747421,2.646395221146739e-3,1.1496134000024247e-3,3.5962273578286925e-3
-0xfb9a99,juvix,1.8281537912707033,1.826010601124608,1.8291777713125157,2.085404785194508e-3,6.678798966863937e-4,2.7828230535879815e-3
-0xe31a1c,juvix wasm,1.4663509378128765,1.4499755341250875,1.4961287950009137,3.037605493458453e-2,3.579771000204346e-3,3.781737490893509e-2
-0xcab2d6,runtime,3.425478585437569,3.4163389075004034,3.4352655448126748,1.2458791594457553e-2,6.781117484457854e-3,1.569811095101312e-2
-0x6a3d9a,runtime wasm,2.0901311036249126,2.0780709461241713,2.0987201208753277,1.413067094274236e-2,7.749075330520961e-3,1.9835485686405883e-2
+0xa6cee3,ocaml,0.315553927759914,0.31530172267997847,0.3158424813997044,3.850785679712138e-4,1.7647349136617238e-4,5.133809218231823e-4
+0x1f78b4,ocaml byte,1.1669130818121023,1.1641433377490102,1.1683003268749417,2.628654427041098e-3,1.2196145007692394e-3,3.198234351483002e-3
+0xb2df8a,haskell,3.211499701395572,3.1924147168332033,3.225147484458224,2.408260313650824e-2,1.3686831059762126e-2,3.1518204900254525e-2
+0x33a02c,haskell strict,1.4908455768541746,1.4876325648751845,1.496671226562512,5.747330737327409e-3,1.0736123754213622e-3,7.371198607026525e-3
+0xfb9a99,juvix,2.1849598711667113,2.182710698500159,2.1872090438332634,3.623418481728518e-3,1.5861289024765596e-3,5.020513809966434e-3
+0xe31a1c,juvix wasm,1.8638109251036592,1.8597973358331124,1.8693100624786136,6.53653947878746e-3,2.102078965688218e-3,8.814755904174344e-3
+0xcab2d6,runtime,4.310213126957706,4.298812525250014,4.322830033748005,1.626537850104488e-2,6.815609866780764e-3,2.2032407381210543e-2
+0x6a3d9a,runtime wasm,2.6571999687913226,2.645303215749209,2.6650122774999545,1.4295295509184024e-2,1.0470089900703921e-2,1.7004284384683162e-2
diff --git a/benchmark-results/csv/maybe.csv b/benchmark-results/csv/maybe.csv
index 3a1a91ba..2eb738bd 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.4012199145832369,0.40044706324994195,0.4016293351666036,7.555766801322859e-4,2.600855190144732e-4,1.0224546101500562e-3
-0x1f78b4,ocaml byte,4.429174138208073,4.427153714208221,4.430542759832936,2.2399003171547386e-3,1.3736661746224332e-3,3.1606962541334766e-3
-0xb2df8a,haskell,13.454356064125042,13.403641534499911,13.522137945375107,7.556909048584738e-2,2.4683690250071777e-2,9.381924034216449e-2
-0x33a02c,haskell strict,0.9088814913542175,0.9080770863751013,0.9095278906874569,9.629114237969576e-4,6.657297713593598e-4,1.1415084695242455e-3
-0xfb9a99,juvix,2.386876742291785,2.379962094166937,2.390924865916683,6.920797653129543e-3,3.9033695807765426e-3,9.348741058190804e-3
-0xe31a1c,juvix wasm,2.720427062854166,2.7127707993749937,2.7254959784999073,8.941914591507097e-3,7.516837233209534e-3,1.0164545889537671e-2
-0xfdbf6f,c,0.40164144535420593,0.40008079393749085,0.4024279715209028,1.4724076701877354e-3,5.672340808692547e-4,1.8164043762685634e-3
-0xff7f00,c wasm,0.5857704337294081,0.5843784339583635,0.5870590833125107,1.8082194932005243e-3,9.273244995711138e-4,2.3802412331303843e-3
-0xcab2d6,runtime,0.8225863033956481,0.8189335113747802,0.826239095416516,5.7123620210138915e-3,2.3885980893096877e-3,7.86043035813053e-3
-0x6a3d9a,runtime wasm,1.776136776395712,1.7731476000418147,1.7791259527496095,4.4197474043386675e-3,2.2755801383355944e-3,6.129759946672448e-3
+0xa6cee3,ocaml,0.5080973401668037,0.5079758511668236,0.5081546125416784,1.1672663867092858e-4,2.2884336941024296e-5,1.4830194316437696e-4
+0x1f78b4,ocaml byte,5.114062276145698,5.093782410312201,5.146606010499909,3.529731222864231e-2,9.602607625083692e-3,4.435967178209398e-2
+0xb2df8a,haskell,17.237894983416634,17.14819016129142,17.350020113541557,0.12841080711893646,4.48563427503359e-2,0.15725387058054746
+0x33a02c,haskell strict,1.2356557795624592,1.234824547250355,1.2362168958747286,9.759992563784114e-4,4.799715123312647e-4,1.2958426157417247e-3
+0xfb9a99,juvix,3.371223563895493,3.3692229831666127,3.3728737429372586,2.4329752381437434e-3,1.6534483598064787e-3,3.07211638495266e-3
+0xe31a1c,juvix wasm,3.5606587819792517,3.556523751833386,3.5647938121251173,6.5823247386763584e-3,3.4736479197789876e-3,9.267734341269818e-3
+0xfdbf6f,c,0.549799348395671,0.5485379657289211,0.5516979603333615,2.188079434992669e-3,5.885507085470754e-4,2.61772510799685e-3
+0xff7f00,c wasm,0.7381643974791435,0.7316542399165277,0.7412382267502835,6.576413530725561e-3,3.978717193710597e-3,8.720859938983869e-3
+0xcab2d6,runtime,1.0806320055004335,1.080139607250544,1.0809162122503722,4.8055406108988153e-4,2.0135539166388412e-4,6.563473743304125e-4
+0x6a3d9a,runtime wasm,2.3387244069373687,2.3351042346246986,2.3411105181248026,4.226382416977278e-3,3.784877134851373e-3,4.7950119094492625e-3
diff --git a/benchmark-results/csv/mergesort.csv b/benchmark-results/csv/mergesort.csv
index d999128d..ad1e5c50 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,2.7627401058333327,2.757566131333322,2.7657023903333404,5.029739724293278e-3,2.356503801802103e-3,6.841103013982768e-3
-0x1f78b4,ocaml byte,4.87518368983334,4.868158397666642,4.880862888000038,9.616692419859251e-3,4.840316333754345e-3,1.3115546361298653e-2
-0xb2df8a,haskell,6.050447023000004,5.978472604249987,6.123359670500008,0.11851563801736606,5.857074506108644e-2,0.16621780016035634
-0x33a02c,haskell strict,5.672882630458308,5.631287552916641,5.72411494458331,6.745097911280543e-2,3.036282828709165e-2,9.376975603538605e-2
-0xfb9a99,juvix,2.990814750854208,2.9775573314374952,3.010439838250079,2.1432125727367395e-2,6.914284325622501e-3,2.7617726988374162e-2
-0xe31a1c,juvix wasm,1.4681467736458604,1.4541913590625626,1.4927999512499923,2.466201382846001e-2,5.177176999950461e-3,3.222864946527951e-2
-0xfdbf6f,c,0.13136982663839877,0.1309209214226168,0.13202942058335765,9.419265209719871e-4,5.011936662733273e-4,1.403314763537814e-3
-0xff7f00,c wasm,0.24569827775996828,0.24460855551996702,0.2466802645599364,1.6014425992617663e-3,1.0813310035138273e-3,2.04128831465273e-3
-0xcab2d6,runtime,1.3369560828749723,1.3313260969999874,1.3403860387499549,5.953153082240108e-3,3.100535439421907e-3,8.3512021915718e-3
-0x6a3d9a,runtime wasm,0.7481174179582931,0.7439866658748997,0.751109070458322,5.087873380848063e-3,3.0286459465799906e-3,6.908925504853924e-3
+0xa6cee3,ocaml,4.015093580062536,4.012517735375051,4.016926148687527,3.1337666547664976e-3,1.778864477569441e-3,4.232135955787896e-3
+0x1f78b4,ocaml byte,6.198966307541672,6.191673991125015,6.203944835791664,8.33244663357986e-3,4.412841750384781e-3,1.1497418501205454e-2
+0xb2df8a,haskell,7.872328405729149,7.784376293937498,7.924586225333314,9.082495960769178e-2,4.1272921013132555e-2,0.12615964167741187
+0x33a02c,haskell strict,7.932899206083296,7.845185345833291,8.087422228958323,0.1552149877213341,3.6131600627943766e-2,0.2025664833080073
+0xfb9a99,juvix,3.928634083979143,3.910031350374908,3.937727892479183,1.8090195222834504e-2,2.837529458351584e-3,2.1605168648995393e-2
+0xe31a1c,juvix wasm,1.9260524053957842,1.732777872395791,2.0219418819582606,0.18386990066794642,3.848154183329677e-2,0.2249011541969892
+0xfdbf6f,c,0.15898751444252168,0.15857240409727869,0.15950651233062493,8.574939144724026e-4,6.69826904266256e-4,1.225708929120348e-3
+0xff7f00,c wasm,0.2793892784166572,0.276886834066648,0.28185547364999136,3.6178086248301543e-3,2.6092536881006916e-3,5.1633909563470835e-3
+0xcab2d6,runtime,1.6229547802708264,1.6203430834999892,1.6276229995625044,4.7403019424302265e-3,3.856965379235725e-4,5.674922016711575e-3
+0x6a3d9a,runtime wasm,0.896967958437448,0.8945582559374685,0.899628471187512,3.4061528056515797e-3,1.6040995456224694e-3,4.336890821673923e-3
diff --git a/benchmark-results/csv/prime.csv b/benchmark-results/csv/prime.csv
index 4998c4bf..4dfa14a9 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,5.769612019124945,5.765208660624694,5.77584739524995,6.705544582992213e-3,2.28500643570239e-3,8.806505232937594e-3
-0x1f78b4,ocaml byte,19.592776495333663,19.588636187500924,19.597376760500083,6.0533091750962515e-3,3.0165671155443726e-3,7.99303053830495e-3
-0xb2df8a,haskell,5.849350675854453,5.84439460637509,5.853906283771153,7.472938107546285e-3,4.391233333080891e-3,1.0520725828116438e-2
-0x33a02c,haskell strict,6.3532855381249265,6.3510384308750645,6.357382856749837,4.229326914331149e-3,2.645972498762639e-4,5.008181008825219e-3
-0xfb9a99,juvix,5.954465590666928,5.765807824999797,6.3300833247509445,0.37615873139936934,2.966895166082395e-3,0.4355626923324643
-0xe31a1c,juvix wasm,3.5204635280414323,3.5190652321249445,3.522817038499511,2.424304261196571e-3,3.5703683329302294e-4,2.927632275992163e-3
-0xfdbf6f,c,0.3267847551897588,0.326691437480149,0.32691428819925933,1.68084167383374e-4,9.739947408956511e-5,2.2750631350357197e-4
-0xff7f00,c wasm,0.36645231214561136,0.36525327812523756,0.36724384145782096,1.4555708404870064e-3,9.41091811818556e-4,1.827958645902778e-3
-0xcab2d6,runtime,5.763604137749932,5.763501187625252,5.763701092124999,1.398954712938155e-4,7.348218415416415e-5,1.8850341932739217e-4
-0x6a3d9a,runtime wasm,3.6095320566875366,3.6080635366251954,3.611999693062444,2.6112400102218554e-3,3.049823753826786e-4,3.2648301801907666e-3
+0xa6cee3,ocaml,19.48598476445871,19.477160764916484,19.49605271383378,1.2914575880941123e-2,5.287689436076319e-3,1.7605326895997715e-2
+0x1f78b4,ocaml byte,35.617290196520834,35.58978163245812,35.63016633799998,2.666798059033852e-2,1.254070757522945e-2,3.570645068854897e-2
+0xb2df8a,haskell,25.021444703770687,25.008569198666613,25.0301392579582,1.5908880593451514e-2,9.547660180773299e-3,2.0079212802579658e-2
+0x33a02c,haskell strict,24.1011253425,24.077933518124837,24.11369736062511,2.2704600228020063e-2,1.1826750353289036e-2,2.9033832195152084e-2
+0xfb9a99,juvix,15.662739008541697,15.66103632437489,15.663884311625225,1.872625551573864e-3,1.1439649822560457e-3,2.6449641743138937e-3
+0xe31a1c,juvix wasm,6.980072975978942,6.976454621083121,6.982952739812276,4.36806120504443e-3,3.0349278595150735e-3,5.321304832987491e-3
+0xfdbf6f,c,0.43619969260400165,0.43577608464564344,0.4370281843748671,8.0583179571001e-4,6.174137479320052e-5,9.571484048411873e-4
+0xff7f00,c wasm,0.7040852023954661,0.6993078288121524,0.7065449065621578,4.517903609891848e-3,1.185319874821289e-3,5.680443451065305e-3
+0xcab2d6,runtime,15.650540968021156,15.648878122063252,15.651397337854252,1.5698633001237526e-3,5.023221251576615e-4,1.921817002725469e-3
+0x6a3d9a,runtime wasm,7.597661968104528,7.594160549875141,7.600297300561806,4.172894684570402e-3,3.4007114409719446e-3,4.882258868570926e-3
diff --git a/benchmark-results/plot/ackermann.svg b/benchmark-results/plot/ackermann.svg
index 23dfa7a5..5f4b3b3b 100644
--- a/benchmark-results/plot/ackermann.svg
+++ b/benchmark-results/plot/ackermann.svg
@@ -70,11 +70,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.5
@@ -83,11 +83,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1
@@ -96,11 +96,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1.5
@@ -109,11 +109,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2
@@ -122,11 +122,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2.5
@@ -134,13 +134,39 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
+
+
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.5
+
+
+
+
+
+
- 3
+ 4
@@ -212,68 +238,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 0.9545
+
+ 0.2649
-
- 2.1416
+
+ 2.2268
-
- 1.3118
+
+ 1.6075
-
- 0.7017
+
+ 0.8050
-
- 2.2153
+
+ 2.6201
-
- 1.0113
+
+ 1.2829
- 0.0006
+ 0.0008
-
- 0.3010
+
+ 0.5531
-
- 2.8912
+
+ 3.3209
-
- 2.8240
+
+ 3.5366
@@ -305,11 +331,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.2
@@ -318,11 +344,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.4
@@ -331,11 +357,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.6
@@ -344,11 +370,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.8
@@ -357,11 +383,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1
@@ -370,11 +396,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1.2
@@ -382,26 +408,13 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
-
-
-
-
-
- 1.4
-
-
-
-
-
-
- 1.6
+ 1.4
@@ -468,68 +481,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
+
0.03%
-
- 0.70%
+
+ 0.12%
-
- 0.22%
+
+ 0.23%
-
- 0.20%
+
+ 0.02%
-
- 1.26%
+
+ 1.12%
-
- 0.43%
+
+ 0.08%
-
- 0.98%
+
+ 1.30%
-
- 0.69%
+
+ 0.55%
-
- 1.49%
+
+ 0.92%
-
- 0.16%
+
+ 0.35%
@@ -557,7 +570,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 = 1.6;
+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 bb961001..5fc2b65f 100644
--- a/benchmark-results/plot/combinations.svg
+++ b/benchmark-results/plot/combinations.svg
@@ -225,68 +225,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 10.9334
+
+ 10.8852
-
- 63.0863
+
+ 67.8973
-
- 9.0494
+
+ 12.0229
-
- 9.2581
+
+ 11.9071
-
- 10.2593
+
+ 14.8434
-
- 27.1744
+
+ 35.6677
-
- 7.1278
+
+ 6.9451
-
- 9.1638
+
+ 9.5806
-
- 12.6867
+
+ 13.7130
-
- 24.8496
+
+ 32.1247
@@ -468,68 +468,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.05%
-
-
+
0.01%
-
- 0.08%
+
+ 0.35%
-
- 0.05%
+
+ 0.08%
-
+
0.02%
-
- 0.32%
+
+ 0.04%
-
- 0.03%
+
+ 0.02%
+
+
+ 0.05%
-
+
0.04%
-
- 0.08%
+
+ 0.10%
-
- 0.28%
+
+ 0.04%
diff --git a/benchmark-results/plot/cps.svg b/benchmark-results/plot/cps.svg
index 5ef74160..c13c6fd6 100644
--- a/benchmark-results/plot/cps.svg
+++ b/benchmark-results/plot/cps.svg
@@ -70,12 +70,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 20
+
+ 50
@@ -83,50 +83,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 40
-
-
-
-
-
-
-
-
-
-
-
-
- 60
-
-
-
-
-
-
-
-
-
-
-
-
- 80
-
-
-
-
-
-
-
-
-
-
-
-
+
100
@@ -135,12 +96,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 120
+
+ 150
@@ -148,25 +109,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 140
-
-
-
-
-
-
-
-
-
-
-
-
- 160
+
+ 200
@@ -179,7 +127,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
- 180
+ 250
@@ -254,65 +202,65 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
- 0.3442
+ 0.4871
-
- 2.3676
+
+ 3.7219
-
- 167.1212
+
+ 242.0022
-
- 0.8473
+
+ 1.6676
-
- 1.8117
+
+ 2.3380
-
- 1.7075
+
+ 2.4411
-
- 0.2023
+
+ 0.2054
-
- 0.2956
+
+ 0.3203
-
- 0.5647
+
+ 0.4904
-
- 0.6499
+
+ 0.6068
@@ -331,11 +279,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0
@@ -344,12 +292,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.2
+
+ 1
@@ -357,12 +305,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.4
+
+ 2
@@ -370,12 +318,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.6
+
+ 3
@@ -383,12 +331,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.8
+
+ 4
@@ -396,12 +344,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1
+
+ 5
@@ -409,12 +357,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1.2
+
+ 6
@@ -422,12 +370,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1.4
+
+ 7
@@ -435,70 +383,70 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1.6
+
+ 8
-
+
ocaml
-
+
ocaml byte
-
+
haskell
-
+
haskell strict
-
+
juvix
-
+
juvix wasm
-
+
c
-
+
c wasm
-
+
runtime
-
+
runtime wasm
-
+
-
+
Standard deviation
@@ -507,68 +455,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.03%
+
+ 0.04%
-
- 0.02%
+
+ 0.01%
-
- 1.48%
+
+ 3.93%
-
- 0.06%
+
+ 0.03%
-
- 1.37%
+
+ 0.61%
-
- 0.23%
+
+ 0.14%
-
- 0.04%
+
+ 0.03%
-
- 1.32%
+
+ 1.08%
-
- 0.02%
+
+ 0.09%
-
- 0.48%
+
+ 7.50%
@@ -579,7 +527,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
@@ -587,16 +535,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 = 37.3;
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 = 737.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 = 1.6;
+gnuplot_svg.plot_axis_ymax = 8;
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 2e9817c7..90254fdf 100644
--- a/benchmark-results/plot/fibonacci.svg
+++ b/benchmark-results/plot/fibonacci.svg
@@ -70,12 +70,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 20
+
+ 50
@@ -83,50 +83,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 40
-
-
-
-
-
-
-
-
-
-
-
-
- 60
-
-
-
-
-
-
-
-
-
-
-
-
- 80
-
-
-
-
-
-
-
-
-
-
-
-
+
100
@@ -135,12 +96,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 120
+
+ 150
@@ -148,12 +109,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 140
+
+ 200
@@ -166,7 +127,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
- 160
+ 250
@@ -238,68 +199,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 0.3338
+
+ 0.4842
-
- 1.5233
+
+ 2.5785
-
- 159.3448
+
+ 230.8458
-
- 0.8474
+
+ 1.6667
-
- 0.3638
+
+ 0.3718
-
- 0.4632
+
+ 0.4561
-
- 0.1870
+
+ 0.2310
-
- 0.3027
+
+ 0.2996
-
- 0.3638
+
+ 0.3716
-
- 0.4654
+
+ 0.4566
@@ -494,68 +455,68 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.04%
-
-
- 0.07%
+
+ 0.09%
-
- 3.72%
+
+ 0.04%
-
- 0.05%
+
+ 3.99%
-
+
0.04%
-
- 0.54%
+
+ 0.03%
-
- 0.42%
+
+ 0.92%
-
- 0.46%
-
-
+
0.04%
-
- 1.03%
+
+ 0.67%
+
+
+ 0.05%
+
+
+ 1.23%
diff --git a/benchmark-results/plot/fold.svg b/benchmark-results/plot/fold.svg
index 4d08bbf9..8dd32a96 100644
--- a/benchmark-results/plot/fold.svg
+++ b/benchmark-results/plot/fold.svg
@@ -70,11 +70,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.5
@@ -83,11 +83,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1
@@ -96,11 +96,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1.5
@@ -109,11 +109,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2
@@ -122,11 +122,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2.5
@@ -134,13 +134,39 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
+
+
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.5
+
+
+
+
+
+
- 3
+ 4
@@ -202,56 +228,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 0.3663
+
+ 0.4968
-
- 2.6971
+
+ 3.7269
-
- 1.0343
+
+ 1.8247
-
- 1.0340
+
+ 1.8251
-
- 0.4537
+
+ 0.4581
-
- 0.6525
+
+ 0.7442
-
- 0.5731
+
+ 0.5147
-
- 1.2841
+
+ 1.4409
@@ -270,11 +296,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0
@@ -283,25 +309,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
-
-
-
-
- 1
-
-
-
-
-
-
-
-
+
-
- 2
+
+ 0.5
@@ -309,12 +322,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 3
+
+ 1
@@ -322,12 +335,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 4
+
+ 1.5
@@ -335,12 +348,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 5
+
+ 2
@@ -348,60 +361,60 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 6
+
+ 2.5
-
+
ocaml
-
+
ocaml byte
-
+
haskell
-
+
haskell strict
-
+
juvix
-
+
juvix wasm
-
+
runtime
-
+
runtime wasm
-
+
-
+
Standard deviation
@@ -410,56 +423,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 5.28%
+
+ 0.05%
-
+
0.08%
-
- 0.09%
+
+ 0.05%
-
- 0.04%
+
+ 0.05%
-
- 0.03%
+
+ 0.17%
-
- 0.42%
+
+ 0.31%
-
- 0.19%
+
+ 2.00%
-
- 0.05%
+
+ 0.21%
@@ -470,7 +483,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
@@ -478,16 +491,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 = 8.5;
gnuplot_svg.plot_axis_ymin = 0;
-gnuplot_svg.plot_axis_ymax = 6;
+gnuplot_svg.plot_axis_ymax = 2.5;
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 f3ba5b58..6be9508e 100644
--- a/benchmark-results/plot/mapfold.svg
+++ b/benchmark-results/plot/mapfold.svg
@@ -70,11 +70,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1
@@ -83,11 +83,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2
@@ -96,11 +96,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
3
@@ -109,11 +109,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
4
@@ -122,11 +122,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
5
@@ -135,11 +135,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
6
@@ -147,13 +147,26 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
+
+
+
+
+
+
+ 7
+
+
+
+
+
+
- 7
+ 8
@@ -215,56 +228,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 2.3595
+
+ 1.7815
-
- 6.3695
+
+ 7.1803
-
- 2.0682
+
+ 2.8859
-
- 2.0739
+
+ 2.6140
-
- 3.3099
+
+ 3.9797
-
- 1.3019
+
+ 1.5339
-
- 3.3404
+
+ 3.8413
-
- 3.3337
+
+ 4.1713
@@ -296,11 +309,24 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
0.2
@@ -309,12 +335,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.4
+
+ 0.3
@@ -327,7 +353,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
- 0.6
+ 0.4
@@ -335,12 +361,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.8
+
+ 0.5
@@ -348,12 +374,25 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1
+
+ 0.6
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.7
@@ -366,7 +405,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
- 1.2
+ 0.8
@@ -423,56 +462,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
gnuplot_plot_2b
-
- 0.38%
+
+ 0.26%
-
- 0.43%
+
+ 0.73%
-
- 1.01%
+
+ 0.12%
-
- 0.30%
+
+ 0.08%
-
- 0.24%
+
+ 0.58%
-
- 0.06%
+
+ 0.22%
-
- 0.10%
+
+ 0.48%
-
- 0.30%
+
+ 0.07%
@@ -500,7 +539,7 @@ 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 = 1.2;
+gnuplot_svg.plot_axis_ymax = 0.8;
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 cd984058..772c5f69 100644
--- a/benchmark-results/plot/mapfun.svg
+++ b/benchmark-results/plot/mapfun.svg
@@ -70,11 +70,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
0.5
@@ -83,11 +83,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1
@@ -96,11 +96,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
1.5
@@ -109,11 +109,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2
@@ -122,11 +122,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
2.5
@@ -135,11 +135,11 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
+
3
@@ -147,13 +147,39 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
+
+
+
+
+
+
+ 3.5
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+
+
+
+
+
+
- 3.5
+ 4.5
@@ -215,56 +241,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1a
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
Mean
-
- 0.3171
+
+ 0.3156
-
- 1.0022
+
+ 1.1669
-
- 2.7508
+
+ 3.2115
-
- 1.3537
+
+ 1.4908
-
- 1.8282
+
+ 2.1850
-
- 1.4664
+
+ 1.8638
-
- 3.4255
+
+ 4.3102
-
- 2.0901
+
+ 2.6572
@@ -296,12 +322,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 0.5
+
+ 0.1
@@ -309,12 +335,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1
+
+ 0.2
@@ -322,12 +348,12 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 1.5
+
+ 0.3
@@ -335,12 +361,51 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
-
+
-
- 2
+
+ 0.4
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.5
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.6
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.7
@@ -353,7 +418,7 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
- 2.5
+ 0.8
@@ -410,56 +475,56 @@ onclick="gnuplot_svg.toggleCoordBox(evt)" onmousemove="gnuplot_svg.moveCoordBox
gnuplot_plot_1b
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+