Details

Time bar (total: 2.0s)

analyze8.0ms (0.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
49.9%0%50.1%13
49.9%0%50.1%14
Compiler

Compiled 21 to 16 computations (23.8% saved)

sample998.0ms (50.1%)

Results
986.0ms8256×body128valid
0.0msbody128invalid
Compiler

Compiled 42 to 32 computations (23.8% saved)

preprocess34.0ms (1.7%)

Algorithm
egg-herbie
Rules
598×fma-def_binary64
423×distribute-rgt-in_binary64
403×associate-/l*_binary64
348×distribute-lft-in_binary64
224×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
13729
28927
323827
471027
5169525
6291925
011
Stop Event
saturated
node limit
Compiler

Compiled 20 to 15 computations (25% saved)

simplify22.0ms (1.1%)

Algorithm
egg-herbie
Rules
598×fma-def_binary64
423×distribute-rgt-in_binary64
403×associate-/l*_binary64
348×distribute-lft-in_binary64
224×fma-neg_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01529
13729
28927
323827
471027
5169525
6291925
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0.2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
Compiler

Compiled 73 to 56 computations (23.3% saved)

localize10.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1)))
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))

series18.0ms (0.9%)

Counts
2 → 24
Calls

6 calls:

4.0ms
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
v
-inf
4.0ms
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
v
inf
4.0ms
(*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1)))
v
0
2.0ms
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
v
0
2.0ms
(*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1)))
v
-inf

rewrite46.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
629×log-prod_binary64
233×expm1-udef_binary64
233×log1p-udef_binary64
203×log-pow_binary64
134×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01538
129436
2318536
Stop Event
node limit
Counts
2 → 40

simplify41.0ms (2.1%)

Algorithm
egg-herbie
Rules
831×times-frac_binary64
389×fma-def_binary64
358×cancel-sign-sub-inv_binary64
309×associate-*l*_binary64
285×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
072805
1234749
2926631
34725631
Stop Event
node limit
Counts
64 → 67

prune56.0ms (2.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New65267
Fresh000
Picked011
Done000
Total65368
Error
0b
Counts
68 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))))
1.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))) 2)
Compiler

Compiled 1780 to 1488 computations (16.4% saved)

localize14.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1)))
0.0b
(log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))))
0.0b
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1)))))

series39.0ms (1.9%)

Counts
3 → 36
Calls

9 calls:

12.0ms
(log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
v
0
5.0ms
(log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
v
inf
5.0ms
(log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
v
-inf
4.0ms
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))))
v
inf
4.0ms
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))))
v
-inf

rewrite55.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
352×prod-diff_binary64
246×expm1-udef_binary64
246×log1p-udef_binary64
216×log-pow_binary64
141×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01753
131353
2333353
Stop Event
node limit
Counts
3 → 77

simplify52.0ms (2.6%)

Algorithm
egg-herbie
Rules
676×fma-def_binary64
616×times-frac_binary64
429×cancel-sign-sub-inv_binary64
224×distribute-neg-in_binary64
201×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01641551
15511409
221631368
Stop Event
node limit
Counts
113 → 128

prune139.0ms (7%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1540154
Fresh011
Picked011
Done011
Total1543157
Error
0b
Counts
157 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))))
1.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))) 2)
Compiler

Compiled 4510 to 3757 computations (16.7% saved)

localize12.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2))
0.0b
(*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))
1.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))) 2)

series65.0ms (3.3%)

Counts
3 → 28
Calls

9 calls:

28.0ms
(*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))
v
-inf
11.0ms
(pow.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))) 2)
v
inf
10.0ms
(pow.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))) 2)
v
-inf
4.0ms
(*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))
v
inf
3.0ms
(pow.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))) 2)
v
0

rewrite88.0ms (4.4%)

Algorithm
batch-egg-rewrite
Rules
626×log-prod_binary64
231×expm1-udef_binary64
231×log1p-udef_binary64
204×log-pow_binary64
133×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01659
131559
2321159
Stop Event
node limit
Counts
3 → 88

simplify33.0ms (1.7%)

Algorithm
egg-herbie
Rules
574×fma-def_binary64
466×cancel-sign-sub-inv_binary64
375×associate-*l*_binary64
357×associate-*r*_binary64
258×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0981118
13231054
21275921
Stop Event
node limit
Counts
116 → 120

prune98.0ms (4.9%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1200120
Fresh000
Picked011
Done022
Total1203123
Error
0b
Counts
123 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))
0.0b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 v -3) 1)) (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (*.f64 -1/4 (fma.f64 v v -1))))))
1.0b
(pow.f64 (sqrt.f64 (*.f64 (*.f64 -1/4 (fma.f64 v v -1)) (sqrt.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 2)))) 2)
Compiler

Compiled 3467 to 2760 computations (20.4% saved)

regimes74.0ms (3.7%)

Accuracy

Total 0.0b remaining (67.4%)

Threshold costs 0.0b (67.4%)

Counts
22 → 1
Compiler

Compiled 1265 to 1001 computations (20.9% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01729
12329
Stop Event
saturated

end82.0ms (4.1%)

Stop Event
done
Compiler

Compiled 98 to 78 computations (20.4% saved)

Profiling

Loading profile data...