Details

Time bar (total: 1.9s)

analyze6.0ms (0.3%)

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)

sample992.0ms (52.8%)

Results
948.0ms8256×body128valid
0.0msbody128invalid
Compiler

Compiled 62 to 47 computations (24.2% saved)

simplify22.0ms (1.2%)

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

2 alts after pruning (2 fresh and 0 done)

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

Compiled 77 to 58 computations (24.7% saved)

localize9.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series23.0ms (1.2%)

Counts
4 → 48
Calls

4 calls:

10.0ms
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))) (-.f64 1 (*.f64 v v)))
6.0ms
(*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))
4.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
2.0ms
(*.f64 3 (*.f64 v v))

rewrite60.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
701×prod-diff_binary64
149×add-sqr-sqrt_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
146×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01568
133358
2403758
Stop Event
node limit
Counts
4 → 90
Calls

4 calls:

59.0ms
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))) (-.f64 1 (*.f64 v v)))
59.0ms
(sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))
59.0ms
(*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v)))))
59.0ms
(*.f64 3 (*.f64 v v))

simplify38.0ms (2%)

Algorithm
egg-herbie
Rules
710×fma-def_binary64
520×cancel-sign-sub-inv_binary64
338×associate-/r*_binary64
271×fma-neg_binary64
173×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251394
14191338
215571196
Stop Event
node limit
Counts
138 → 159

prune132.0ms (7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1572159
Fresh000
Picked011
Done000
Total1573160
Error
0b
Counts
160 → 3
Alt Table
StatusErrorProgram
0.0b
(log.f64 (pow.f64 (exp.f64 (-.f64 1 (*.f64 v v))) (sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8))))
0.0b
(*.f64 (*.f64 (/.f64 (sqrt.f64 2) 4) (sqrt.f64 (-.f64 1 (*.f64 3 (*.f64 v v))))) (-.f64 1 (*.f64 v v)))
0.0b
(*.f64 (sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8)) (-.f64 1 (*.f64 v v)))
Compiler

Compiled 4065 to 3139 computations (22.8% saved)

localize7.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8))
0.0b
(*.f64 (sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8)) (-.f64 1 (*.f64 v v)))
0.2b
(*.f64 (*.f64 v v) -3)

series18.0ms (1%)

Counts
3 → 36
Calls

3 calls:

8.0ms
(*.f64 (sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8)) (-.f64 1 (*.f64 v v)))
8.0ms
(sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8))
2.0ms
(*.f64 (*.f64 v v) -3)

rewrite53.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
493×prod-diff_binary64
397×fma-def_binary64
209×expm1-udef_binary64
208×log1p-udef_binary64
127×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01246
126142
2321242
Stop Event
node limit
Counts
3 → 86
Calls

3 calls:

52.0ms
(sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8))
52.0ms
(*.f64 (sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8)) (-.f64 1 (*.f64 v v)))
52.0ms
(*.f64 (*.f64 v v) -3)

simplify32.0ms (1.7%)

Algorithm
egg-herbie
Rules
560×fma-def_binary64
414×cancel-sign-sub-inv_binary64
306×associate-*l*_binary64
302×associate-*r*_binary64
233×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0961048
13341023
21252900
Stop Event
node limit
Counts
122 → 133

prune143.0ms (7.6%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1321133
Fresh101
Picked011
Done101
Total1342136
Error
0b
Counts
136 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 (sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8)) (-.f64 1 (*.f64 v v)))
0.0b
(exp.f64 (fma.f64 1/2 (log.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 1/8)) (log1p.f64 (*.f64 v (neg.f64 v)))))
Compiler

Compiled 3307 to 2555 computations (22.7% saved)

localize15.0ms (0.8%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (fma.f64 1/2 (log.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 1/8)) (log1p.f64 (*.f64 v (neg.f64 v)))))
0.0b
(log1p.f64 (*.f64 v (neg.f64 v)))

series11.0ms (0.6%)

Counts
2 → 24
Calls

2 calls:

7.0ms
(exp.f64 (fma.f64 1/2 (log.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 1/8)) (log1p.f64 (*.f64 v (neg.f64 v)))))
4.0ms
(log1p.f64 (*.f64 v (neg.f64 v)))

rewrite48.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
538×log-prod_binary64
216×expm1-udef_binary64
216×log1p-udef_binary64
187×log-pow_binary64
135×add-sqr-sqrt_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01534
128830
2322526
Stop Event
node limit
Counts
2 → 44
Calls

2 calls:

47.0ms
(exp.f64 (fma.f64 1/2 (log.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 1/8)) (log1p.f64 (*.f64 v (neg.f64 v)))))
47.0ms
(log1p.f64 (*.f64 v (neg.f64 v)))

simplify39.0ms (2.1%)

Algorithm
egg-herbie
Rules
816×fma-neg_binary64
348×fma-def_binary64
342×sub-neg_binary64
130×cancel-sign-sub-inv_binary64
128×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0106920
1318865
2981691
33821636
Stop Event
node limit
Counts
68 → 91

prune72.0ms (3.8%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New91091
Fresh000
Picked011
Done011
Total91293
Error
0b
Counts
93 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 (sqrt.f64 (*.f64 (+.f64 1 (*.f64 (*.f64 v v) -3)) 1/8)) (-.f64 1 (*.f64 v v)))
0.0b
(exp.f64 (fma.f64 1/2 (log.f64 (*.f64 (fma.f64 v (*.f64 v -3) 1) 1/8)) (log1p.f64 (*.f64 v (neg.f64 v)))))
Compiler

Compiled 2358 to 1854 computations (21.4% saved)

regimes94.0ms (5%)

Accuracy

Total 0.0b remaining (62.3%)

Threshold costs 0.0b (62.3%)

Counts
32 → 1
Compiler

Compiled 1974 to 1521 computations (22.9% saved)

simplify3.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
01526
12526
22926
33226
43326
Stop Event
saturated

end58.0ms (3.1%)

Compiler

Compiled 71 to 54 computations (23.9% saved)

Profiling

Loading profile data...