Details

Time bar (total: 3.8s)

analyze171.0ms (4.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
49.9%49.9%0.1%3
49.9%49.9%0.1%4
49.9%49.9%0.1%5
74.9%25%0.1%6
74.9%25%0.1%7
74.9%25%0.1%8
87.4%12.5%0.1%9
87.4%12.5%0.1%10
87.4%12.5%0.1%11
93.6%6.2%0.1%12
93.6%6.2%0.1%13
93.6%6.2%0.1%14
Compiler

Compiled 16 to 11 computations (31.3% saved)

sample1.4s (37.7%)

Results
1.3s8256×body128valid
Compiler

Compiled 47 to 32 computations (31.9% saved)

simplify64.0ms (1.7%)

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.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
4.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
2.1b
(fabs.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))
Compiler

Compiled 78 to 51 computations (34.6% saved)

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series22.0ms (0.6%)

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))

rewrite13.0ms (0.3%)

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:

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

simplify80.0ms (2.1%)

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

prune108.0ms (2.8%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1214125
Fresh011
Picked101
Done000
Total1225127
Error
0.0b
Counts
127 → 5
Alt Table
StatusErrorProgram
4.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
2.2b
(fabs.f64 (*.f64 (-.f64 x (fma.f64 x z -4)) (/.f64 1 y)))
2.2b
(fabs.f64 (/.f64 1 (/.f64 y (fma.f64 x (-.f64 1 z) 4))))
61.5b
(fabs.f64 (*.f64 (/.f64 (+.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x z -4))) (sqrt.f64 y)) (/.f64 (-.f64 (sqrt.f64 x) (sqrt.f64 (fma.f64 x z -4))) (sqrt.f64 y))))
34.8b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y)) (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))))
Compiler

Compiled 2449 to 1496 computations (38.9% saved)

localize27.0ms (0.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (fma.f64 x z -4))
2.2b
(*.f64 (-.f64 x (fma.f64 x z -4)) (/.f64 1 y))

series18.0ms (0.5%)

Counts
1 → 36
Calls

1 calls:

18.0ms
(*.f64 (-.f64 x (fma.f64 x z -4)) (/.f64 1 y))

rewrite15.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64
13×associate-*r*_binary64
12×*-un-lft-identity_binary64
11×times-frac_binary64
10×add-exp-log_binary64
Counts
1 → 44
Calls

1 calls:

8.0ms
(*.f64 (-.f64 x (fma.f64 x z -4)) (/.f64 1 y))

simplify94.0ms (2.5%)

Algorithm
egg-herbie
Rules
845×fma-def_binary64
306×fma-neg_binary64
290×associate-/l*_binary64
272×associate-*l*_binary64
230×div-sub_binary64
Counts
80 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01041400
12431310
26891046
320121046
445551046
549961046
649511046

prune112.0ms (3%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1341135
Fresh134
Picked011
Done000
Total1355140
Error
0.0b
Counts
140 → 5
Alt Table
StatusErrorProgram
4.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
2.2b
(fabs.f64 (*.f64 (-.f64 x (fma.f64 x z -4)) (/.f64 1 y)))
2.2b
(fabs.f64 (/.f64 1 (/.f64 y (fma.f64 x (-.f64 1 z) 4))))
3.1b
(fabs.f64 (*.f64 (*.f64 (-.f64 x (fma.f64 x z -4)) (*.f64 (cbrt.f64 (/.f64 1 y)) (cbrt.f64 (/.f64 1 y)))) (cbrt.f64 (/.f64 1 y))))
34.8b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y)) (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))))
Compiler

