Details

Time bar (total: 1.9s)

analyze1.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
99.9%0%0.1%1
Compiler

Compiled 10 to 7 computations (30% saved)

sample531.0ms (28%)

Results
484.0ms8256×body128valid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify17.0ms (0.9%)

Algorithm
egg-herbie
Rules
265×fma-def_binary64
84×fma-neg_binary64
35×distribute-rgt-in_binary64
26×unsub-neg_binary64
25×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11610
23110
36310
413410
518310
623610
732810
836010
935910
1038910
1134610

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
Compiler

Compiled 27 to 18 computations (33.3% saved)

localize4.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 x y))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))

series11.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

7.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
3.0ms
(-.f64 1 (*.f64 x y))

rewrite9.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt_binary64
prod-diff_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
distribute-lft-in_binary64
Counts
2 → 52
Calls

2 calls:

5.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
2.0ms
(-.f64 1 (*.f64 x y))

simplify89.0ms (4.7%)

Algorithm
egg-herbie
Rules
1016×fma-def_binary64
587×unsub-neg_binary64
328×associate-*l*_binary64
293×unswap-sqr_binary64
278×*-commutative_binary64
Counts
100 → 81
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0811128
11621037
2490982
31467953
43061953
54899953
64821953

prune68.0ms (3.6%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New75681
Fresh000
Picked101
Done000
Total76682
Error
0.0b
Counts
82 → 6
Alt Table
StatusErrorProgram
6.9b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3)))
30.5b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
5.7b
(-.f64 x (*.f64 y (pow.f64 x 2)))
13.0b
(/.f64 (*.f64 x (-.f64 (*.f64 1 1) (*.f64 (*.f64 x y) (*.f64 x y)))) (+.f64 1 (*.f64 x y)))
22.4b
(/.f64 (*.f64 x (-.f64 1 (pow.f64 (*.f64 x y) 3))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 1 (*.f64 x y)))))
0.1b
(*.f64 x (+.f64 1 (neg.f64 (*.f64 x y))))
Compiler

Compiled 1253 to 590 computations (52.9% saved)

localize5.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (neg.f64 (*.f64 x y)))
0.1b
(*.f64 x (+.f64 1 (neg.f64 (*.f64 x y))))

series11.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

7.0ms
(*.f64 x (+.f64 1 (neg.f64 (*.f64 x y))))
3.0ms
(+.f64 1 (neg.f64 (*.f64 x y)))

rewrite9.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-log-exp_binary64
add-cube-cbrt_binary64
associate-*r*_binary64
Counts
2 → 45
Calls

2 calls:

5.0ms
(*.f64 x (+.f64 1 (neg.f64 (*.f64 x y))))
3.0ms
(+.f64 1 (neg.f64 (*.f64 x y)))

simplify72.0ms (3.8%)

Algorithm
egg-herbie
Rules
483×associate-+r+_binary64
416×neg-mul-1_binary64
393×fma-def_binary64
376×unsub-neg_binary64
328×distribute-rgt-neg-out_binary64
Counts
93 → 78
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
072907
1194840
2680834
31875831
44504831
54988831

prune51.0ms (2.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New78078
Fresh055
Picked011
Done000
Total78684
Error
0.0b
Counts
84 → 6
Alt Table
StatusErrorProgram
6.9b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3)))
30.5b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
5.7b
(-.f64 x (*.f64 y (pow.f64 x 2)))
13.0b
(/.f64 (*.f64 x (-.f64 (*.f64 1 1) (*.f64 (*.f64 x y) (*.f64 x y)))) (+.f64 1 (*.f64 x y)))
22.4b
(/.f64 (*.f64 x (-.f64 1 (pow.f64 (*.f64 x y) 3))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 1 (*.f64 x y)))))
0.1b
(*.f64 x (+.f64 1 (neg.f64 (*.f64 x y))))
Compiler

Compiled 1226 to 573 computations (53.3% saved)

localize4.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (*.f64 y (pow.f64 x 2)))
7.8b
(*.f64 y (pow.f64 x 2))

