Details

Time bar (total: 5.5s)

analyze564.0ms (10.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 (24.2%)

Symmetry

(sort x y)

Results
972.0ms8256×body128valid
174.0ms1563×body128invalid
Compiler

Compiled 44 to 29 computations (34.1% saved)

simplify92.0ms (1.7%)

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

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 78 to 45 computations (42.3% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 y (fma.f64 z z z)) z)
5.5b
(/.f64 y (fma.f64 z z z))
7.7b
(*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z))

series225.0ms (4.1%)

Counts
3 → 84
Calls

3 calls:

95.0ms
(*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z))
66.0ms
(/.f64 y (fma.f64 z z z))
64.0ms
(/.f64 (/.f64 y (fma.f64 z z z)) z)

rewrite96.0ms (1.7%)

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 → 120
Calls

3 calls:

93.0ms
(/.f64 (/.f64 y (fma.f64 z z z)) z)
93.0ms
(/.f64 y (fma.f64 z z z))
93.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

simplify89.0ms (1.6%)

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
204 → 166
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0671400
11801294
25141249
315581222
444131222
549301222
652731222

prune136.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1579166
Fresh011
Picked101
Done000
Total15810168
Error
1.5b
Counts
168 → 10
Alt Table
StatusErrorProgram
24.2b
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 (/.f64 y (fma.f64 z z z)) z)) 3))
32.3b
(-.f64 (/.f64 (*.f64 y x) (pow.f64 z 3)) (/.f64 (*.f64 y x) (pow.f64 z 4)))
3.8b
(/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)
28.6b
(*.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
34.1b
(/.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) (sqrt.f64 z)) (sqrt.f64 z))
4.3b
(/.f64 1 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))))
8.5b
(/.f64 x (*.f64 z (/.f64 (fma.f64 z z z) y)))
16.4b
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z 1)))
16.1b
(*.f64 x (/.f64 y (*.f64 z (+.f64 (pow.f64 z 2) z))))
35.9b
(*.f64 x (/.f64 (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z)))) z))
Compiler

Compiled 2835 to 1006 computations (64.5% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)
5.5b
(/.f64 y (fma.f64 z z z))
5.7b
(*.f64 x (/.f64 y (fma.f64 z z z)))

series156.0ms (2.8%)

Counts
2 → 72
Calls

2 calls:

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

rewrite60.0ms (1.1%)

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 → 80
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0825
117325
2246725
3498825
000
100

simplify83.0ms (1.5%)

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
152 → 113
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0491301
11531197
24541096
316511064
447701064
549181064
653191064

prune197.0ms (3.6%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1625167
Fresh459
Picked101
Done000
Total16710177
Error
1.2b
Counts
177 → 10
Alt Table
StatusErrorProgram
33.4b
(/.f64 (*.f64 x (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z))))) z)
30.0b
(/.f64 (*.f64 y (-.f64 (/.f64 x z) x)) z)
34.1b
(/.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) (sqrt.f64 z)) (sqrt.f64 z))
5.0b
(*.f64 (/.f64 x z) (/.f64 y (fma.f64 z z z)))
21.0b
(pow.f64 (sqrt.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)) 2)
4.3b
(/.f64 1 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))))
8.5b
(/.f64 x (*.f64 z (/.f64 (fma.f64 z z z) y)))
16.4b
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z 1)))
5.0b
(*.f64 (/.f64 y (fma.f64 z z z)) (*.f64 x (/.f64 1 z)))
16.1b
(*.f64 x (/.f64 y (*.f64 z (+.f64 (pow.f64 z 2) z))))
Compiler

Compiled 2906 to 981 computations (66.2% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z))))
0.5b
(/.f64 1 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))))
5.5b
(/.f64 y (fma.f64 z z z))
5.7b
(*.f64 x (/.f64 y (fma.f64 z z z)))

series128.0ms (2.3%)

Counts
2 → 72
Calls

2 calls:

90.0ms
(/.f64 1 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))))
38.0ms
(/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z))))

rewrite64.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
601×log-prod_binary64
191×expm1-udef_binary64
191×log1p-udef_binary64
178×log-div_binary64
175×log-pow_binary64
Counts
2 → 100
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
121428
2287128
3532028
000
100

