Details

Time bar (total: 6.7s)

analyze551.0ms (8.2%)

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
25%74.9%0.1%7
31.2%68.6%0.1%8
35.9%64%0.1%9
47.6%49.9%2.5%10
49.1%46.8%4%11
51.1%44.1%4.8%12
60.2%29.9%9.9%13
60.6%27.9%11.6%14
Compiler

Compiled 15 to 10 computations (33.3% saved)

sample1.3s (19.2%)

Symmetry

(sort x y)

Results
905.0ms8256×body128valid
182.0ms1608×body128invalid
Compiler

Compiled 44 to 29 computations (34.1% saved)

simplify92.0ms (1.4%)

Algorithm
egg-herbie
Rules
826×associate-*r/_binary64
769×associate-/l/_binary64
660×associate-*l/_binary64
522×associate-/l*_binary64
421×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01016
13016
27814
319514
431414
538314
642614
763114
8100914
9220414
10286814
11296714
12307914
13319314
14305814
15371214
16498814
17482414

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
8.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
11.4b
(*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z))
17.9b
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z 1)))
Compiler

Compiled 78 to 45 computations (42.3% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (/.f64 y (fma.f64 z z z)) z)
7.8b
(/.f64 y (fma.f64 z z z))
9.8b
(*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z))

series213.0ms (3.2%)

Counts
3 → 84
Calls

3 calls:

125.0ms
(*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z))
53.0ms
(/.f64 (/.f64 y (fma.f64 z z z)) z)
36.0ms
(/.f64 y (fma.f64 z z z))

rewrite96.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
513×log-prod_binary64
332×prod-diff_binary64
172×pow1/3_binary64
165×expm1-udef_binary64
165×log1p-udef_binary64
Counts
3 → 117
Calls

3 calls:

94.0ms
(/.f64 (/.f64 y (fma.f64 z z z)) z)
94.0ms
(/.f64 y (fma.f64 z z z))
94.0ms
(*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0833
117333
2244233
3493333
4542933
000
100

simplify88.0ms (1.3%)

Algorithm
egg-herbie
Rules
619×fma-neg_binary64
614×fma-def_binary64
552×cancel-sign-sub-inv_binary64
460×associate-/r*_binary64
394×associate-/l*_binary64
Counts
201 → 164
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0671400
11801294
25141249
315581222
444131222
549301222
652731222

prune180.0ms (2.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New15311164
Fresh011
Picked101
Done000
Total15412166
Error
5.0b
Counts
166 → 12
Alt Table
StatusErrorProgram
17.9b
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z 1)))
38.1b
(/.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) (sqrt.f64 z)) (sqrt.f64 z))
31.7b
(*.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
8.5b
(/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)
24.2b
(/.f64 (*.f64 y x) (+.f64 (pow.f64 z 2) (pow.f64 z 3)))
38.5b
(*.f64 x (/.f64 (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z)))) z))
11.3b
(/.f64 x (*.f64 z (/.f64 (fma.f64 z z z) y)))
11.8b
(*.f64 x (/.f64 (*.f64 (cbrt.f64 (/.f64 y (fma.f64 z z z))) (pow.f64 (cbrt.f64 (/.f64 y (fma.f64 z z z))) 2)) z))
28.7b
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z)) 3))
37.8b
(log.f64 (pow.f64 (exp.f64 x) (/.f64 (/.f64 y (fma.f64 z z z)) z)))
24.4b
(*.f64 x (/.f64 (/.f64 y z) z))
13.4b
(/.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z))
Compiler

