Details

Time bar (total: 31.4s)

analyze7.9s (25.2%)

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)

sample436.0ms (1.4%)

Algorithm
intervals
Results
299.0ms122×body1024valid
75.0ms45×body512valid
23.0ms70×body128valid
18.0ms19×body256valid
Compiler

Compiled 82 to 52 computations (36.6% saved)

simplify60.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.2b
Counts
3 → 2
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 (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 (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 220 to 122 computations (44.5% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 theta) (sin.f64 delta))
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
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))
0.6b
(-.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)))))))

series142.0ms (0.5%)

Counts
4 → 132
Calls

4 calls:

67.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)))))))
54.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))))))
11.0ms
(*.f64 (sin.f64 theta) (sin.f64 delta))
9.0ms
(asin.f64 (fma.f64 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta))))

rewrite14.0ms (0%)

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))))))
4.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))))

simplify208.0ms (0.7%)

Algorithm
egg-herbie
Rules
447×fma-neg_binary64
376×distribute-rgt-neg-in_binary64
325×distribute-lft-neg-in_binary64
257×associate-*r*_binary64
241×neg-mul-1_binary64
Counts
204 → 185
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02626113
16965704
222275493
347965493
449895493
549245493

prune425.0ms (1.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1778185
Fresh101
Picked101
Done000
Total1798187
Error
0.0b
Counts
187 → 8
Alt Table
StatusErrorProgram
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 (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.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 theta)) (cbrt.f64 (sin.f64 theta))) (*.f64 (cbrt.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)))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (+.f64 (*.f64 (pow.f64 (sin.f64 phi1) 2) (cos.f64 delta)) (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))
12.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (-.f64 (cos.f64 phi1) (*.f64 (*.f64 (sin.f64 phi1) delta) (cos.f64 theta))))))
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 (cos.f64 delta) (sin.f64 phi1) (*.f64 (*.f64 (sin.f64 delta) (cos.f64 phi1)) (cos.f64 theta)))))))))))
4.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 delta) (sin.f64 theta)) 3)) (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)) (+.f64 (fma.f64 1 (cos.f64 delta) (neg.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 phi1)))) (fma.f64 (neg.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 phi1) (*.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 phi1))))))
15.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 (sqrt.f64 (cos.f64 delta)) (sqrt.f64 (cos.f64 delta)) (neg.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 phi1)))) (fma.f64 (neg.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 phi1) (*.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 phi1))))))
Compiler

Compiled 8640 to 1876 computations (78.3% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))
0.3b
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta)))
0.3b
(pow.f64 (sin.f64 phi1) 2)
0.6b
(-.f64 (cos.f64 delta) (+.f64 (*.f64 (pow.f64 (sin.f64 phi1) 2) (cos.f64 delta)) (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))

series215.0ms (0.7%)

Counts
4 → 36
Calls

4 calls:

103.0ms
(-.f64 (cos.f64 delta) (+.f64 (*.f64 (pow.f64 (sin.f64 phi1) 2) (cos.f64 delta)) (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))
73.0ms
(*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))
32.0ms
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta)))
7.0ms
(pow.f64 (sin.f64 phi1) 2)

rewrite55.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
19×add-exp-log_binary64
19×pow1_binary64
18×add-cbrt-cube_binary64
18×*-un-lft-identity_binary64
18×add-sqr-sqrt_binary64
Counts
4 → 97
Calls

4 calls:

12.0ms
(-.f64 (cos.f64 delta) (+.f64 (*.f64 (pow.f64 (sin.f64 phi1) 2) (cos.f64 delta)) (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))
12.0ms
(*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))))
8.0ms
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta)))
6.0ms
(pow.f64 (sin.f64 phi1) 2)

simplify157.0ms (0.5%)

Algorithm
egg-herbie
Rules
547×fma-neg_binary64
445×associate-*r*_binary64
404×distribute-rgt-neg-in_binary64
367×distribute-lft-neg-in_binary64
362×associate-*l*_binary64
Counts
133 → 181
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03084632
18653768
230353479
351273479

prune915.0ms (2.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1783181
Fresh437
Picked101
Done000
Total1836189
Error
0.0b
Counts
189 → 6
Alt Table
StatusErrorProgram
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 (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)))))))))))
15.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (sqrt.f64 (cos.f64 delta)) (sqrt.f64 (cos.f64 delta)) (neg.f64 (fma.f64 (pow.f64 (sin.f64 phi1) 2) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))) 0)))
4.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 delta) (sin.f64 theta)) 3)) (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 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))) 3))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 1 (cos.f64 delta) (neg.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 phi1)))) (fma.f64 (neg.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 phi1) (*.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 phi1))))))
Compiler

Compiled 9443 to 2795 computations (70.4% saved)

