| 78× | intervals |
| 3.0m | 25814× | body | 10240 | exit |
| 1.7m | 44166× | body | 1280 | valid |
| 37.5s | 30015× | body | 640 | valid |
| 27.5s | 202470× | body | 80 | valid |
| 20.4s | 152484× | body | 80 | nan |
| 17.0s | 27642× | body | 320 | valid |
| 14.9s | 36258× | body | 160 | valid |
| 11.3s | 162500× | pre | 80 | true |
| 3.5s | 3133× | body | 2560 | valid |
| 1.8s | 7984× | body | 160 | nan |
| 1.2s | 4071× | pre | 10240 | exit |
| 298.0ms | 246× | body | 5120 | valid |
468 calls:
| 4.0s | (/ (+ (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (- (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (cos phi1))) (* (cos phi1) (cos phi1)))) |
| 867.0ms | (sqrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (- lambda1 lambda2))) (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))))) |
| 834.0ms | (cbrt (* (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (- lambda1 lambda2))) (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))))))) (sqrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (- lambda1 lambda2))) (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))))))) |
| 568.0ms | (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2)))) |
| 540.0ms | (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (- lambda1 lambda2) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (* (- phi1 phi2) (- phi1 phi2)))) |
| 145× | rewrite-expression-head |
468 calls:
| 1.2s | (/ (+ (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (- (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (cos phi1))) (* (cos phi1) (cos phi1)))) |
| 619.0ms | (cbrt (* (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (- lambda1 lambda2))) (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))))))) (sqrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (- lambda1 lambda2))) (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))))))) |
| 572.0ms | (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (- lambda1 lambda2) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (cbrt (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (cbrt (cos (/ (+ phi1 phi2) 2))))))) (* (- phi1 phi2) (- phi1 phi2)))) |
| 485.0ms | (sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (- lambda1 lambda2) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (* (- phi1 phi2) (- phi1 phi2)))) |
| 400.0ms | (* (* (/ (* -2 (/ (* a c) b)) a) (/ (* -2 (/ (* a c) b)) a)) (/ (* -2 (/ (* a c) b)) a)) |
| 20181× | associate-*l/ |
| 13587× | flip-- |
| 13586× | flip3-- |
| 13575× | frac-times |
| 11492× | associate-*r/ |
| 8988× | frac-add |
| 5935× | add-exp-log |
| 5066× | sqrt-div |
| 4861× | add-sqr-sqrt |
| 4844× | *-un-lft-identity |
| 4715× | cbrt-div |
| 4520× | times-frac |
| 4294× | add-cbrt-cube |
| 2931× | add-cube-cbrt |
| 2580× | prod-exp |
| 2161× | div-exp |
| 1721× | cbrt-unprod |
| 1379× | cbrt-undiv |
| 1258× | pow1 |
| 1095× | sqrt-prod |
| 730× | associate-*r* |
| 728× | add-log-exp |
| 726× | difference-of-squares |
| 702× | associate-*l* |
| 701× | pow-exp |
| 501× | associate-/r* |
| 468× | insert-posit16 |
| 465× | flip-+ |
| 464× | flip3-+ |
| 441× | distribute-lft-out |
| 362× | associate-/l* |
| 357× | distribute-lft-out-- |
| 352× | pow-to-exp |
| 328× | log-prod |
| 304× | associate-/r/ |
| 286× | div-inv |
| 272× | pow-prod-down |
| 255× | cbrt-prod |
| 214× | 1-exp rec-exp |
| 211× | swap-sqr |
| 193× | unswap-sqr |
| 159× | associate-/l/ |
| 153× | difference-of-sqr-1 |
| 146× | cos-mult |
| 122× | *-commutative |
| 105× | pow-prod-up |
| 102× | sub-neg |
| 97× | frac-2neg clear-num |
| 84× | diff-log |
| 82× | sin-mult |
| 67× | pow-plus |
| 65× | unpow-prod-down |
| 64× | log-pow |
| 60× | frac-sub |
| 56× | sum-log |
| 51× | sqrt-pow1 pow1/2 |
| 49× | pow-flip |
| 47× | pow1/3 |
| 46× | distribute-lft-in distribute-rgt-in pow-sqr |
| 44× | inv-pow log-div |
| 41× | rem-sqrt-square |
| 36× | rem-log-exp |
| 34× | exp-prod |
| 33× | associate-+r+ |
| 32× | pow2 |
| 31× | div-sub |
| 30× | +-commutative |
| 29× | associate-+l+ |
| 27× | associate--l+ |
| 20× | sum-cubes tan-quot |
| 18× | cos-diff |
| 17× | sqr-pow cube-mult |
| 16× | sin-cos-mult |
| 15× | pow3 |
| 14× | sin-diff |
| 13× | cos-sum |
| 11× | associate--l- sqrt-undiv |
| 10× | associate--r+ acos-asin distribute-rgt-out |
| 9× | pow-unpow un-div-inv |
| 8× | distribute-rgt-out-- cube-unmult pow-pow associate-+l- |
| 5× | associate-+r- rem-exp-log rem-cbrt-cube |
| 4× | sin-sum sqrt-unprod exp-to-pow sub-div |
| 3× | distribute-frac-neg distribute-rgt-neg-out log-rec distribute-rgt-neg-in acos-neg distribute-lft-neg-in distribute-rgt1-in |
| 2× | rem-cube-cbrt pow-div exp-diff exp-sum |
| 1× | remove-posit16 cube-prod unsub-neg unpow3 tanh-undef tanh-def neg-mul-1 asin-acos rem-square-sqrt e-exp-1 |
Total 63.6b remaining (31%)
Threshold costs 5.8b (2.8%)
| 9.9b | 44.7% | Equirectangular approximation to distance on a great circle |
| 7.0b | 48.1% | Quadratic roots, narrow range |
| 7.0b | 47.3% | Cubic critical, narrow range |
| 6.2b | 3.2% | Cubic critical, medium range |
| 5.8b | 12.1% | Quadratic roots, medium range |