Details

Time bar (total: 32.4s)

analyze4.7s (14.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
0.8%99%0.2%11
1.2%98.6%0.2%12
9.9%89.8%0.2%13
9.9%89.8%0.2%14
Compiler

Compiled 39 to 24 computations (38.5% saved)

sample11.2s (34.6%)

Results
8.2s3992×body1024valid
1.6s1440×body512valid
790.0ms2258×body128valid
412.0ms553×body256valid
67.0ms13×body2048valid
Compiler

Compiled 116 to 71 computations (38.8% saved)

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

localize25.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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
0.3b
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
0.5b
(-.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)))))))

series145.0ms (0.4%)

Counts
4 → 132
Calls

4 calls:

74.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)))))))
53.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))))))
10.0ms
(*.f64 (sin.f64 theta) (sin.f64 delta))
8.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))

rewrite16.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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))
4.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)))))))
4.0ms
(*.f64 (sin.f64 theta) (sin.f64 delta))
1.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))

simplify188.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
02626113
16975704
222285493
347995493
449925493
549275493

prune395.0ms (1.2%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New17510185
Fresh101
Picked101
Done000
Total17710187
Error
0.0b
Counts
187 → 10
Alt Table
StatusErrorProgram
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 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))))
26.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 theta) (sin.f64 delta))) (sqrt.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)))))))))
14.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (exp.f64 (log.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.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 (*.f64 (*.f64 (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
14.6b
(+.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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1))))))
10.7b
(+.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.1b
(+.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 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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.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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))))
Compiler

Compiled 9026 to 1981 computations (78.1% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))
0.3b
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))
0.5b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))
0.8b
(log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))

series181.0ms (0.6%)

Counts
4 → 144
Calls

4 calls:

62.0ms
(log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))
61.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))
50.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))
7.0ms
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
log-prod_binary64
pow1_binary64
Counts
4 → 74
Calls

4 calls:

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

simplify230.0ms (0.7%)

Algorithm
egg-herbie
Rules
804×cancel-sign-sub-inv_binary64
573×sub-neg_binary64
378×fma-neg_binary64
298×distribute-rgt-neg-in_binary64
253×distribute-lft-neg-in_binary64
Counts
218 → 134
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02318078
15497440
217227088
340957088
448667088
549197088

prune404.0ms (1.2%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1331134
Fresh189
Picked011
Done000
Total13410144
Error
0.0b
Counts
144 → 10
Alt Table
StatusErrorProgram
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 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))))
26.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 theta) (sin.f64 delta))) (sqrt.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)))))))))
14.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (exp.f64 (log.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.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 (*.f64 (*.f64 (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
14.6b
(+.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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1))))))
10.7b
(+.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.1b
(+.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 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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)) (log.f64 (exp.f64 (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))))
Compiler

Compiled 7259 to 1692 computations (76.7% saved)

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))))
0.3b
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))
0.8b
(log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))
0.8b
(log.f64 (exp.f64 (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))

series4.2s (13.1%)

Counts
2 → 72
Calls

2 calls:

2.3s
(log.f64 (exp.f64 (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
1.9s
(log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))

rewrite20.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
42×log-prod_binary64
18×times-frac_binary64
18×*-un-lft-identity_binary64
18×add-sqr-sqrt_binary64
18×add-cube-cbrt_binary64
Counts
2 → 58
Calls

2 calls:

5.0ms
(log.f64 (exp.f64 (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
5.0ms
(log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))

simplify219.0ms (0.7%)

Algorithm
egg-herbie
Rules
844×fma-def_binary64
334×associate-*r*_binary64
298×unswap-sqr_binary64
262×cancel-sign-sub-inv_binary64
219×associate-*l*_binary64
Counts
130 → 99
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02977286
16786696
224786472
346636452
449476452
549516452

prune471.0ms (1.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1581159
Fresh178
Picked101
Done011
Total1609169
Error
0.0b
Counts
169 → 9
Alt Table
StatusErrorProgram
26.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 theta) (sin.f64 delta))) (sqrt.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)))))))))
14.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (exp.f64 (log.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
10.7b
(+.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 (log.f64 (exp.f64 (log.f64 (/.f64 1 (sqrt.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))) (log.f64 (exp.f64 (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (sqrt.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.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 (*.f64 (*.f64 (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
14.6b
(+.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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1))))))
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 (+.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)) (log.f64 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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 9537 to 2358 computations (75.3% saved)

localize30.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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.5b
(*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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.5b
(-.f64 (cos.f64 delta) (*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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)))))))))
5.8b
(cbrt.f64 (*.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)))))))

series4.3s (13.3%)

Counts
4 → 144
Calls

4 calls:

2.7s
(*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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.5s
(cbrt.f64 (*.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)))))))
72.0ms
(-.f64 (cos.f64 delta) (*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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))))))))

rewrite58.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
30×pow1_binary64
17×cbrt-div_binary64
17×sin-mult_binary64
16×pow1/3_binary64
14×add-sqr-sqrt_binary64
Counts
4 → 110
Calls

4 calls:

8.0ms
(*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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))))))))
5.0ms
(*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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)))))))))
2.0ms
(cbrt.f64 (*.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)))))))

simplify264.0ms (0.8%)

Algorithm
egg-herbie
Rules
508×*-commutative_binary64
398×fma-def_binary64
356×fma-neg_binary64
197×+-commutative_binary64
176×times-frac_binary64
Counts
254 → 263
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055313492
1171312775
2472912773
3498712773

prune1.1s (3.5%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New3541355
Fresh167
Picked011
Done011
Total3559364
Error
0.0b
Counts
364 → 9
Alt Table
StatusErrorProgram
26.9b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 theta) (sin.f64 delta))) (sqrt.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)))))))))
14.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (exp.f64 (log.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
10.7b
(+.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 (log.f64 (exp.f64 (log.f64 (/.f64 1 (sqrt.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))) (log.f64 (exp.f64 (log.f64 (/.f64 (exp.f64 (cos.f64 delta)) (sqrt.f64 (exp.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.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 (*.f64 (*.f64 (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))) (cbrt.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
14.6b
(+.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 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1)))) (fma.f64 (neg.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))) (sin.f64 phi1) (*.f64 (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))) (sin.f64 phi1))))))
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 (sin.f64 delta) (*.f64 (cos.f64 theta) (cos.f64 phi1)) (*.f64 (cos.f64 delta) (sin.f64 phi1))))))))))
0.1b
(+.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 phi1) (cos.f64 delta) (*.f64 (*.f64 (cos.f64 phi1) (cos.f64 theta)) (sin.f64 delta)))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (*.f64 (cbrt.f64 (*.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))))))) (cbrt.f64 (*.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)))))))) (cbrt.f64 (*.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 33569 to 6258 computations (81.4% saved)

regimes3.8s (11.6%)

Accuracy

Total 0.1b remaining (66%)

Threshold costs 0.1b (66%)

Counts
288 → 1
Compiler

Compiled 97074 to 54152 computations (44.2% saved)

simplify4.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
02253
13353
24353
34953
45353
55453
65453

end234.0ms (0.7%)

Compiler

Compiled 576 to 273 computations (52.6% saved)

Profiling

Loading profile data...