Details

Time bar (total: 6.2s)

analyze5.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
75%25%0%4
87.5%12.5%0%5
93.7%6.2%0%6
96.8%3.1%0%7
98.4%1.6%0%8
99.2%0.8%0%9
99.6%0.4%0%10
99.8%0.2%0%11
99.9%0.1%0%12
99.9%0%0%13
99.9%0%0%14
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample1.6s (26.6%)

Results
693.0ms2120×body1024valid
438.0ms4433×body128valid
245.0ms997×body512valid
86.0ms496×body256valid
80.0ms210×body2048valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify85.0ms (1.4%)

Algorithm
egg-herbie
Rules
859×fma-neg_binary64
770×fma-def_binary64
322×div-sub_binary64
178×associate-/l*_binary64
150×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
11619
22219
33419
45719
59119
617819
727719
864319
978819
10102419
11126519
12124219
13124819
14124619
15124819
16125019
17126019
18126019
19117119

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
30.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
30.5b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
Compiler

Compiled 42 to 30 computations (28.6% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 x (+.f64 x 1))
0.0b
(/.f64 (+.f64 x 1) (-.f64 x 1))
1.9b
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))

series8.0ms (0.1%)

Counts
3 → 36
Calls

3 calls:

3.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
3.0ms
(/.f64 x (+.f64 x 1))
2.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))

rewrite237.0ms (3.8%)

Algorithm
rewrite-expression-head
Rules
1322×*-un-lft-identity_binary64
1012×times-frac_binary64
869×add-sqr-sqrt_binary64
612×prod-diff_binary64
533×add-cube-cbrt_binary64
Counts
3 → 783
Calls

3 calls:

46.0ms
(-.f64 (/.f64 x (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 x 1)))
6.0ms
(/.f64 (+.f64 x 1) (-.f64 x 1))
4.0ms
(/.f64 x (+.f64 x 1))

simplify943.0ms (15.2%)

Algorithm
egg-herbie
Rules
654×fma-neg_binary64
367×unsub-neg_binary64
299×fma-udef_binary64
213×sub-neg_binary64
202×associate-+r-_binary64
Counts
819 → 619
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054554602
1129031108
2304322839
3432322837
4498322837
5499122837
6474222837

prune775.0ms (12.5%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New6136619
Fresh000
Picked101
Done000
Total6146620
Error
0.0b
Counts
620 → 6
Alt Table
StatusErrorProgram
31.2b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
33.5b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
31.2b
(+.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
61.0b
(+.f64 (fma.f64 1 (/.f64 x (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))))))
61.6b
(+.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))))))
30.6b
(-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))))
Compiler

Compiled 30836 to 22715 computations (26.3% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))))
0.2b
(/.f64 1 (*.f64 x x))
0.8b
(/.f64 3 (pow.f64 x 3))
8.8b
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))

series12.0ms (0.2%)

Counts
4 → 36
Calls

4 calls:

4.0ms
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))
3.0ms
(-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))))
3.0ms
(/.f64 3 (pow.f64 x 3))
2.0ms
(/.f64 1 (*.f64 x x))

rewrite74.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
178×*-un-lft-identity_binary64
136×times-frac_binary64
101×add-sqr-sqrt_binary64
96×add-cube-cbrt_binary64
78×prod-diff_binary64
Counts
4 → 245
Calls

4 calls:

25.0ms
(-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))))
16.0ms
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3)))
5.0ms
(/.f64 3 (pow.f64 x 3))
3.0ms
(/.f64 1 (*.f64 x x))

simplify184.0ms (3%)

Algorithm
egg-herbie
Rules
508×unswap-sqr_binary64
388×cancel-sign-sub-inv_binary64
372×fma-neg_binary64
185×associate-*l*_binary64
185×associate-/r*_binary64
Counts
281 → 274
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02988270
16106566
225005026
346845026
448805026

prune207.0ms (3.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2740274
Fresh055
Picked011
Done000
Total2746280
Error
0.0b
Counts
280 → 6
Alt Table
StatusErrorProgram
31.2b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
33.5b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
31.2b
(+.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
61.0b
(+.f64 (fma.f64 1 (/.f64 x (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))))))
61.6b
(+.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))))))
30.6b
(-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))))
Compiler

