From 14a18276c01a650893383457712cbb83189da3b6 Mon Sep 17 00:00:00 2001 From: NunoSempere Date: Fri, 12 Jan 2024 16:52:56 +0100 Subject: [PATCH] tweak: don't use unneeded pointers to get cache math right --- examples/more/00_example_template/example | Bin 27352 -> 27352 bytes examples/more/01_sample_from_cdf/example | Bin 27632 -> 27632 bytes examples/more/02_sample_from_cdf_beta/example | Bin 27616 -> 27616 bytes examples/more/03_ci_beta/example | Bin 27392 -> 27392 bytes examples/more/04_nuclear_war/example | Bin 27472 -> 27472 bytes examples/more/05_burn_10kg_fat/example | Bin 27432 -> 27432 bytes examples/more/06_nuclear_recovery/example | Bin 27720 -> 27720 bytes examples/more/07_algebra/example | Bin 27352 -> 27352 bytes .../more/08_algebra_and_conversion/example | Bin 27352 -> 27352 bytes examples/more/09_ergonomic_algebra/example | Bin 27352 -> 27352 bytes .../more/10_twitter_thread_example/example | Bin 27504 -> 27504 bytes .../11_billion_lognormals_paralell/example | Bin 27384 -> 27384 bytes .../more/12_time_to_botec_parallel/example | Bin 27552 -> 27552 bytes examples/more/13_parallelize_min/example | Bin 27448 -> 27448 bytes .../more/14_check_confidence_interval/example | Bin 27352 -> 27352 bytes squiggle_more.c | 14 +++++++------- 16 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/more/00_example_template/example b/examples/more/00_example_template/example index 0955afbda9d0aa601d927b71389733aec3ddcd3d..243b72d6d4056c6d6572beee018cf04d4011504d 100755 GIT binary patch delta 2103 zcmZWpeNaQzzDRqM0_-fNq|VApxE-<5bkRurNuxHL|UBSw61GAU}riM znN2@@rBA76oLOggX6;Tp?|7vxq|lxAr3Q$picQz@D5S2AW) zRg4Z+(e`sxI!EJI3MkQl6(v7EAXbcZjm>dAdcM!kXL`wEeCS61Ixc0*&9$h3W;lh3Am& zFrL%T8}J|GO~|)?iElqoJp;bnP^wXBdGK$EY+UU5;M86`$85Pb-y2aQ!sF zYD8&BG2%p&U($THAPth9SN^J*qWgzYmk}zBBz4gMb*UK$Zmi_H#!!-#njAwBk=wKA zIfEh$doF0&Sc9mI6}2h)Syger%3(iWZo=KPBioe%OfFQ6^^^#*pI2%7za5u@a`z~9 zoS#K)T85bZpmbA=4tr6Li?ae}u9+7rCc384s?1&2q_}wosl@U%V&7PS#0uP+FEn;r zRzQ`rh}~|14yS{d;B{vKn{7dQ-5r^{V#V{IS0?Y5CaLuOe<^hRtfb-!_5fP2`ZU}l z;fBAh*g9A#-AT)m6nEv&=wLX)**|ICF0=^Sg;rt5r^*9~V-@(ZKk8ho^+y*~6)w3% zavkEXRx%D&ciDQ!R3a^AOl+g2P%KGXCXci8vs}x_EZ3SvbF@|opPS{HEZ!V=)m^yG zv|KZ3osCX$9HHt;b21o*iG$)&vL(WwVYawZIR%sMmYk7nhWYRgiv6+nqtb+O3LY!2 zu{?!#rR3UDBPi84QU>7N;{3E!T)~W%AK|OwKeJDpp}qvjMYvJ&Lh&v$!|cn(MPCF* z5w2v8d!_R(>UnaNmR!#2K%G4og3=8t`#y)mrQ6uvui^XB`_kfEB5Brpu-tQ!+=4GX zA3hpDTQZv;N0@Dvd*vUP4V!@9i%o9W^+(LA-OrB@lT}~=o`Im8wZ_OWK{;g;LZUFG zVgg3jez36#J-@k6RaH(?*e+wjGrDGbw(*n)Tqu@kWl zpT*Y@PawXDXu|jR6ygBlJR);bRb8nJbLFea-ZGpchL&27D^svB604*VWXwdl=SH2pnVH1-o63ois#A(ik$ zjg$1^e|5SQy^kXugVRt;3vtJ1=tFGV47^VRDF=|Mlo-j#(1T%1m_6W&J-MYvui@ll z0Ug`xgEgU643R?5vB%1QZPT&4Dvb1z2AWb{iHa9%kRE!kA-jvH;al+e8 u`_lG0k`WugvCYQzdSj1oOC_W(*3>+a!A=#zhK}O&1HPmW*70mdME4tf2L+`7 delta 2267 zcmZuyeNa@_6@T~f;R3R6K@dnVyTHSJ%f|x3@=>DQXP4!^vQerFEQ-hkXJcm^VmqLj z41!Z)(%1DF+hb>H$4p7awoW>oA=zn5+D?G_0UDD*M_Z>wq>;!|K8?c7Bkyj!=1o4o#RT(SfCMv{W(HafJrb`GAXG>!)1Xr$yJP z($1TTF1zG*UZBe6?=NYZZaI%^d4BG|kVihio4D=-7oVzjB6+~e8(bBOUFAIwh}1ev z<#AEIL6!9LRkkIGT-c`UyJz6cZ-i?_14kGP*dS^*LtMf)7CaSqJEp6SJ?XMmDSnO0 z(-=IFh9;vWGQ*jj3=LGGyHn*KU=kSX9K}G(_tD}=$hM}f{qnx1sV=mkFKoAF#stzB zCd8Q>HSoICN^0OeD;64Ntec1t%t9J@4BKsKutUgA*q+KT^ITW*VMN@KUj`?HO!6Xp zAmp=8QeZ;JV5ir^to1qAU`t^a7QrHzX+M=ac@u4YipgL(BzcJr zO-10u!&^k9iRVzf$W`%Nysv0bwW*p`b!>8giDVd&lg1?ZqI|38?xUfFNUX1*#-M$G zgw?*NUY*i3svOgOCHbKw&r$R-_`B`T%DJlduv5K`u993ms8%3>6gd2U)%H|&@`jEp zSVF-sacviMS(l40qo~6xvKJ1!cxuAa@f?p{Y7;iV?-sDWm|nSldZF4s)vak_#aLI3 zsCapewtiy!tE9L-#SZr-5J_pe$@u>ppuR;2i>{MtqdKR6^}!|>G|-A$9piq^?85W{ zTcn;#PW8Y&P4iT?W0bR0o>TYW)X&XbMuD)rx?FMV873|yayeIZ(Jm#!`#IU{a1vb0 zu@MXWJIBm+CZTH9Zjbyhtb;+7F@AK$tK^bDUs=XjLR{XLY8#q7@?2OwgL?3bXO8IZ z#oRGipWbU>1v}Q!o(uc^obadJd&DMjkJv2kJ+B_eJ^ruqJvq<4ut@uVdK&t3pC=V? zBe#Zq=L^WlYbKlFXkKxdJQ+R%uM8d<$?J4#$I9ATeReIxHI0P0=J<1odSCiRLtJC> zsYG~?msxsnoxY?u8afSyvoooGSlR5+Gs2+JgbqmVyMk;(>X}K{n%}feK(>z_V_$u& z|4{jknhqc2S0`UdU>No7yQ@8?{v1cD1>)^#F@CflV{$zd*uTeqVuGL@NGVho9I=mJ zha5^oqvH~e{9M62_g4E;Y>NI3I=K=*%rQ*Sb&otn6-O?F3U;v*6R@ptLrex5a9?}^ zv={c1TF5W@X!|dW&)Cl52-!m1Tkjzo#rty*A40?aZzHSz82lb_B@0ZTXwaj?{~(@W zJWA9%2;s!k)8pXS^qa~$^t``8)87SbuCJJO>FZJdyZ)NKK8uH{2FNZhWPf=F8j3fw zKe-JXiwj5@Tq@o|1c)lhWv`CIrjpV%uG{E4Fb1!d*pj_tn0n7L>2iol)l-i=PnCQD zeqEBmemn-FCC~4C7>h+dgI>GwHcjGWwSVp}{7sMWjquB;H;&lgQ8w3D@nxu&u*_)i$6L)2woY9fx6$-A>oTUEh}dehD3R1C9FKAt3*U?ujpaRST*jj$ zg2L^pEOHWv+e%&oo7)=Qf=zddg%_&Q<5t~zNkkhQac7Y}c-Ot|xvO}`8uTK)YP7T( z4NMXa1xzvN9(?9rpVovGsMF2VXkn?*pqqVYJ`2n46fy(J)s<|^6zr(p#2&a0Z&tUF zG031m*hVw)=~jbY=a$%DjNPmdLh9#Kt|!3FC}eabz8U$xY33A>2!TS8uzk{9bRs< zV^M$Dn8F^-gZCQ`#q`-$4mbt2T~^lO2=3SwO~|8Q0p>)Lu^Z4#7 H{)qno15QZA diff --git a/examples/more/01_sample_from_cdf/example b/examples/more/01_sample_from_cdf/example index c3c651a6d06572a3909009851aec2c780272dc82..ac469d9c13bacab832df0f3e00b284721ce6ff1d 100755 GIT binary patch delta 2175 zcmZWpdr(y86~EtI9t*Yfv@N8uKB0; zkNf-Xd41>n&beo1l+28hvqq9uWaVN{Q7DTv^4UKxDl1xXd0!2EzVOLWK3Zp~zhe(| z8h&d|yD4%URWlEXA$#^u2tTczn^T}k3epP1pi=)BZUg@ga1 z>JicG!_dW4-FRk>v3B7=KiZf2l>?$#$nuF6Z8HY;c{)X7m&0( zLe&-hTdi|48F*T4yI~aayqM@T=4F)F<*1Og<$>Qb*%5)SN(!<*y2+U4xuxHc_lnLY zrXsthVugOfA; z50a3l722cE8T)`>HL^0OUBC}neO0%83TaT1M6DM6<>0X)?8`7!hU0zF0sB(Z=YMj8 z*fEAJS)sRMuw51o&O0w+6Na3Z^xowAu{ZhHo1$+R!}~T2`9!xFZ_`sQ);`AjB+pov zT~d7_qpkn8UiGV;mvI7pJoaYKAlL0zrsd#J1@_}gR1&gk9>|{YjyovTf|GhHrY|Cs zSia8d>TKjy5=#E5llv)rylxHo1=CK6_7TaSZ-b<#Fk5hu9g2^t(|Y8Q(CwtKI%N7^g3NY8$#T|pO| z4LluTxa?lLVm7l=bo+$6( zt4;7yMW;P%;<%%WQCoE#Pwj&Jp77d{1#IVgtM&M5=6EK@IWPH@TU4#uVuHfTX5Mif zx++(u6V#w%rqu+$s{AuwmjNwR?=8BJ@i^dlSY4f4`h5(e|Brt`jAxEXJNx`<=G%)n z&aWo_5g}HLb`jdD|FoeQ4R5bxjK%23=@Ad(-(lR}qRW&2U*4(9r!Zx$=|9lmvhy`z zc+ItuXb^BY$SBOZHt{cAgKBpPe_$M*cUPzOTtj2w8ocGU=Jb4qwFc)&SCyo0UGOXS zs9NStgX`{m-gND>XL)@}8uA)JtKB&Mb4HF!Ov!CG$`Ts{x5281QlnqpSS#Z1*&r)d z^mTe)s+W|x07l$^;+=l$yk3ZA9}OMy{452IFY0~A>o*)bj*G1~nd7=|Gd7Ia`z2#D zh~Wrh-V}~APcc@Hco^{j;t1j^h>p9Ay@}Y3_%5P%8vPKDf5n)X%5l$q%~%iO2x1?i z_da70#IuNIEW|s@Se=nGaA#*jA8om7u)6dXQIq);zu9E@sbRAzUrnkt6~CS=nH)b# zkxcGjs?T(s7!2@5O(B1E0@CRkzHbuB>6-Fi;|f^MqyM&V{i*K1S@);k`pc$nV&M67 zlY1-F)nvmjX?o5ZxRBSPr~crd&xLVqy?YZb(43`nsA|;ZhfMjcCSy!(MrwR8MRS+E zj!QhI#rXU-lhKWaUetbi3s%YN35904g4Ba5AL0ihuppNZBh1T%;NNZ}eh6$Yw>ofM~MTLHk=|B z_)WtzQj9db_#G^MF=ytyc0FH?dtA{#Lf-9&%VP=SaWWxyfTyvB?{&ft8}ITnHh7`w zN_k&(+;)E)xEGNTJ@!Z<_Tw0*6Y^d+yxe@0pK(C6dEK&bN!*R-?ZoF{!s@Uc*6%u+ r#+Ajz>*4)fYq8iHyHW`st_Xd(yFG(c!H)g*G>a#0VhJhx_Zj{Np#~K_ delta 2356 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 K_?gZhnEnH)y&}>8 delta 2370 zcmZuzeNYtV8Q*s~@KCtDGZ4XOKwO6dfjbTkj~p1*9{4U^{HVu=h>#g9J!cHbq|lm% zf|Z(N=dx;j@`rZPkz^7>Tl+D&q`kCGg@6%BR6+%5G)SYphX|K>;b=*U?JEIZ2DR{Gru2EwMSfa=7jNH_dCag==M_bq?i#QL26 z->el0sfD{4Cvt@fsaGf$%0y|7*3AkYQJOE?PTR&Qm2!E>&FgnlU)&lqra~nT@5mlF zeouwoOukhVc9)Mvr!4TThYl-J2>ZU3{k!&{n=izLVDVQmL1A zjV4i|0ZXMQG5=aqAN8%^eJ(zxo^lNrvInT#$Q!fIyQD_mOy$B?9;m9O>BeXo_1xYr zx3rfxa;+v8pP&?AaG!_QyYgpS9Bp3_vF;p|Mg-|Hl~;5Zr#%o!&t`e|KlNPF&qB?l zzMn9duwGCHgPiF*Gw%EwO=HCezivq_mg`k2jbZXc?7A5xl5sAnh@n0wninZOUtkfK z>m_4gZ-?2eRQ7KsSZ$$1g1r_SF~A8+ zBAJFu)fn89Orz z?Un>~WET3Z=2oFh@PugcQmL6Y(zx#Pl3loM7es9 zssAQH&BYv|T??l6Ycb8(9~^^DJaW_1O4pUsSHWg4d30b2!zf#>Eliy9JzOdM zSK*L7A$nqQ=v>6t!0+t`SXc}>dBDy`LvLPlRzK=~xD+?EU&K{CXPM$&Zk)%V2&~lN z%dwZD876zcEqzI4dk#Fmu8KYKceuE2W%RG`hC;vCM3`O|APMkW#|N8#hq7?AQ@Fxt zLGI-@F&f45^Bi7u}|XLY9WU$T}!-u4jh_;U#A}`^gBr z>&#oE8$#=62Vv5g7C(I%Yj2w)Ep|aJo_9-ARL-1@3kZ>qsgCSYgQG@x_NSDF-Qj}nDv@LQO_LB$-Wpp(;1~1T5vLD`{sWz{os;{vR zy*GU0y+QL9{>!_aL^QCA4US^y+!zN2adCX$D^*QJPwk1rKLxvc88XFX%U6u4YK10# z){tCh(1)}M*p}U6P$NE?c6=O-t=Ps$|Ie4S5twmTk`Dj2rw;27{;{n# zg0zEBR?Auo;LWl_q!Y5s50eh)D&JxXH4V4!!}6ChMy4NDRV+(PwrhzqOelZEe=le| zVOxcTwdTQriU~H^3eQ&#*|s`Eri?cX%ulfcTBN6Q!-9t~USE(~3*pB*YS{gD_-sek za-$_|MKtp8(WX=LW^y5=>SVMvJ1l+;KCMb6?f&~!iwOIi!_QW)kHLR-1g|B!qcCjJ L;eWyV{fPenngen| diff --git a/examples/more/03_ci_beta/example b/examples/more/03_ci_beta/example index c2ccfe28153d2cf12c508b1e1f4097ecadf5e759..8ae2dfb5e0c72171cae9c3380581496113afb8de 100755 GIT binary patch delta 2170 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 delta 2283 zcmZuyeNYtV8Q*vL$b#JM5k3@3-OA*Y#oMgt5%oLO~ z2xP7%*3qZW)uWsgu~zjXY*2IHARmn16nnk3Is-&sNju18Wb({qMH zJ;^udR9RI+p-bpjoAob$tI$syN2okP2c}ag(SfCMq~w@rJ5T*7g5M>?cq!j<(SC_4 zt%AvZ&Ly`B7OL!cWm(g7$yxN4?d1;)xa9+aiSLSa37gc}o0{hL2%O8Y)LG=aO{B(Q zDo={?KdF*(wk&g5B7;vTOd!(QqyEDTCd`T2XF)#pu|>DzdfQCdk$asPWr|m$ z@(d zBPk$eZy_b{Y<3#^aU2>Z!@JoV*~KO3wQgc3mtZ>E(j``ko)AgRRPGQ=v~dNC!FEXU zG99=Xh6}e~7L_`INAkkg$a4ub_I~yF4NWUMa^nmW&M+b`O-S;PJnp-GcVICb`)g63 zNBJ2NVtYv4jtiTuq!ob`6D@jdKROHoylEBe)U^bh}`|I4r;IE6=Uo5Xkk8V>fH@Y-UbWC*a z5*3f2(Z-K6uSkmPB2Ks`mPkt7XN>oo1a%Wjh;-eVHmduyV1IB3`Z?+tZ=3Y;sV*$f zUn2Sb?o=nPX_~vZ6|=lU<$3iYF1`HxIphc1tFyHyj$xvMBA<0Z=gbI>obR!3$HLP& znZykKoK&_h7D>zKa?5ie8aP$P^ida2l1sj}x{av>`RuRN78JSV`4D-WI(>Cr5!F3d zI_6rVk6MVpwm9k=Z1(b&kM`^p>%_fcz1VP8T}B)4x8?RM@SB%t-*1is&HWB>KvV86 zVu0S<2KL>n5NpdT{CYYR15XSF4HtBG>gTI_G5YG$AYV5Uy^fsWzz^Aso@$EdreDEbs)oJ}jm zDJZphl1_?KH(a4Py9(fuoijRuCXUvkSgsZ#J01NgSqk|*KcTQ^6Mn2=XPErjRy zu_rgc>HNMY<~FRmo5e457vx`l6WvifLC@h;$TdHMZuRTnZ-}dvU=j9yw_>;w%`k2y z;toQnI5i3e3r=mXM8#W=X!^x~)Ag;R-THpS|L(Wz`*$#=+I|I2ZOdifo`Rd(cCcJ% zMGB#+u!Q~fW%y-b7JFe5J}TT6`Tk|p&V`l2ti-`_tljs3bQXw8*@|0UpvsnZ4oZs5 zBnKLbQamMiFRL+Vum{i6y-0>x8=+gxXt{ov_1O`t-O7#+)A4SolH@V{uke-V5#{Ad z^!Nwde#)KsK<|k9+F0O|qSqtebH;>q-NhTeCIUNiThqD`O*5Ky60!G=rY#~)BgSA* z=bWYqh;JZnM`Y$T&4aiP@c^RfF4`eJ8Pv21MB7(*JRU-Q#CAl}JxzNHu^VwjU*Fd> zj$^`@?)!nGkDUt3?9k~cH=15!UB*pE!%B^2C7c>9uSU3xwwEGBW0CJ6m$93KQTTC1 zI_ZJeD>6tsd{B`Qx$kpLJI2Bv%TqS2sl7qMTEIZlNiW!GT=E6{(Nv>%=2@e;(a16J z_}P#5V!R6VG%=|TTTrQssnN_*Bd3e+qWCRP=teRNzo*6QzFTmO=CKE6AW>=|6Yys# zJzD>-#$&1GIe1A*i#FrZiOZ%rn3U2mG}-xmmYIjro#hc0>{3L4Y#BUuRKUbfm9tLeeitM4@d``tI8nL@Sm!UNj5vW$0t+=;$@a$ z9>#+{3g4~HWu1BOqv|o%mJL}or`dglaJwca`8iw2;v17gSd(tzbUB+63EQ0?cyo_2hE2$T_x9&R^*L5` L`U1E1?+^PgP#{y3 diff --git a/examples/more/05_burn_10kg_fat/example b/examples/more/05_burn_10kg_fat/example index 3e489835bac4f70ddb8ac56c304476211761d922..88460efa50fd6ce64838013ed467a7418f0a23ba 100755 GIT binary patch delta 2176 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 diff --git a/examples/more/06_nuclear_recovery/example b/examples/more/06_nuclear_recovery/example index feec2963d26239de2554d5fd8e83230d6688f5de..03a88a2d43f752eb1a3e3295599374ed333c7169 100755 GIT binary patch delta 2175 zcmZWpeNa@_6@T~bq6>k23oeKVvcjV*AK4E+7o!PJSGbR?Mn^uCkW8UFbYhfFg_@Rv zakZH@_E|b7X-j81`It_|#+i=IP9`Rk3Y*A)8QT(Cl{!o$VC30Av}jt5;O)7)H2tIR zkN3Ox+;h)8=l47Jj!lxWNpi+Q5{^5C=y%*1P9cq=-QRgE{%_LjW8XFPY^+OHGT*fS z;zqdF6qLmG*TeOcL6Qx9YhD%mGa%c3CB7$D5U8HSa>C4>ks@l>!t3)@LfYXw&R5H{ zF{MdqR2o!mnYMpD_;04vH|(LId8%p;sa7Uy0ol?)Pn6~H6sUGc_IdvWz5=7poanva zod{Ctz@MmoNVfSgw3F&v2A3EMO8X<|UmVc(%Qh+5FQ*%C7>xO=dSy#rrT;{SY@yy0 ziL%;0s)XhV)iWd83zk%Jey85?nMKO3#zb#nUKWL2T9lHv-3wIBcF)7^!kpxtbBq~- z_zOze$2h0ZUzihrdaWQVO1ARn;H|=ZvJEB*RdOFPi%Q5&c&ccfShfU5iqqj}QBm^2 zG(o@;Qh$kvTOMtKb459pvQ$9`O3oQ*apjqk($c_IyiuIBLsn4+>?mF<`X0cpqI7Y? z1B~PB=hU`8R2r0eRa>HwIa9+PMQ@cQq`evQ^~)Cg2V@)aZeHQtFH`TZ@uSZf+kX7| zkYE-BMN+4zHlj_2W^YICnUSwdV;`;$5v)qpMvM(OQT5~8cL&m;nPuZNH--8~QJ*oY zjm7lgfcn%92OirjcTb@-nOv5Upeh|$_Fh0SM!geUBS!!=a-c?e_Zh?UHjnycpAApr zDLV}}23M-4`rL}{mlHC9Xzf)F?9_zxeAC4UUX%XkKuKf^LeU$iDV_p zh69sA*F@Q`&BTmR9*gfAt8fJy0^N{;b+apO=v$9{gyqr>S{mcIdkqbpZ$=?M-1oH7 zsywZYg@e{i>v1+aNaE2?IqVKHL#7#_mNi`f!o zoPDw=wT>-HZAqSF-Z#zTi&9JKJiOq^t+*Yv@GeK6NKAR-x!7K8f@q$&6l;s-k1<%p z2+Y8Qr*+LKWdFUpDEK-4quMp&A}HS4)H<{qPkgr03`PTvjB)slcU}BBDcZKFmtn|z zRLqrNTM39KtuR^A>!P^UlY-}!*Wf59x$j6X9eRkOp54f!>q)g%LGVrlv^lDmpN6BQ zd&PlI;nUKrgcp*cQImddg}AbJ$tn0_*?UiY3yraGGLA6ZqV&=m7!F%O?!s2LbUu$^ z`E7k4F;)kb;2jR=NePL95YXeY5Td0S>J*HWzw=lNdfv=pj78=6U!*o}kNbanFSjq? zp~hKwr@|xFPQzTq7DD-iT!F^Q$H^qTQduPKzXl&xR;<2z6RkLEprf@MyK@t5$QeI={G_Q-2*S0|eK9r);V#R-B3 zU)5hBR{w*sVZ)VD*1(jSMYPJ1L+-glfY1(Ra=;kM_&Y#99 zR?kmXDOO)-wcmP#m`u=Jn~UlX*5;D|h}7nn9L8(CNyObX-|VJ*_g21}ezRM(4iJ+l zCRlyjVY4c^a4P@MF3* zqZMEG=qkn+YpfO@I@*x6-_F7B=_Zm6H)$!6Axk|dzB~^n)k1NSLk>)-7Lo~{tGQz5 z0wmNuE}mV0y1JUUX{0kQOdk2Z2$mhq;$dI-+dKNq9A|ddn8Yq06gFT3g4XZ@ai9Xk z#vWXQA2tTJMv24Y-$n{j1e@@hi)Sqe|E=r%iv6}bW{;+g!`T)4fE#j}To`(H(=D{?;-4*!nK!}r_U4OS imEm9Ststa2{K>v6iQ=U^c&pQuaF{cNA1|ykX!;L_Qx)L= delta 2320 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 PiO0P$8!V%1f6(whP*@Z8 delta 2300 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 rM>NDLuy4(wL!Qugw#E|LsRr`hm7oA4av delta 2341 zcmZuyeNa@_6~Ff`!giH?%QpzhRv)mt^0mnF5tQ(7f&1zvA~Dt(-zqy0wChByWu@rgOK&&$ zI&?2_e)86hPio=rp)=qtA)MCH)CzO9k_ z!icxP_oE~c;{$9s`CPV8C0!OOg$hx6N*h)Lww(Hp9j^gcdoIVZ-nQ-t8;L<^iR+B|0uWr%e#0iM+we(-ZE3ifW!Scnf@rqex|w~? z7DJw_uoi19nOtFgHcOXKA-Me{HBqU9H_?VQCnnC4~7W~}l74yt9Lojzk<&bK%HfetT+9GK8r6vz&`SZU0 zLY=T*s22_lDZ9YO^Pg&am$z6!wx6&HIWeSc(M7(yQ`!%Y22`=iob<=Ur=WRyl1gF<=!-ul2P6|ho9 zKV|h9v4#sU1Q0UnqcC&&{iaVtmz0TY<8 zGbZ&r5JtQFe*g?*4oTYwTyiK0MaU&@hyw5zqloPI&I`LL!0^EqReJ_tmMC1j7I;DR zO|_bQ!~e?LHTgWGtX#aqj$~($ckZ%xvUd~e-{D*q?I(uYc6St%4vNDw&pOC<_TubiFbPp&{-Fl?SuPM2b=YodGPLS zEy?5lw@@1vp~@xi{#O#b1(l-ovGx`CTyP80Y6XOx1Mw>^>r<^1<*(zu(>XWvzb%>} zT?25%&%>KAI;*PVfK%`Qq74WgeWN8s@Z^ONmYLZ*aA2TI0d*0SiY>P<`CEeek%m&Q2FOR&z@wRwL>GQ)Mz?QoW|Hw zx?-bQ4x&cO$qi0p=IgNSRJJH``w@Z`pV}{F8vc_R@&yZ*C#b3D> zYwp5-x%XjRGcg$RN|?Dck~NnZqAgJV`WG5SLWEdof%85)RTdq05>!iZDS?NwZ!}im|#68D8qBe3?gKaE9 z)Z;rWN!(5>^Xwa9A!(myC&W_R=er@E){*vH-@z9;gEYMNa;c8AtLkv2q@VPD_;z>49-0TwTB}U>PyqoMd(>Uee3ea>>rgeq&J-zs?rI{WY1N744n(B z?$0ti0v=5PKvt+giLJU`;xnVsF&M;8FHo&1+vnI|3eO on6);AwB-1{SsRQ=QI@ZE-{eL-#`0gyFtq0eY@oIuyz0^Y8}tlR%>V!Z diff --git a/examples/more/09_ergonomic_algebra/example b/examples/more/09_ergonomic_algebra/example index d975de507ba76ec03ae2285a680269f7b594e4eb..7885eddcb5d1abcfa069493751cce03a65e5e717 100755 GIT binary patch delta 2166 zcmZWpZBSI#8NTN%9}BX3moGtzvcZe&BFnnSuAqoqyRzqwi%lxu5<-K6WCkr`L^Fv2 zGMmKQF>7ew_J5uNr z-sjx+<2mPj-uK+`t7QBt88ni_vulLN@9dgT3aO)MPkAC1udy>7=NED2rOvY z5}Hljl}y#i(DpoqkT&?`nv*5!1-V|XlWP@qk+pq${A(`P)b3<~8K$U@nOY*LNVl6E zEy=Ut$(VXTDs}w_I`XC74RWxBE9wjjd_Y+EW*j4T`?b6O=3EJ!uVigwOdVt4sT@Xh zpo;31hLy63?uq+iPmFZbD1l9aYlIWR+5Fgv`>zMzovJA%7EGm1Htc+h)zE~Ct^ zq98wf=r6n3Jp-@Ua+6n0bFMvyk9INVRb6ZNtt~g?N0@Hw)fH`fEZ534in_qUcMP>V{Ao!XdTa7BHF_QKY z`jtTMD7NJSQ!hl@q64Xk|@xSQS?o5pcJxoo1xDF?k0XKf$b$Nj;>S8?FH6kF3gBJ}&!drDxm1l#e+ zyeuaB9x7#%-FMNdef+uJiF+4ONv~wobv>Pqy2@g~C0*RkbZ9NiqkGffNTHor;B;XQ z%}qmj9ea`_&5Gy2s3gg&-eBtNcM=wUqs5^IM*uBY{q(J+FpRCi$-zq5Zni!uad#>U zoNs6sZGYMIwA?H|Ew{+ee4xcej+NuZ@#u1_jyb-_IehI<$mj5xqlLT=l|}0}Bt&VE zF|v(Lp*^^{v=zQxo)?=h%!@6ih7^5L8ph_u#&mBA{H7?^V@=gf`e0*F7*~GDqHT&2 z;xckjbYTFJH~bCR!dmt%pw8yB@nk{x!&lhsKkE;sPHHD^zpqC9cF}oXJaXVMc68_o zojzzfBnpD-ieJ6Mg6?Z@#??eyr@&miGU2j0!fFabN%0UB%rIL#^rJd7M(JvBg>>`c zk#~>|=RoShIX8CfMOyua{t+=+2-e^l_6JQHO@iPL##SRlYSUI+hX?D=mN#PL^h(aT zs5j()Of9-S_W$jNb^8~%srJUd;C6|V`lcYmy_sf4-pHr$y1Rm$f)V#x+BpgHZcqIA z2@Kvc0ZxxS{qNVX_`o9Ram&GNkNxU>7IcimUe6P>VgmX-KdAXtBI=xt8N2XG`~qK= z=4Sc@%v}1Y;1^=mw{pEdxcNi;qRVxP`icI9eIVD!>Ow6t{t3-H{q{v&67A$aLfk_V zz_M)MOr@9h&f$$3!s{z&oKGQI@N;F16@(}6a^8U0huDcYh4?CB9C2)(^Y;)d?{hwmIEWY%F9_DJIJY4VB6h?JRIr9dwmJ>=4SI{1 z+42_MYR)`n*lM;0W44=ZZ^p{zb+5^zIBCW4Uy02F|bwQVCx&Uu*{o7aJnWJ~V)_x`CeZgr2SLiP7=KQ&k2!;DLhL z7A#n;Jw%5~fYu#EAG}z%BPtm(AH(8P1dA|Mh%fm2uC#$AyA{5y%b>#!NUSeHqO$r= zNgpIPoFh-d<%WzEt&V6~qu`ZnsuWjQqw66%BZ7d>P@UzAYBEYX34<+;$L=!fG my(ym#xI;f~iX*hk6>8dbeHn>`vOUhkQ=VuHma%_NyWzh|#2DiM delta 2329 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 X&duPxaQSIh`lK)EgSn;e?=t)c1P&j? delta 2300 zcmZuyZBSI#8NT-{;G(d1Q9z6uHgd^+2n&lYAA-7Nm{J1VzGoMkAMO6Q z&pGe=p7-l{&)J!~?95&Eb3MDZ&CG;;-~T-;)?LT) zupkd$WlK+qbxCBe9#D>r>ABQ1;b!5$DFzbO3)-DoF5zbjQo(4`qms5CTFfPiSHton zNS+l#4`W1jl1p_lI8X@YE_FbKA|Tgk42k9+!#ko#lVwxfA3?0n!v}211gCOZ^U&gP!2Ri zl$UU5Tn8J8Hwj7&&jEc=tMs|~Do3~a&6uW@v_0%%q8LWt#350>CJ*{YXF>~6&|!;u z8T4IjnD1+9GiR2OxJ#xC z8*3u_GE!0E1|ZGcD#?$-H0V_s(g$0(OKy22B8F6Exr~3S4WN?b=`eYE)%5VGA((rh zbjY=e4qKSOrVZGCwcg8F{&MKBP$L``YK0>`Y7w0A{#0)J9QW)Z?)>OH(PwUE3kaXN zkKIpvnMcsnD7lrHlUFbrjsbTDf=2Pwothqz#nIiZS+1scmaC2LNT73B)j!KsC%v6O zcG9R&O;|hmF#D9f6I3VG zLpCW85% z3F4O|>oRSL`uD-$yScaYe|9yZ))&U1S;s$B=GYaoZq((ER9&&=TlF$~;&rX3!`B9K*5*>QuZ&Y%y= zFM|Bc82M9K@-uy)E~jd2Fd=Nv(_@36P8=u0Wyz>!ocvI>i|r>4yn`Jgzrx3nG)eAa z8)~PpE!G6~7HGf#$rRI&X^Olk?m@mO^1fIaeGZxx9c0&S*Ae~xDs(b0_{;q*Q4~jh zUaCXBJYp-aMNBSvtNa9NcM?=_0+i&niUX1Ufa`YnhFOh+bc;P#`DevO z)NUthD@zfROCjjGU;C0ONw9sHbduL=f%?EDx>9nLLtHU5j4GBJWq* z*#{(4y%Ea(rux-bW_#qsSyFv)FY@IEKRWm6Qi2zMOZAy{l~_2Ax}oH2B{4cPp!Lt_x*R#@ zXYFH58Dm3}d5jvs$x1*Rl&i+O$L|P762$(1nCdz2xzNdk1OH;`LD3Sx(hjC>Iku?l zox=Vhj4uu;`$daj4Tv@^9SaAldPM%nra*s($TLrWswlUQNRe5})HOpj&PAD?dqnNH z$_sgZ+~^$ci28*0)L>=GX-6AzhEmEu0_JQ^arr@{)a9GBQ3lfek z={hu&$lxz&<63UO$&#{)zg~}3#e%U_j0)Pzaa*d0f1k_?&7<=|YZ}Qg#-?#>UTDgi zg=ANOZ!~5xh8$yt;=*hHjpyPF#I}j9_*680h{cAqGqA_ilG&F|$mzQ%_gUk`lnJeR z3NE;6v-8oRy*0Hm3)(P#Y5pm2xoyd3t+BDqdJ}fIf5R16;ZrwoM=h|gw8w2n-=TC| z(6<)9ItBL~;kO5uQPg+W8THk)JQUk=A*9@7sxM-J3{MkBuEGJ&gAY6-#LA{UX@QqL zf2Xg)_OjC{%jWOuErPW?r}!zXVjRwYAjUV2d-e>5)U<19goM<@dkC>!w9`;m{!Voh z2Htv5*Yz0rI6`6<9ua*j)!aM-(rz6&+pQu=S0_Wp!p zmtljih}%B_kNYZ;Ixb`I1RV7hWgi^JP9sb7h)+^$mP5)Nrk3=jz{fs2y#jN-HFdQq z$m$u4+Koq`8h=(sE4K+=4Qs!V8ba!ppBLg0t(TQc#?^XHs*{w(Fjj0v^UjcS z$>>9S=s(f6ij&D;NjdShznSax;~^Nuyt_%L5H&<{N7pk~5z>WNiAe71`qQh3 ziFDnKUfEhAMo?-COZ+%%n>oy`{XUx+*;|cl_Iu5T3CHOe4QA+uO}N z$;3}TQt;9Za0Rn-$I%@&+*pibX5Mgjp<9HOU=Fu`8V&_FbCc8XcCd__)nGb!fHp&z zZKNmgUGRV%!v~R=>of2s%f}@@VGnVAvyd*=CccWKB}Qq=YbM~gH&Q;jXM1k~!qvyx zOq75WZsP{L@R#r*YKPqV!<2^?>vvdV3}MwjVXx`LLQ3I(^*OnHC1}DY)(PTAD_%RS zYjAS|E_l4*5;y69qQzCYp*MruZYL+ K(HHmbHT@s5zXDVM delta 2288 zcmZuyeN-IP6`wcD$MUta5I$3ol}u!pz_JiPC{1M21>T&j)#&mW0`ZWuA?Kttwt%Tp zmb%6|XB`{Q%^&rnC#zM9+FDPxR?}n6Vn{@4N5b`@8SW!g;cAp1f@&G4I^Pg~vO=MAE<~fAjj`m@CcM<;_`Y)1zM-AAUJ$ z?&Dyu;SIsqvyS7anxF^mYaUDF{guHtMVXK`m|uUmL~2lmrFyAOR&LSuMaeBIx9c9H zzG+I85>au9#$D8(yxxijQN=Bm7oB_VUpfrmC33$jA$qO zhN`rrt2!#3Vo2N1X8tZQMB9g{GE4`@vngS~Qzc5S80|hy{h6ZQDaL!K(D_l(IjVMv z=Au(hrAxF@b<*+fPzu zOj16hYUc53+mcL%zNhY*Gz!^IgiA&JKjAQ7qokjo6%xO@;HsGDzFK|YpMAO2sz;~F zRScfUgO{RYGA(3RanxUl=2hA&moW*9b%tV~<-6#{2zWI&BmT!I)`swdw(v=APR!N} zj++(Cr3P5c%_RoNvC8Bq?6npX6CAc?kel#{Ed$P3HzY-;bKIQJmvT2E?kJc^1HpDD ze=`+|ZTaLaXtU+;zeYz%mXr}GAF&nIh ztSr&NDFZHCqD4|$L;=~0SYgj8HWr1n*Qa#7`oN`QTm;8Sf;=iKCzLOI6E_AIBCx<# zO+o!J5~llv=E4P44=`IV zyH8^ctsYtEJi&OqRdfnjJ-N)g;;+zyf1>yxbMV+>vvHew6ogZO~yAz45ww&iY{|S(7v4&Y^&h!!H(~9-ME(jTE#TVUU9wFO_ z>G?OyzCTxK)Bn(QS7jGQd5tPF+67#Cgqc&w5SEwmbtZ-5;$|fw?<`}jF9q^8tmnPS zux*2lSm3b@*?dVdvX<+0Dc8e17&QgsM`OH8PUYgV7-N|g^1snKQRPx*!t5Ef8<$oM z(cF!>W3Y{^*}@EVuc5x74v%2{aQhCaMcN^?N^QrrcoyM*^F25x+_6aCd;U2n&;J&w z0C)aYk_CbMHvUhSfD{y$#VntJcLooQ5Scq|ejI3$n z%2(Qp7opf*llnL+Gy#tfx16>fXIkJQJY!FfxdT<`GQ|YHvp>%J%&@T#`0D};7xotR zV~g}8p|-RSXC9$&PWV~ZZS0EovY3B0!7FfF(K(kgMb**?0e<9Y;&+b2$BwMnFHK>$ z38w^@cf3oC@Y|xJajhs^_SXUr7pLX#K`-q3{}FLHaE!SqsIjA&$s_+)zMsjjVZ_=~7vQyxh5WC-g1>Cs#HWW> zX>u!1a>6)X)Bgsrqh_zEVl8zU@-xs9G={3-(eA z*$nrUX1ZUC#j6>lCTMrEWTd{}HKPRz7EcfqBU-DNA+e z@qH9O=(62niD-wv3?3_eDdtF33-9fp)b(L}5)R@`zkwLgbUi(inp{MRDBt3|<1n(5$Y%kLZ}gOc4W!$Urii^-x!P?PoPNTR^_HrgQ``l>VIR?Gs#&@kO6qM{=UR;P0;HLJjW$*W^M$&u20Lb*inQdoD$;M z6>SLaY$)U%h44Vb=e)%Rd5s?w-(M0oj^eR^*N{SliUf_uJvo zCi_}5%Mb@)+~9a=#fmF{51V>o9C^#)Lm)Nhl0a}zb2Q=i6$O8|eKL-Z6rp*yJ!YV6 N*=8X4?C#x$e*@&QN?iZ| diff --git a/examples/more/12_time_to_botec_parallel/example b/examples/more/12_time_to_botec_parallel/example index 79f5bdbdccd956c03c4eb85e25d662be594da3ea..8430ff07173a3d5768ff9dc3248047a2c9ab1bc4 100755 GIT binary patch delta 2154 zcmZWpeNa@_6@T~ciYtMAyYd-_$_5_7t}M&qvMfgbX4(nb`jucYfch+`h}vQT+@80K`KNDY z_jljb&9&c+P*&ZUoO|yZDrwU zrl^Zd^+{?-vb3|KzPtjwjHw5tfcHNzmoN2}$yzH{)M*y}l(2z`1V*O%^yYtau7uB3 zu(lDVjSvne&lDy}=7dx1^=kH8AAlZT#x`1gLPt9}Q zA?_YP`@)dATe6Avpp>bP-{Cx1-Yr>r%7RDRB@6Q&O_G$hAvruvn3gqA<(yZ@xtFx| zuPkDA1txkQ^RmeN(yVCTG#4tL=$Zz*Gsk{h=Ul&re;s1>>qh(FyUv`%U73O~E80re zX2LG#8uBrma4KX!j5&{h>yf%Xdz5$ynldk>-{R?`Hp0+K@b#kqu&a;8rrn;@N)*^}6??y~C zC|U47B-yax=B0)QCFYIlAK&7<>d0ijU={>fR7ROPs9p_E%nZz#u~Aw2FHzr5upC7l z)LZdI(T*6lFJd25v!qWMqHymJ5;M%y;W#k{ATc%3(E1Hh*C=w5W$-cBp@@4HyyuaH zA@4HVg%&fDLamQZCT9w8tZBL5Z`re>ks(wC+ndb3uya zv(V zsFng5ZYQyU?9Qf@DcD{2&Ll~9U^-}&Bn8!Rrrvwn!NMnc0%~vuP=dubO)iuj9p`d(0>${B}w>pVODGzo)ue@XY9tLG>*)QO=+W0?#cC^U1>;+ z!A6?_JR#@$Z{xmrjOB@{_&_v%hQS8(V-s+~(~{bW!T$6Jss6j)q@pgMGs64n5)ujn|>JU8- z#WxNtBBLKYXI!8qFBb*DdoiTmW?Jbk5jK@Hkr8;WWOd?$Df5^3RCz%rR+iG^8bemLv!vZP|5%STVYK9gg_^u)YZ`?|g@I z9wPt;NZN-Vh^4dDkT3gxdAA|Iiz(}K&{bMYYi_`=OE;1?jTdqS()};c%u%TKyXfvQ z_?h3I;2TBT-@_+v0N*w^K}@p5XDot@$0N?)MeIY28t;!e7c7EF=zAQoZu*tU zS!OWAthTplr8V=osnY7u%-^>b99t$^i+`RVTLa5jhJ3Hp(Pp*8)KOF)xCQ^JNq_b)Pt|wWar@2iT7!p1J@8?}Wn67)V}HpFU);1a4#FX<#t1#L6#8k1lS}fb9}YFOqVu&T z&nm$g_aX+3_}pAF>T^TRwu37iYvbbQ;mo#tQXDzIZ8=&-E;M_R=t&7^XVHp4S==NL JDev5A`X9Uz0uBHG delta 2333 zcmZuyeNa@_6@T|F;zD5GLJ-gpq4<#9jdCL4Ey%_KinUa<{Wrk37+L zyhItht)kM&2Nik;SN;}0NSg+zG(h{Vrc$B-OQlG$Xr%Qt^{4QDCm-XXT=QA`c`CQ? zM*AtJ)WVynyx}L0RaMjUqqS@gx1-M`?cj}EN1T&SR?eUsznj-Pi{{%4eRqi1bdpM= zg7g`cQ~FEIk419)oAUOXdMM6uF^Kgb2ulpdXx%rG;Y z(Q!8kvdnAA58!39NbK;QIgc3NU*?tM0jQRhz*@56rxF=vmTO;;loUFWb1@OVZuuJ7 z0oyD&bl`JZN)I)qBW9cq%7N^QK6Ha)>)upFZF znD*V$;l{_O$to2puR;Ce3;!7u_Rj)>9;Y1lVD-8UD3^))HA zsP84AZl6$6a6{z-8dsF=iP98Bj^5LeyHw7_exEE+(vd1kZ?|2=ZM?qq zG?vih5xM3QT3Z+Fr?9Cf!)>>nbn?`Q-qDXsE42{^;FCG5FQ!+hdABM0n;ohu6pggM zD9CPJrA?ojFNw1AERMK4j)-#o5aanOK<$Vr)O5|5I;hz+VSR82f_hps+&b#vQk|Hd zf1~L8XNmIn>#FK1Zow!gsWheh3AY|@>J+vV%d2(kg9L_&o)I|98I2}U?tLN#_UmgZ;&NHM4 z_UF9FPL9L5oCa1N2YYT_!RKQkCwOJhYXq;^Q%;0sG1~6j3|Bue!!^WK#A#z$GdRQ5 zu6Pa(=dLL*#%mI7&XCg=%Fd`fwG=dFgh8VU323|KG#cwuCdObUw?1J2d-~T0I9A8B zA1Yl@c3gvRTgwt(M}>0b+TzS94{@dJx(3Ir$he7o=!)qCqS`Lh3&@6qIw7_w3WL-{uLcUNG!V*{&P zh70*tvL1FjHnMvz!^aK_du9~I90ieGmyyiD>H;UTs)}YL~p>-3)vTszm96_BZfQa0}Ao zO0;+o#hYE`1uYL{=Wt-E;Jf+{OAfLf-M3V=Vj08q;LEoMF^I2lH)7+2s!k(zB1S|q z%rs&OV#TDY<|FnXx)6=`RCPOI5V0GPxv#39AzqzTRp)Z#KTy?Oh(W~n5N!`tHK^?o z89k$8Y>xtl=YOp;w`uJuGZ^1yordH?x=n^OIf5EY2bVbwwjV_bhC<(Rr{OK4qcBvq zhEVvjER(g3LwfnzykxxEUF_2FOv%WOHM7x%!cr(HOMpY=(TQGs;xh51 z_Th8DbmIHC|0evoJaN?-R8?#8orbg~gFd7VqB`LgjFu;^tjEHI)YM>O%MAKLWKN^{ zeTb#SY_b9`&^(sE1MRe#?V5ml)WQyHkPgp@dNySe%EWZmI|;9g8_7}lgIG?k2JVYH zb!0fO?He5t2-jZf)saCsQn{6FEC9A@H<^YvtKJ~PaKGwXLa1Ko^9m*&&*0t5)na9s zrEKmm$}6m4c_>y~8g*g*H0-OkvW+(Qu=)b20I8-o?=44|>J0<47t_&9cP^S=3c1Ja4g~eTPq%M;T22Ry2C!{-YZi_XB Vbz}hR&5asfAEpckioCDt{taEOTR{K- diff --git a/examples/more/13_parallelize_min/example b/examples/more/13_parallelize_min/example index 151155a675abb04b8a696651169c456e4de3c02a..838859a5b3782c17c53aba3cc9abe1f42c60fdb8 100755 GIT binary patch delta 2166 zcmZWpeNa@_6@T|FAB%x~ivp6A$O@0REFZfIEW22=JhQ-k$@-BI1QanT2Gho`>4+vX zRE%3cUhQj4&mW0trZJgxrkPGVOxI2^ozdNh1#8kFwxLFu2x8;20i{dQk_g=_~eV$MzX%Vv??Z3Wg;O9@Iu6=9#R~riU&Md8c zXIH4lbj@o1Q=uSGJ!5^SBkTFaqIM&6`7xD{PRO>uS)~mrEy^aPS=Hug=hvtH!<44x zjWjq(Rc(Q4Rk9Y4&D-gTsv>?E)%M9g_rJlg%e`Jj?_jDnNrM*%jZCCa^7%>Q`8$lM z!GSv3IZU--8X3!{goCJRemShxjCPOCNC%VT6Mi|}eaU^Li%Ppcr20PD>c`M_s;@dV z$5@xNGlKS|0d1#jl`{Qut`RjD^Vjsq=7V1UiS4qPx=*CbYUiL5oFr7wi_{m-sbpZC zzJ1&*<=5dw@8P}73i~)JWj;O|sF~=V1mY;j{Kaj?j63-2lJbAVs|QX;LE7b|f)JIg zo*-;?tRO)+>`=v;9Qe@TChLGX9u}+Sz*U+H6(uE^$8rP#bIAS!BKnl=f!!qqWFNdz zQYMz?K)7T%DTEIk--7v)rK0ct&q{K|W%tqB-pec6xu7&FO{z9WBezY>8x_4>may8b zcul`-#(zMzV!4wN<@U?e9X2ligR%M}x6TVmf}lw1DAg`%SA!GNk=Z0HQ=ai_)SoAq zjH+EUcH>6Xk8srjNKMgKjNy5;gMQg(#nbqe?M5#KS87HNIu+e7Gurvr;;R9@=VNR* zzlhYdUldLTw0mlBunOrIi7HZNE!Cjs&E?R=Tl>SLLZl{&;5_d15!GYE;$^QP9txCJHRq0T+T`-QK3pR)!+he-CFzM7hV{pK! zk_mXm*&(i)fQYlgtKE#n#gMUccnqUEE=!kj_fb@8ABsvH8FiVwQ(A|kQd@RuCOBLL z)#k-q#5)^}BDg}@jX%bnaT&WQs^UG-`e%$5G2XZdhh6PiVJ!XGFOcnX{71DLM&39? zT@5+kMTPP5c%l`IU*gKJjl(*3ZrXwr>(%VLu*ZE^?37@}4dgFytm22|Porx8Vm#2( zfvYabIU^n0w}6!PFX!R)jBOS{a9;^%x2f*A02P&+$r$LB%hJwf#A0T=3uh|(i2=K+ z&aPjLvUspsTw$=NbnI;mhHW74#WpuTw+n;v2l^gjJPpji9S-Oj1?hqi(33p~vCNE9 zqtNa7eQg_B-g%TU7USc8kvh0M`TylTTt0<|8s<^xs& z(S98oybf{a4fuh#I>mn-jnBhxy^idrYnXX(o*eWjdi_E`o1uDH7^b|-$vKdGc}+*t zu*Pqo(H49UJ-A6U&7Ij#_yuDV1*gNZua%a7zUs*$e6O2SZG?~4FO?=mn`_2^wJ6>g zD4yp9G4ij5dVMdYg7u-(zpEP%dj%YHu4F;5;v{WFwEdH@Lx@jLGB%8O67d$|G~yiM zhAGCfQUsw7u@upI7Y8L`81WFI@Gr*BAdby2Ca0qP7mRH{3?ud+y1r!WG~XkRr3#|p z3e`XUs;St^38EJ3%i_-Bl*Ku`YR zAP|n@6np10__Q(S;Yn1raQPmKtcEH1+Y^!lUnFj3&rD8@VdHMygCKf)CMAimOt?w6S0S$ zS=*b0F#gm56R|;C^ER=s8s2N(PwK$E=>W0AyPMW4v1;Lw?_=7F1*@>3oZnOs9^~@3 zg#5HKE{|Ommoo`@9n`cq#Xc8&zh#67ptPQ^81}?XpNoUA6|>=?#}c6*gm@t#@AE=M z8$JqnrOo-sbaC8^a2D|!N*Em~hih&7)2yX&@k(ghyn@(5FKtdG;&esm$6GAv;*lbF TeMfnkotF?ld+4JbJ52ut-#rU^ delta 2346 zcmZuyeNa@_6@T|FA4`ON3t1G55!9zF%g645z*4K>$pZH!n*{3uiz3>=SxIZv&Vbq( z!jcdhU)I;!-gH`R+A^I?Gnq^}nQl5InF;KQ#?|PAIASSb5P^he1ePo&K?Zz1cNda& z+V{u)?mb`kobx;PZuc$JeG9##MF|5&Ch`sVl2ILNh)7XBaFeg?x>MAE&V1ZN87ThzRW`sm4ET73!p*P%G4k(h_c35S*g)ux2;z zoWfYz%1aJjdk}jKo9Rhda`HCojdS0qL^1LnQIH!|QJTV?eFz7}<1o5+wpR;wV&}y& zC9J5RwDW$&br)9N7T%AWf>;XTz-R_W6j&_9iKWA>SFv{;@3r%ZZp4RvwZtifvAsy!RoG01Nrzyj5jMvF)?WGItw$3k**mN07BZ71j z%j^0ovKK{k@frEx=UOh~rAVu=_jv{q)(YxCm`g67ca)B|-m5tEb$eEY>{hXK50Xb> zU?NULQ(Q(FgT33pyi9p%5{iIaLl_dZ9mIt(pR*BdCA)I+ z*qKz)k+XpvH-P6_@>QsB%*Q~3jmmSN??n;1 zFDbdO!SX3;D@rq>6vAMmb$jwx`ngQ_yq^fuzESlyXCT-$9gy&&T-IQ>tO=^F%J!f@@({Ui<0)4M^%N=;r6El*~zQ8 z>7(o+QMO-)5qBmdQEnJu+}|chU5pXdX)v{)#xz2IU<&+NTsqh~;^s2!P@Z>(*!f|Z za&25y9ot$U%V{iyln-F*=0aD1AZRb8Yn6dvR)q!5bd8eM^C)>TZ!_DQLVlW;jWWsa z^D@|$6ksjOH;3ZoU1>~)u*1(lUK|e zi<^_Fh)x<91tR6?mB&`HhLRv_P=NsicU^^O0cG(H88bH+G9lV~_hGPl=ns}|D{Z6X z2bRj!7dVDdLZi!5r^G@kO2;Vqt0gU=5mXQ}^%?T9UYRVFRo%3haCGG zfJkM^gHOr8*1vzh1}yJBuF|Ig#_PLCd#F72f8{5sd>Rf_nm;8U7Ma;MZj*0{wzKm? zbcafayLbnCdWig`*u-8NAvcPP<6a*E>kOhRF{QryFDSip3AGmqa>YZ3G>7H9O!9Qe z2DF|WEm`OM93Ez65sdc2eHw<%@&w&=fo$b6)6o&?9P;+Jcz7FXMd=p(Tlh+F3esW? z1bhv|yB*m}v?Ge=pT65AFU0??>>}$agICxR%P`gO)Vlx=e4(lxfXuY2_5)e~Cjid^ zE&|R18sflyMpbhG-vP7(9teRSVAq$b`YvF{eO2Y-!5*+0@W5B9+6LGU*hTkWtLkVx z!!rH8it^uTvfC&-l{)<|S-URn7n+^AOgRSYjAvr)I?K=F1f8uj-mdFF8cbrVHnG}q zVyfDLX34Iqtb)M_RehCRao_o^`%daE{D*rN(i~wQ(b+1zpR*MHBlw3LD8`QHzF2tGJ0Z&XDus4)){>84@c|mv6(9PiRok z_rs?>F#vaVozNgZsju13R+o_XYmTE)Vy!)ag5=HGXN5?&;K&P5b_%0sX7g#L46{

