Details

Time bar (total: 11.9s)

analyze2.7s (22.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
15.6%84.3%0.1%8
15.6%84.3%0.1%9
15.6%84.3%0.1%10
30.4%69.4%0.1%11
30.4%69.4%0.1%12
30.4%69.4%0.1%13
39.6%60.3%0.1%14
Compiler

Compiled 28 to 23 computations (17.9% saved)

sample4.9s (40.9%)

Results
2.9s2119×body1024valid
998.0ms4560×body128valid
703.0ms1029×body512valid
258.0ms545×body256valid
7.0msbody2048valid
1.0msbody128invalid
Compiler

Compiled 56 to 46 computations (17.9% saved)

preprocess44.0ms (0.4%)

Algorithm
egg-herbie
Rules
697×associate-/r/_binary64
522×associate-/l/_binary64
376×times-frac_binary64
307×associate-*l/_binary64
291×associate-/r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047148
1112128
2303128
3946128
43793128
54745128
033
Stop Event
saturated
node limit
Compiler

Compiled 27 to 22 computations (18.5% saved)

simplify45.0ms (0.4%)

Algorithm
egg-herbie
Rules
667×associate-/l/_binary64
443×associate-/l*_binary64
398×times-frac_binary64
330×unswap-sqr_binary64
265×associate-*l/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01837
13732
28932
325332
496832
5368632
6389732
7452132
8472032
9486532
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
7.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
7.1b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
Compiler

Compiled 96 to 76 computations (20.8% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))))
0.1b
(/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))
0.1b
(*.f64 J (cos.f64 (/.f64 K 2)))
6.6b
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))

series191.0ms (1.6%)

Counts
4 → 132
Calls

33 calls:

29.0ms
(hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))))
K
inf
16.0ms
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
K
0
13.0ms
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
K
inf
12.0ms
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
K
-inf
9.0ms
(hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2))))))
K
0

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
237×expm1-udef_binary64
237×log1p-udef_binary64
210×log-pow_binary64
137×prod-diff_binary64
134×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01371
127171
2345571
Stop Event
node limit
Counts
4 → 92

simplify92.0ms (0.8%)

Algorithm
egg-herbie
Rules
494×cancel-sign-sub-inv_binary64
288×associate-/r/_binary64
230×fma-neg_binary64
185×fma-def_binary64
164×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02464466
17644225
228244149
Stop Event
node limit
Counts
224 → 179

prune217.0ms (1.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1957202
Fresh000
Picked101
Done000
Total1967203
Error
0.1b
Counts
203 → 7
Alt Table
StatusErrorProgram
51.2b
(*.f64 -2 (*.f64 -1/2 U))
42.0b
(*.f64 -2 (*.f64 1/2 U))
31.5b
(*.f64 -2 (fma.f64 (cos.f64 (*.f64 1/2 K)) J (*.f64 1/8 (*.f64 (/.f64 (/.f64 U J) (cos.f64 (*.f64 1/2 K))) U))))
7.2b
(*.f64 -2 (*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
41.8b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (cbrt.f64 (*.f64 (pow.f64 J 3) (pow.f64 (cos.f64 (*.f64 K 1/2)) 3)))))
37.9b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
8.2b
(*.f64 -2 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 3))
Compiler

Compiled 7094 to 5315 computations (25.1% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 J (cos.f64 (/.f64 K 2)))
0.1b
(*.f64 J (cos.f64 (*.f64 K 1/2)))
0.3b
(*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))
6.6b
(*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))

series122.0ms (1%)

Counts
3 → 96
Calls

24 calls:

17.0ms
(*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
K
0
13.0ms
(*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
K
inf
12.0ms
(*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
K
-inf
6.0ms
(*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))
U
0
6.0ms
(*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
U
-inf

rewrite66.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
250×expm1-udef_binary64
250×log1p-udef_binary64
218×log-pow_binary64
175×prod-diff_binary64
144×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01753
135953
2360753
Stop Event
node limit
Counts
3 → 58

simplify57.0ms (0.5%)

Algorithm
egg-herbie
Rules
767×associate-/l*_binary64
677×fma-def_binary64
293×cancel-sign-sub-inv_binary64
164×associate-/r/_binary64
140×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01812762
15422621
219562561
Stop Event
node limit
Counts
154 → 112

prune131.0ms (1.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1350135
Fresh066
Picked011
Done000
Total1357142
Error
0.1b
Counts
142 → 7
Alt Table
StatusErrorProgram
51.2b
(*.f64 -2 (*.f64 -1/2 U))
42.0b
(*.f64 -2 (*.f64 1/2 U))
31.5b
(*.f64 -2 (fma.f64 (cos.f64 (*.f64 1/2 K)) J (*.f64 1/8 (*.f64 (/.f64 (/.f64 U J) (cos.f64 (*.f64 1/2 K))) U))))
7.2b
(*.f64 -2 (*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
41.8b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (cbrt.f64 (*.f64 (pow.f64 J 3) (pow.f64 (cos.f64 (*.f64 K 1/2)) 3)))))
37.9b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
8.2b
(*.f64 -2 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 3))
Compiler

Compiled 4409 to 3323 computations (24.6% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))
0.6b
(cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 3)
6.6b
(*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))

series976.0ms (8.2%)

Counts
4 → 100
Calls

33 calls:

129.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 3)
K
-inf
122.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 3)
K
inf
107.0ms
(cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))))
K
-inf
101.0ms
(cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))))
K
inf
81.0ms
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 3)
K
0

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
291×log1p-udef_binary64
166×add-sqr-sqrt_binary64
158×log1p-expm1-u_binary64
158×expm1-log1p-u_binary64
158×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01893
136593
2425493
Stop Event
node limit
Counts
4 → 98

