Details

Time bar (total: 6.5s)

analyze663.0ms (10.1%)

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.4s (37.4%)

Results
653.0ms5321×body128valid
558.0ms1193×body2048valid
407.0ms781×body1024valid
201.0ms350×body4096valid
124.0ms1074×body128invalid
120.0ms405×body512valid
42.0ms206×body256valid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify306.0ms (4.7%)

Algorithm
egg-herbie
Rules
518×div-sub_binary64
428×fma-neg_binary64
246×associate-/l*_binary64
205×fma-def_binary64
183×times-frac_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
12720
25420
311520
417920
529120
641720
752820
860220
985420
10180220
11104320
12102720
13103520
14104320
15104320
16110120
17113720
18113920
19115120
20104620

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
36.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
36.5b
(/.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)
0.6b
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
0.8b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
25.8b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series173.0ms (2.7%)

Counts
4 → 96
Calls

4 calls:

78.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
52.0ms
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
36.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))

rewrite96.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
694×fma-def_binary64
352×fma-neg_binary64
337×egg-rr
218×expm1-udef_binary64
218×log1p-udef_binary64
Counts
4 → 337
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01159
125755
2337355
3497255
000
100

simplify80.0ms (1.2%)

Algorithm
egg-herbie
Rules
740×times-frac_binary64
497×associate-/l*_binary64
494×fma-neg_binary64
404×associate-/r*_binary64
370×fma-def_binary64
Counts
433 → 410
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01242047
14052003
213501977
348911977
452081977

prune253.0ms (3.9%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New4019410
Fresh000
Picked011
Done000
Total40110411
Error
6.1b
Counts
411 → 10
Alt Table
StatusErrorProgram
37.3b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2)) a)
57.4b
(/.f64 (-.f64 (neg.f64 b_2) (neg.f64 b_2)) a)
41.2b
(*.f64 -1/2 (/.f64 c b_2))
55.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
41.3b
(/.f64 (*.f64 -2 b_2) a)
36.5b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
49.2b
(*.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
49.7b
(/.f64 (/.f64 1 (/.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)))) a)
41.6b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
53.2b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3)))) a)
Compiler

Compiled 10539 to 2953 computations (72% saved)

localize35.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2)
0.8b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
10.3b
(-.f64 (neg.f64 b_2) (pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2))
26.6b
(pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4)

series174.0ms (2.7%)

Counts
3 → 92
Calls

3 calls:

72.0ms
(-.f64 (neg.f64 b_2) (pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2))
59.0ms
(pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2)
42.0ms
(pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4)

rewrite96.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
614×fma-def_binary64
291×fma-neg_binary64
232×expm1-udef_binary64
232×log1p-udef_binary64
147×egg-rr
Counts
3 → 147
Calls

3 calls:

91.0ms
(pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2)
91.0ms
(-.f64 (neg.f64 b_2) (pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2))
91.0ms
(pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01344
130140
2328538
3498738
4484838
000
100

simplify105.0ms (1.6%)

Algorithm
egg-herbie
Rules
286×times-frac_binary64
278×fma-neg_binary64
268×associate-/r*_binary64
266×sub-neg_binary64
237×associate-*r*_binary64
Counts
239 → 275
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03314288
110814192
243474188
350254188

prune370.0ms (5.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New4432445
Fresh268
Picked011
Done011
Total44510455
Error
0.8b
Counts
455 → 10
Alt Table
StatusErrorProgram
49.7b
(/.f64 (/.f64 1 (/.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)))) a)
52.4b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 a) (log.f64 (/.f64 -1 c))))) 2)) a)
41.2b
(*.f64 -1/2 (/.f64 c b_2))
55.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
37.3b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2)) a)
49.2b
(*.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
55.2b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 c) (log.f64 (neg.f64 a))))) 2)) a)
41.6b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
53.2b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3)))) a)
36.5b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Compiler

Compiled 14135 to 5908 computations (58.2% 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))

rewrite37.0ms (0.6%)

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
Counts
1 → 27
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11277
215737
349697
000
100

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Counts
27 → 27
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune22.0ms (0.3%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New25227
Fresh077
Picked101
Done022
Total261137
Error
0.8b
Counts
37 → 11
Alt Table
StatusErrorProgram
50.1b
(pow.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 c b_2))) 2)
49.2b
(*.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
49.7b
(/.f64 (/.f64 1 (/.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)))) a)
52.4b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 a) (log.f64 (/.f64 -1 c))))) 2)) a)
37.3b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2)) a)
41.2b
(/.f64 (*.f64 -1/2 c) b_2)
55.2b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 c) (log.f64 (neg.f64 a))))) 2)) a)
55.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
41.6b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
53.2b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3)))) a)
36.5b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Compiler

Compiled 579 to 381 computations (34.2% saved)

localize3.0ms (0%)

prune8.0ms (0.1%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New000
Fresh088
Picked011
Done022
Total01111
Error
0.8b
Counts
11 → 11
Alt Table
StatusErrorProgram
50.1b
(pow.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 c b_2))) 2)
49.2b
(*.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
49.7b
(/.f64 (/.f64 1 (/.f64 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (+.f64 (fma.f64 b_2 b_2 (*.f64 b_2 b_2)) (*.f64 a c)))) a)
52.4b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 a) (log.f64 (/.f64 -1 c))))) 2)) a)
37.3b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 1/4) 2)) a)
41.2b
(/.f64 (*.f64 -1/2 c) b_2)
55.2b
(/.f64 (-.f64 (neg.f64 b_2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 c) (log.f64 (neg.f64 a))))) 2)) a)
55.8b
(*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (-.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (sqrt.f64 a)))
41.6b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
53.2b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3)))) a)
36.5b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Compiler

Compiled 191 to 129 computations (32.5% saved)

regimes1.4s (21.2%)

Accuracy

Total 9.3b remaining (91.9%)

Threshold costs 0b (0%)

Counts
75 → 3
Compiler

Compiled 5700 to 3554 computations (37.6% saved)

bsearch93.0ms (1.4%)

Steps
ItersRangePoint
7
3.51924356345418e+85
1.9056159869820554e+87
9.108292722462307e+85
11
-7.078853247986652e-57
-3.7037813862544596e-82
-1.102385277532225e-63
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02963
14063
24963
35963
46463
56763
66863
76863

end164.0ms (2.5%)

Compiler

Compiled 283 to 183 computations (35.3% saved)

Profiling

Loading profile data...