Details

Time bar (total: 18.6s)

analyze2.9s (15.4%)

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
9.4%90.4%0.2%9
9.4%90.4%0.2%10
10.9%88.9%0.2%11
10.9%88.9%0.2%12
10.9%88.9%0.2%13
10.9%88.9%0.2%14
Compiler

Compiled 25 to 15 computations (40% saved)

sample208.0ms (1.1%)

Algorithm
intervals
Results
135.0ms145×body1024valid
24.0ms45×body512valid
17.0msbody2048valid
13.0ms37×body256valid
3.0ms21×body128valid
Compiler

Compiled 53 to 33 computations (37.7% saved)

simplify38.0ms (0.2%)

Algorithm
egg-herbie
Rules
284×fma-def_binary64
141×fma-neg_binary64
44×distribute-rgt-in_binary64
38×cancel-sign-sub-inv_binary64
37×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01532
12130
22830
33530
44230
56830
69830
713230
817630
922030
1028830
1131030
1234630
1339330
1440330
1542130
1644230
1744930
1847030
1947830
2048030
2145330

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 71 to 41 computations (42.3% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
0.6b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
3.5b
(sin.f64 (-.f64 lambda1 lambda2))
3.5b
(cos.f64 (-.f64 lambda1 lambda2))

rewrite269.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
1.0b
Rules
46×add-cube-cbrt_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
14×prod-diff_binary64
12×add-log-exp_binary64
Counts
4 → 151
Calls

4 calls:

16.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
15.0ms
(sin.f64 (-.f64 lambda1 lambda2))
14.0ms
(cos.f64 (-.f64 lambda1 lambda2))
8.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
Compiler

Compiled 5235 to 693 computations (86.8% saved)

series138.0ms (0.7%)

Error
1.1b
Counts
4 → 54
Calls

4 calls:

53.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
23.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
17.0ms
(cos.f64 (-.f64 lambda1 lambda2))
14.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 3152 to 1675 computations (46.9% saved)

simplify152.0ms (0.8%)

Algorithm
egg-herbie
Rules
760×cancel-sign-sub-inv_binary64
601×fma-neg_binary64
424×distribute-rgt-neg-in_binary64
248×fma-def_binary64
243×associate-*r*_binary64
Counts
205 → 108
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02704595
18103737
226043586
348413584
449103584

prune161.0ms (0.9%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New9414108
Fresh000
Picked101
Done000
Total9514109
Error
1.0b
Counts
109 → 14
Alt Table
StatusErrorProgram
34.2b
(+.f64 lambda1 (*.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
25.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))
6.5b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 3)))
1.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) lambda1 (sin.f64 (neg.f64 lambda2)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
7.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (fma.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
6.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
4.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (cos.f64 phi1) (-.f64 1 (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) (/.f64 (+.f64 (/.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) -1) (cos.f64 phi2))))))
15.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.6b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1)))))))
Compiler

Compiled 3890 to 1167 computations (70% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.7b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
3.5b
(sin.f64 (-.f64 lambda1 lambda2))

rewrite367.0ms (2%)

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

4 calls:

20.0ms
(sin.f64 (-.f64 lambda1 lambda2))
16.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
15.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
8.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
Compiler

Compiled 5244 to 739 computations (85.9% saved)

series224.0ms (1.2%)

Error
0.4b
Counts
4 → 54
Calls

4 calls:

85.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
28.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
21.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
18.0ms
(sin.f64 (-.f64 lambda1 lambda2))
Compiler

Compiled 4056 to 2200 computations (45.8% saved)

simplify203.0ms (1.1%)

Algorithm
egg-herbie
Rules
593×fma-neg_binary64
310×associate-*r*_binary64
298×fma-def_binary64
276×associate-*l*_binary64
207×unswap-sqr_binary64
Counts
206 → 113
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03065014
18724517
231404438
347314386
449414386
548544386

prune236.0ms (1.3%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1112113
Fresh11213
Picked101
Done000
Total11314127
Error
0.2b
Counts
127 → 14
Alt Table
StatusErrorProgram
34.2b
(+.f64 lambda1 (*.f64 (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (sqrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
25.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
6.5b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) 3)))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
7.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (fma.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
6.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (sin.f64 (-.f64 lambda1 lambda2)) 3))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
4.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (cos.f64 phi1) (-.f64 1 (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) (/.f64 (+.f64 (/.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) -1) (cos.f64 phi2))))))
15.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.6b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
8.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (fma.f64 (cos.f64 lambda2) lambda1 (sin.f64 (neg.f64 lambda2))) (fma.f64 1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 (*.f64 lambda1 lambda1) (*.f64 -1/2 (sin.f64 lambda2)))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1)))))))
Compiler

Compiled 4356 to 1158 computations (73.4% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.2b
(fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.7b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))

rewrite344.0ms (1.9%)

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

4 calls:

16.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
15.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
10.0ms
(fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))
9.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
Compiler

Compiled 5189 to 674 computations (87% saved)

series268.0ms (1.4%)

Error
0.2b
Counts
4 → 55
Calls

4 calls:

91.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
38.0ms
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))))))
29.0ms
(fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))
21.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 4913 to 2417 computations (50.8% saved)

simplify217.0ms (1.2%)

Algorithm
egg-herbie
Rules
585×fma-neg_binary64
274×associate-*r*_binary64
274×fma-def_binary64
235×associate-*l*_binary64
198×unswap-sqr_binary64
Counts
200 → 123
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02855340
17895009
228694980
347394973
449604973
549554973

