Details

Time bar (total: 2.9s)

analyze598.0ms (20.4%)

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
0%99.9%0.1%5
0%99.9%0.1%6
9.4%90.5%0.1%7
14%85.8%0.1%8
21.1%78%0.9%9
37.3%60.3%2.5%10
39.7%56.1%4.2%11
45.6%48.7%5.7%12
55.9%35.1%8.9%13
57.6%32.1%10.3%14
Compiler

Compiled 13 to 8 computations (38.5% saved)

sample1.1s (38.3%)

Results
851.0ms8256×body128valid
114.0ms1122×body128invalid
Compiler

Compiled 38 to 23 computations (39.5% saved)

simplify108.0ms (3.7%)

Algorithm
egg-herbie
Rules
2064×fma-neg_binary64
381×div-sub_binary64
365×associate-/l*_binary64
334×distribute-neg-frac_binary64
322×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0813
11211
22511
34711
48211
514311
622811
744211
8104111
9247211
10280511
11294411
12327311
13344111
14351311
15498611

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
10.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
10.1b
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
Compiler

Compiled 44 to 23 computations (47.7% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 y (-.f64 z x))
0.0b
(+.f64 x (*.f64 y (-.f64 z x)))
9.4b
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)

series27.0ms (0.9%)

Counts
3 → 96
Calls

3 calls:

13.0ms
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
7.0ms
(*.f64 y (-.f64 z x))
7.0ms
(+.f64 x (*.f64 y (-.f64 z x)))

rewrite23.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
46×add-sqr-sqrt_binary64
44×*-un-lft-identity_binary64
42×add-cube-cbrt_binary64
36×prod-diff_binary64
26×distribute-lft-in_binary64
Counts
3 → 123
Calls

3 calls:

6.0ms
(*.f64 y (-.f64 z x))
4.0ms
(+.f64 x (*.f64 y (-.f64 z x)))
4.0ms
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)

simplify124.0ms (4.2%)

Algorithm
egg-herbie
Rules
749×times-frac_binary64
694×fma-def_binary64
546×fma-neg_binary64
474×distribute-rgt-in_binary64
195×exp-prod_binary64
Counts
219 → 197
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02172678
14002331
213282223
343812223
449992223
549292223

prune107.0ms (3.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1916197
Fresh000
Picked101
Done000
Total1926198
Error
0.0b
Counts
198 → 6
Alt Table
StatusErrorProgram
36.9b
(/.f64 (+.f64 x (*.f64 (sqrt.f64 (*.f64 y (-.f64 z x))) (sqrt.f64 (*.f64 y (-.f64 z x))))) z)
40.2b
(*.f64 (/.f64 (sqrt.f64 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (sqrt.f64 (+.f64 x (*.f64 y (-.f64 z x)))) (cbrt.f64 z)))
10.5b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x) (*.f64 y (-.f64 z x))) z)
10.2b
(*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (/.f64 1 z))
2.9b
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
3.3b
(-.f64 (+.f64 y (/.f64 x z)) (/.f64 (*.f64 y x) z))
Compiler

Compiled 3885 to 960 computations (75.3% saved)

localize8.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 1 y) z)
2.7b
(fma.f64 (/.f64 (-.f64 1 y) z) x y)

series18.0ms (0.6%)

Counts
2 → 52
Calls

2 calls:

12.0ms
(fma.f64 (/.f64 (-.f64 1 y) z) x y)
7.0ms
(/.f64 (-.f64 1 y) z)

rewrite7.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
25×*-un-lft-identity_binary64
25×add-sqr-sqrt_binary64
18×times-frac_binary64
13×add-cube-cbrt_binary64
difference-of-squares_binary64
Counts
2 → 54
Calls

2 calls:

4.0ms
(/.f64 (-.f64 1 y) z)
0.0ms
(fma.f64 (/.f64 (-.f64 1 y) z) x y)

simplify72.0ms (2.5%)

Algorithm
egg-herbie
Rules
878×fma-def_binary64
429×neg-mul-1_binary64
424×associate-/l/_binary64
291×distribute-rgt-neg-out_binary64
281×fma-neg_binary64
Counts
106 → 81
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01071312
12251203
25751199
317591199
440621199
550801199

