Details

Time bar (total: 3.8s)

analyze475.0ms (12.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
14%85.8%0.1%7
22.6%77.2%0.1%8
23.8%74.5%1.7%9
40%56%4%10
47.3%48.7%4%11
48.4%45.8%5.8%12
58.6%32.4%9%13
63.4%27.5%9%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample1.1s (27.5%)

Results
765.0ms8256×body128valid
74.0ms768×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify168.0ms (4.4%)

Algorithm
egg-herbie
Rules
907×associate-/l*_binary64
740×associate-/l/_binary64
677×fma-def_binary64
607×associate-/r/_binary64
557×associate-*l/_binary64
Counts
1 → 2
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0710
11710
22310
33610
44110
54710
6518
7618
82288
97618
108518
119648
129758
139808
149858
1522318
1622888
1726378
1826898
1929018
2030318
2132788
2237008
2341098
2441578
2548728
2649978
2748898

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
2.8b
(fma.f64 x (/.f64 y z) x)
11.1b
(/.f64 (*.f64 x (+.f64 y z)) z)
Compiler

Compiled 54 to 30 computations (44.4% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.6b
(fma.f64 x (/.f64 y z) x)

series12.0ms (0.3%)

Counts
1 → 36
Calls

1 calls:

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

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:

1.0ms
(fma.f64 x (/.f64 y z) x)

simplify80.0ms (2.1%)

Algorithm
egg-herbie
Rules
635×fma-def_binary64
449×associate-/l/_binary64
410×distribute-rgt-in_binary64
404×distribute-rgt-out_binary64
400×unswap-sqr_binary64
Counts
46 → 24
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022451
132374
263374
3171374
4650374
52482374
63613374
73881374
84329374
95248374

prune15.0ms (0.4%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New22224
Fresh011
Picked011
Done000
Total22426
Error
0.0b
Counts
26 → 4
Alt Table
StatusErrorProgram
35.7b
(*.f64 (sqrt.f64 (fma.f64 x (/.f64 y z) x)) (sqrt.f64 (fma.f64 x (/.f64 y z) x)))
4.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x))) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
2.8b
(fma.f64 x (/.f64 y z) x)
11.1b
(/.f64 (*.f64 x (+.f64 y z)) z)
Compiler

Compiled 351 to 99 computations (71.8% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x))) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
0.5b
(*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
0.5b
(cbrt.f64 (fma.f64 x (/.f64 y z) x))
2.6b
(fma.f64 x (/.f64 y z) x)

series797.0ms (20.7%)

Counts
3 → 108
Calls

3 calls:

438.0ms
(*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
346.0ms
(cbrt.f64 (fma.f64 x (/.f64 y z) x))
13.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x))) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))

rewrite19.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
24×add-sqr-sqrt_binary64
23×cbrt-prod_binary64
16×pow1/3_binary64
14×*-un-lft-identity_binary64
Counts
3 → 93
Calls

3 calls:

8.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x))) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
4.0ms
(*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
1.0ms
(cbrt.f64 (fma.f64 x (/.f64 y z) x))

simplify135.0ms (3.5%)

Algorithm
egg-herbie
Rules
884×times-frac_binary64
509×fma-def_binary64
305×fma-neg_binary64
168×cancel-sign-sub-inv_binary64
153×associate-*r*_binary64
Counts
201 → 188
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02675248
16974885
219194145
347584117
450064117

prune156.0ms (4.1%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3542356
Fresh022
Picked011
Done011
Total3546360
Error
0.0b
Counts
360 → 6
Alt Table
StatusErrorProgram
28.0b
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) 6)) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
36.1b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x))) (sqrt.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)))))
35.7b
(*.f64 (sqrt.f64 (fma.f64 x (/.f64 y z) x)) (sqrt.f64 (fma.f64 x (/.f64 y z) x)))
4.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 x (/.f64 y z) x)) (cbrt.f64 (fma.f64 x (/.f64 y z) x))) (cbrt.f64 (fma.f64 x (/.f64 y z) x)))
2.8b
(fma.f64 x (/.f64 y z) x)
11.1b
(/.f64 (*.f64 x (+.f64 y z)) z)
Compiler

Compiled 12547 to 3404 computations (72.9% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series18.0ms (0.5%)

Counts
2 → 72
Calls

2 calls:

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

rewrite12.0ms (0.3%)

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

2 calls:

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

simplify90.0ms (2.3%)

Algorithm
egg-herbie
Rules
694×fma-def_binary64
653×times-frac_binary64
561×associate-/l*_binary64
379×associate-*l*_binary64
280×distribute-rgt-in_binary64
Counts
122 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0921193
12431100
29121064
338041064
446991064
549931064
650051064

prune36.0ms (0.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New76480
Fresh303
Picked101
Done112
Total81586
Error
0b
Counts
86 → 5
Alt Table
StatusErrorProgram
11.1b
(/.f64 (/.f64 (*.f64 x (+.f64 y z)) 1) z)
39.1b
(/.f64 (/.f64 (*.f64 x (+.f64 y z)) (sqrt.f64 z)) (sqrt.f64 z))
2.4b
(/.f64 x (/.f64 z (+.f64 y z)))
39.4b
(*.f64 (sqrt.f64 (/.f64 (*.f64 x (+.f64 y z)) z)) (sqrt.f64 (/.f64 (*.f64 x (+.f64 y z)) z)))
2.8b
(fma.f64 x (/.f64 y z) x)
Compiler

Compiled 1091 to 321 computations (70.6% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 z (+.f64 y z))
2.3b
(/.f64 x (/.f64 z (+.f64 y z)))

series21.0ms (0.5%)

Counts
2 → 60
Calls

2 calls:

12.0ms
(/.f64 x (/.f64 z (+.f64 y z)))
9.0ms
(/.f64 z (+.f64 y z))

rewrite20.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
114×times-frac_binary64
94×*-un-lft-identity_binary64
62×add-sqr-sqrt_binary64
62×add-cube-cbrt_binary64
22×associate-/r*_binary64
Counts
2 → 127
Calls

2 calls:

7.0ms
(/.f64 x (/.f64 z (+.f64 y z)))
3.0ms
(/.f64 z (+.f64 y z))

simplify127.0ms (3.3%)

Algorithm
egg-herbie
Rules
605×fma-def_binary64
431×associate-/r/_binary64
426×times-frac_binary64
421×associate-/l*_binary64
413×associate-*l/_binary64
Counts
187 → 181
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02123275
14683167
215473065
343923044
449773044
549753044

prune72.0ms (1.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1792181
Fresh213
Picked011
Done011
Total1815186
Error
0b
Counts
186 → 5
Alt Table
StatusErrorProgram
2.8b
(fma.f64 x (/.f64 y z) x)
11.1b
(*.f64 (/.f64 1 z) (/.f64 x (/.f64 1 (+.f64 y z))))
39.1b
(/.f64 (/.f64 (*.f64 x (+.f64 y z)) (sqrt.f64 z)) (sqrt.f64 z))
2.4b
(/.f64 x (/.f64 z (+.f64 y z)))
11.1b
(/.f64 (*.f64 (+.f64 y z) x) z)
Compiler

Compiled 3003 to 722 computations (76% saved)

regimes441.0ms (11.5%)

Accuracy

Total 0.2b remaining (93.6%)

Threshold costs 0.2b (93.6%)

Counts
55 → 5
Compiler

Compiled 4150 to 1936 computations (53.3% saved)

bsearch2.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
/-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025110
128110
227110

end60.0ms (1.6%)

Compiler

Compiled 213 to 75 computations (64.8% saved)

Profiling

Loading profile data...