Compiled 2885 to 1042 computations (63.9% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.4b
(/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)
6.5b
(*.f64 x (/.f64 y (fma.f64 z z z)))
7.8b
(/.f64 y (fma.f64 z z z))

series184.0ms (2.7%)

Counts
2 → 72
Calls

2 calls:

111.0ms
(/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)
73.0ms
(*.f64 x (/.f64 y (fma.f64 z z z)))

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
527×log-prod_binary64
172×pow1/3_binary64
165×expm1-udef_binary64
165×log1p-udef_binary64
156×pow3_binary64
Counts
2 → 78
Calls

2 calls:

61.0ms
(/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)
61.0ms
(*.f64 x (/.f64 y (fma.f64 z z z)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0825
117325
2246725
3498825
000
100

simplify84.0ms (1.3%)

Algorithm
egg-herbie
Rules
613×fma-neg_binary64
526×associate-/l*_binary64
443×associate-/r*_binary64
437×div-sub_binary64
288×associate-/l/_binary64
Counts
150 → 111
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0491301
11531197
24541096
316511064
447701064
549181064
653191064

prune175.0ms (2.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New1578165
Fresh8311
Picked101
Done000
Total16611177
Error
2.1b
Counts
177 → 11
Alt Table
StatusErrorProgram
8.6b
(pow.f64 (/.f64 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))) 1) -1)
24.4b
(/.f64 (pow.f64 (sqrt.f64 (*.f64 x (/.f64 y (fma.f64 z z z)))) 2) z)
22.3b
(/.f64 (*.f64 x (pow.f64 (sqrt.f64 (/.f64 y (fma.f64 z z z))) 2)) z)
13.4b
(/.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) (cbrt.f64 (*.f64 z z))) (cbrt.f64 z))
11.3b
(/.f64 x (*.f64 z (/.f64 (fma.f64 z z z) y)))
33.4b
(/.f64 (*.f64 y (-.f64 (/.f64 x z) x)) z)
11.8b
(/.f64 (/.f64 (*.f64 y x) (+.f64 (pow.f64 z 2) z)) z)
39.7b
(/.f64 (/.f64 (/.f64 (*.f64 x y) (hypot.f64 z (sqrt.f64 z))) (hypot.f64 z (sqrt.f64 z))) z)
8.6b
(*.f64 (/.f64 x z) (/.f64 y (fma.f64 z z z)))
36.0b
(/.f64 (*.f64 x (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z))))) z)
24.2b
(/.f64 (*.f64 y x) (+.f64 (pow.f64 z 2) (pow.f64 z 3)))
Compiler

Compiled 2932 to 1011 computations (65.5% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(pow.f64 (/.f64 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))) 1) -1)
1.1b
(/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z))))
6.5b
(*.f64 x (/.f64 y (fma.f64 z z z)))
7.8b
(/.f64 y (fma.f64 z z z))

series171.0ms (2.5%)

Counts
2 → 72
Calls

2 calls:

128.0ms
(pow.f64 (/.f64 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))) 1) -1)
43.0ms
(/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z))))

rewrite73.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
614×log-prod_binary64
199×expm1-udef_binary64
199×log1p-udef_binary64
187×log-div_binary64
179×log-pow_binary64
Counts
2 → 106
Calls

2 calls:

71.0ms
(pow.f64 (/.f64 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))) 1) -1)
71.0ms
(/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
123728
2300628
3549328
000
100

simplify128.0ms (1.9%)

Algorithm
egg-herbie
Rules
816×times-frac_binary64
475×cancel-sign-sub-inv_binary64
441×fma-def_binary64
428×associate-/l*_binary64
426×distribute-neg-frac_binary64
Counts
178 → 131
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0431448
11231398
23531090
311791065
440911065
549461065
649721065
750001065
849401065

prune196.0ms (2.9%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2266232
Fresh7310
Picked101
Done000
Total2349243
Error
2.1b
Counts
243 → 9
Alt Table
StatusErrorProgram
11.3b
(/.f64 x (/.f64 z (/.f64 y (fma.f64 z z z))))
11.8b
(/.f64 (/.f64 (*.f64 y x) (+.f64 (pow.f64 z 2) z)) z)
8.9b
(/.f64 (/.f64 y (fma.f64 z z z)) (/.f64 z x))
39.7b
(pow.f64 (/.f64 (/.f64 z (/.f64 (/.f64 (*.f64 x y) (hypot.f64 z (sqrt.f64 z))) (hypot.f64 z (sqrt.f64 z)))) 1) -1)
8.7b
(pow.f64 (/.f64 (*.f64 (/.f64 (/.f64 z x) y) (fma.f64 z z z)) 1) -1)
39.7b
(/.f64 (/.f64 (/.f64 (*.f64 x y) (hypot.f64 z (sqrt.f64 z))) (hypot.f64 z (sqrt.f64 z))) z)
36.0b
(/.f64 (*.f64 x (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z))))) z)
46.8b
(pow.f64 (/.f64 (/.f64 z (*.f64 x (*.f64 (/.f64 (cbrt.f64 (*.f64 y y)) (hypot.f64 z (sqrt.f64 z))) (/.f64 (cbrt.f64 y) (hypot.f64 z (sqrt.f64 z)))))) 1) -1)
8.7b
(/.f64 (/.f64 1 z) (/.f64 (/.f64 (fma.f64 z z z) y) x))
Compiler

