
Herbie found 16 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in delta around inf 99.7%
expm1-log1p-u99.7%
expm1-udef99.6%
+-commutative99.6%
fma-def99.6%
*-commutative99.6%
fma-def99.7%
Applied egg-rr99.7%
expm1-def99.7%
expm1-log1p99.7%
fma-udef99.7%
neg-mul-199.7%
distribute-lft-neg-in99.7%
fma-def99.8%
Simplified99.8%
Final simplification99.8%
Initial program 99.7%
associate-*l*99.7%
cancel-sign-sub-inv99.7%
cancel-sign-sub99.7%
remove-double-neg99.7%
+-commutative99.7%
associate-*l*99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around inf 99.7%
+-commutative99.7%
fma-def99.7%
*-commutative99.7%
fma-def99.7%
+-commutative99.7%
*-commutative99.7%
fma-udef99.7%
*-commutative99.7%
*-commutative99.7%
associate-*l*99.7%
Simplified99.7%
Final simplification99.7%
Initial program 99.7%
associate-*l*99.7%
cancel-sign-sub-inv99.7%
cancel-sign-sub99.7%
remove-double-neg99.7%
+-commutative99.7%
associate-*l*99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in delta around inf 99.7%
Final simplification99.7%
Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in delta around inf 99.7%
Taylor expanded in delta around inf 99.7%
*-commutative99.7%
associate-*l*99.7%
*-commutative99.7%
Simplified99.7%
Final simplification99.7%
Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in theta around 0 95.1%
mul-1-neg95.1%
sub-neg95.1%
fma-def95.1%
*-commutative95.1%
Simplified95.1%
Final simplification95.1%
Initial program 99.7%
associate-*l*99.7%
cancel-sign-sub-inv99.7%
cancel-sign-sub99.7%
remove-double-neg99.7%
+-commutative99.7%
associate-*l*99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in theta around 0 95.1%
Final simplification95.1%
Initial program 99.7%
associate-*l*99.7%
cancel-sign-sub-inv99.7%
cancel-sign-sub99.7%
remove-double-neg99.7%
+-commutative99.7%
associate-*l*99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in delta around 0 92.9%
Final simplification92.9%
if delta < -0.330000000000000016 or 7.00000000000000031e-19 < delta Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around 0 86.5%
if -0.330000000000000016 < delta < 7.00000000000000031e-19Initial program 99.8%
*-commutative99.8%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.8%
Simplified99.8%
Taylor expanded in delta around 0 99.6%
mul-1-neg99.6%
sub-neg99.6%
unpow299.6%
1-sub-sin99.8%
Simplified99.8%
Final simplification92.5%
if delta < -0.330000000000000016 or 7.00000000000000031e-19 < delta Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around 0 86.5%
if -0.330000000000000016 < delta < 7.00000000000000031e-19Initial program 99.8%
associate-*l*99.7%
cancel-sign-sub-inv99.7%
cancel-sign-sub99.7%
remove-double-neg99.7%
+-commutative99.7%
associate-*l*99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in theta around 0 99.6%
add-cbrt-cube91.2%
*-commutative91.2%
*-commutative91.2%
*-commutative91.2%
Applied egg-rr91.2%
associate-*l*91.2%
cube-unmult91.2%
*-commutative91.2%
*-commutative91.2%
Simplified91.2%
Taylor expanded in delta around 0 91.2%
unpow291.2%
1-sub-sin91.3%
unpow291.3%
Simplified91.3%
Taylor expanded in delta around inf 99.8%
*-commutative99.8%
associate-*l*99.8%
*-commutative99.8%
Simplified99.8%
Final simplification92.5%
if delta < -0.330000000000000016 or 7.00000000000000031e-19 < delta Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around 0 86.5%
if -0.330000000000000016 < delta < 7.00000000000000031e-19Initial program 99.8%
associate-*l*99.7%
cancel-sign-sub-inv99.7%
cancel-sign-sub99.7%
remove-double-neg99.7%
+-commutative99.7%
associate-*l*99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in theta around 0 99.6%
Taylor expanded in delta around 0 99.6%
unpow291.2%
1-sub-sin91.3%
unpow291.3%
Simplified99.8%
Final simplification92.5%
Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around 0 88.8%
Final simplification88.8%
Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around 0 88.8%
Taylor expanded in phi1 around 0 86.6%
Final simplification86.6%
if delta < -4.20000000000000025e-41 or 4.1000000000000001e-57 < delta Initial program 99.6%
*-commutative99.6%
associate-*l*99.6%
sub-neg99.6%
+-commutative99.6%
*-commutative99.6%
distribute-rgt-neg-in99.6%
fma-def99.6%
Simplified99.6%
Taylor expanded in phi1 around 0 85.5%
Taylor expanded in phi1 around 0 82.3%
Taylor expanded in theta around 0 72.9%
if -4.20000000000000025e-41 < delta < 4.1000000000000001e-57Initial program 99.9%
*-commutative99.9%
associate-*l*99.8%
sub-neg99.8%
+-commutative99.8%
*-commutative99.8%
distribute-rgt-neg-in99.8%
fma-def99.9%
Simplified99.9%
Taylor expanded in phi1 around 0 94.1%
Taylor expanded in lambda1 around inf 86.1%
Final simplification78.0%
if theta < -4.6e52 or 2.0999999999999999e-61 < theta Initial program 99.7%
*-commutative99.7%
associate-*l*99.6%
sub-neg99.6%
+-commutative99.6%
*-commutative99.6%
distribute-rgt-neg-in99.6%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around 0 86.8%
Taylor expanded in phi1 around 0 85.0%
Taylor expanded in delta around 0 76.1%
if -4.6e52 < theta < 2.0999999999999999e-61Initial program 99.7%
*-commutative99.7%
associate-*l*99.8%
sub-neg99.8%
+-commutative99.8%
*-commutative99.8%
distribute-rgt-neg-in99.8%
fma-def99.8%
Simplified99.8%
Taylor expanded in phi1 around 0 90.9%
Taylor expanded in phi1 around 0 88.4%
Taylor expanded in theta around 0 88.3%
Final simplification82.0%
if lambda1 < -4.0000000000000003e-253 or 7.7999999999999997e-164 < lambda1 Initial program 99.9%
*-commutative99.9%
associate-*l*99.9%
sub-neg99.9%
+-commutative99.9%
*-commutative99.9%
distribute-rgt-neg-in99.9%
fma-def99.9%
Simplified99.9%
Taylor expanded in phi1 around 0 93.6%
Taylor expanded in lambda1 around inf 80.3%
if -4.0000000000000003e-253 < lambda1 < 7.7999999999999997e-164Initial program 98.7%
*-commutative98.7%
associate-*l*98.7%
sub-neg98.7%
+-commutative98.7%
*-commutative98.7%
distribute-rgt-neg-in98.7%
fma-def98.9%
Simplified98.9%
Taylor expanded in phi1 around 0 64.4%
Taylor expanded in phi1 around 0 61.1%
Taylor expanded in theta around 0 41.2%
Taylor expanded in lambda1 around 0 39.0%
Final simplification73.5%
Initial program 99.7%
*-commutative99.7%
associate-*l*99.7%
sub-neg99.7%
+-commutative99.7%
*-commutative99.7%
distribute-rgt-neg-in99.7%
fma-def99.7%
Simplified99.7%
Taylor expanded in phi1 around 0 88.8%
Taylor expanded in lambda1 around inf 68.3%
Final simplification68.3%
herbie shell --seed 2023167
(FPCore (lambda1 phi1 phi2 delta theta)
:name "Destination given bearing on a great circle"
:precision binary64
(+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))))