?+_=K<<&M) zP~V8U$gk?nYb~az5uz-@7hE>VG?StF;|bNdQSqy!eoq$i`(D@+kJz(?zE}3@64}jL U$oWJ02|?OI_=3Jq4jt0`8zvuM;s5{u diff --git a/examples/more/14_check_confidence_interval/example b/examples/more/14_check_confidence_interval/example index c0fbd4f02864b2b862b4e151b78e9cfa5c25eaa4..bbcfa8ca437598f376b3ea91088fbd6613d98b3b 100755 GIT binary patch delta 2179 zcmZWpe^3utoxn93uxUD!j@D_3k|4SU63Jn$iNN;VyKDMK z_m6#c-|u~&@B5zT{l2T0$<@nb&_dGvYnk}tkJw2wyX?uQzX@ayRK5BBwWqdKeq6XT z9B{uE=`sD9W2bXrMa~w>yM+ux)vQM&T{*k$ta3f_2`>}U0l8~m@hPKXv$#`il9ff; z@!k1<>tbWm4jP`Nva&=KAFqUX%RbuYTO;6c8pPFj7BF5C^3MQ6^S2~YbLrU=D8DQzE9#ay_dY>os{ePl&VL0 zn}pN?RX3bp(DhF4U=;J+A>|-%VD{TTWC-efxL|_4Z}*a>s}mo+VVx zk8W};$mBwUy61UCGKttqXr-^^B3b1?5o8y!OBdg?mTPpHZreCj2n~{Rs|-eo)7E zPoOpVhAkI6Wv*+{dkM`L@s1lFIYa1?6FpkJ+eM~7q}-9iBR=%yN=)SJ!TWN}_3jyrYCCQkmfX37isJSS zefQ>}z9LuhXG7%tJeXX!hJ82}(%dd$1FyS)jKg-faEK~jqga`|=EOx|Y9=o!UnGKY z9o^q*sW^fSfoUkgPo|S;nA?bbgxjV2==y}t-8nRTp#^RHm)!%1>_1;!8395J1 zL#MbnYu4j7c*px58H7U>A8bv;yOA z9S*5kUuH2(NKIKph;L3ie+|0Vzf;$WnYSO-bv^FL|Crj1c*_6BdyM#3IH_j22Aw_+ z8=Qn+`ZkbX!H<3AVQX(Xy&jgk&Ekuay-O_7D_?%XQI6++hM zaj)5ojoIeLAAHc>_%o1<50obU<9ox;p=7)s(wjZ(U>VdlUm*14{R$Q1=!o_Svi-Sm>ACCb1s>5(hYC69!s~CB*L}e+Eq-Pk?p(E f2s>9E*|qyx279ImYWJ6=3zdl+A@cbC{igo_BHs(% delta 2332 zcmZuyeN0=|6@T{`h=Jf|!bgCnfg~@%4j;A&P)M50FEemoU$eQNwOYhz}3@P+EZ*9r_jK9ZAj z3FzH~pW z;1Z?#wfkuI6s1xrFFASrVd_iYXu|WTho}^y!CSeMXuwh_L985Vze0U$c%Oq`>7iWf zb=x47+jyhxvO{X)O;p}~W>Hl&%>`sD^l;AvozgSBk@KcH_$*}zkMX&9y`yrWv!eTJ zA~s*5(y$=?mC9=_RGAk=(!WPOd|S`uo``0Q`d(zvVZES+BV6ha=be?K?UPj}?{?-_ z$sUzTljuAVgJTIInc{No4E1e8bGve40)s$bXDB*aahPt2gNymuD;rR(oW~E^!c6}9 z#9i486XA?y$&h2pC&{qWB(lNPAe(H&0DY!xatCJ2*$^=mtm3j5W{&I3cmxr*6x~}5 z7V|oGF%zCN7n0wD*Swy6Clj~kz$fO_?EC@*Oj+#k0?e9CUZGZSMa$Ger4HUmo9|;d zm=IA~q``3=E}VRxAUEp^)Yb_BXHu7C|#6pbdSyk=i@NL zCgo|=_mOD5FDiw&pz=x0R+PRGr5TDgdXKmGK|*5{zhqZR&{ULa0?IjU;(Px8*4w$Q zgV(oT!6ceIBG-CRE9{c(GM4qya^bC)96UAR>3EJ)OSTbP;KO;$Fosv5oo-dK#=WX4 zR1S6S5@Z*z(&nq?zl*ZtI`+6Lm56d+C|fSy*~Xdm`) zxeg4^w?pjy)UI6nr>Z))wV{{ORGLvf!KH_rxr`OU^lJ6Gn!zy15rNx$O{?0e40xo+~huJb1kzmwhxHtCsI|O5a55pjRaHAC2)cIi!(gG5QkW3cpiYQRS3oqSezY z17i;i(cFcxqqAotVMujpn5^Fjo9z9XIM&RAzti(;ILe7j#_^kLxtj`GhEWqC7 zK(TaK&R~-qTZP)PQ#kW*mO1Wp+kNbdj~>?e<&@JL!`KF$(m0jNCOH6W1F^%jb#2mD zhA3;w=Nx3%J|srCZu|Ig4+@v*4&w~zBHZa;Asxj#bQGUMeaq8Gt33&SKwORlgRljh za>`>V4C9pJ4)j+w^dedvz${V1XE1qHO z`24pZ9!2ax96&saXq{5k-y-%P_9Mz{||L)EmI&+6spK62gHP&IsdR4d6kSE7cgXxuchrxO(K`>Nw zuW%T;h>pU+>J8*Qc&R#{{1kp&ouAN!t#_7%UsSD0j+ylmT`Mf1*#NAoNz0kS$DkhB znP&}o%?3S_j#G-UmfnUvHJRBRn1WhOO$~W0HRv_52D~ zWSck4&kdOYIGz3=GsH--ZFT(_87SZr0#hVf*0x@7os^q)>m1ES;ZKc z*+N|4$X^DgHzv0iFAJhU;aL>y zrf|gMd&_}sXd=DvRD&hQszr>0Xtly|HfEGp1ixuGmbiCwObq7z`6S?fV*d)l_SpRU Z4-6->8+q7zq&P8DzHAfnKX>Ga?%(UnUO4~& diff --git a/squiggle_more.c b/squiggle_more.c index 4e3fce4..295d4f8 100644 --- a/squiggle_more.c +++ b/squiggle_more.c @@ -11,7 +11,7 @@ /* Parallel sampler */ #define CACHE_LINE_SIZE 64 typedef struct seed_cache_box_t { - uint64_t* seed; + uint64_t seed; char padding[CACHE_LINE_SIZE - sizeof(uint64_t*)]; } seed_cache_box; // This avoids "false sharing", i.e., different threads competing for the same cache line @@ -43,11 +43,10 @@ void sampler_parallel(double (*sampler)(uint64_t* seed), double* results, int n_ seed_cache_box* cache_box = (seed_cache_box*) malloc(sizeof(seed_cache_box) * (size_t)n_threads); srand(1); for (int i = 0; i < n_threads; i++) { - cache_box[i].seed = malloc(sizeof(uint64_t*)); // Constraints: // - xorshift can't start with 0 // - the seeds should be reasonably separated and not correlated - *(cache_box[i].seed) = (uint64_t)rand() * (UINT64_MAX / RAND_MAX); + cache_box[i].seed = (uint64_t)rand() * (UINT64_MAX / RAND_MAX); // printf("#%ld: %lu\n",i, *seeds[i]); // Other initializations tried: @@ -57,25 +56,26 @@ void sampler_parallel(double (*sampler)(uint64_t* seed), double* results, int n_ } int i; -#pragma omp parallel private(i, quotient) +#pragma omp parallel private(i) { #pragma omp for for (i = 0; i < n_threads; i++) { int lower_bound_inclusive = i * quotient; int upper_bound_not_inclusive = ((i + 1) * quotient); // note the < in the for loop below, for (int j = lower_bound_inclusive; j < upper_bound_not_inclusive; j++) { - results[j] = sampler(cache_box[i].seed); + results[j] = sampler(&(cache_box[i].seed)); } } } for (int j = divisor_multiple; j < n_samples; j++) { - results[j] = sampler(cache_box[0].seed); + results[j] = sampler(&(cache_box[0].seed)); // we can just reuse a seed, this isn't problematic because we are not doing multithreading } - + /* for (int i = 0; i < n_threads; i++) { free(cache_box[i].seed); } + */ free(cache_box); }