Details

Time bar (total: 13.1s)

analyze2.8s (21.1%)

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
1.9%97.2%0.8%13
3.5%95.2%1.3%14
Compiler

Compiled 38 to 22 computations (42.1% saved)

sample4.1s (31.1%)

Results
1.4s6242×body128valid
719.0ms773×body1024valid
532.0ms2465×body128invalid
487.0ms814×body512valid
441.0ms447×body1024invalid
212.0ms377×body512invalid
188.0ms421×body256valid
71.0ms174×body256invalid
21.0msbody2048valid
Compiler

Compiled 76 to 44 computations (42.1% saved)

preprocess37.0ms (0.3%)

Algorithm
egg-herbie
Rules
1000×distribute-rgt-in_binary64
877×fma-def_binary64
324×distribute-lft-in_binary64
228×distribute-lft-neg-out_binary64
228×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0108264
1261264
2662264
32716264
055
155
Stop Event
unsound
node limit
Symmetry

(sort lambda1 lambda2)

(sort phi1 phi2)

Compiler

Compiled 37 to 21 computations (43.2% saved)

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
1013×unsub-neg_binary64
719×distribute-neg-out_binary64
703×fma-def_binary64
272×distribute-rgt-in_binary64
229×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01824
13524
28324
331224
4107024
5354924
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
3.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
3.7b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
Compiler

Compiled 95 to 55 computations (42.1% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
0.2b
(*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2)))
2.8b
(cos.f64 (/.f64 (+.f64 phi1 phi2) 2))

series820.0ms (6.3%)

Counts
3 → 132
Calls

33 calls:

314.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
phi2
0
301.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
phi1
0
31.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
R
-inf
29.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
lambda2
0
25.0ms
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (/.f64 (+.f64 phi1 phi2) 2))) (-.f64 phi1 phi2)))
R
0

rewrite58.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
307×log1p-udef_binary64
171×add-sqr-sqrt_binary64
162×log1p-expm1-u_binary64
162×expm1-log1p-u_binary64
161×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01548
133148
2447048
Stop Event
node limit
Counts
3 → 54

simplify258.0ms (2%)

Algorithm
egg-herbie
Rules
849×*-commutative_binary64
666×associate-*r*_binary64
277×+-commutative_binary64
255×fma-def_binary64
218×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0131624088
1484624088
Stop Event
node limit
Counts
186 → 184

prune643.0ms (4.9%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New17113184
Fresh000
Picked101
Done000
Total17213185
Error
3.5b
Counts
185 → 13
Alt Table
StatusErrorProgram
10.3b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
35.5b
(exp.f64 (log.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))))
33.2b
(pow.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))) 2)
50.5b
(*.f64 (*.f64 lambda2 R) (cos.f64 (*.f64 1/2 (+.f64 phi2 phi1))))
19.2b
(*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))) lambda1) (-.f64 phi1 phi2)))
3.9b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))) 3)) (-.f64 phi1 phi2)))
16.5b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (cos.f64 (*.f64 1/2 phi1)) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2)))) (-.f64 phi1 phi2)))
8.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
4.8b
(pow.f64 (cbrt.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))) 3)
52.5b
(pow.f64 (pow.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2))) 3) 1/3)
31.2b
(*.f64 R (hypot.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)))) (-.f64 phi1 phi2)))
50.2b
(*.f64 R (hypot.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) 3) 1/3) (-.f64 phi1 phi2)))
3.7b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))))) (-.f64 phi1 phi2)))
Compiler

Compiled 31974 to 21604 computations (32.4% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))))
0.2b
(expm1.f64 (log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))))
0.4b
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
2.8b
(cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))

series404.0ms (3.1%)

Counts
4 → 120
Calls

30 calls:

98.0ms
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
phi2
inf
97.0ms
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
phi2
-inf
85.0ms
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
phi1
inf
85.0ms
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
phi1
-inf
4.0ms
(log1p.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)))
phi2
0

rewrite60.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
970×prod-diff_binary64
131×add-sqr-sqrt_binary64
128×expm1-log1p-u_binary64
127×log1p-expm1-u_binary64
124×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01344
125944
2341744
Stop Event
node limit
Counts
4 → 79

