Details

Time bar (total: 7.1s)

analyze715.0ms (10%)

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
12.5%87.4%0.1%5
18.7%81.1%0.1%6
18.7%76.5%4.8%7
28.1%66.3%5.6%8
35.1%55%9.9%9
36.3%50.9%12.8%10
42.1%42.4%15.5%11
47.5%33.8%18.7%12
48.8%30.7%20.6%13
51.8%25.6%22.5%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample2.0s (27.6%)

Results
631.0ms5363×body128valid
496.0ms1103×body2048valid
287.0ms779×body1024valid
227.0ms418×body4096valid
125.0ms1089×body128invalid
105.0ms382×body512valid
42.0ms211×body256valid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify62.0ms (0.9%)

Algorithm
egg-herbie
Rules
518×div-sub_binary64
428×fma-neg_binary64
208×associate-/l*_binary64
205×fma-def_binary64
181×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
12720
25720
312620
421620
539220
666220
7100820
8121420
9159920
10312620
11389920
12399720
13400520
14401320
15401320
16407120
17410720
18413720
19414920
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
35.3b
Counts
2 → 1
Alt Table
StatusErrorProgram
35.3b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Compiler

Compiled 48 to 30 computations (37.5% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
1.0b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
1.4b
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
23.8b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series189.0ms (2.6%)

Counts
4 → 96
Calls

4 calls:

81.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
68.0ms
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
32.0ms
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
8.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))

rewrite74.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
352×fma-neg_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
192×egg-rr
133×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01159
126255
2401855
Stop Event
node limit
Counts
4 → 192
Calls

4 calls:

70.0ms
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
70.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
70.0ms
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
70.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

simplify46.0ms (0.6%)

Algorithm
egg-herbie
Rules
740×times-frac_binary64
496×associate-/l*_binary64
402×associate-/r*_binary64
369×fma-def_binary64
143×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01242047
14092003
214391977
Stop Event
node limit
Counts
288 → 269

