Details

Time bar (total: 23.5s)

analyze5.3s (22.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
1.2%98.6%0.2%11
1.4%98.4%0.2%12
10.8%88.9%0.2%13
10.8%88.9%0.2%14
Compiler

Compiled 39 to 24 computations (38.5% saved)

sample339.0ms (1.4%)

Algorithm
intervals
Results
236.0ms125×body1024valid
59.0ms53×body512valid
16.0ms59×body128valid
12.0ms19×body256valid
Compiler

Compiled 82 to 52 computations (36.6% saved)

simplify63.0ms (0.3%)

Algorithm
egg-herbie
Rules
571×fma-def_binary64
244×fma-neg_binary64
103×unsub-neg_binary64
90×associate-*l*_binary64
88×distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02353
14053
26653
38553
49953
513353
617353
721753
828153
930553
1036253
1140753
1246853
1360453
1472853
1583653
1694353
1789153
1889353
1989953
2090453
2184153

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
0.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
Compiler

Compiled 113 to 68 computations (39.8% saved)

localize29.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
0.4b
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
0.6b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))

rewrite139.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
10×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 60
Calls

4 calls:

4.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
3.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
1.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
0.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
Compiler

Compiled 2886 to 338 computations (88.3% saved)

series178.0ms (0.8%)

Error
0.2b
Counts
4 → 44
Calls

4 calls:

64.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))
56.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
24.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
20.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Compiler

Compiled 3722 to 1999 computations (46.3% saved)

simplify191.0ms (0.8%)

Algorithm
egg-herbie
Rules
642×fma-neg_binary64
367×fma-def_binary64
333×distribute-rgt-neg-in_binary64
299×distribute-lft-neg-in_binary64
289×associate-*l*_binary64
Counts
104 → 94
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01835419
13714955
28634805
324974805
445744805
549254805

prune126.0ms (0.5%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New841094
Fresh000
Picked011
Done000
Total841195
Error
0.1b
Counts
95 → 11
Alt Table
StatusErrorProgram
4.1b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) 3)))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3)) (fma.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (cos.f64 delta))) (*.f64 (cos.f64 delta) (cos.f64 delta))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))) 3))))
Compiler

Compiled 3442 to 863 computations (74.9% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))))
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))
0.4b
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
0.6b
(-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))

rewrite257.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
18×add-sqr-sqrt_binary64
16×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
prod-diff_binary64
add-cbrt-cube_binary64
Counts
4 → 71
Calls

4 calls:

4.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))
4.0ms
(-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))
1.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
0.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))))
Compiler

Compiled 4304 to 473 computations (89% saved)

series245.0ms (1%)

Error
0.1b
Counts
4 → 44
Calls

4 calls:

119.0ms
(-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))
49.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))
27.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))))
23.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
Compiler

Compiled 3926 to 2169 computations (44.8% saved)

simplify255.0ms (1.1%)

Algorithm
egg-herbie
Rules
883×fma-neg_binary64
589×fma-def_binary64
392×distribute-rgt-in_binary64
326×distribute-rgt-neg-in_binary64
322×sub-neg_binary64
Counts
115 → 86
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02176497
14025688
210745205
327385205
446535174
549835174
648225174

prune97.0ms (0.4%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New86086
Fresh099
Picked011
Done011
Total861197
Error
0.1b
Counts
97 → 11
Alt Table
StatusErrorProgram
4.1b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) 3)))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3)) (fma.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (cos.f64 delta))) (*.f64 (cos.f64 delta) (cos.f64 delta))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))) 3))))
Compiler

Compiled 2775 to 750 computations (73% saved)

localize34.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.3b
(expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))
0.4b
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
0.6b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))

rewrite218.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
10×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 62
Calls

4 calls:

4.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))
3.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))
1.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
1.0ms
(expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))
Compiler

Compiled 2921 to 403 computations (86.2% saved)

series285.0ms (1.2%)

Error
0.1b
Counts
4 → 44
Calls

4 calls:

100.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))
93.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))
31.0ms
(expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))
21.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
Compiler

Compiled 3897 to 2124 computations (45.5% saved)

simplify188.0ms (0.8%)

Algorithm
egg-herbie
Rules
737×fma-neg_binary64
354×fma-def_binary64
335×distribute-rgt-neg-in_binary64
331×distribute-rgt-in_binary64
299×distribute-lft-neg-in_binary64
Counts
106 → 82
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01835148
13644726
28754572
325734572
448074572
549994572

prune105.0ms (0.4%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New82082
Fresh088
Picked011
Done022
Total821193
Error
0.1b
Counts
93 → 11
Alt Table
StatusErrorProgram
4.1b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) 3)))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3)) (fma.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (cos.f64 delta))) (*.f64 (cos.f64 delta) (cos.f64 delta))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))) 3))))
Compiler

Compiled 2786 to 747 computations (73.2% saved)

localize43.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.4b
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
0.4b
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
0.4b
(-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3))
0.5b
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3)

rewrite881.0ms (3.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
96×prod-diff_binary64
55×add-sqr-sqrt_binary64
47×*-un-lft-identity_binary64
45×add-cube-cbrt_binary64
43×cube-prod_binary64
Counts
4 → 184
Calls

4 calls:

12.0ms
(-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3))
4.0ms
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3)
1.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
1.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
Compiler

Compiled 20249 to 2667 computations (86.8% saved)

series290.0ms (1.2%)

Error
0.1b
Counts
4 → 42
Calls

4 calls:

112.0ms
(-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3))
88.0ms
(pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))) 3)
31.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
26.0ms
(asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))
Compiler

Compiled 7722 to 2703 computations (65% saved)

simplify618.0ms (2.6%)

Algorithm
egg-herbie
Rules
796×fma-neg_binary64
515×cancel-sign-sub-inv_binary64
429×exp-prod_binary64
346×unswap-sqr_binary64
194×log-prod_binary64
Counts
226 → 216
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
028120269
147416671
2170713255
3400313255
4495013255
5496813255
6477513255

prune258.0ms (1.1%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New2133216
Fresh077
Picked101
Done033
Total21413227
Error
0.1b
Counts
227 → 13
Alt Table
StatusErrorProgram
4.1b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) 3)))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (log.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))) 3)))) (fma.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (cos.f64 delta))) (*.f64 (cos.f64 delta) (cos.f64 delta))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 6) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))) 6)) (+.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1)))))) 3))) (fma.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (cos.f64 delta))) (*.f64 (cos.f64 delta) (cos.f64 delta))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (-.f64 (/.f64 PI.f64 2) (acos.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))))) 3)) (fma.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))) (cos.f64 delta))) (*.f64 (cos.f64 delta) (cos.f64 delta))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (sin.f64 phi1) (cos.f64 delta))))))) 3))))
Compiler

Compiled 6497 to 1122 computations (82.7% saved)

regimes2.6s (11.3%)

Accuracy

Total 0.1b remaining (54.1%)

Threshold costs 0.1b (54.1%)

Compiler

Compiled 73681 to 30665 computations (58.4% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02559
13559
24059
34259
44359
54359

end1.0ms (0%)

Compiler

Compiled 40 to 25 computations (37.5% saved)

sample10.6s (45.2%)

Algorithm
intervals
Results
7.2s3928×body1024valid
1.5s1371×body512valid
648.0ms2202×body128valid
338.0ms484×body256valid
64.0ms15×body2048valid
Compiler

Compiled 880 to 415 computations (52.8% saved)

Profiling

Loading profile data...