simplify60.0ms (0.5%)

Algorithm
egg-herbie
Rules
936×times-frac_binary64
620×cancel-sign-sub-inv_binary64
249×fma-neg_binary64
217×sub-neg_binary64
189×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01822689
16102669
223242609
Stop Event
node limit
Counts
199 → 116

prune225.0ms (1.7%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1115116
Fresh21012
Picked101
Done000
Total11415129
Error
3.4b
Counts
129 → 15
Alt Table
StatusErrorProgram
16.5b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (cos.f64 (*.f64 1/2 phi1)) (*.f64 1/2 (*.f64 (sin.f64 (*.f64 1/2 phi1)) phi2)))) (-.f64 phi1 phi2)))
3.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))) (-.f64 phi1 phi2)))
10.3b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi1))) (-.f64 phi1 phi2)))
35.5b
(exp.f64 (log.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))))
33.2b
(pow.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))) 2)
50.5b
(*.f64 (*.f64 lambda2 R) (cos.f64 (*.f64 1/2 (+.f64 phi2 phi1))))
3.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1)) (+.f64 1 (*.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) 1))))))) (-.f64 phi1 phi2)))
52.5b
(pow.f64 (pow.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2))) 3) 1/3)
16.9b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (+.f64 (log1p.f64 (cos.f64 (*.f64 1/2 phi1))) (*.f64 (*.f64 (tan.f64 (/.f64 (*.f64 1/2 phi1) 2)) phi2) -1/2)))) (-.f64 phi1 phi2)))
50.2b
(*.f64 R (hypot.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) 3) 1/3) (-.f64 phi1 phi2)))
14.6b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (-.f64 (log1p.f64 (cos.f64 (*.f64 1/2 phi2))) (*.f64 1/2 (/.f64 phi1 (/.f64 (+.f64 (cos.f64 (*.f64 1/2 phi2)) 1) (sin.f64 (*.f64 1/2 phi2)))))))) (-.f64 phi1 phi2)))
19.2b
(*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2))) lambda1) (-.f64 phi1 phi2)))
8.4b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (cos.f64 (*.f64 1/2 phi2))) (-.f64 phi1 phi2)))
31.2b
(*.f64 R (hypot.f64 (expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)))) (-.f64 phi1 phi2)))
10.3b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log.f64 (+.f64 (cos.f64 (*.f64 1/2 phi1)) 1)))) (-.f64 phi1 phi2)))
Compiler

Compiled 4612 to 2909 computations (36.9% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))
0.3b
(expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))
0.3b
(pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)
2.8b
(cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2))

series368.0ms (2.8%)

Counts
3 → 72
Calls

18 calls:

89.0ms
(log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))
phi1
inf
88.0ms
(log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))
phi2
inf
84.0ms
(log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))
phi2
-inf
84.0ms
(log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))
phi1
-inf
4.0ms
(log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2)))
phi2
0

rewrite45.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
648×prod-diff_binary64
206×fma-def_binary64
179×expm1-udef_binary64
179×log1p-udef_binary64
158×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01232
123332
2254732
Stop Event
node limit
Counts
3 → 73

simplify46.0ms (0.4%)

Algorithm
egg-herbie
Rules
944×times-frac_binary64
603×fma-def_binary64
377×cancel-sign-sub-inv_binary64
167×fma-neg_binary64
142×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01371759
14701738
217931675
Stop Event
node limit
Counts
145 → 123

prune270.0ms (2.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1582160
Fresh12214
Picked011
Done000
Total1705175
Error
0.1b
Counts
175 → 5
Alt Table
StatusErrorProgram
33.2b
(pow.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))) 2)
50.5b
(*.f64 (*.f64 lambda2 R) (cos.f64 (*.f64 1/2 (+.f64 phi2 phi1))))
3.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))) (-.f64 phi1 phi2)))
3.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) 3) 1) (fma.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) (+.f64 1 (*.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) 1))))) (-.f64 phi1 phi2)))
0.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2))))) (-.f64 phi1 phi2)))
Compiler