prune277.0ms (1.5%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New1185123
Fresh4913
Picked101
Done000
Total12314137
Error
0.1b
Counts
137 → 14
Alt Table
StatusErrorProgram
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
5.6b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (fma.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1))) 3)))
1.6b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
7.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (fma.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
4.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (cos.f64 phi1) (-.f64 1 (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) (/.f64 (+.f64 (/.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) -1) (cos.f64 phi2))))))
5.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))) 3))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
15.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (sqrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
25.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))
0.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (log.f64 (exp.f64 (fma.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1))))))
5.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (-.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1)))) 1)))
8.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (-.f64 (fma.f64 (cos.f64 lambda2) lambda1 (sin.f64 (neg.f64 lambda2))) (fma.f64 1/6 (*.f64 (cos.f64 lambda2) (pow.f64 lambda1 3)) (*.f64 (*.f64 lambda1 lambda1) (*.f64 -1/2 (sin.f64 lambda2)))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1)))))))
Compiler

Compiled 5215 to 1234 computations (76.3% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
0.2b
(expm1.f64 (log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))
0.4b
(log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
0.7b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))

rewrite377.0ms (2%)

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

4 calls:

17.0ms
(log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
17.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
15.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
10.0ms
(expm1.f64 (log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))
Compiler

Compiled 5161 to 733 computations (85.8% saved)

series347.0ms (1.9%)

Error
0.1b
Counts
4 → 54
Calls

4 calls:

91.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
63.0ms
(expm1.f64 (log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))
59.0ms
(log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))))
23.0ms
(*.f64 (sin.f64 lambda1) (sin.f64 lambda2))
Compiler

Compiled 5774 to 2992 computations (48.2% saved)

simplify138.0ms (0.7%)

Algorithm
egg-herbie
Rules
876×times-frac_binary64
361×fma-neg_binary64
294×associate-*r*_binary64
261×fma-def_binary64
230×associate-*l*_binary64
Counts
199 → 124
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03454854
19684404
235924366
356204366

prune305.0ms (1.6%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1222124
Fresh21113
Picked101
Done000
Total12513138
Error
0.1b
Counts
138 → 13
Alt Table
StatusErrorProgram
5.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2)))) 3))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))) (/.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) 3)) (fma.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (fma.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (neg.f64 (cos.f64 phi1))) (*.f64 (cos.f64 phi1) (cos.f64 phi1))))))
5.6b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))) (fma.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1))) 3)))
1.6b
(+.f64 lambda1 (*.f64 (*.f64 (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))) (cbrt.f64 (atan2.f64 (*.f64 (sin.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (/.f64 1 (/.f64 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1))) (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) 3))))))
7.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 lambda2) (sin.f64 lambda1)) 3) (pow.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)) 3)) (fma.f64 (sin.f64 lambda1) (*.f64 (cos.f64 lambda2) (*.f64 (cos.f64 lambda2) (sin.f64 lambda1))) (*.f64 (cos.f64 lambda1) (*.f64 (sin.f64 lambda2) (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
4.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (-.f64 (/.f64 (cos.f64 phi1) (-.f64 1 (/.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)))) (/.f64 (cos.f64 (-.f64 lambda1 lambda2)) (/.f64 (+.f64 (/.f64 (cos.f64 phi1) (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2))) -1) (cos.f64 phi2))))))
3.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (expm1.f64 (log1p.f64 (fma.f64 (cos.f64 lambda2) (sin.f64 lambda1) (*.f64 (cos.f64 lambda1) (neg.f64 (sin.f64 lambda2))))))) (-.f64 (/.f64 (*.f64 (cos.f64 phi1) (cos.f64 phi1)) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))) (/.f64 (*.f64 (cos.f64 phi2) (*.f64 (*.f64 (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))) (cos.f64 phi2))) (-.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))))
1.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1)))) (cbrt.f64 (fma.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2) (cos.f64 phi1))))))
25.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (*.f64 (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))) (sqrt.f64 (cos.f64 (-.f64 lambda1 lambda2))))))))
0.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (log.f64 (exp.f64 (fma.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1))))))
5.7b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 (neg.f64 lambda2)) (cos.f64 lambda1)))) (-.f64 (exp.f64 (log1p.f64 (fma.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda2) (cos.f64 lambda1) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2))) (cos.f64 phi1)))) 1)))
1.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (+.f64 (pow.f64 (cos.f64 phi1) 3) (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (-.f64 (*.f64 (cos.f64 (-.f64 lambda1 lambda2)) (cos.f64 phi2)) (cos.f64 phi1)) (*.f64 (cos.f64 phi1) (cos.f64 phi1)))))))
Compiler

Compiled 5072 to 1151 computations (77.3% saved)

regimes4.6s (25%)

Accuracy

Total 0.1b remaining (61.8%)

Threshold costs 0.1b (61.8%)

Compiler

Compiled 107919 to 60217 computations (44.2% 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
02674
13974
24674
35274
45574
55674
65674

end1.0ms (0%)

Compiler

Compiled 48 to 25 computations (47.9% saved)

sample6.7s (36.1%)

Algorithm
intervals
Results
4.4s4517×body1024valid
871.0ms1717×body512valid
286.0ms124×body2048valid
254.0ms704×body256valid
155.0ms938×body128valid
Compiler

Compiled 763 to 345 computations (54.8% saved)

Profiling

Loading profile data...