Compiled 4566 to 1805 computations (60.5% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
1.4b
(/.f64 (/.f64 1 z) (/.f64 (/.f64 (fma.f64 z z z) y) x))
6.5b
(/.f64 (/.f64 (fma.f64 z z z) y) x)
7.8b
(/.f64 (fma.f64 z z z) y)

series147.0ms (2.2%)

Counts
3 → 96
Calls

3 calls:

107.0ms
(/.f64 (/.f64 1 z) (/.f64 (/.f64 (fma.f64 z z z) y) x))
27.0ms
(/.f64 (/.f64 (fma.f64 z z z) y) x)
13.0ms
(/.f64 (fma.f64 z z z) y)

rewrite84.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
635×log-prod_binary64
227×log-div_binary64
197×expm1-udef_binary64
197×log1p-udef_binary64
179×log-pow_binary64
Counts
3 → 126
Calls

3 calls:

81.0ms
(/.f64 (/.f64 1 z) (/.f64 (/.f64 (fma.f64 z z z) y) x))
81.0ms
(/.f64 (/.f64 (fma.f64 z z z) y) x)
81.0ms
(/.f64 (fma.f64 z z z) y)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01036
122033
2308233
3577833
000
100

simplify91.0ms (1.3%)

Algorithm
egg-herbie
Rules
748×times-frac_binary64
676×div-sub_binary64
475×cancel-sign-sub-inv_binary64
422×fma-def_binary64
392×associate-/r*_binary64
Counts
222 → 158
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0461457
11201335
23251273
310861230
440981230
546231230
655561230

prune142.0ms (2.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1553158
Fresh178
Picked101
Done000
Total15710167
Error
0.0b
Counts
167 → 10
Alt Table
StatusErrorProgram
11.3b
(/.f64 x (/.f64 z (/.f64 y (fma.f64 z z z))))
11.8b
(/.f64 (/.f64 (*.f64 y x) (+.f64 (pow.f64 z 2) z)) z)
8.7b
(pow.f64 (/.f64 (*.f64 (/.f64 (/.f64 z x) y) (fma.f64 z z z)) 1) -1)
17.2b
(/.f64 (/.f64 1 z) (fma.f64 (/.f64 z (*.f64 y x)) z (/.f64 z (*.f64 y x))))
39.7b
(/.f64 (/.f64 (/.f64 (*.f64 x y) (hypot.f64 z (sqrt.f64 z))) (hypot.f64 z (sqrt.f64 z))) z)
35.7b
(/.f64 (/.f64 1 z) (*.f64 (/.f64 (hypot.f64 z (sqrt.f64 z)) x) (/.f64 (hypot.f64 z (sqrt.f64 z)) y)))
8.9b
(/.f64 (/.f64 y (fma.f64 z z z)) (/.f64 z x))
39.7b
(pow.f64 (/.f64 (/.f64 z (/.f64 (/.f64 (*.f64 x y) (hypot.f64 z (sqrt.f64 z))) (hypot.f64 z (sqrt.f64 z)))) 1) -1)
36.0b
(/.f64 (*.f64 x (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z))))) z)
9.7b
(/.f64 (/.f64 1 z) (/.f64 (fma.f64 (/.f64 z y) z (/.f64 z y)) x))
Compiler

Compiled 2863 to 1052 computations (63.3% saved)

regimes2.4s (35.1%)

Accuracy

Total 1.3b remaining (92.1%)

Threshold costs 0b (0%)

Counts
197 → 5
Compiler

Compiled 19013 to 11538 computations (39.3% saved)

bsearch5.0ms (0.1%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038115
143115
242115

end276.0ms (4.1%)

Compiler

Compiled 501 to 248 computations (50.5% saved)

Profiling

Loading profile data...