Compiled 5447 to 3421 computations (37.2% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2)))
0.1b
(-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2))))
0.1b
(*.f64 (-.f64 lambda1 lambda2) (-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2)))))
0.2b
(*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2)))

series103.0ms (0.8%)

Counts
4 → 120
Calls

30 calls:

9.0ms
(-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2))))
phi2
-inf
7.0ms
(*.f64 (-.f64 lambda1 lambda2) (-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2)))))
phi1
-inf
6.0ms
(*.f64 (-.f64 lambda1 lambda2) (-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2)))))
lambda1
inf
6.0ms
(*.f64 (-.f64 lambda1 lambda2) (-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2)))))
lambda1
-inf
5.0ms
(*.f64 (-.f64 lambda1 lambda2) (-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2)))))
lambda2
inf

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
193×add-sqr-sqrt_binary64
184×log1p-expm1-u_binary64
184×expm1-log1p-u_binary64
181×add-cbrt-cube_binary64
178×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01794
137652
Stop Event
node limit
Counts
4 → 124

simplify75.0ms (0.6%)

Algorithm
egg-herbie
Rules
867×cancel-sign-sub-inv_binary64
392×fma-neg_binary64
332×associate--r+_binary64
329×associate--l+_binary64
228×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01734262
15704214
220593769
Stop Event
node limit
Counts
244 → 195

prune383.0ms (2.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1905195
Fresh123
Picked101
Done011
Total1928200
Error
0.0b
Counts
200 → 8
Alt Table
StatusErrorProgram
3.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (expm1.f64 (log1p.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 2))))) (-.f64 phi1 phi2)))
0.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (fma.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 1/2 phi2)) (*.f64 (sin.f64 (*.f64 1/2 phi2)) (neg.f64 (sin.f64 (*.f64 phi1 1/2)))))) (-.f64 phi1 phi2)))
3.7b
(*.f64 R (hypot.f64 (/.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/2 (-.f64 phi1 phi2))) (cos.f64 (*.f64 1/2 (+.f64 phi1 phi2)))) (-.f64 lambda1 lambda2)) (cos.f64 (*.f64 1/2 (-.f64 phi1 phi2)))) (-.f64 phi1 phi2)))
3.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (/.f64 (-.f64 (pow.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) 3) 1) (fma.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) (+.f64 1 (*.f64 (+.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) 1) 1))))) (-.f64 phi1 phi2)))
0.1b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 phi2 1/2))) (-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 1/2 phi2))))) 1))) (-.f64 phi1 phi2)))
33.2b
(pow.f64 (sqrt.f64 (*.f64 R (hypot.f64 (*.f64 (cos.f64 (*.f64 (+.f64 phi1 phi2) 1/2)) (-.f64 lambda1 lambda2)) (-.f64 phi1 phi2)))) 2)
0.1b
(*.f64 R (hypot.f64 (+.f64 (*.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 1/2 phi2))) (-.f64 lambda1 lambda2)) (*.f64 (*.f64 (sin.f64 (*.f64 1/2 phi2)) (neg.f64 (sin.f64 (*.f64 phi1 1/2)))) (-.f64 lambda1 lambda2))) (-.f64 phi1 phi2)))
24.8b
(*.f64 R (hypot.f64 (*.f64 (-.f64 lambda1 lambda2) (-.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 phi1 1/2)) (cos.f64 (*.f64 1/2 phi2)))) 2) (*.f64 (sin.f64 (*.f64 phi1 1/2)) (sin.f64 (*.f64 phi2 1/2))))) (-.f64 phi1 phi2)))
Compiler

Compiled 7681 to 4902 computations (36.2% saved)

regimes2.0s (15.7%)

Accuracy

Total 0.1b remaining (44.9%)

Threshold costs 0.1b (44.9%)

Counts
193 → 1
Compiler

Compiled 48627 to 34823 computations (28.4% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02145
13645
25045
36045
46545
56645
Stop Event
saturated

end191.0ms (1.5%)

Stop Event
fuel
Remove

(sort phi1 phi2)

(sort lambda1 lambda2)

Compiler

Compiled 494 to 358 computations (27.5% saved)

Profiling

Loading profile data...