Details

Time bar (total: 24.5s)

analyze5.3s (21.5%)

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)

sample317.0ms (1.3%)

Algorithm
intervals
Results
224.0ms125×body1024valid
50.0ms53×body512valid
16.0ms59×body128valid
11.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 → 1
Iterations

Useful iterations: 0 (0.0ms)

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

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 113 to 68 computations (39.8% saved)

localize26.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite749.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
26×add-cube-cbrt_binary64
23×pow1_binary64
22×add-sqr-sqrt_binary64
14×add-cbrt-cube_binary64
12×add-exp-log_binary64
Counts
4 → 147
Calls

4 calls:

20.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)))))))
17.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))))))
12.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
8.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
Compiler

Compiled 6492 to 695 computations (89.3% saved)

series187.0ms (0.8%)

Error
0.2b
Counts
4 → 44
Calls

4 calls:

66.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)))))))
60.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))))))
26.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))))))
24.0ms
(asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta))))
Compiler

Compiled 3722 to 1999 computations (46.3% saved)

simplify222.0ms (0.9%)

Algorithm
egg-herbie
Rules
534×fma-def_binary64
414×unswap-sqr_binary64
385×cancel-sign-sub-inv_binary64
278×sub-neg_binary64
261×*-commutative_binary64
Counts
191 → 132
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02177160
14816808
213506687
335086678
448956678

prune427.0ms (1.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1239132
Fresh000
Picked011
Done000
Total12310133
Error
0.1b
Counts
133 → 10
Alt Table
StatusErrorProgram
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))))
4.2b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.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 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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 (sin.f64 phi1) (cos.f64 delta) (*.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 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 2) (*.f64 (cos.f64 delta) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta)))) (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 3))))))
Compiler

Compiled 5218 to 1067 computations (79.6% saved)

localize34.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite455.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
31×add-cube-cbrt_binary64
23×pow1_binary64
22×add-sqr-sqrt_binary64
14×add-cbrt-cube_binary64
12×add-exp-log_binary64
Counts
4 → 149
Calls

4 calls:

15.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))
15.0ms
(-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))
13.0ms
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
12.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))
Compiler

Compiled 7965 to 821 computations (89.7% saved)

series389.0ms (1.6%)

Error
0.1b
Counts
4 → 44
Calls

4 calls:

151.0ms
(-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))
105.0ms
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
52.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))
27.0ms
(atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (-.f64 (cos.f64 delta) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))
Compiler

Compiled 4070 to 2195 computations (46.1% saved)

simplify245.0ms (1%)

Algorithm
egg-herbie
Rules
615×fma-def_binary64
510×fma-neg_binary64
410×cancel-sign-sub-inv_binary64
349×distribute-rgt-in_binary64
294×distribute-lft-in_binary64
Counts
193 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02357348
14896988
214846819
343226813
449866813

prune165.0ms (0.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New92092
Fresh088
Picked011
Done011
Total9210102
Error
0.1b
Counts
102 → 10
Alt Table
StatusErrorProgram
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))))
4.2b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.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 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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 (sin.f64 phi1) (cos.f64 delta) (*.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 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 2) (*.f64 (cos.f64 delta) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta)))) (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 3))))))
Compiler

Compiled 4321 to 933 computations (78.4% saved)

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

rewrite506.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
26×add-cube-cbrt_binary64
23×pow1_binary64
22×add-sqr-sqrt_binary64
14×add-cbrt-cube_binary64
13×log1p-expm1-u_binary64
Counts
4 → 151
Calls

4 calls:

16.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))
16.0ms
(*.f64 (sin.f64 phi1) (sin.f64 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))
12.0ms
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
10.0ms
(expm1.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))
Compiler

Compiled 6621 to 869 computations (86.9% saved)

series281.0ms (1.1%)

Error
0.1b
Counts
4 → 44
Calls

4 calls:

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

Compiled 3897 to 2124 computations (45.5% saved)

simplify325.0ms (1.3%)

