Details

Time bar (total: 25.3s)

analyze5.5s (21.6%)

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)

sample302.0ms (1.2%)

Algorithm
intervals
Results
208.0ms124×body1024valid
46.0ms49×body512valid
19.0ms60×body128valid
13.0ms23×body256valid
Compiler

Compiled 82 to 52 computations (36.6% saved)

simplify58.0ms (0.2%)

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 → 2
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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(+.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.1b
(+.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 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
Compiler

Compiled 220 to 122 computations (44.5% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 theta) (sin.f64 delta))
0.3b
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
0.3b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))

rewrite16.0ms (0.1%)

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

4 calls:

4.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
3.0ms
(*.f64 (sin.f64 theta) (sin.f64 delta))
3.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))
0.0ms
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))

series236.0ms (0.9%)

Counts
4 → 132
Calls

4 calls:

108.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))
96.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
27.0ms
(*.f64 (sin.f64 theta) (sin.f64 delta))
5.0ms
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))

simplify217.0ms (0.9%)

Algorithm
egg-herbie
Rules
972×fma-neg_binary64
571×fma-def_binary64
388×cancel-sign-sub-inv_binary64
374×distribute-rgt-neg-in_binary64
334×distribute-lft-neg-in_binary64
Counts
204 → 341
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02136283
15016022
213985752
331975653
448635653
549965653

prune391.0ms (1.5%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New33011341
Fresh101
Picked101
Done000
Total33211343
Error
0.0b
Counts
343 → 11
Alt Table
StatusErrorProgram
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.2b
(+.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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))) 3))))
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 (cbrt.f64 (pow.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) 3)))))))
32.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (sqrt.f64 (sin.f64 delta))) (sqrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (*.f64 (cbrt.f64 (sin.f64 delta)) (cbrt.f64 (sin.f64 delta)))) (cbrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.2b
(+.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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (expm1.f64 (log1p.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.1b
(+.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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta))))))))
27.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 delta) (sin.f64 theta)))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
Compiler

Compiled 7961 to 1681 computations (78.9% saved)

localize35.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
0.3b
(-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.4b
(*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
16.1b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))

rewrite51.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
30×pow1_binary64
23×add-sqr-sqrt_binary64
20×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
14×add-cbrt-cube_binary64
Counts
4 → 110
Calls

4 calls:

16.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))
6.0ms
(*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
4.0ms
(-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
4.0ms
(*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))

series430.0ms (1.7%)

Counts
4 → 144
Calls

4 calls:

128.0ms
(*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))
112.0ms
(-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
101.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))
89.0ms
(*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))

simplify442.0ms (1.7%)

Algorithm
egg-herbie
Rules
625×fma-neg_binary64
526×unswap-sqr_binary64
498×fma-def_binary64
343×*-commutative_binary64
297×cancel-sign-sub-inv_binary64
Counts
254 → 420
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
021110856
14509136
213488448
332718335
445178200
547438200
649088200
748108200

prune706.0ms (2.8%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New4173420
Fresh2810
Picked101
Done000
Total42011431
Error
0.0b
Counts
431 → 11
Alt Table
StatusErrorProgram
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (expm1.f64 (log1p.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
12.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))))))))
0.2b
(+.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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
32.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (sqrt.f64 (sin.f64 delta))) (sqrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (*.f64 (cbrt.f64 (sin.f64 delta)) (cbrt.f64 (sin.f64 delta)))) (cbrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
18.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (exp.f64 (log.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))))))))
0.2b
(+.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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))))
0.1b
(+.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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 3)) (fma.f64 (cos.f64 delta) (cos.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta))))))))
27.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (exp.f64 (log.f64 (*.f64 (sin.f64 delta) (sin.f64 theta)))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
Compiler

Compiled 17810 to 2154 computations (87.9% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3)
0.5b
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3))
0.6b
(pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3)
16.1b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))

rewrite25.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
21×*-un-lft-identity_binary64
21×add-sqr-sqrt_binary64
17×cbrt-prod_binary64
13×cube-prod_binary64
13×unpow-prod-down_binary64
Counts
4 → 97
Calls

