Details

Time bar (total: 4.9s)

analyze527.0ms (10.8%)

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
18.7%81.1%0.1%6
25%74.9%0.1%7
31.2%68.6%0.1%8
45.2%53.8%0.9%9
50.3%47.8%1.9%10
54%43.6%2.4%11
61.7%32.9%5.4%12
64.1%28.3%7.6%13
66.2%24.7%9.2%14
Compiler

Compiled 16 to 11 computations (31.3% saved)

sample1.4s (29.3%)

Results
1.1s8256×body128valid
170.0ms1249×body128invalid
Compiler

Compiled 47 to 32 computations (31.9% saved)

simplify64.0ms (1.3%)

Algorithm
egg-herbie
Rules
1167×fma-def_binary64
1073×fma-neg_binary64
225×cancel-sign-sub-inv_binary64
222×distribute-rgt-in_binary64
163×distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01118
12218
24318
37518
412316
521316
630216
747216
8100913
9132813
10154213
11155913
12155613
13155613
14145313

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
4.4b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
2.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
Compiler

Compiled 78 to 51 computations (34.6% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series46.0ms (0.9%)

Counts
3 → 96
Calls

3 calls:

24.0ms
(-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z))
12.0ms
(*.f64 (/.f64 x y) z)
10.0ms
(/.f64 (+.f64 x 4) y)

rewrite25.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
56×*-un-lft-identity_binary64
46×times-frac_binary64
41×add-sqr-sqrt_binary64
36×add-cube-cbrt_binary64
16×fma-neg_binary64
Counts
3 → 117
Calls

3 calls:

10.0ms
(-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z))
5.0ms
(*.f64 (/.f64 x y) z)
4.0ms
(/.f64 (+.f64 x 4) y)

simplify127.0ms (2.6%)

Algorithm
egg-herbie
Rules
450×associate-*l*_binary64
381×fma-def_binary64
379×associate-*l/_binary64
369×associate-*r*_binary64
310×fma-neg_binary64
Counts
213 → 177
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01873147
14572896
212292394
339772382
449272330
549112330

prune160.0ms (3.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1707177
Fresh011
Picked101
Done000
Total1718179
Error
0b
Counts
179 → 8
Alt Table
StatusErrorProgram
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
4.4b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
35.0b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y)) (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y))))
2.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y))) (*.f64 (cbrt.f64 (/.f64 x y)) z))))
2.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))))
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (/.f64 z y))))
2.3b
(fabs.f64 (-.f64 (+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y))) (*.f64 (/.f64 x y) z)))
0.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 y) (cbrt.f64 y))) (*.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y)) z))))
Compiler

Compiled 3834 to 1822 computations (52.5% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.5b
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
0.6b
(cbrt.f64 y)
0.6b
(cbrt.f64 x)

series158.0ms (3.3%)

Counts
4 → 48
Calls

4 calls:

52.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
37.0ms
(cbrt.f64 x)
36.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
33.0ms
(cbrt.f64 y)

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
38×add-sqr-sqrt_binary64
38×cbrt-prod_binary64
22×*-un-lft-identity_binary64
22×add-cube-cbrt_binary64
18×pow1_binary64
Counts
4 → 110
Calls

4 calls:

4.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
4.0ms
(*.f64 (cbrt.f64 y) (cbrt.f64 y))
1.0ms
(cbrt.f64 y)
1.0ms
(cbrt.f64 x)

simplify111.0ms (2.3%)

Algorithm
egg-herbie
Rules
742×fma-def_binary64
708×log-prod_binary64
594×unswap-sqr_binary64
324×exp-prod_binary64
238×*-commutative_binary64
Counts
158 → 148
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01021220
11741108
25581032
38951004
42346820
54061820
64265820
74815820

prune234.0ms (4.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2200220
Fresh077
Picked011
Done000
Total2208228
Error
0b
Counts
228 → 8
Alt Table
StatusErrorProgram
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
4.4b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
35.0b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y)) (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y))))
2.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y))) (*.f64 (cbrt.f64 (/.f64 x y)) z))))
2.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))))
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (/.f64 z y))))
2.3b
(fabs.f64 (-.f64 (+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y))) (*.f64 (/.f64 x y) z)))
0.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 y) (cbrt.f64 y))) (*.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y)) z))))
Compiler