localize49.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sin.f64 theta) (sin.f64 delta))
0.2b
(*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))
0.3b
(*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta)))
0.3b
(*.f64 (cos.f64 phi1) (cos.f64 phi1))

series92.0ms (0.3%)

Counts
2 → 48
Calls

2 calls:

83.0ms
(*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))
8.0ms
(*.f64 (cos.f64 phi1) (cos.f64 phi1))

rewrite23.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
18×pow1_binary64
13×associate-*r*_binary64
13×add-cbrt-cube_binary64
13×add-exp-log_binary64
11×add-sqr-sqrt_binary64
Counts
2 → 61
Calls

2 calls:

13.0ms
(*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))
3.0ms
(*.f64 (cos.f64 phi1) (cos.f64 phi1))

simplify129.0ms (0.4%)

Algorithm
egg-herbie
Rules
605×fma-neg_binary64
520×fma-def_binary64
463×associate-*r*_binary64
443×associate-*l*_binary64
360×cancel-sign-sub-inv_binary64
Counts
109 → 112
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02162237
16082015
222731921
342601904
450301904

prune838.0ms (2.7%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1932195
Fresh235
Picked101
Done000
Total1965201
Error
0.0b
Counts
201 → 5
Alt Table
StatusErrorProgram
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 (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)))))))))))
15.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (sqrt.f64 (cos.f64 delta)) (sqrt.f64 (cos.f64 delta)) (neg.f64 (fma.f64 (pow.f64 (sin.f64 phi1) 2) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))
4.8b
(+.f64 lambda1 (atan2.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (*.f64 (sin.f64 theta) (sin.f64 delta))) (*.f64 (sin.f64 theta) (sin.f64 delta)))) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))) 0)))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))) 3))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (neg.f64 (sin.f64 delta)))) 0)))
Compiler

Compiled 8530 to 2264 computations (73.5% saved)

localize62.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cos.f64 phi1) (cos.f64 phi1))
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 phi1))
0.4b
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta)))
18.8b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))

series94.0ms (0.3%)

Counts
3 → 60
Calls

3 calls:

52.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta)))
34.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
7.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi1))

rewrite125.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
49×pow1_binary64
28×cos-mult_binary64
20×associate-*l/_binary64
19×pow-prod-down_binary64
18×frac-times_binary64
Counts
3 → 95
Calls

3 calls:

84.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
11.0ms
(*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta)))
11.0ms
(*.f64 (sin.f64 phi1) (sin.f64 phi1))

simplify118.0ms (0.4%)

Algorithm
egg-herbie
Rules
599×fma-def_binary64
425×distribute-rgt-in_binary64
411×distribute-lft-in_binary64
382×cancel-sign-sub-inv_binary64
348×associate-*r*_binary64
Counts
155 → 159
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02273281
15522620
220682466
350982466

prune571.0ms (1.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2060206
Fresh044
Picked011
Done000
Total2065211
Error
0.0b
Counts
211 → 5
Alt Table
StatusErrorProgram
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 (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)))))))))))
15.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (fma.f64 (sqrt.f64 (cos.f64 delta)) (sqrt.f64 (cos.f64 delta)) (neg.f64 (fma.f64 (pow.f64 (sin.f64 phi1) 2) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))
4.8b
(+.f64 lambda1 (atan2.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (*.f64 (sin.f64 theta) (sin.f64 delta))) (*.f64 (sin.f64 theta) (sin.f64 delta)))) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))) 0)))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (*.f64 (sin.f64 phi1) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (neg.f64 (sin.f64 delta)))) 3))))
0.1b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (+.f64 (fma.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (cos.f64 delta) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (sin.f64 phi1) (sin.f64 phi1)) (sin.f64 phi1)) (*.f64 (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (*.f64 (cos.f64 phi1) (cos.f64 theta))) (*.f64 (cos.f64 phi1) (cos.f64 theta))))) (neg.f64 (sin.f64 delta)))) 0)))
Compiler

Compiled 11979 to 2760 computations (77% saved)

regimes5.0s (16%)

Accuracy

Total 0.0b remaining (46.7%)

Threshold costs 0.0b (46.7%)

Counts
260 → 1
Compiler

Compiled 81240 to 46872 computations (42.3% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02351
13551
24251
35451
46751
57651
68251
78451
88451

end1.0ms (0%)

Compiler

Compiled 36 to 21 computations (41.7% saved)

sample13.7s (43.5%)

Algorithm
intervals
Results
9.7s3874×body1024valid
1.8s1313×body512valid
896.0ms2252×body128valid
469.0ms554×body256valid
38.0msbody2048valid
Compiler

Compiled 353 to 177 computations (49.9% saved)

Profiling

Loading profile data...