Details

Time bar (total: 18.3s)

analyze2.8s (15.3%)

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)

sample8.8s (48.2%)

Results
6.7s4610×body1024valid
1.2s1808×body512valid
343.0ms727×body256valid
277.0ms111×body2048valid
242.0ms1000×body128valid
Compiler

Compiled 50 to 30 computations (40% saved)

preprocess16.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062224
044
Stop Event
saturated
saturated
Compiler

Compiled 24 to 14 computations (41.7% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01532
Stop Event
saturated
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.4b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.4b
(+.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 72 to 42 computations (41.7% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))
3.0b
(sin.f64 (-.f64 lambda1 lambda2))

series43.0ms (0.2%)

Counts
4 → 112
Calls

36 calls:

3.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
phi1
inf
2.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
lambda1
-inf
2.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
phi2
-inf
2.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
phi2
inf
2.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
lambda2
inf

rewrite51.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
297×expm1-udef_binary64
297×log1p-udef_binary64
163×add-sqr-sqrt_binary64
154×log1p-expm1-u_binary64
154×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01457
128557
2334457
Stop Event
node limit
Counts
4 → 90

simplify459.0ms (2.5%)

Algorithm
egg-herbie
Rules
1762×sqr-pow_binary64
860×pow-sqr_binary64
112×cube-prod_binary64
112×cube-mult_binary64
112×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01242748
11762748
22042748
32402748
42952748
53582748
64292748
75112748
86022748
97042748
108152748
119372748
1210682748
1312102748
1413612748
1515232748
1616942748
1718762748
1820672748
1922692748
2022852748
2122932748
2222932748
2325002748
2427142748
2529452748
2631872748
2734382748
2837002748
2939712748
3040412748
3140492748
3240492748
3343222748
3446042748
3549032748
Stop Event
node limit
Counts
202 → 149

prune191.0ms (1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New13712149
Fresh000
Picked101
Done000
Total13812150
Error
0.2b
Counts
150 → 12
Alt Table
StatusErrorProgram
0.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 phi1))) (pow.f64 (exp.f64 (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
5.8b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 3)))
15.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 3) 1/3)))
0.8b
(+.f64 lambda1 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) 3))
0.4b
(+.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 (pow.f64 (cos.f64 phi1) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))))
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2)) (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
5.7b
(+.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))))))
0.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log1p.f64 (expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
0.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
11.7b
(+.f64 lambda1 (log.f64 (exp.f64 (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 5402 to 1514 computations (72% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
0.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))

series47.0ms (0.3%)

Counts
2 → 84
Calls

21 calls:

5.0ms
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))
phi2
-inf
5.0ms
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))
phi2
inf
5.0ms
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))
lambda1
-inf
4.0ms
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))
lambda2
-inf
4.0ms
(*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2)))))
lambda2
inf

rewrite45.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
395×log1p-udef_binary64
218×add-sqr-sqrt_binary64
203×log1p-expm1-u_binary64
203×expm1-log1p-u_binary64
202×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02064
138864
2441164
Stop Event
node limit
Counts
2 → 29

simplify547.0ms (3%)

Algorithm
egg-herbie
Rules
1699×sqr-pow_binary64
826×pow-sqr_binary64
96×cube-prod_binary64
96×cube-mult_binary64
96×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01033043
11513043
21783043
32083043
42513043
53003043
63553043
74183043
84883043
95663043
106513043
117443043
128443043
139523043
1410673043
1511903043
1613203043
1714583043
1816033043
1917563043
2019163043
2120843043
2222593043
2322713043
2422773043
2522773043
2624573043
2726413043
2828393043
2930443043
3032573043
3134773043
3237053043
3339403043
3439993043
3540053043
3640053043
3742413043
3844843043
3947403043
Stop Event
node limit
Counts
113 → 53