simplify117.0ms (1%)

Algorithm
egg-herbie
Rules
350×fma-neg_binary64
317×associate-*r*_binary64
312×fma-def_binary64
253×associate-*l*_binary64
227×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03615170
111474621
245534601
Stop Event
node limit
Counts
198 → 191

prune274.0ms (2.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1865191
Fresh145
Picked101
Done011
Total18810198
Error
0.0b
Counts
198 → 10
Alt Table
StatusErrorProgram
37.9b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
8.2b
(*.f64 -2 (*.f64 (pow.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) 2) (*.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) (cos.f64 (*.f64 K 1/2)))))
51.2b
(*.f64 -2 (*.f64 -1/2 U))
42.0b
(*.f64 -2 (*.f64 1/2 U))
7.2b
(*.f64 -2 (*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
41.8b
(*.f64 -2 (*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (cbrt.f64 (*.f64 (pow.f64 J 3) (pow.f64 (cos.f64 (*.f64 K 1/2)) 3)))))
8.1b
(*.f64 -2 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (pow.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) 2)) (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
21.4b
(*.f64 -2 (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
7.4b
(*.f64 -2 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2)) (*.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
34.0b
(*.f64 -2 (*.f64 (cbrt.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (pow.f64 (*.f64 J (*.f64 (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))) (cos.f64 (*.f64 K 1/2)))) 2))))
Compiler

Compiled 9016 to 6977 computations (22.6% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cos.f64 (*.f64 K 1/2)) 2)
0.3b
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))
0.3b
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
6.6b
(*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))

series180.0ms (1.5%)

Counts
4 → 72
Calls

18 calls:

27.0ms
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))
K
-inf
27.0ms
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))
K
inf
25.0ms
(*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))
K
-inf
20.0ms
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
K
inf
18.0ms
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
K
-inf

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
285×log1p-udef_binary64
176×prod-diff_binary64
164×add-sqr-sqrt_binary64
154×log1p-expm1-u_binary64
154×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01749
134549
2427449
Stop Event
node limit
Counts
4 → 86

simplify51.0ms (0.4%)

Algorithm
egg-herbie
Rules
723×associate-/l*_binary64
541×associate-/r*_binary64
494×fma-def_binary64
275×cancel-sign-sub-inv_binary64
141×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01712060
14951962
217421891
Stop Event
node limit
Counts
158 → 144

prune240.0ms (2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1413144
Fresh358
Picked101
Done011
Total1459154
Error
0.0b
Counts
154 → 9
Alt Table
StatusErrorProgram
51.2b
(*.f64 -2 (*.f64 -1/2 U))
42.0b
(*.f64 -2 (*.f64 1/2 U))
7.6b
(*.f64 -2 (*.f64 (expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
7.2b
(*.f64 -2 (*.f64 (hypot.f64 1 (*.f64 U (/.f64 1/2 (*.f64 J (cos.f64 (*.f64 K 1/2)))))) (*.f64 J (cos.f64 (/.f64 K 2)))))
7.4b
(*.f64 -2 (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 4))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
8.1b
(*.f64 -2 (*.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (pow.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) 2)) (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
21.4b
(*.f64 -2 (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
7.3b
(*.f64 -2 (*.f64 (pow.f64 (pow.f64 (cos.f64 (*.f64 1/2 K)) 2) 1/3) (*.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))))))
37.9b
(*.f64 -2 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J))))))) 2))
Compiler

Compiled 5935 to 4716 computations (20.5% saved)

regimes1.0s (8.5%)

Accuracy

Total 8.1b remaining (99.7%)

Threshold costs 0b (0%)

Counts
108 → 2
Compiler

Compiled 19896 to 16100 computations (19.1% saved)

bsearch78.0ms (0.7%)

Algorithm
binary-search
Calls

1 calls:

73.0ms
U
Steps
ItersPointRange
-2.1573275483081895e+221
∈ [
-1.1875485388654285e+222
,
-1.7153682428746072e+219
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
*-lft-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02645
13845
Stop Event
saturated

end193.0ms (1.6%)

Stop Event
fuel
Compiler

Compiled 310 to 251 computations (19% saved)

Profiling

Loading profile data...