Equirectangular approximation to distance on a great circle

Time bar (total: 1.2min)

analyze4.3s (5.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
0%0%99.8%0.2%0%0%0%9
3.1%3.1%96.6%0.2%0%0%0%10
15.6%15.6%84.2%0.2%0%0%0%11
15.6%15.6%84.2%0.2%0%0%0%12
Compiler

Compiled 38 to 18 computations (52.6% saved)

sample1.1min (92.8%)

Results
4.6s6144×0valid
1.9s6095×0valid-sollya
4.9s2112×1valid
679.0ms2077×1valid-sollya
24.0ms49×0exit-sollya
12.0ms35×1exit-sollya
Sollya Eval
PtRival-outSollya-intervalSollya-pointstatusSollya statusRival itersollya-timecheck
(6.8359292506999695e+218 -100148492601760.25 8.470047957672828e+86 3.225386403603194e+229 -4.626327180997908e-116)+inf.0(+inf.0 +inf.0)+nan.0validexit00.5157809999999999#f
(-1.851317654552263e-281 1.3077750510954573e+266 -2.864741868163904e+226 -6.366539899340278e+124 2.187467084470659e+44)-1.74777563986898e-15(+nan.0 +nan.0)+nan.0validexit10.36923#f
(1.7408469595783016e-274 -3.9754564753618475e-234 -6.480799768187187e+249 7.141595257057736e-291 -3.84430678137705e+71)8.075414145565815e-25(+nan.0 +nan.0)+nan.0validexit10.340997#f
(-9.021247449966753e-68 -1.0476358795120136e+122 4.17639777171179e+257 -7.10774095720267e+109 1.5699328560617952e+146)-3.760758673818653e+190(+nan.0 +nan.0)+nan.0validexit10.420999#f
(2.123438700096302e+48 5.3365638731751476e-269 -3.5490960739178993e+251 1.4335758842702768e-197 -9.467799770361712e+228)7.153716324758767e+299(+nan.0 +nan.0)+nan.0validexit10.44423999999999997#f
(-1.5133248662672456e+244 2.4911259315753468e+100 4.304538665697165e-229 -3.4108581284423908e-37 6.83995943230878e-82)-inf.0(-inf.0 -inf.0)+nan.0validexit00.33644700000000005#f
(6.34546430339912e+92 3.8971896640261474e+233 -2.8721988566831683e-259 1.439446573679339e-159 1.240251482978272e+44)+inf.0(+nan.0 +nan.0)+nan.0validexit10.35108999999999996#f
(4.437069839424852e-28 -296802544041.348 3.481611687319528e+170 -3.044701986776287e+215 -3.975486607809912e-177)1.3509555355561988e+188(1.3509555355561988e+188 1.3509555355561988e+188)+nan.0validexit00.5639869999999999#f
(3552175465401514000.0 -6.001215185894052e+53 -6.870486421054786e+180 3.0848157877188006e+85 -2.15212378627196e-66)5.6184378363096e+198(+nan.0 +nan.0)+nan.0validexit10.354758#f
(-6.8203941224508184e+140 -4.789207871426712e+301 -6.952962360201403e+248 -5.1671970044702545e+188 2.7430943202765635e-115)-inf.0(+nan.0 +nan.0)+nan.0validexit10.32025800000000004#f
(-1.4831929324583236e+57 2.1980647159993634e-271 -1.4190494200014086e-76 5.305763881703541e-127 -5.93933078242933e-148)-2.1047240705551726e-19(-2.1047240705551726e-19 -2.1047240705551726e-19)+nan.0validexit00.30651#f
(-3.0753227713344176e+92 -3.9997677909758974e+101 6.008263094172538e-75 5.311947984954634e-137 -1.3026536665716757e-157)-1.2300576967638138e+194(-1.2300576967638138e+194 -1.2300576967638138e+194)+nan.0validexit00.323389#f
(5.356513712556209e-278 4.0668175255591338e+183 2.0021252711160647e+45 -2.2123781435205346e-85 -0.23472675102152665)2.163410804963223e-94(2.163410804963223e-94 2.163410804963223e-94)+nan.0validexit00.412919#f
(3.432693796439282e-118 5.594919599576067e+38 2.125944599601996e-196 -3.5557767568305526e+120 -2.008738270115043e-126)1220.5892814695228(1220.5892814695228 1220.5892814695228)+nan.0validexit00.430624#f
(-666145106.1974645 1.5623476306327602e-125 -5.450565988688807e+185 1.330536738893743e+272 -2.2097839570037864e-178)-8.863305372300004e+280(-8.863305372300004e+280 -8.863305372300004e+280)+nan.0validexit00.242194#f
(-2.6165409721877473e-67 -2.449265914514977e+298 1.2319515026044985e+70 9.172195195365159e-42 86.21310846932235)-4.104239976722722e+231(-4.104239976722722e+231 -4.104239976722722e+231)+nan.0validexit00.434336#f
(-5.89588905680276e+203 -1.7559764982625353e-141 6.440017876361498e+111 0.0013247600912188824 1.742669295770024e-243)-inf.0(-inf.0 -inf.0)+nan.0validexit00.443024#f
(5.8471054652765546e-235 9.951248845260291e+28 -1.9295469818897567e+240 -4.1559381917721534e-77 3.0833351303181895e-277)1128226.4703315478(1128226.4703315478 1128226.4703315478)+nan.0validexit00.319647#f
(-1.4542397786886757e-185 3.4402513471935627e-158 -1.5953393661451687e+207 -7.356312830142768e-302 -1.1895964222445634e+258)-1.7299584378137744e+73(-1.7299584378137744e+73 -1.7299584378137744e+73)+nan.0validexit00.44288#f
(-5.554087382401028e+71 1.8525065840651824e+42 -1.8806945454744206e-239 -2.123883756582935e+237 -8.021312676331727e-231)-inf.0(-inf.0 -inf.0)+nan.0validexit00.256014#f
(-2.2456222692832507e-101 8.073409273646801e-234 -3.436762097436976e+35 1.1287126619751753e-77 -5.07737286948302e-282)-7.717669500233085e-66(-7.717669500233085e-66 -7.717669500233085e-66)+nan.0validexit00.315721#f
(165460279.50529674 1.2078420048331102e-228 2.5063245726085984e-221 -1.784572287384426e-28 2.8119326998283564e-292)2.952758294680339e-20(2.952758294680339e-20 2.952758294680339e-20)+nan.0validexit00.37580600000000003#f
(-2.1795147042849533e-211 -1.4936905941820885e+127 5.698154760680091e-183 1.0334598759434908e+270 1.1269269165873585e-305)-2.252440995907342e+59(+nan.0 +nan.0)+nan.0validexit05.0#f
(7.661607745583854e-8 -1.019742980709367e+150 -2.1547755735346428e+120 3.108947666439511e-285 1.5921219171868828e+82)7.654041246291126e+142(+nan.0 +nan.0)+nan.0validexit10.367336#f
(-2.26811009602578e+126 -3.998463841009644e-14 1.6583537491569582e-264 -8.285049759199771e-227 -2.357270336203806e-55)-9.068956206387993e+112(-9.068956206387993e+112 -9.068956206387993e+112)+nan.0validexit00.381237#f
(8.412418872700842e-305 8.070288854843675e-126 4.4827869491344543e+136 -2.1673384365971425e+275 -1.704255726541629e-38)1.823255876755974e-29(1.823255876755974e-29 1.823255876755974e-29)+nan.0validexit00.508019#f
(5.103476747263514e-6 7.473079488248268e-307 2.5640034041235322e-81 4.850075885942446e-127 3.6843601554710327e+295)1.88030463819906e+290(1.88030463819906e+290 1.88030463819906e+290)+nan.0validexit00.319093#f
(-1.7547478868263864e+79 -8.41496216500968e-60 -5.780804449841396e-38 -2.8837176342399926e+160 -4.021343191039499e-235)-5.060197424886613e+239(-5.060197424886613e+239 -5.060197424886613e+239)+nan.0validexit00.36952300000000005#f
(-1.2964277699190366e-208 -1.5460997620617713e+61 7.940455286464587e+142 -5.041712317246961e-245 -6.2227209954966624e-55)-1.0294226739173108e-65(-1.0294226739173108e-65 -1.0294226739173108e-65)+nan.0validexit00.455592#f
(-6.266512413015492e+260 -1.239004083049174e+279 -5.567272450224417e+306 -1.2213920353701258e+194 -3.222771273877834e+298)-inf.0(+nan.0 +nan.0)+nan.0validexit10.517815#f
(-1.1241389785951432e+217 1.1586006001476883e+99 -1.2293196539120466e+111 -7.234592222508922e-255 -6.245685228479959e+84)-inf.0(+nan.0 +nan.0)+nan.0validexit10.439997#f
(-6.123558311531538e+290 -1.4874186865104216e+30 -9.14092455594476e+183 8.581319881266984e-167 2.4537016958447655e-157)-inf.0(-inf.0 -inf.0)+nan.0validexit00.453766#f
(188209671.2679872 -3.801244654258862e+74 -6.780109570742134e-238 3.926312212465747e-134 -9.075892171043623e-95)7.15431006787254e+82(7.15431006787254e+82 7.15431006787254e+82)+nan.0validexit00.187486#f
(-5.600784226653787e-44 6.636874825361036e+254 2.87335083119812e-228 2.300822548402046e+208 -0.007616812362726776)-2.0400566589299193e+211(+nan.0 +nan.0)+nan.0validexit10.341385#f
(-8.78772936904255e-220 -4.0076157725710353e-249 -1.8240723742884137e+302 6.123744356782297e+228 3.060550897054436e+85)-4.909529452583183e+82(+nan.0 +nan.0)+nan.0validexit10.455017#f
(-5.7296384685752e+47 5.1251878426411796e-49 8.781373939498526e-40 -1.5443003449684575e+249 3.3110657290047896e-262)-8.848282663565225e+296(-8.848282663565225e+296 -8.848282663565225e+296)+nan.0validexit00.44734#f
(1.0784147372497734e-276 -2.8817454445940495e+187 -1.6827507263309176e+247 1.3430185020115876e+200 -11.213310721103133)9.986291876474375e-30(+nan.0 +nan.0)+nan.0validexit10.357408#f
(8.943684347614138e-17 2.3093365382874567e+153 -9.715147120057135e+255 -3.6909190137816666e-152 1.3877238914327155e+36)8.360577523564752e+239(+nan.0 +nan.0)+nan.0validexit10.342983#f
(-3.4703950435733145e-47 -4266620727723477.0 -8.134015859081981e+276 -406998187611.3154 2.010937494355627e+166)-2.1818505759629936e+230(+nan.0 +nan.0)+nan.0validexit10.318726#f
(3.8913891305201827e+229 -5.840189771097642e+189 2.4149691329138357e-244 1.0599615127237178e-232 -9.119099878265348e+80)+inf.0(+nan.0 +nan.0)+nan.0validexit10.16822399999999998#f
(2.5006948940483152e-104 1.422930357789327e+96 -2.67514131441981e-94 1.9255607643699068e-293 -3.4242603096175088e+252)8.563030272152808e+148(8.563030272152808e+148 8.563030272152808e+148)+nan.0validexit00.563826#f
(-4.804728811464659e+301 -1.5574653963715373e+299 7.106330761544413e+185 -2.9112120329373886e-127 6.193935725177789e+286)-inf.0(+nan.0 +nan.0)+nan.0validexit10.415489#f
(1.8021469464980968e+155 1.8449161324830932e+35 -2.6561640677228004e+136 -8.858237470685416e+80 -2.7071086034238337e-73)3.0185761883899548e+290(+nan.0 +nan.0)+nan.0validexit10.47800400000000004#f
(-4.53325035112824e+64 -1.3166614107645482e+144 1.6722233723981255e-126 2.0497285856264076e-152 1.1072084778532788e+288)-inf.0(-inf.0 -inf.0)+nan.0validexit00.41039400000000004#f
(-7.488662207928172e+109 -2.226912021602435e+75 -6.108363822093121e+67 1.1218880213522347e-276 9.353639264747069e+204)-inf.0(-inf.0 -inf.0)+nan.0validexit00.445639#f
(-1.626198804592164e-144 -1.3315510800656784e+245 -3.066159160164977e-33 8.667630317940536e+184 1.8308877677142096e+151)-2.1580891875180593e+101(+nan.0 +nan.0)+nan.0validexit10.316779#f
(9.84188777518218e-239 -9.661990527382963e+176 -4.625999740312361e-297 6.132887752468086e-201 1.7467306384869342e+107)8.293973708122499e-63(+nan.0 +nan.0)+nan.0validexit10.16601300000000002#f
(3.465756333289507e+238 -1.0060472659169598e+199 -1.9622642860227273e+154 -1.0373328545092429e-95 6.69125913343002e+183)+inf.0(+nan.0 +nan.0)+nan.0validexit10.189076#f
(-6.563311743745904e-26 -1.796286076816482e-95 -6.389943740114571e+117 2.3607340831034054e+96 -4.0619042513690375e+142)-2.6659543874981817e+117(-2.6659543874981817e+117 -2.6659543874981817e+117)+nan.0validexit00.479177#f
(6.3928602224221045e+50 0.0007898226000548025 1.5975368911095587e+90 1.3933534025143377e-232 1.5043456928657115e+248)9.617071740693227e+298(9.617071740693227e+298 9.617071740693227e+298)+nan.0validexit00.343954#f
(-2.7137337987965768e-294 -5.431005123521145e-132 -2.288987360735707e+216 1.9789220631417327e-262 3.032154268905384e-213)-6.211702365846661e-78(-6.211702365846661e-78 -6.211702365846661e-78)+nan.0validexit00.41865#f
(-2.4985216859980347e-144 -1.9711471206905837e+304 -4.689912860412343e+191 -4.141251539168542e+239 -6.581524552498481e+283)-4.3465525742293146e+160(+nan.0 +nan.0)+nan.0validexit10.34543399999999996#f
(1.3530956373432501e-76 -5.608617737914404e+177 7.558241225788619e-97 4.66422098984504e+170 2.5455755785853315e-305)6.537079465963882e+101(+nan.0 +nan.0)+nan.0validexit10.198352#f
(-2.0437585383371046e-111 1.1392956025705674e-14 -1.9623910082456323e-116 -5.184309589872816e-256 -5.773261986411917e-162)-2.3284451154435134e-125(-2.3284451154435134e-125 -2.3284451154435134e-125)+nan.0validexit00.368544#f
(-3.1029217192001682e-93 -4.390076994784287e-266 5.037941103240323e-22 4.923398156435467e-70 -3.802730139679608e-253)-1.5632336869295655e-114(-1.5632336869295655e-114 -1.5632336869295655e-114)+nan.0validexit00.385969#f
(1.0498194343958165e+145 -28287201896197.258 -3.546779057794318e+287 -8.498055436416239e+275 -3.0650376868796536e-114)+inf.0(+nan.0 +nan.0)+nan.0validexit10.347346#f
(-6.9172587386435504e-130 2.2883029962952857e-153 7.526291476469484e-152 4.809709867119269e-67 3.3073622251819545e-280)-3.3270007608670876e-196(-3.3270007608670876e-196 -3.3270007608670876e-196)+nan.0validexit00.356186#f
(-3.6518545979834047e+238 2.6367608899991215e+283 5.497438667238375e+206 -1.5300773928017858e+142 1.6833521854431005e+124)-inf.0(+nan.0 +nan.0)+nan.0validexit10.191862#f
(5.038839831678288e-291 1.4902146199615765e-202 6.928535597510266e+96 5.969598950312002e-90 -3.359213464762857e+22)2.578131947814998e-194(+nan.0 +nan.0)+nan.0validexit10.239196#f
(2.0571981506723746e+149 -4.661640260888378e+95 5.109877520336596e+145 -6.143381361927954e-62 -2.0550790936501976e+37)1.8742959929427983e+294(+nan.0 +nan.0)+nan.0validexit10.163267#f
(7.0300678197985035e-9 -4.036778592302568e+152 -1.0695421628694311e+36 -7.687111456220306e+56 -5.004878252031167e+271)3.518463354161369e+263(3.518463354161369e+263 3.518463354161369e+263)+nan.0validexit00.279851#f
(1.1668579411824965e+176 -2.842896475662237e-121 7.022636950881341e+176 -1.265615772692732e+138 -1.164980845134302e-133)+inf.0(+nan.0 +nan.0)+nan.0validexit10.393813#f
(-3.190156119940339e-106 5.358723400633458e-178 -5.955273908343548e-64 4.2707949302183187e+248 -8.640552214058383e+265)-2.7564710525342397e+160(-2.7564710525342397e+160 -2.7564710525342397e+160)+nan.0validexit00.251785#f
(-8.319770031369274e+65 873.9712859626975 1.392364413655618e-21 4.796512105299357e+237 -2.5490240093038823e+88)-3.990587766876953e+303(-3.990587766876953e+303 -3.990587766876953e+303)+nan.0validexit00.48833299999999996#f
(-6.522380168069472e-284 2.3940458880519402e-166 -4.392162829841142e+140 2.3798904926389574e+120 2.0528753623000723e-109)-2.541770388885135e-143(+nan.0 +nan.0)+nan.0validexit10.322894#f
(-2.5078138115450883e-20 4.8399990653177315e-219 -4.3710225999784305e+157 -1.6550527534867794e+276 6.644729179288868e-237)-4.1505641540298734e+256(-4.1505641540298734e+256 -4.1505641540298734e+256)+nan.0validexit00.330364#f
(6.252380985349619e-15 3.8646574625143286e+121 1.1828090750765183e+164 2.1688579978676943e+293 4.095078290949753e+25)1.3560526505791418e+279(1.3560526505791418e+279 1.3560526505791418e+279)+nan.0validexit00.6199070000000001#f
(-5.067818795307391e-307 1.0452708779435293e-302 -7.177833591098464e-187 -1.8271599936390124e+215 2.863661325113025e+240)-1.4512516686802657e-66(-1.4512516686802657e-66 -1.4512516686802657e-66)+nan.0validexit00.24988400000000002#f
(-8.674951314950368e-171 3.399314737990182e-23 -2.5025180326477117e-190 1.093719867642512e+230 7.747309974925336e+159)-9.487966603992753e+59(-9.487966603992753e+59 -9.487966603992753e+59)+nan.0validexit00.26136600000000004#f
(2.1135361364993115e-217 -3.908955523626491e+270 2.2295307077280827e+90 3.414725936929074e-242 1.3337786666882412e+107)7.742485491755896e+53(+nan.0 +nan.0)+nan.0validexit10.307862#f
(4.43802372781296e-95 -3.6909261803278884e-308 2.3507106433687137e+211 -3.1478991072389694e+120 1.2819387930298883e+39)1.0358141396462183e+117(+nan.0 +nan.0)+nan.0validexit10.398378#f
(8.171449236696823e+289 -1.3897714940020746e-271 2.7473937483724688e-148 12995.122697327157 -2.6573469380665554e+95)+inf.0(+inf.0 +inf.0)+nan.0validexit00.444002#f
(-4.1801617008081266e-128 6.9181244225043405e-25 1.5979095960678404e+300 1.422607592863645e+227 -4.365191027932956e-282)-1.6617545530504055e+172(+nan.0 +nan.0)+nan.0validexit10.312451#f
(7.053110396224171e+150 5.29107339604194e-302 5.461563353068283e-222 1.9389736721438705e-196 1.9199521660548054e-129)1.3541634582654264e+22(1.3541634582654264e+22 1.3541634582654264e+22)+nan.0validexit00.165406#f
(-1.595587410433126e-288 -6.562211351166605e+70 -4.299178939617281e+264 -5.625857645674498e+260 -9.34693436023696e-130)-5.172869630813686e-24(+nan.0 +nan.0)+nan.0validexit10.472801#f
(1.4609897714977802e+206 8.215626393758033e-271 1.1081640573907997e+24 -8.901912794162932e-295 4.924354897408284e-291)1.6190163529894376e+230(1.6190163529894376e+230 1.6190163529894376e+230)+nan.0validexit00.38960999999999996#f
(-8.604150246597295e-280 -6.248943420210523e-17 -1.6394290713873538e-197 -1.780601234737306e-133 -6.529477245603889e-277)-5.376684806997691e-296(-5.376684806997691e-296 -5.376684806997691e-296)+nan.0validexit00.400735#f
(7.28847562833796e+253 1.9889959491082652e+134 3.7904711101362676e-230 8.370808159955727e-190 1.0313501079344644e+132)+inf.0(+nan.0 +nan.0)+nan.0validexit10.365863#f
(-3.3947729323932612e+115 7.038543480640466e-102 1.8740276103566408e-54 -1.6780689597879118e-186 -7.143657244669401e+56)-2.425109425249871e+172(-2.425109425249871e+172 -2.425109425249871e+172)+nan.0validexit00.329164#f
(1.0019135528147434e-150 3.2939515333267674e-216 -6.201159277060727e+252 4.471463676218681e+127 8.950009943580692e-218)6.114931786315659e+101(+nan.0 +nan.0)+nan.0validexit10.19525599999999999#f
(-1.1087665415778402e-121 -7.255810063036098e-195 6.720707579653712e+176 -3.2444165715539883e+208 -1.3304033790564732e-114)-3.597300541479749e+87(-3.597300541479749e+87 -3.597300541479749e+87)+nan.0validexit00.554359#f
(-8.669296597604057e+241 -1.6236368871583035e+273 7.422867092659476e+179 -6.156535020094172e-13 -2.0677531540397613e-237)-inf.0(-inf.0 -inf.0)+nan.0validexit00.45713200000000004#f
(1.3174975343884485e-146 5.327282825289992e-43 6.468879890811732e-59 4.620149859537879e-77 -3.8394013310463353e-308)7.0186819873094915e-189(7.0186819873094915e-189 7.0186819873094915e-189)+nan.0validexit00.363249#f
(8.782621830408167e+108 -4.453883413412408e-234 -2.712111690083759e+229 -3.5199645418877534e-93 1.1497607237915918e-51)+inf.0(+inf.0 +inf.0)+nan.0validexit00.335712#f
Sollya timings
Total time spent in Sollya 2.6s
Bogosity

preprocess537.0ms (0.7%)

Algorithm
egg-herbie
Rules
631×distribute-lft-neg-out
539×distribute-rgt-neg-out
494×distribute-rgt-in
494×distribute-lft-in
477×unsub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01591548
14001540
210451524
349171516
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2))))))
(neg.f64 (*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2))))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2)))))))
(*.f64 lambda1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 lambda2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 phi1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 R phi2) (-.f64 R phi2)))))
(*.f64 phi2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 R) (-.f64 phi1 R)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 lambda1 phi2) (-.f64 lambda1 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) #s(literal 2 binary64)))) (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 lambda1) (-.f64 phi1 lambda1)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 lambda2 phi2) (-.f64 lambda2 phi2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 lambda2) (-.f64 phi1 lambda2)))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) #s(literal 2 binary64))))) (*.f64 (-.f64 phi2 phi1) (-.f64 phi2 phi1)))))
Outputs
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 phi2)))
(*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 phi2)) (neg.f64 R))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 phi2))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (+.f64 lambda1 lambda2))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 R (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (+.f64 lambda1 lambda2))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) #s(literal 2 binary64)))) (-.f64 (neg.f64 phi1) phi2)))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) #s(literal 2 binary64)))) (+.f64 phi1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2))))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 (neg.f64 phi2))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (+.f64 phi1 phi2)))
(neg.f64 (*.f64 (neg.f64 R) (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 phi2)))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 (neg.f64 lambda1) lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(*.f64 (neg.f64 R) (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (+.f64 lambda1 lambda2))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 (neg.f64 lambda2)) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2))))))
(*.f64 (neg.f64 R) (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2)) (-.f64 phi1 phi2)))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 (neg.f64 lambda1) lambda2))))
(*.f64 (neg.f64 R) (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (+.f64 lambda1 lambda2))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 (neg.f64 phi1) phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 (neg.f64 phi1) phi2) (-.f64 (neg.f64 phi1) phi2))))))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) #s(literal 2 binary64)))) (-.f64 (neg.f64 phi1) phi2))))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi2 phi1) #s(literal 2 binary64)))) (+.f64 phi1 phi2))))
(neg.f64 (*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 (neg.f64 phi2)) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 (neg.f64 phi2)) (-.f64 phi1 (neg.f64 phi2)))))))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 (neg.f64 phi2)))))
(*.f64 R (neg.f64 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (-.f64 phi1 phi2) #s(literal 2 binary64)))) (+.f64 phi1 phi2))))
(*.f64 lambda1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 R lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 lambda1 (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 R lambda2)) (-.f64 phi1 phi2)))
(*.f64 lambda1 (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 R lambda2))))
(*.f64 lambda2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 R) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 lambda2 (hypot.f64 (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 lambda1 R)) (-.f64 phi1 phi2)))
(*.f64 lambda2 (hypot.f64 (-.f64 phi1 phi2) (*.f64 (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))) (-.f64 lambda1 R))))
(*.f64 phi1 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 R phi2) (-.f64 R phi2)))))
(*.f64 phi1 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi2) #s(literal 2 binary64)))) (-.f64 R phi2)))
(*.f64 phi2 (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 R) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 R) (-.f64 phi1 R)))))
(*.f64 phi2 (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 R phi1) #s(literal 2 binary64)))) (-.f64 phi1 R)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda2 lambda1) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 lambda1 phi2) (-.f64 lambda1 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 phi1 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi2) #s(literal 2 binary64)))) (-.f64 lambda1 phi2)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) #s(literal 2 binary64)))) (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 phi1 lambda1) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 lambda1) (-.f64 phi1 lambda1)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 phi2 lambda2) (cos.f64 (/.f64 (+.f64 lambda1 phi1) #s(literal 2 binary64)))) (-.f64 phi1 lambda1)))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 lambda2 phi2) (-.f64 lambda2 phi2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) #s(literal 2 binary64)))) (-.f64 lambda2 phi2)))
(*.f64 R (hypot.f64 (-.f64 phi2 lambda2) (*.f64 (-.f64 lambda1 phi1) (cos.f64 (/.f64 (+.f64 lambda2 phi2) #s(literal 2 binary64))))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 phi1 lambda2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 lambda2) (-.f64 phi1 lambda2)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 lambda2 phi1) #s(literal 2 binary64)))) (-.f64 phi1 lambda2)))
(*.f64 R (hypot.f64 (-.f64 phi1 lambda2) (*.f64 (-.f64 lambda1 phi2) (cos.f64 (/.f64 (+.f64 lambda2 phi1) #s(literal 2 binary64))))))
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi2 phi1) #s(literal 2 binary64))))) (*.f64 (-.f64 phi2 phi1) (-.f64 phi2 phi1)))))
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (-.f64 phi1 phi2)))
Symmetry

(negabs R)

(sort lambda1 lambda2)

(sort phi1 phi2)

Compiler

Compiled 37 to 17 computations (54.1% saved)

eval1.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

prune4.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
57.1%
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
Compiler

Compiled 74 to 34 computations (54.1% saved)

simplify92.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
sub-neg
*-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026136
134136
242136
346136
448136
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))
Outputs
(*.f64 R (sqrt.f64 (+.f64 (*.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64)))) (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) #s(literal 2 binary64))))) (*.f64 (-.f64 phi1 phi2) (-.f64 phi1 phi2)))))

soundness2.0ms (0%)

Stop Event
fuel
Compiler

Compiled 37 to 17 computations (54.1% saved)

preprocess315.0ms (0.4%)

Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

(negabs R)

Compiler

Compiled 592 to 272 computations (54.1% saved)

end0.0ms (0%)

Profiling

Loading profile data...