Compiled 2782 to 1814 computations (34.8% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series59.0ms (1.5%)

Counts
2 → 72
Calls

2 calls:

43.0ms
(/.f64 y (fma.f64 x (-.f64 1 z) 4))
16.0ms
(/.f64 1 (/.f64 y (fma.f64 x (-.f64 1 z) 4)))

rewrite16.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
52×*-un-lft-identity_binary64
52×add-sqr-sqrt_binary64
52×add-cube-cbrt_binary64
16×associate-/r*_binary64
Counts
2 → 107
Calls

2 calls:

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

simplify135.0ms (3.6%)

Algorithm
egg-herbie
Rules
790×times-frac_binary64
344×fma-neg_binary64
238×cancel-sign-sub-inv_binary64
167×distribute-neg-in_binary64
146×associate-*r*_binary64
Counts
179 → 192
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02794414
17404133
227074037
349324036
450894036

prune170.0ms (4.5%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1911192
Fresh123
Picked011
Done011
Total1925197
Error
0.0b
Counts
197 → 5
Alt Table
StatusErrorProgram
2.2b
(fabs.f64 (/.f64 1 (*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4)))))
2.2b
(fabs.f64 (*.f64 (-.f64 x (fma.f64 x z -4)) (/.f64 1 y)))
4.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
2.2b
(fabs.f64 (/.f64 1 (/.f64 y (fma.f64 x (-.f64 1 z) 4))))
34.8b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y)) (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))))
Compiler

Compiled 4706 to 3213 computations (31.7% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4))))
0.3b
(/.f64 1 (fma.f64 x (-.f64 1 z) 4))
2.2b
(*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4)))

series83.0ms (2.2%)

Counts
3 → 96
Calls

3 calls:

46.0ms
(*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4)))
21.0ms
(/.f64 1 (fma.f64 x (-.f64 1 z) 4))
16.0ms
(/.f64 1 (*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4))))

rewrite21.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
51×add-exp-log_binary64
28×add-sqr-sqrt_binary64
23×times-frac_binary64
22×*-un-lft-identity_binary64
21×add-cube-cbrt_binary64
Counts
3 → 113
Calls

3 calls:

6.0ms
(*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4)))
6.0ms
(/.f64 1 (*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4))))
3.0ms
(/.f64 1 (fma.f64 x (-.f64 1 z) 4))

simplify148.0ms (3.9%)

Algorithm
egg-herbie
Rules
356×fma-neg_binary64
279×associate-/r*_binary64
242×fma-def_binary64
227×associate-*r*_binary64
225×associate-+r+_binary64
Counts
209 → 236
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03704899
111004529
242864419
349954419
450554419

prune197.0ms (5.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2360236
Fresh022
Picked011
Done022
Total2365241
Error
0.0b
Counts
241 → 5
Alt Table
StatusErrorProgram
2.2b
(fabs.f64 (/.f64 1 (*.f64 y (/.f64 1 (fma.f64 x (-.f64 1 z) 4)))))
2.2b
(fabs.f64 (*.f64 (-.f64 x (fma.f64 x z -4)) (/.f64 1 y)))
4.3b
(fabs.f64 (-.f64 (/.f64 (+.f64 x 4) y) (*.f64 (/.f64 x y) z)))
2.2b
(fabs.f64 (/.f64 1 (/.f64 y (fma.f64 x (-.f64 1 z) 4))))
34.8b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y)) (sqrt.f64 (/.f64 (-.f64 x (fma.f64 x z -4)) y))))
Compiler

Compiled 5890 to 4224 computations (28.3% saved)

regimes610.0ms (16.1%)

Accuracy

Total 2.2b remaining (98.9%)

Threshold costs 0b (0%)

Counts
73 → 2
Compiler

Compiled 5307 to 3891 computations (26.7% saved)

bsearch7.0ms (0.2%)

Steps
ItersRangePoint
1
-2.7643915924426e-110
-3.3279532268001096e-115
-9.558233736210092e-113
Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02237
13837
25337
36637
47937
58437
68537
78337

end158.0ms (4.2%)

Compiler

Compiled 138 to 97 computations (29.7% saved)

Profiling

Loading profile data...