series17.0ms (0.9%)

Counts
2 → 6
Calls

2 calls:

9.0ms
(-.f64 x (*.f64 y (pow.f64 x 2)))
8.0ms
(*.f64 y (pow.f64 x 2))

rewrite8.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-exp-log_binary64
Counts
2 → 49
Calls

2 calls:

4.0ms
(*.f64 y (pow.f64 x 2))
2.0ms
(-.f64 x (*.f64 y (pow.f64 x 2)))

simplify88.0ms (4.6%)

Algorithm
egg-herbie
Rules
518×fma-neg_binary64
448×associate-*l*_binary64
412×unswap-sqr_binary64
398×associate-*r*_binary64
375×distribute-rgt-neg-in_binary64
Counts
55 → 82
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
087730
1176586
2495558
32159558
44134558
54989558
64819558

prune63.0ms (3.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New82082
Fresh044
Picked011
Done011
Total82688
Error
0.0b
Counts
88 → 6
Alt Table
StatusErrorProgram
6.9b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3)))
30.5b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
5.7b
(-.f64 x (*.f64 y (pow.f64 x 2)))
13.0b
(/.f64 (*.f64 x (-.f64 (*.f64 1 1) (*.f64 (*.f64 x y) (*.f64 x y)))) (+.f64 1 (*.f64 x y)))
22.4b
(/.f64 (*.f64 x (-.f64 1 (pow.f64 (*.f64 x y) 3))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 1 (*.f64 x y)))))
0.1b
(*.f64 x (+.f64 1 (neg.f64 (*.f64 x y))))
Compiler

Compiled 1231 to 636 computations (48.3% saved)

localize7.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 x y))
0.1b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3)))
0.1b
(pow.f64 (-.f64 1 (*.f64 x y)) 3)
14.4b
(cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3))

series21.0ms (1.1%)

Counts
3 → 72
Calls

3 calls:

10.0ms
(pow.f64 (-.f64 1 (*.f64 x y)) 3)
6.0ms
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3)))
5.0ms
(cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3))

rewrite18.0ms (1%)

Algorithm
rewrite-expression-head
Rules
28×cbrt-prod_binary64
23×add-sqr-sqrt_binary64
15×associate-*r*_binary64
14×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
Counts
3 → 90
Calls

3 calls:

8.0ms
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3)))
3.0ms
(cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3))
3.0ms
(pow.f64 (-.f64 1 (*.f64 x y)) 3)

simplify106.0ms (5.6%)

Algorithm
egg-herbie
Rules
625×fma-neg_binary64
572×cancel-sign-sub-inv_binary64
380×fma-def_binary64
301×unswap-sqr_binary64
283×*-commutative_binary64
Counts
162 → 147
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01292218
12962037
210631987
328691963
448221963
550481963

prune160.0ms (8.4%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1752177
Fresh123
Picked011
Done022
Total1767183
Error
0b
Counts
183 → 7
Alt Table
StatusErrorProgram
6.9b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x y)) 3)))
30.5b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
4.2b
(*.f64 x (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 y x)) 2)) (cbrt.f64 (-.f64 1 (*.f64 y x)))))
5.7b
(-.f64 x (*.f64 y (pow.f64 x 2)))
22.4b
(/.f64 (*.f64 x (-.f64 1 (pow.f64 (*.f64 x y) 3))) (+.f64 (*.f64 1 1) (+.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 1 (*.f64 x y)))))
4.2b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 y x)) 2))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
0.1b
(*.f64 x (+.f64 1 (neg.f64 (*.f64 x y))))
Compiler

Compiled 3032 to 1821 computations (39.9% saved)

regimes406.0ms (21.4%)

Accuracy

Total 0.1b remaining (80.4%)

Threshold costs 0.1b (80.4%)

Counts
82 → 1
Compiler

Compiled 3932 to 2588 computations (34.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
11310
22810
33610
44210
54410
64410

end113.0ms (6%)

Compiler

Compiled 129 to 84 computations (34.9% saved)

Profiling

Loading profile data...