Details

Time bar (total: 3.7s)

analyze184.0ms (4.9%)

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
31.2%68.7%0.1%6
46.8%53.1%0.1%7
60.9%39%0.1%8
67.9%31.2%0.9%9
74.5%22.2%3.2%10
77.9%17.2%5%11
81.1%11.8%7.1%12
82.7%9%8.3%13
84.3%6.1%9.7%14
Compiler

Compiled 14 to 10 computations (28.6% saved)

sample1.0s (27.2%)

Results
877.0ms8256×body128valid
29.0ms250×body128invalid
Compiler

Compiled 41 to 29 computations (29.3% saved)

simplify85.0ms (2.3%)

Algorithm
egg-herbie
Rules
1151×distribute-rgt-in_binary64
1143×distribute-lft-in_binary64
971×fma-def_binary64
653×associate-/l*_binary64
535×associate-/l/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0916
12214
23014
37514
411214
522214
640614
741914
878314
993714
10125914
11161114
12177814
13201514
14293914
15324514
16507514

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
9.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
9.8b
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))
Compiler

Compiled 47 to 27 computations (42.6% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (/.f64 x y) x)
9.2b
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))

series21.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

12.0ms
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))
9.0ms
(fma.f64 x (/.f64 x y) x)

rewrite6.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
19×*-un-lft-identity_binary64
12×times-frac_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
associate-/r*_binary64
Counts
2 → 45
Calls

2 calls:

3.0ms
(/.f64 (fma.f64 x (/.f64 x y) x) (+.f64 x 1))
0.0ms
(fma.f64 x (/.f64 x y) x)

simplify83.0ms (2.2%)

Algorithm
egg-herbie
Rules
1032×fma-neg_binary64
526×cancel-sign-sub-inv_binary64
338×sub-neg_binary64
265×distribute-rgt-in_binary64
240×associate-/l/_binary64
Counts
93 → 74
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01081641
12451554
27141484
324091453
444391453
550611453

