Details

Time bar (total: 19.5s)

analyze1.5s (7.5%)

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
6.2%93.7%0.1%7
9.4%90.5%0.1%8
14%85.9%0.1%9
16.4%83.5%0.1%10
19.1%80.8%0.1%11
20.5%79.4%0.1%12
22%78%0.1%13
22.7%77.2%0.1%14
Compiler

Compiled 20 to 13 computations (35% saved)

sample12.6s (64.5%)

Results
11.2s12924×body8192exit
1.4s8256×body128valid
Compiler

Compiled 39 to 25 computations (35.9% saved)

simplify42.0ms (0.2%)

Algorithm
egg-herbie
Rules
773×associate-*l*_binary64
663×fma-def_binary64
311×fma-neg_binary64
274×associate-+r+_binary64
271×associate-+l+_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01323
13121
26721
320721
482617
5282217

prune4.0ms (0%)

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
0.2b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 97 to 64 computations (34% saved)

localize7.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 a b)
0.0b
(pow.f64 (hypot.f64 a b) 4)
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))

series127.0ms (0.7%)

Counts
3 → 72
Calls

3 calls:

80.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
34.0ms
(pow.f64 (hypot.f64 a b) 4)
13.0ms
(hypot.f64 a b)

rewrite8.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
fma-def_binary64
add-cube-cbrt_binary64
unpow-prod-down_binary64
Counts
3 → 52
Calls

3 calls:

4.0ms
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
1.0ms
(pow.f64 (hypot.f64 a b) 4)
0.0ms
(hypot.f64 a b)

simplify450.0ms (2.3%)

Algorithm
egg-herbie
Rules
484×fma-def_binary64
342×associate-*r*_binary64
304×associate-*l*_binary64
198×associate-+l+_binary64
185×*-commutative_binary64
Counts
124 → 121
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01322123
13722010
212361901

prune123.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1192121
Fresh101
Picked011
Done000
Total1203123
Error
0b
Counts
123 → 3
Alt Table
StatusErrorProgram
10.9b
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) 1)
0.5b
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (fma.f64 b (*.f64 b 4) -1))
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 2471 to 1568 computations (36.5% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (hypot.f64 a b) 4)
0.1b
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (fma.f64 b (*.f64 b 4) -1))
0.4b
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
16.4b
(cbrt.f64 (pow.f64 (hypot.f64 a b) 4))

series376.0ms (1.9%)

Counts
3 → 72
Calls

3 calls:

269.0ms
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (fma.f64 b (*.f64 b 4) -1))
54.0ms
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
52.0ms
(cbrt.f64 (pow.f64 (hypot.f64 a b) 4))

rewrite17.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
59×cbrt-prod_binary64
41×add-sqr-sqrt_binary64
23×unpow-prod-down_binary64
17×*-un-lft-identity_binary64
17×add-cube-cbrt_binary64
Counts
3 → 93
Calls

3 calls:

9.0ms
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)))
1.0ms
(cbrt.f64 (pow.f64 (hypot.f64 a b) 4))
0.0ms
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (fma.f64 b (*.f64 b 4) -1))

simplify2.2s (11.3%)

Algorithm
egg-herbie
Rules
712×unswap-sqr_binary64
558×fma-def_binary64
462×*-commutative_binary64
233×fma-neg_binary64
183×associate-+l+_binary64
Counts
165 → 175
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02074579
14814352
215923938
338113911

prune442.0ms (2.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New3390339
Fresh011
Picked011
Done011
Total3393342
Error
0b
Counts
342 → 3
Alt Table
StatusErrorProgram
10.9b
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) 1)
0.5b
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (fma.f64 b (*.f64 b 4) -1))
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 11624 to 7239 computations (37.7% saved)

localize7.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 4 (pow.f64 b 2))
0.0b
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) 1)
0.0b
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))

series9.0ms (0%)

Counts
3 → 9
Calls

3 calls:

4.0ms
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
3.0ms
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) 1)
2.0ms
(*.f64 4 (pow.f64 b 2))

rewrite20.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt_binary64
17×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
10×add-log-exp_binary64
prod-diff_binary64
Counts
3 → 78
Calls

3 calls:

8.0ms
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) 1)
5.0ms
(+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4))
4.0ms
(*.f64 4 (pow.f64 b 2))

simplify918.0ms (4.7%)

Algorithm
egg-herbie
Rules
636×fma-neg_binary64
586×associate-*r*_binary64
584×associate-*l*_binary64
383×fma-def_binary64
237×distribute-lft-in_binary64
Counts
87 → 124
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01571444
13041048
2850968
34895964

prune122.0ms (0.6%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1240124
Fresh000
Picked011
Done022
Total1243127
Error
0b
Counts
127 → 3
Alt Table
StatusErrorProgram
10.9b
(-.f64 (+.f64 (*.f64 4 (pow.f64 b 2)) (pow.f64 b 4)) 1)
0.5b
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4))) (cbrt.f64 (pow.f64 (hypot.f64 a b) 4)) (fma.f64 b (*.f64 b 4) -1))
0.0b
(+.f64 (pow.f64 (hypot.f64 a b) 4) (fma.f64 b (*.f64 b 4) -1))
Compiler

Compiled 2409 to 1919 computations (20.3% saved)

regimes445.0ms (2.3%)

Accuracy

Total 0.0b remaining (29.4%)

Threshold costs 0.0b (29.4%)

Counts
61 → 1
Compiler

Compiled 7129 to 5297 computations (25.7% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
distribute-lft-neg-in_binary64
distribute-rgt-neg-in_binary64
distribute-lft-neg-out_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01017
11217

soundness14.0ms (0.1%)

Compiler

Compiled 675 to 405 computations (40% saved)

end104.0ms (0.5%)

Compiler

Compiled 83 to 59 computations (28.9% saved)

Profiling

Loading profile data...