prune191.0ms (2.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New25910269
Fresh000
Picked101
Done000
Total26010270
Error
4.9b
Counts
270 → 10
Alt Table
StatusErrorProgram
37.3b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
35.3b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
46.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
38.9b
(/.f64 -1/2 (/.f64 b_2 c))
51.3b
(fma.f64 (/.f64 -1 (sqrt.f64 a)) (/.f64 b_2 (sqrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
38.8b
(*.f64 -1/2 (/.f64 c b_2))
55.9b
(/.f64 (-.f64 (neg.f64 b_2) (neg.f64 b_2)) a)
45.4b
(-.f64 (*.f64 1/2 (/.f64 c b_2)) (*.f64 2 (/.f64 b_2 a)))
45.3b
(*.f64 (/.f64 -2 a) b_2)
46.9b
(/.f64 (/.f64 (neg.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c))) (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) a)
Compiler

Compiled 6122 to 2034 computations (66.8% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
1.0b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
1.4b
(+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
23.8b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series93.0ms (1.3%)

Counts
2 → 40
Calls

2 calls:

62.0ms
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
31.0ms
(+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))

rewrite53.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
328×fma-neg_binary64
222×expm1-udef_binary64
222×log1p-udef_binary64
142×add-sqr-sqrt_binary64
136×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01335
129229
2422229
Stop Event
node limit
Counts
2 → 82
Calls

2 calls:

51.0ms
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
51.0ms
(+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))

simplify33.0ms (0.5%)

Algorithm
egg-herbie
Rules
692×times-frac_binary64
458×associate-/l*_binary64
372×associate-/r*_binary64
314×associate-*l*_binary64
238×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0991176
13221144
211381130
Stop Event
node limit
Counts
122 → 130

prune141.0ms (2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2484252
Fresh279
Picked011
Done000
Total25012262
Error
4.9b
Counts
262 → 12
Alt Table
StatusErrorProgram
37.3b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
35.3b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
46.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
38.9b
(/.f64 -1/2 (/.f64 b_2 c))
46.9b
(/.f64 (/.f64 (neg.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c))) (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) a)
41.9b
(*.f64 (+.f64 b_2 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3/2))) (/.f64 1 (neg.f64 a)))
56.1b
(*.f64 (+.f64 b_2 (-.f64 (*.f64 1/2 (/.f64 a (/.f64 b_2 c))) b_2)) (/.f64 1 (neg.f64 a)))
45.2b
(*.f64 -2 (/.f64 b_2 a))
51.3b
(fma.f64 (/.f64 -1 (sqrt.f64 a)) (/.f64 b_2 (sqrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
38.8b
(*.f64 -1/2 (/.f64 c b_2))
55.9b
(/.f64 (-.f64 (neg.f64 b_2) (neg.f64 b_2)) a)
45.4b
(fma.f64 (/.f64 b_2 a) -2 (*.f64 1/2 (/.f64 c b_2)))
Compiler

Compiled 6208 to 2434 computations (60.8% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 a)
1.0b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
22.4b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
23.8b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series122.0ms (1.7%)

Counts
2 → 34
Calls

2 calls:

73.0ms
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
49.0ms
(cbrt.f64 a)

rewrite57.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
299×log1p-udef_binary64
181×add-sqr-sqrt_binary64
172×add-cbrt-cube_binary64
172×log1p-expm1-u_binary64
172×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01737
137626
2497126
Stop Event
node limit
Counts
2 → 48
Calls

2 calls:

56.0ms
(cbrt.f64 a)
56.0ms
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))

simplify40.0ms (0.6%)

Algorithm
egg-herbie
Rules
367×times-frac_binary64
355×unswap-sqr_binary64
242×associate-/l*_binary64
224×associate-*r*_binary64
209×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
075669
1237647
2766641
34082641
Stop Event
node limit
Counts
82 → 77

prune132.0ms (1.9%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New2232225
Fresh1910
Picked011
Done011
Total22413237
Error
4.9b
Counts
237 → 13
Alt Table
StatusErrorProgram
45.5b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 b_2 a)))
37.3b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
35.3b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
46.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
38.9b
(/.f64 -1/2 (/.f64 b_2 c))
61.4b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (neg.f64 b_2) a)))
38.8b
(*.f64 -1/2 (/.f64 c b_2))
46.9b
(/.f64 (/.f64 (neg.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c))) (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) a)
41.9b
(*.f64 (+.f64 b_2 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3/2))) (/.f64 1 (neg.f64 a)))
56.1b
(*.f64 (+.f64 b_2 (-.f64 (*.f64 1/2 (/.f64 a (/.f64 b_2 c))) b_2)) (/.f64 1 (neg.f64 a)))
45.2b
(*.f64 -2 (/.f64 b_2 a))
51.3b
(fma.f64 (/.f64 -1 (sqrt.f64 a)) (/.f64 b_2 (sqrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
45.4b
(fma.f64 (/.f64 b_2 a) -2 (*.f64 1/2 (/.f64 c b_2)))
Compiler

Compiled 6611 to 2544 computations (61.5% saved)

localize3.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/2 (/.f64 c b_2))

series7.0ms (0.1%)

Counts
1 → 0
Calls

1 calls:

7.0ms
(*.f64 -1/2 (/.f64 c b_2))

rewrite33.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
606×log1p-expm1-u_binary64
606×expm1-log1p-u_binary64
317×log-prod_binary64
116×expm1-udef_binary64
116×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11277
216227
Stop Event
node limit
Counts
1 → 25
Calls

1 calls:

33.0ms
(*.f64 -1/2 (/.f64 c b_2))

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
25 → 25

prune22.0ms (0.3%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New22325
Fresh2810
Picked011
Done022
Total241438
Error
4.9b
Counts
38 → 14
Alt Table
StatusErrorProgram
45.5b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 b_2 a)))
37.3b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
35.3b
(*.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 (neg.f64 a)))
61.4b
(fma.f64 (/.f64 -1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 b_2 (cbrt.f64 a)) (neg.f64 (/.f64 (neg.f64 b_2) a)))
38.8b
(*.f64 -1/2 (/.f64 c b_2))
47.0b
(exp.f64 (log.f64 (/.f64 (*.f64 -1/2 c) b_2)))
46.9b
(/.f64 (/.f64 (neg.f64 (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c))) (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) a)
41.9b
(*.f64 (+.f64 b_2 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3/2))) (/.f64 1 (neg.f64 a)))
51.3b
(fma.f64 (/.f64 -1 (sqrt.f64 a)) (/.f64 b_2 (sqrt.f64 a)) (neg.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) a)))
46.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) 2) (*.f64 (cbrt.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a)))
55.4b
(log.f64 (pow.f64 (exp.f64 -1/2) (/.f64 c b_2)))
39.2b
(/.f64 (/.f64 (*.f64 -1/2 c) (pow.f64 (cbrt.f64 b_2) 2)) (cbrt.f64 b_2))
45.4b
(fma.f64 (/.f64 b_2 a) -2 (*.f64 1/2 (/.f64 c b_2)))
45.2b
(*.f64 -2 (/.f64 b_2 a))
Compiler

Compiled 465 to 308 computations (33.8% saved)

regimes2.9s (40.7%)

Accuracy

Total 4.9b remaining (45.5%)

Threshold costs 0b (0%)

Counts
182 → 3
Compiler

Compiled 14092 to 8874 computations (37% saved)

bsearch25.0ms (0.3%)

Steps
ItersRangePoint
1
2.5810664223351267e+72
1.4282150786340163e+85
6.1115744018599626e+78
3
-8.204753307206658e-44
-6.543761883102639e-44
-6.647573847109141e-44
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02956
14556
26656
38356
49256
59556
Stop Event
saturated

end177.0ms (2.5%)

Compiler

Compiled 327 to 206 computations (37% saved)

Profiling

Loading profile data...