Compiled 9811 to 6812 computations (30.6% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 x)
17.5b
(/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))
30.8b
(fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
34.1b
(fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))

series62.0ms (1%)

Counts
4 → 48
Calls

4 calls:

33.0ms
(cbrt.f64 x)
12.0ms
(fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
9.0ms
(fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))
7.0ms
(/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))

rewrite11.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
25×*-un-lft-identity_binary64
16×times-frac_binary64
15×add-sqr-sqrt_binary64
15×add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
4 → 75
Calls

4 calls:

6.0ms
(/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))
1.0ms
(fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))
1.0ms
(cbrt.f64 x)
0.0ms
(fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))

simplify99.0ms (1.6%)

Algorithm
egg-herbie
Rules
638×fma-def_binary64
456×fma-neg_binary64
361×times-frac_binary64
292×associate-/r*_binary64
245×associate-/l*_binary64
Counts
123 → 150
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01672167
13771642
212191380
344341380
448751380
548261380

prune488.0ms (7.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3471348
Fresh134
Picked101
Done011
Total3495354
Error
0.0b
Counts
354 → 5
Alt Table
StatusErrorProgram
31.2b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
33.5b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
61.0b
(+.f64 (fma.f64 1 (/.f64 x (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))))))
31.2b
(+.f64 (log.f64 (exp.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
30.6b
(-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))))
Compiler

Compiled 23611 to 15295 computations (35.2% saved)

localize22.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
17.5b
(/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))
19.9b
(log.f64 (exp.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))))
30.8b
(fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
34.1b
(fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))

series15.0ms (0.2%)

Counts
1 → 12
Calls

1 calls:

15.0ms
(log.f64 (exp.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))))

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
log-prod_binary64
log-pow_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
exp-prod_binary64
Counts
1 → 18
Calls

1 calls:

2.0ms
(log.f64 (exp.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))))

simplify70.0ms (1.1%)

Algorithm
egg-herbie
Rules
468×times-frac_binary64
351×cancel-sign-sub-inv_binary64
321×distribute-rgt-in_binary64
290×distribute-lft-in_binary64
230×fma-neg_binary64
Counts
30 → 46
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0801091
1179712
2494566
31614564
44416564
54920564

prune505.0ms (8.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New3400340
Fresh033
Picked011
Done011
Total3405345
Error
0.0b
Counts
345 → 5
Alt Table
StatusErrorProgram
31.2b
(+.f64 (fma.f64 x (/.f64 1 (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
33.5b
(+.f64 1 (fma.f64 3 (+.f64 x (pow.f64 x 3)) (*.f64 x x)))
61.0b
(+.f64 (fma.f64 1 (/.f64 x (+.f64 x 1)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))))) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1)))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (*.f64 (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))) (sqrt.f64 (/.f64 (+.f64 x 1) (-.f64 x 1))))))
31.2b
(+.f64 (log.f64 (exp.f64 (fma.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) 1) (/.f64 (cbrt.f64 x) (+.f64 x 1)) (neg.f64 (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1)))))))) (fma.f64 (neg.f64 (+.f64 x 1)) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))) (*.f64 (+.f64 x 1) (/.f64 (+.f64 x 1) (-.f64 (*.f64 x x) (*.f64 1 1))))))
30.6b
(-.f64 (/.f64 -3 x) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 3 (pow.f64 x 3))))
Compiler

Compiled 23390 to 15463 computations (33.9% saved)

regimes540.0ms (8.7%)

Accuracy

Total 0.1b remaining (79.1%)

Threshold costs 0.1b (79.1%)

Counts
159 → 2
Compiler

Compiled 12704 to 9238 computations (27.3% saved)

bsearch9.0ms (0.1%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
035117
158117
283115
3102115
4110115
5112115
6108115

end160.0ms (2.6%)

Compiler

Compiled 368 to 264 computations (28.3% saved)

Profiling

Loading profile data...