Details

Time bar (total: 12.6s)

analyze2.6s (20.8%)

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.8s (38%)

Results
2.2s1996×body1024valid
1.6s4731×body128valid
679.0ms985×body512valid
240.0ms541×body256valid
5.0msbody2048valid
1.0msbody128invalid
Compiler

Compiled 56 to 46 computations (17.9% saved)

preprocess41.0ms (0.3%)

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)

simplify39.0ms (0.3%)

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

prune8.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
10.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
10.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)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series137.0ms (1.1%)

Counts
3 → 96
Calls

24 calls:

21.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
14.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
14.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
(*.f64 (hypot.f64 1 (/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))) (*.f64 J (cos.f64 (/.f64 K 2))))
U
-inf
7.0ms
(/.f64 U (*.f64 2 (*.f64 J (cos.f64 (/.f64 K 2)))))
J
inf

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
01353
127153
2345553
Stop Event
node limit
Counts
3 → 73

simplify62.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
169 → 127

prune131.0ms (1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1455150
Fresh000
Picked011
Done000
Total1456151
Error
0.0b
Counts
151 → 6
Alt Table
StatusErrorProgram
10.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)))))
44.4b
(*.f64 -2 (cbrt.f64 (pow.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)))
46.1b
(*.f64 -2 (-.f64 (*.f64 U -1/2) (*.f64 (/.f64 J (/.f64 U J)) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2))))
35.2b
(*.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))
46.0b
(*.f64 -2 (*.f64 1/2 U))
11.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 4857 to 3652 computations (24.8% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 U (*.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.8b
(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)
9.4b
(*.f64 J (hypot.f64 1 (/.f64 U (*.f64 (cos.f64 (*.f64 K 1/2)) (*.f64 2 J)))))

series1.8s (14%)

Counts
4 → 144
Calls

36 calls:

380.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
329.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
313.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
308.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
58.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

rewrite76.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
01896
136596
2425496
Stop Event
node limit
Counts
4 → 126

simplify107.0ms (0.8%)

Algorithm
egg-herbie
Rules
460×fma-def_binary64
345×times-frac_binary64
336×associate-/l*_binary64
273×associate-/r*_binary64
213×associate-*r/_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05708806
119437881
Stop Event
node limit
Counts
270 → 284

prune332.0ms (2.6%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2813284
Fresh134
Picked011
Done011
Total2828290
Error
0.0b
Counts
290 → 8
Alt Table
StatusErrorProgram
21.9b
(*.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))))))))
10.3b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
10.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)))))
44.4b
(*.f64 -2 (cbrt.f64 (pow.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)))
46.1b
(*.f64 -2 (-.f64 (*.f64 U -1/2) (*.f64 (/.f64 J (/.f64 U J)) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2))))
11.3b
(*.f64 -2 (pow.f64 (*.f64 (cbrt.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))) 3))
46.0b
(*.f64 -2 (*.f64 1/2 U))
11.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 14037 to 11079 computations (21.1% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series383.0ms (3%)

Counts
4 → 72
Calls

18 calls:

91.0ms
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))
K
-inf
90.0ms
(cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))
K
inf
63.0ms
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
K
-inf
62.0ms
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
K
inf
15.0ms
(*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))
K
0

rewrite61.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify48.0ms (0.4%)

Algorithm
egg-herbie
Rules
723×associate-/l*_binary64
541×associate-/r*_binary64
493×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

prune186.0ms (1.5%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1431144
Fresh145
Picked011
Done022
Total1448152
Error
0b
Counts
152 → 8
Alt Table
StatusErrorProgram
21.9b
(*.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))))))))
10.3b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
10.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)))))
44.4b
(*.f64 -2 (cbrt.f64 (pow.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)))
46.1b
(*.f64 -2 (-.f64 (*.f64 U -1/2) (*.f64 (/.f64 J (/.f64 U J)) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2))))
10.6b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2))) 1)) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
46.0b
(*.f64 -2 (*.f64 1/2 U))
11.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 6021 to 4786 computations (20.5% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2)
0.3b
(cbrt.f64 (cos.f64 (*.f64 K 1/2)))
0.3b
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2))) 1)
9.4b
(*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2)))))

series550.0ms (4.4%)

Counts
2 → 24
Calls

6 calls:

221.0ms
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2))) 1)
K
-inf
190.0ms
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2))) 1)
K
inf
68.0ms
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2)
K
inf
67.0ms
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2)
K
-inf
3.0ms
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2))) 1)
K
0

rewrite48.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
851×expm1-log1p-u_binary64
850×log1p-expm1-u_binary64
284×prod-diff_binary64
101×add-sqr-sqrt_binary64
96×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01222
122622
2243322
Stop Event
node limit
Counts
2 → 74

simplify56.0ms (0.4%)

Algorithm
egg-herbie
Rules
403×distribute-rgt-neg-in_binary64
345×distribute-lft-neg-in_binary64
272×*-commutative_binary64
227×sub-neg_binary64
226×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027280
174280
2165276
3500272
42077272
54495272
Stop Event
node limit
Counts
98 → 49

prune223.0ms (1.8%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New1620162
Fresh044
Picked011
Done033
Total1628170
Error
0b
Counts
170 → 8
Alt Table
StatusErrorProgram
21.9b
(*.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))))))))
10.3b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 K 1/2)) 2))) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
10.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)))))
44.4b
(*.f64 -2 (cbrt.f64 (pow.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)))
46.1b
(*.f64 -2 (-.f64 (*.f64 U -1/2) (*.f64 (/.f64 J (/.f64 U J)) (pow.f64 (cos.f64 (*.f64 1/2 K)) 2))))
10.6b
(*.f64 -2 (*.f64 (*.f64 (*.f64 J (hypot.f64 1 (/.f64 (/.f64 U (*.f64 J 2)) (cos.f64 (*.f64 K 1/2))))) (-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 K 1/2))) 2))) 1)) (cbrt.f64 (cos.f64 (*.f64 K 1/2)))))
46.0b
(*.f64 -2 (*.f64 1/2 U))
11.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 7253 to 5925 computations (18.3% saved)

regimes457.0ms (3.6%)

Accuracy

Total 8.6b remaining (99.7%)

Threshold costs 0b (0%)

Counts
45 → 3
Compiler

Compiled 7058 to 5730 computations (18.8% saved)

bsearch182.0ms (1.4%)

Algorithm
binary-search
Calls

2 calls:

90.0ms
J
89.0ms
J
Steps
ItersPointRange
-3.434501974673543e-266
∈ [
-2.039467559549915e-265
,
-3.126946728156957e-272
]
-1.6294791308598196e-174
∈ [
-4.57114241983531e-169
,
-1.6115822011707699e-174
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02583
13383
Stop Event
saturated

end188.0ms (1.5%)

Stop Event
fuel
Compiler

Compiled 324 to 259 computations (20.1% saved)

Profiling

Loading profile data...