Compiled 6914 to 2349 computations (66% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y)))
0.0b
(-.f64 (+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y))) (*.f64 (/.f64 x y) z))
3.7b
(*.f64 (/.f64 x y) z)

series26.0ms (0.5%)

Counts
2 → 57
Calls

2 calls:

19.0ms
(-.f64 (+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y))) (*.f64 (/.f64 x y) z))
7.0ms
(+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y)))

rewrite17.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
13×fma-def_binary64
11×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
times-frac_binary64
Counts
2 → 57
Calls

2 calls:

7.0ms
(-.f64 (+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y))) (*.f64 (/.f64 x y) z))
6.0ms
(+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y)))

simplify94.0ms (1.9%)

Algorithm
egg-herbie
Rules
444×fma-def_binary64
442×associate-*l*_binary64
409×associate-*r*_binary64
329×distribute-rgt-in_binary64
305×distribute-lft-in_binary64
Counts
114 → 97
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01081890
13181799
210691342
343511342
449951342
549391342

prune163.0ms (3.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1530153
Fresh066
Picked011
Done011
Total1538161
Error
0b
Counts
161 → 8
Alt Table
StatusErrorProgram
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
4.4b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
35.0b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y)) (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y))))
2.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y))) (*.f64 (cbrt.f64 (/.f64 x y)) z))))
2.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))))
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (/.f64 z y))))
2.3b
(fabs.f64 (-.f64 (+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y))) (*.f64 (/.f64 x y) z)))
0.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 y) (cbrt.f64 y))) (*.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y)) z))))
Compiler

Compiled 3773 to 1787 computations (52.6% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
0.6b
(cbrt.f64 z)
1.0b
(*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))
2.9b
(*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z)))

series735.0ms (15.1%)

Counts
4 → 96
Calls

4 calls:

639.0ms
(*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z)))
37.0ms
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
33.0ms
(cbrt.f64 z)
26.0ms
(*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))

rewrite33.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
36×add-exp-log_binary64
33×add-sqr-sqrt_binary64
25×pow1_binary64
22×cbrt-prod_binary64
22×*-un-lft-identity_binary64
Counts
4 → 123
Calls

4 calls:

10.0ms
(*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z)))
9.0ms
(*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))
4.0ms
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
1.0ms
(cbrt.f64 z)

simplify117.0ms (2.4%)

Algorithm
egg-herbie
Rules
807×unswap-sqr_binary64
622×associate-*l/_binary64
554×*-commutative_binary64
396×associate-*r/_binary64
354×associate-/l*_binary64
Counts
219 → 183
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01522506
13332092
212821957
334911929
449441929
549421929

prune215.0ms (4.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2190219
Fresh055
Picked011
Done022
Total2198227
Error
0b
Counts
227 → 8
Alt Table
StatusErrorProgram
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
4.4b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
35.0b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y)) (sqrt.f64 (/.f64 (fma.f64 -1 (fma.f64 z x -4) x) y))))
2.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y))) (*.f64 (cbrt.f64 (/.f64 x y)) z))))
2.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))))
3.6b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (/.f64 z y))))
2.3b
(fabs.f64 (-.f64 (+.f64 (/.f64 x y) (*.f64 4 (/.f64 1 y))) (*.f64 (/.f64 x y) z)))
0.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 y) (cbrt.f64 y))) (*.f64 (/.f64 (cbrt.f64 x) (cbrt.f64 y)) z))))
Compiler

Compiled 5359 to 2165 computations (59.6% saved)

regimes397.0ms (8.2%)

Accuracy

Total 0.6b remaining (97.9%)

Threshold costs 0.6b (97.9%)

Counts
79 → 1
Compiler

Compiled 7277 to 4844 computations (33.4% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01840
12840
24240
36140
48240
59640
610340
710540
810440

end115.0ms (2.4%)

Compiler

Compiled 221 to 135 computations (38.9% saved)

Profiling

Loading profile data...