prune56.0ms (1.9%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New78381
Fresh325
Picked101
Done000
Total82587
Error
0b
Counts
87 → 5
Alt Table
StatusErrorProgram
3.3b
(+.f64 (/.f64 (-.f64 x (*.f64 x y)) z) y)
40.2b
(*.f64 (/.f64 (sqrt.f64 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (sqrt.f64 (+.f64 x (*.f64 y (-.f64 z x)))) (cbrt.f64 z)))
10.5b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x) (*.f64 y (-.f64 z x))) z)
0.1b
(fma.f64 (/.f64 x z) (-.f64 1 y) y)
31.6b
(fma.f64 (/.f64 (/.f64 (-.f64 1 y) (sqrt.f64 z)) (sqrt.f64 z)) x y)
Compiler

Compiled 1275 to 694 computations (45.6% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (/.f64 x z) (-.f64 1 y) y)

series12.0ms (0.4%)

Counts
1 → 36
Calls

1 calls:

12.0ms
(fma.f64 (/.f64 x z) (-.f64 1 y) y)

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 10
Calls

1 calls:

0.0ms
(fma.f64 (/.f64 x z) (-.f64 1 y) y)

simplify64.0ms (2.2%)

Algorithm
egg-herbie
Rules
705×distribute-rgt-neg-out_binary64
469×distribute-neg-out_binary64
368×unsub-neg_binary64
332×distribute-rgt-in_binary64
326×distribute-lft-in_binary64
Counts
46 → 23
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037586
178509
2194497
3424497
42300497
54502497
65263497

prune16.0ms (0.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New23023
Fresh044
Picked011
Done000
Total23528
Error
0b
Counts
28 → 5
Alt Table
StatusErrorProgram
3.3b
(+.f64 (/.f64 (-.f64 x (*.f64 x y)) z) y)
40.2b
(*.f64 (/.f64 (sqrt.f64 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (sqrt.f64 (+.f64 x (*.f64 y (-.f64 z x)))) (cbrt.f64 z)))
10.5b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x) (*.f64 y (-.f64 z x))) z)
0.1b
(fma.f64 (/.f64 x z) (-.f64 1 y) y)
31.6b
(fma.f64 (/.f64 (/.f64 (-.f64 1 y) (sqrt.f64 z)) (sqrt.f64 z)) x y)
Compiler

Compiled 406 to 199 computations (51% saved)

localize5.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 (-.f64 x (*.f64 x y)) z) y)
0.0b
(-.f64 x (*.f64 x y))
3.1b
(/.f64 (-.f64 x (*.f64 x y)) z)

series31.0ms (1%)

Counts
3 → 96
Calls

3 calls:

14.0ms
(+.f64 (/.f64 (-.f64 x (*.f64 x y)) z) y)
13.0ms
(/.f64 (-.f64 x (*.f64 x y)) z)
4.0ms
(-.f64 x (*.f64 x y))

rewrite15.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
20×add-sqr-sqrt_binary64
20×add-cube-cbrt_binary64
18×times-frac_binary64
13×fma-def_binary64
Counts
3 → 80
Calls

3 calls:

6.0ms
(+.f64 (/.f64 (-.f64 x (*.f64 x y)) z) y)
3.0ms
(/.f64 (-.f64 x (*.f64 x y)) z)
2.0ms
(-.f64 x (*.f64 x y))

simplify89.0ms (3%)

Algorithm
egg-herbie
Rules
476×associate-*l*_binary64
413×associate-*r*_binary64
373×fma-neg_binary64
305×distribute-rgt-in_binary64
283×distribute-lft-in_binary64
Counts
176 → 150
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01422021
13541957
29321848
345181848
450481848

prune92.0ms (3.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1491150
Fresh123
Picked011
Done011
Total1505155
Error
0b
Counts
155 → 5
Alt Table
StatusErrorProgram
3.3b
(+.f64 (/.f64 (-.f64 x (*.f64 x y)) z) y)
10.5b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (cbrt.f64 x) (*.f64 y (-.f64 z x))) z)
34.2b
(+.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (/.f64 (sqrt.f64 (-.f64 x (*.f64 x y))) (cbrt.f64 z))) y)
0.1b
(fma.f64 (/.f64 x z) (-.f64 1 y) y)
31.6b
(fma.f64 (/.f64 (/.f64 (-.f64 1 y) (sqrt.f64 z)) (sqrt.f64 z)) x y)
Compiler

Compiled 2463 to 842 computations (65.8% saved)

regimes255.0ms (8.7%)

Accuracy

Total 0.0b remaining (63.2%)

Threshold costs 0.0b (63.2%)

Counts
72 → 1
Compiler

Compiled 4504 to 2430 computations (46% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11211
21611
31811
41911
51811

end63.0ms (2.2%)

Compiler

Compiled 105 to 58 computations (44.8% saved)

Profiling

Loading profile data...