Algorithm
egg-herbie
Rules
548×fma-def_binary64
540×prod-exp_binary64
380×cancel-sign-sub-inv_binary64
293×sub-neg_binary64
276×*-commutative_binary64
Counts
195 → 106
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02186530
14956152
214276042
337216033
446376033
554156033

prune183.0ms (0.7%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1060106
Fresh077
Picked011
Done022
Total10610116
Error
0.1b
Counts
116 → 10
Alt Table
StatusErrorProgram
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))))
4.2b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.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 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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 (sin.f64 phi1) (cos.f64 delta) (*.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 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 2) (*.f64 (cos.f64 delta) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta)))) (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 3))))))
Compiler

Compiled 4403 to 988 computations (77.6% saved)

localize33.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.4b
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
0.4b
(expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))
0.6b
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))
1.1b
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))

rewrite870.0ms (3.5%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
30×add-cube-cbrt_binary64
19×pow1_binary64
18×add-sqr-sqrt_binary64
13×log1p-expm1-u_binary64
12×add-cbrt-cube_binary64
Counts
4 → 150
Calls

4 calls:

20.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))
12.0ms
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
12.0ms
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))
10.0ms
(expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))
Compiler

Compiled 8235 to 1371 computations (83.4% saved)

series416.0ms (1.7%)

Error
0.1b
Counts
4 → 54
Calls

4 calls:

159.0ms
(log.f64 (+.f64 1 (expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))
77.0ms
(expm1.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))
67.0ms
(-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))
24.0ms
(asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))
Compiler

Compiled 5361 to 2766 computations (48.4% saved)

simplify358.0ms (1.5%)

Algorithm
egg-herbie
Rules
662×fma-neg_binary64
460×cancel-sign-sub-inv_binary64
322×distribute-rgt-in_binary64
317×times-frac_binary64
229×distribute-lft-in_binary64
Counts
204 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02739589
16718970
220028469
343118457
452258457

prune261.0ms (1.1%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New89190
Fresh066
Picked101
Done033
Total9010100
Error
0.1b
Counts
100 → 10
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 (log1p.f64 (expm1.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
28.0b
(+.f64 lambda1 (exp.f64 (log.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (*.f64 (*.f64 (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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 (sin.f64 phi1) (cos.f64 delta) (*.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 (asin.f64 (+.f64 (*.f64 (sin.f64 phi1) (cos.f64 delta)) (*.f64 (*.f64 (cos.f64 phi1) (sin.f64 delta)) (cos.f64 theta)))))))))
0.5b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))))))))
4.2b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (sin.f64 theta))) (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.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) (expm1.f64 (log1p.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (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 1 (/.f64 (expm1.f64 (*.f64 2 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))) (+.f64 1 (exp.f64 (-.f64 (cos.f64 delta) (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))))))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (*.f64 (sin.f64 theta) (sin.f64 delta)) (cos.f64 phi1)) (/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 2) (*.f64 (cos.f64 delta) (fma.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta)))))) (cos.f64 delta)))) (-.f64 (pow.f64 (cos.f64 delta) 3) (pow.f64 (*.f64 (sin.f64 phi1) (sin.f64 (asin.f64 (fma.f64 (sin.f64 phi1) (cos.f64 delta) (*.f64 (sin.f64 delta) (*.f64 (cos.f64 phi1) (cos.f64 theta))))))) 3))))))
Compiler

Compiled 4858 to 1018 computations (79% saved)

regimes2.2s (8.8%)

Accuracy

Total 0.1b remaining (51.1%)

Threshold costs 0.1b (51.1%)

Compiler

Compiled 66568 to 33185 computations (50.1% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02559
13559
24059
34259
44359
54359

end1.0ms (0%)

Compiler

Compiled 40 to 25 computations (37.5% saved)

sample10.5s (43%)

Algorithm
intervals
Results
7.0s3928×body1024valid
1.4s1371×body512valid
993.0ms2202×body128valid
307.0ms484×body256valid
62.0ms15×body2048valid
Compiler

Compiled 661 to 315 computations (52.3% saved)

Profiling

Loading profile data...