Details

Time bar (total: 6.3s)

analyze457.0ms (7.3%)

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
21.8%78%0.1%6
26.5%73.3%0.1%7
32%67.9%0.1%8
46.4%52.7%0.9%9
50.9%47.2%1.9%10
54.3%43.3%2.4%11
62.1%32.5%5.4%12
64.3%28.1%7.6%13
66.3%24.6%9.2%14
Compiler

Compiled 16 to 11 computations (31.3% saved)

sample153.0ms (2.4%)

Algorithm
intervals
Results
12.0ms256×body128valid
2.0ms39×body128invalid
Compiler

Compiled 34 to 24 computations (29.4% saved)

simplify63.0ms (1%)

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

prune4.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
1.0b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
3.3b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
Compiler

Compiled 78 to 51 computations (34.6% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series44.0ms (0.7%)

Counts
3 → 96
Calls

3 calls:

23.0ms
(-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z))
15.0ms
(*.f64 (/.f64 x y) z)
6.0ms
(/.f64 (+.f64 x 4) y)

rewrite29.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:

9.0ms
(*.f64 (/.f64 x y) z)
8.0ms
(-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z))
4.0ms
(/.f64 (+.f64 x 4) y)

simplify130.0ms (2.1%)

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

prune145.0ms (2.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1725177
Fresh011
Picked011
Done000
Total1727179
Error
0.0b
Counts
179 → 7
Alt Table
StatusErrorProgram
4.9b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
32.5b
(fabs.f64 (*.f64 (-.f64 (/.f64 1 y) (/.f64 z y)) x))
1.0b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
1.4b
(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))))
15.7b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 x y) z) (*.f64 (/.f64 x y) z)) (*.f64 (/.f64 x y) z)))))
1.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))))
3.3b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
Compiler

Compiled 3737 to 1763 computations (52.8% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series887.0ms (14.2%)

Counts
4 → 96
Calls

4 calls:

721.0ms
(*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z)))
84.0ms
(*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))
48.0ms
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
33.0ms
(cbrt.f64 z)

rewrite63.0ms (1%)

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:

9.0ms
(*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))
8.0ms
(*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z)))
6.0ms
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
1.0ms
(cbrt.f64 z)

simplify119.0ms (1.9%)

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

prune211.0ms (3.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2172219
Fresh145
Picked011
Done011
Total2188226
Error
0b
Counts
226 → 8
Alt Table
StatusErrorProgram
4.9b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
32.5b
(fabs.f64 (*.f64 (-.f64 (/.f64 1 y) (/.f64 z y)) x))
1.0b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
15.7b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (cbrt.f64 (pow.f64 (*.f64 (/.f64 x y) z) 3))))
1.4b
(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))))
31.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 (sqrt.f64 z))))))
1.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))))
3.3b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
Compiler

Compiled 5457 to 2229 computations (59.2% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 (/.f64 x y)) z)
0.5b
(*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))
0.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y))) (*.f64 (cbrt.f64 (/.f64 x y)) z))
8.6b
(cbrt.f64 (/.f64 x y))

series2.0s (31.6%)

Counts
4 → 120
Calls

4 calls:

759.0ms
(*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))
705.0ms
(*.f64 (cbrt.f64 (/.f64 x y)) z)
471.0ms
(cbrt.f64 (/.f64 x y))
43.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y))) (*.f64 (cbrt.f64 (/.f64 x y)) z))

rewrite49.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
92×cbrt-prod_binary64
83×add-sqr-sqrt_binary64
61×times-frac_binary64
52×*-un-lft-identity_binary64
52×add-cube-cbrt_binary64
Counts
4 → 171
Calls

4 calls:

14.0ms
(*.f64 (*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y))) (*.f64 (cbrt.f64 (/.f64 x y)) z))
11.0ms
(*.f64 (cbrt.f64 (/.f64 x y)) (cbrt.f64 (/.f64 x y)))
6.0ms
(*.f64 (cbrt.f64 (/.f64 x y)) z)
2.0ms
(cbrt.f64 (/.f64 x y))

simplify177.0ms (2.8%)

Algorithm
egg-herbie
Rules
368×fma-def_binary64
296×associate-*l/_binary64
288×associate-*l*_binary64
257×associate-*r*_binary64
247×exp-prod_binary64
Counts
291 → 274
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02634970
15154536
215234131
338073679
448883679
549553679

prune323.0ms (5.2%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New3540354
Fresh055
Picked011
Done022
Total3548362
Error
0b
Counts
362 → 8
Alt Table
StatusErrorProgram
4.9b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
32.5b
(fabs.f64 (*.f64 (-.f64 (/.f64 1 y) (/.f64 z y)) x))
1.0b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
15.7b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (cbrt.f64 (pow.f64 (*.f64 (/.f64 x y) z) 3))))
1.4b
(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))))
31.5b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (*.f64 (cbrt.f64 (sqrt.f64 z)) (cbrt.f64 (sqrt.f64 z))))))
1.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (*.f64 (/.f64 x y) (*.f64 (cbrt.f64 z) (cbrt.f64 z))) (cbrt.f64 z))))
3.3b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
Compiler

Compiled 10799 to 3649 computations (66.2% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (fma.f64 x z -4))
3.1b
(/.f64 (-.f64 x (fma.f64 x z -4)) y)

series21.0ms (0.3%)

Counts
2 → 60
Calls

2 calls:

17.0ms
(/.f64 (-.f64 x (fma.f64 x z -4)) y)
4.0ms
(-.f64 x (fma.f64 x z -4))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
30×*-un-lft-identity_binary64
30×add-sqr-sqrt_binary64
20×add-cube-cbrt_binary64
15×times-frac_binary64
prod-diff_binary64
Counts
2 → 71
Calls

2 calls:

6.0ms
(-.f64 x (fma.f64 x z -4))
5.0ms
(/.f64 (-.f64 x (fma.f64 x z -4)) y)

simplify86.0ms (1.4%)

Algorithm
egg-herbie
Rules
531×fma-neg_binary64
446×associate-*l*_binary64
420×div-sub_binary64
358×associate-*r*_binary64
297×fma-def_binary64
Counts
131 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01462146
13142027
28641648
335711648
449431648

prune112.0ms (1.8%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1241125
Fresh134
Picked011
Done123
Total1267133
Error
0b
Counts
133 → 7
Alt Table
StatusErrorProgram
4.9b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 x (*.f64 (/.f64 1 y) z))))
32.5b
(fabs.f64 (*.f64 (-.f64 (/.f64 1 y) (/.f64 z y)) x))
3.4b
(fabs.f64 (/.f64 1 (/.f64 y (fma.f64 x (-.f64 1 z) 4))))
1.0b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
15.7b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (cbrt.f64 (pow.f64 (*.f64 (/.f64 x y) z) 3))))
1.4b
(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))))
3.3b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
Compiler

Compiled 2378 to 1446 computations (39.2% saved)

regimes248.0ms (4%)

Accuracy

Total 1.6b remaining (99.3%)

Threshold costs 0b (0%)

Counts
49 → 1
Compiler

Compiled 4327 to 2836 computations (34.5% saved)

simplify3.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
01118
12018
23418
34718
46118
56718
66818
76718

end0.0ms (0%)

Compiler

Compiled 15 to 10 computations (33.3% saved)

sample902.0ms (14.4%)

Algorithm
intervals
Results
449.0ms8000×body128valid
59.0ms1199×body128invalid
Compiler

Compiled 149 to 100 computations (32.9% saved)

Profiling

Loading profile data...