4 calls:

4.0ms
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))
4.0ms
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3))
4.0ms
(pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3)
2.0ms
(pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3)

series554.0ms (2.2%)

Counts
4 → 108
Calls

4 calls:

207.0ms
(pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3)
133.0ms
(pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3)
111.0ms
(cbrt.f64 (pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3))
102.0ms
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))

simplify275.0ms (1.1%)

Algorithm
egg-herbie
Rules
667×cancel-sign-sub-inv_binary64
392×fma-neg_binary64
286×associate-*r*_binary64
237×distribute-rgt-neg-in_binary64
221×associate-*l*_binary64
Counts
205 → 377
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
025010500
16649942
226819908
347199908
449359908

prune643.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New3725377
Fresh5510
Picked101
Done000
Total37810388
Error
0.0b
Counts
388 → 10
Alt Table
StatusErrorProgram
32.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (sqrt.f64 (sin.f64 delta))) (sqrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3) 3)))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 delta) (cos.f64 delta)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))))) 3)) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3)))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) 3)) 3)) (cbrt.f64 (pow.f64 (+.f64 (*.f64 (cos.f64 delta) (cos.f64 delta)) (+.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) (*.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))))) 3)))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (*.f64 (cbrt.f64 (sin.f64 delta)) (cbrt.f64 (sin.f64 delta)))) (cbrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.2b
(+.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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))))
12.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))))) 3) (pow.f64 (+.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3)))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) 3) (pow.f64 (fma.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) (+.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) (pow.f64 (cos.f64 delta) 2)) 3)))))
Compiler

Compiled 11209 to 3466 computations (69.1% saved)

localize44.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3)
0.6b
(pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3)
16.1b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))
16.1b
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify12.0ms (0%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune571.0ms (2.3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3831384
Fresh189
Picked101
Done000
Total3859394
Error
0.0b
Counts
394 → 9
Alt Table
StatusErrorProgram
32.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (sqrt.f64 (sin.f64 delta))) (sqrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (-.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3) 3)))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) 3) (pow.f64 (fma.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (sin.f64 phi1)) (+.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) (pow.f64 (cos.f64 delta) 2)) 3)))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 (cos.f64 delta) (cos.f64 delta)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))))) 3)) (cbrt.f64 (pow.f64 (+.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3)))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) 3)) 3)) (cbrt.f64 (pow.f64 (+.f64 (*.f64 (cos.f64 delta) (cos.f64 delta)) (+.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) (*.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))))) 3)))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (*.f64 (cbrt.f64 (sin.f64 delta)) (cbrt.f64 (sin.f64 delta)))) (cbrt.f64 (sin.f64 delta))) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))
12.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cbrt.f64 (cos.f64 delta)) (cbrt.f64 (cos.f64 delta))) (cbrt.f64 (cos.f64 delta)) (neg.f64 (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))) (fma.f64 (neg.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))) (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))))))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (/.f64 (pow.f64 (-.f64 (pow.f64 (cos.f64 delta) 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3))))) 3) (pow.f64 (+.f64 (cos.f64 delta) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 (asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) 3) (pow.f64 (sin.f64 phi1) 3)))) 3)))))
Compiler

Compiled 11435 to 3621 computations (68.3% saved)

regimes1.5s (5.8%)

Accuracy

Total 0.1b remaining (57.4%)

Threshold costs 0.1b (57.4%)

Compiler

Compiled 51952 to 25158 computations (51.6% saved)

simplify8.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
035161
147161
257161
363161
467161
568161
668161

end2.0ms (0%)

Compiler

Compiled 103 to 50 computations (51.5% saved)

sample13.3s (52.5%)

Algorithm
intervals
Results
9.5s3964×body1024valid
1.6s1374×body512valid
724.0ms2120×body128valid
411.0ms536×body256valid
37.0msbody2048valid
Compiler

Compiled 1137 to 425 computations (62.6% saved)

Profiling

Loading profile data...