prune321.0ms (1.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1392141
Fresh11011
Picked101
Done000
Total14112153
Error
0.1b
Counts
153 → 12
Alt Table
StatusErrorProgram
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (log1p.f64 (expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
0.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 phi1))) (pow.f64 (exp.f64 (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
5.8b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 3)))
15.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 3) 1/3)))
0.8b
(+.f64 lambda1 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) 3))
0.4b
(+.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 (pow.f64 (cos.f64 phi1) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2)) (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
5.7b
(+.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))))))
0.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
11.7b
(+.f64 lambda1 (log.f64 (exp.f64 (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 5969 to 1587 computations (73.4% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series78.0ms (0.4%)

Counts
3 → 104
Calls

30 calls:

6.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
phi1
-inf
6.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
lambda1
-inf
6.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
phi2
-inf
5.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
phi2
inf
5.0ms
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))
phi1
inf

rewrite49.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
383×log1p-udef_binary64
212×add-sqr-sqrt_binary64
196×log1p-expm1-u_binary64
196×expm1-log1p-u_binary64
194×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02085
138065
2421365
Stop Event
node limit
Counts
3 → 48

simplify621.0ms (3.4%)

Algorithm
egg-herbie
Rules
1646×sqr-pow_binary64
708×pow-sqr_binary64
108×cube-mult_binary64
108×unpow3_binary64
104×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01504272
12354272
22794272
33284272
43964272
54734272
65584272
76544272
87594272
98754272
1010004272
1111364272
1212814272
1314374272
1416024272
1517784272
1619634272
1721594272
1823644272
1923804272
2023884272
2123884272
2226004272
2328174272
2430534272
2532984272
2635544272
2738194272
2840954272
2943804272
3043964272
3144044272
3244044272
3346964272
3449934272
Stop Event
node limit
Counts
152 → 95

prune302.0ms (1.6%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1310131
Fresh01111
Picked011
Done000
Total13112143
Error
0.1b
Counts
143 → 12
Alt Table
StatusErrorProgram
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (log1p.f64 (expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
0.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 phi1))) (pow.f64 (exp.f64 (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
5.8b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 3)))
15.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 3) 1/3)))
0.8b
(+.f64 lambda1 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) 3))
0.4b
(+.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 (pow.f64 (cos.f64 phi1) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2)) (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
5.7b
(+.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))))))
0.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (exp.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
11.7b
(+.f64 lambda1 (log.f64 (exp.f64 (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 6151 to 1652 computations (73.1% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (log1p.f64 (expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))
0.3b
(expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
0.4b
(+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))
2.9b
(cos.f64 (-.f64 lambda1 lambda2))

series61.0ms (0.3%)

Counts
2 → 96
Calls

24 calls:

6.0ms
(expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
lambda1
0
6.0ms
(expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
phi2
0
5.0ms
(expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
lambda2
0
4.0ms
(expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
lambda2
inf
4.0ms
(expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))
lambda1
-inf

rewrite48.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
410×log1p-udef_binary64
226×add-sqr-sqrt_binary64
213×expm1-log1p-u_binary64
212×log1p-expm1-u_binary64
209×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02259
140959
2458359
Stop Event
node limit
Counts
2 → 30

simplify241.0ms (1.3%)

Algorithm
egg-herbie
Rules
1271×sqr-pow_binary64
829×pow-sqr_binary64
81×cube-mult_binary64
81×unpow3_binary64
72×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01844020
12904020
23564020
34474020
45764020
57374020
69554020
712554020
817004020
923844020
1035244020
1135604020
1235764020
1335764020
Stop Event
node limit
Counts
126 → 65

prune417.0ms (2.3%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1521153
Fresh1910
Picked011
Done011
Total15312165
Error
0.0b
Counts
165 → 12
Alt Table
StatusErrorProgram
0.3b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (log1p.f64 (expm1.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
0.2b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (fma.f64 (cos.f64 lambda1) (cos.f64 lambda2) (*.f64 (sin.f64 lambda1) (sin.f64 lambda2)))))))
0.6b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (pow.f64 (cbrt.f64 (sin.f64 (-.f64 lambda1 lambda2))) 3)) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 phi1))) (pow.f64 (exp.f64 (cos.f64 phi2)) (cos.f64 (-.f64 lambda1 lambda2)))))))
5.8b
(+.f64 lambda1 (cbrt.f64 (pow.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 3)))
15.0b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (pow.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 3) 1/3)))
0.8b
(+.f64 lambda1 (pow.f64 (cbrt.f64 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) 3))
0.4b
(+.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 (pow.f64 (cos.f64 phi1) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))) 2) (*.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))))))
0.4b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (fma.f64 (sin.f64 lambda1) (cos.f64 lambda2) (neg.f64 (*.f64 (cos.f64 lambda1) (sin.f64 lambda2))))) (log1p.f64 (/.f64 (-.f64 (pow.f64 (exp.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 3) 1) (+.f64 (*.f64 (exp.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) (exp.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))))) (+.f64 1 (*.f64 (exp.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))) 1)))))))
0.5b
(+.f64 lambda1 (atan2.f64 (*.f64 (cos.f64 phi2) (sin.f64 (-.f64 lambda1 lambda2))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2)))) 2)) (cbrt.f64 (+.f64 (cos.f64 phi1) (*.f64 (cos.f64 phi2) (cos.f64 (-.f64 lambda1 lambda2))))))))
5.7b
(+.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))))))
11.7b
(+.f64 lambda1 (log.f64 (exp.f64 (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 7463 to 1972 computations (73.6% saved)

regimes2.8s (15.2%)

Accuracy

Total 0.1b remaining (55.2%)

Threshold costs 0.1b (55.2%)

Counts
120 → 1
Compiler

Compiled 27461 to 16397 computations (40.3% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02154
Stop Event
saturated

end274.0ms (1.5%)

Stop Event
fuel
Compiler

Compiled 505 to 281 computations (44.4% saved)

Profiling

Loading profile data...