prune79.0ms (2.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New71374
Fresh000
Picked101
Done000
Total72375
Error
0.0b
Counts
75 → 3
Alt Table
StatusErrorProgram
9.9b
(*.f64 (fma.f64 x (/.f64 x y) x) (/.f64 1 (+.f64 x 1)))
29.9b
(-.f64 (+.f64 (/.f64 (pow.f64 x 2) y) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
34.5b
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
Compiler

Compiled 1353 to 608 computations (55.1% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (+.f64 x 1))
0.1b
(fma.f64 x (/.f64 x y) x)
9.3b
(*.f64 (fma.f64 x (/.f64 x y) x) (/.f64 1 (+.f64 x 1)))

series15.0ms (0.4%)

Counts
2 → 36
Calls

2 calls:

12.0ms
(*.f64 (fma.f64 x (/.f64 x y) x) (/.f64 1 (+.f64 x 1)))
2.0ms
(/.f64 1 (+.f64 x 1))

rewrite19.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
35×*-un-lft-identity_binary64
27×add-sqr-sqrt_binary64
26×times-frac_binary64
20×add-cube-cbrt_binary64
18×associate-*r*_binary64
Counts
2 → 82
Calls

2 calls:

10.0ms
(*.f64 (fma.f64 x (/.f64 x y) x) (/.f64 1 (+.f64 x 1)))
4.0ms
(/.f64 1 (+.f64 x 1))

simplify122.0ms (3.2%)

Algorithm
egg-herbie
Rules
892×fma-neg_binary64
598×cancel-sign-sub-inv_binary64
402×sub-neg_binary64
234×associate--l+_binary64
202×associate-+l+_binary64
Counts
118 → 133
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01301920
13151752
29531660
331411647
441911647
549991647
649861647

prune97.0ms (2.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1490149
Fresh022
Picked011
Done000
Total1493152
Error
0.0b
Counts
152 → 3
Alt Table
StatusErrorProgram
9.9b
(*.f64 (fma.f64 x (/.f64 x y) x) (/.f64 1 (+.f64 x 1)))
29.9b
(-.f64 (+.f64 (/.f64 (pow.f64 x 2) y) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
34.5b
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
Compiler

Compiled 2805 to 1466 computations (47.7% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.3b
(/.f64 (pow.f64 x 3) y)
6.7b
(+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2))
8.4b
(-.f64 (+.f64 (/.f64 (pow.f64 x 2) y) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
8.8b
(/.f64 (pow.f64 x 2) y)

series62.0ms (1.7%)

Counts
4 → 28
Calls

4 calls:

23.0ms
(-.f64 (+.f64 (/.f64 (pow.f64 x 2) y) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
15.0ms
(/.f64 (pow.f64 x 3) y)
12.0ms
(/.f64 (pow.f64 x 2) y)
11.0ms
(+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2))

rewrite80.0ms (2.1%)

Algorithm
rewrite-expression-head
Rules
139×*-un-lft-identity_binary64
96×times-frac_binary64
81×add-sqr-sqrt_binary64
79×add-cube-cbrt_binary64
40×fma-def_binary64
Counts
4 → 236
Calls

4 calls:

33.0ms
(-.f64 (+.f64 (/.f64 (pow.f64 x 2) y) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
19.0ms
(+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2))
4.0ms
(/.f64 (pow.f64 x 3) y)
3.0ms
(/.f64 (pow.f64 x 2) y)

simplify172.0ms (4.6%)

Algorithm
egg-herbie
Rules
563×fma-neg_binary64
258×associate-*l*_binary64
257×associate-*r*_binary64
239×distribute-rgt-in_binary64
226×distribute-lft-in_binary64
Counts
264 → 290
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03246184
18065182
238835111
349925111
449275111

prune323.0ms (8.6%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2873290
Fresh011
Picked011
Done011
Total2876293
Error
0b
Counts
293 → 6
Alt Table
StatusErrorProgram
9.9b
(*.f64 (fma.f64 x (/.f64 x y) x) (/.f64 1 (+.f64 x 1)))
29.9b
(-.f64 (+.f64 (/.f64 (pow.f64 x 2) y) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
29.5b
(-.f64 (+.f64 (*.f64 (*.f64 x (cbrt.f64 x)) (/.f64 (pow.f64 (cbrt.f64 x) 2) y)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
34.5b
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
29.4b
(-.f64 (+.f64 (/.f64 (*.f64 (/.f64 x (*.f64 (cbrt.f64 y) (cbrt.f64 y))) x) (cbrt.f64 y)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
29.3b
(-.f64 (+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
Compiler

Compiled 10243 to 6455 computations (37% saved)

localize14.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.4b
(+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x))
6.3b
(/.f64 (pow.f64 x 3) y)
6.7b
(+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2))
8.4b
(-.f64 (+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))

series34.0ms (0.9%)

Counts
2 → 48
Calls

2 calls:

23.0ms
(-.f64 (+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
11.0ms
(+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x))

rewrite86.0ms (2.3%)

Algorithm
rewrite-expression-head
Rules
123×*-un-lft-identity_binary64
66×times-frac_binary64
52×add-sqr-sqrt_binary64
50×add-cube-cbrt_binary64
44×fma-def_binary64
Counts
2 → 139
Calls

2 calls:

43.0ms
(-.f64 (+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
22.0ms
(+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x))

simplify160.0ms (4.3%)

Algorithm
egg-herbie
Rules
443×cancel-sign-sub-inv_binary64
438×fma-neg_binary64
244×distribute-rgt-in_binary64
231×distribute-lft-in_binary64
209×times-frac_binary64
Counts
187 → 183
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01935624
16504578
229034186
348634186
450014186

prune311.0ms (8.3%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New3111312
Fresh213
Picked011
Done022
Total3135318
Error
0b
Counts
318 → 5
Alt Table
StatusErrorProgram
9.9b
(*.f64 (fma.f64 x (/.f64 x y) x) (/.f64 1 (+.f64 x 1)))
29.9b
(-.f64 (+.f64 (/.f64 (pow.f64 x 2) y) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
34.5b
(-.f64 (+.f64 1 (/.f64 x y)) (/.f64 1 y))
29.3b
(-.f64 (+.f64 (/.f64 x (/.f64 y x)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
29.9b
(-.f64 (fma.f64 (/.f64 1 y) (/.f64 x (/.f64 1 x)) (+.f64 (pow.f64 x 3) x)) (+.f64 (/.f64 (pow.f64 x 3) y) (pow.f64 x 2)))
Compiler

Compiled 11188 to 6114 computations (45.4% saved)

regimes606.0ms (16.2%)

Accuracy

Total 0.1b remaining (81.3%)

Threshold costs 0.1b (81.3%)

Counts
100 → 3
Compiler

Compiled 5237 to 3398 computations (35.1% saved)

bsearch41.0ms (1.1%)

Steps
ItersRangePoint
10
335951.5849647527
2.3616874415881426e+24
16483647715.548288
8
-5.384553914211595e+40
-1.1243591615808811e+38
-1.1391710068553142e+38
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01941
12841
23441
33641
43741
53541

end100.0ms (2.7%)

Compiler

Compiled 157 to 104 computations (33.8% saved)

Profiling

Loading profile data...