simplify118.0ms (2.1%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
0431448
11231398
23531090
311791065
440911065
549461065
649721065
750001065
849401065

prune184.0ms (3.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2261227
Fresh369
Picked011
Done000
Total2298237
Error
1.2b
Counts
237 → 8
Alt Table
StatusErrorProgram
33.4b
(/.f64 (*.f64 x (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z))))) z)
30.0b
(/.f64 (*.f64 y (-.f64 (/.f64 x z) x)) z)
21.0b
(pow.f64 (sqrt.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)) 2)
5.0b
(*.f64 (/.f64 x z) (/.f64 y (fma.f64 z z z)))
4.3b
(/.f64 1 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))))
16.4b
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z 1)))
16.1b
(*.f64 x (/.f64 y (*.f64 z (+.f64 (pow.f64 z 2) z))))
3.9b
(/.f64 1 (*.f64 z (/.f64 (/.f64 (fma.f64 z z z) y) x)))
Compiler

Compiled 4070 to 1432 computations (64.8% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 z (/.f64 (/.f64 (fma.f64 z z z) y) x))
0.5b
(/.f64 1 (*.f64 z (/.f64 (/.f64 (fma.f64 z z z) y) x)))
5.2b
(/.f64 (fma.f64 z z z) y)
5.6b
(/.f64 (/.f64 (fma.f64 z z z) y) x)

series176.0ms (3.2%)

Counts
4 → 132
Calls

4 calls:

96.0ms
(/.f64 1 (*.f64 z (/.f64 (/.f64 (fma.f64 z z z) y) x)))
40.0ms
(*.f64 z (/.f64 (/.f64 (fma.f64 z z z) y) x))
30.0ms
(/.f64 (/.f64 (fma.f64 z z z) y) x)
10.0ms
(/.f64 (fma.f64 z z z) y)

rewrite72.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
590×log-prod_binary64
194×log-div_binary64
193×expm1-udef_binary64
193×log1p-udef_binary64
176×log-pow_binary64
Counts
4 → 152
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01050
121447
2289147
3534747
000
100

simplify117.0ms (2.1%)

Algorithm
egg-herbie
Rules
816×times-frac_binary64
475×cancel-sign-sub-inv_binary64
447×fma-def_binary64
427×associate-/l*_binary64
426×distribute-neg-frac_binary64
Counts
284 → 188
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0502213
11322091
23621765
311871722
441021677
549601677
649861677
749231677

prune176.0ms (3.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1862188
Fresh066
Picked101
Done011
Total1879196
Error
0.0b
Counts
196 → 9
Alt Table
StatusErrorProgram
33.4b
(/.f64 (*.f64 x (*.f64 (/.f64 1 (hypot.f64 z (sqrt.f64 z))) (/.f64 y (hypot.f64 z (sqrt.f64 z))))) z)
30.0b
(/.f64 (*.f64 y (-.f64 (/.f64 x z) x)) z)
21.0b
(pow.f64 (sqrt.f64 (/.f64 (*.f64 x (/.f64 y (fma.f64 z z z))) z)) 2)
5.0b
(*.f64 (/.f64 x z) (/.f64 y (fma.f64 z z z)))
2.2b
(/.f64 1 (*.f64 z (/.f64 (*.f64 (/.f64 z y) (+.f64 z 1)) x)))
4.3b
(/.f64 1 (/.f64 z (*.f64 x (/.f64 y (fma.f64 z z z)))))
16.4b
(/.f64 (*.f64 x y) (*.f64 (*.f64 z z) (+.f64 z 1)))
33.1b
(/.f64 1 (*.f64 z (*.f64 (/.f64 (hypot.f64 z (sqrt.f64 z)) x) (/.f64 (hypot.f64 z (sqrt.f64 z)) y))))
16.1b
(*.f64 x (/.f64 y (*.f64 z (+.f64 (pow.f64 z 2) z))))
Compiler

Compiled 3243 to 1141 computations (64.8% saved)

regimes1.2s (20.9%)

Accuracy

Total 2.3b remaining (86.8%)

Threshold costs 0b (0%)

Counts
137 → 3
Compiler

Compiled 12820 to 7919 computations (38.2% saved)

bsearch6.0ms (0.1%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02270
12870
22770

end257.0ms (4.7%)

Compiler

Compiled 344 to 196 computations (43% saved)

Profiling

Loading profile data...