Details

Time bar (total: 4.0s)

analyze2.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)

sample894.0ms (22.3%)

Results
803.0ms8256×body128valid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify33.0ms (0.8%)

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

prune3.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)

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series7.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

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

rewrite8.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
prod-diff_binary64
distribute-lft-in_binary64
distribute-rgt-in_binary64
*-un-lft-identity_binary64
Counts
1 → 32
Calls

1 calls:

6.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))

simplify91.0ms (2.3%)

Algorithm
egg-herbie
Rules
888×fma-def_binary64
584×unsub-neg_binary64
561×distribute-neg-out_binary64
311×associate-*l*_binary64
293×unswap-sqr_binary64
Counts
56 → 51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069723
1140663
2421626
31318606
42818606
55568606

prune44.0ms (1.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New42951
Fresh000
Picked101
Done000
Total43952
Error
0b
Counts
52 → 9
Alt Table
StatusErrorProgram
29.5b
(*.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))))
26.8b
(cbrt.f64 (pow.f64 (-.f64 x (*.f64 y (*.f64 x x))) 3))
4.9b
(-.f64 x (*.f64 y (pow.f64 x 2)))
14.8b
(*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y))))
0.4b
(*.f64 (*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
30.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
1.1b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y))))
25.0b
(/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y)))
11.6b
(+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x))
Compiler

Compiled 992 to 477 computations (51.9% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y)))))
0.1b
(*.f64 (*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
0.3b
(*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
8.1b
(cbrt.f64 (-.f64 1 (*.f64 x y)))

series131.0ms (3.3%)

Counts
4 → 96
Calls

4 calls:

43.0ms
(*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y)))))
40.0ms
(*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
32.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
15.0ms
(*.f64 (*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))

rewrite84.0ms (2.1%)

Algorithm
rewrite-expression-head
Rules
80×cbrt-div_binary64
44×associate-*r/_binary64
40×flip--_binary64
40×flip3--_binary64
36×frac-times_binary64
Counts
4 → 146
Calls

4 calls:

24.0ms
(*.f64 (*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
15.0ms
(*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y)))))
8.0ms
(*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
2.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))

simplify328.0ms (8.2%)

Algorithm
egg-herbie
Rules
373×associate-*l*_binary64
328×distribute-neg-frac_binary64
325×associate-*r*_binary64
324×associate-/r*_binary64
268×sub-neg_binary64
Counts
242 → 334
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03918447
111007636
237057166
352087166

prune838.0ms (20.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New4640464
Fresh088
Picked011
Done000
Total4649473
Error
0b
Counts
473 → 9
Alt Table
StatusErrorProgram
29.5b
(*.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))))
26.8b
(cbrt.f64 (pow.f64 (-.f64 x (*.f64 y (*.f64 x x))) 3))
4.9b
(-.f64 x (*.f64 y (pow.f64 x 2)))
14.8b
(*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y))))
0.4b
(*.f64 (*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
30.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
1.1b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y))))
25.0b
(/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y)))
11.6b
(+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x))
Compiler

Compiled 18596 to 10856 computations (41.6% saved)

localize16.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y)))
0.3b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y))))
0.4b
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
0.6b
(cbrt.f64 x)

series282.0ms (7.1%)

Counts
4 → 72
Calls

4 calls:

125.0ms
(*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y)))
68.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
58.0ms
(cbrt.f64 x)
31.0ms
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y))))

rewrite49.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
34×add-sqr-sqrt_binary64
25×distribute-lft-in_binary64
25×distribute-rgt-in_binary64
25×pow1_binary64
23×cbrt-prod_binary64
Counts
4 → 137
Calls

4 calls:

15.0ms
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y))))
9.0ms
(*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y)))
8.0ms
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
1.0ms
(cbrt.f64 x)

simplify237.0ms (5.9%)

Algorithm
egg-herbie
Rules
500×exp-prod_binary64
419×fma-neg_binary64
398×fma-def_binary64
345×associate-*l*_binary64
291×distribute-rgt-in_binary64
Counts
209 → 195
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01682627
13482339
213562193
333512063
442021965
547371965
645981965

prune180.0ms (4.5%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2310231
Fresh077
Picked011
Done011
Total2319240
Error
0b
Counts
240 → 9
Alt Table
StatusErrorProgram
29.5b
(*.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))))
26.8b
(cbrt.f64 (pow.f64 (-.f64 x (*.f64 y (*.f64 x x))) 3))
4.9b
(-.f64 x (*.f64 y (pow.f64 x 2)))
14.8b
(*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y))))
0.4b
(*.f64 (*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
30.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
1.1b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y))))
25.0b
(/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y)))
11.6b
(+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x))
Compiler

Compiled 4874 to 1798 computations (63.1% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series21.0ms (0.5%)

Counts
2 → 6
Calls

2 calls:

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

rewrite17.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:

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

simplify139.0ms (3.5%)

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

prune101.0ms (2.5%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New82082
Fresh066
Picked011
Done022
Total82991
Error
0b
Counts
91 → 9
Alt Table
StatusErrorProgram
29.5b
(*.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))))
26.8b
(cbrt.f64 (pow.f64 (-.f64 x (*.f64 y (*.f64 x x))) 3))
4.9b
(-.f64 x (*.f64 y (pow.f64 x 2)))
14.8b
(*.f64 (*.f64 x (sqrt.f64 (-.f64 1 (*.f64 x y)))) (sqrt.f64 (-.f64 1 (*.f64 x y))))
0.4b
(*.f64 (*.f64 x (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) (cbrt.f64 (-.f64 1 (*.f64 x y))))) (cbrt.f64 (-.f64 1 (*.f64 x y))))
30.2b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
1.1b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (-.f64 1 (*.f64 x y))))
25.0b
(/.f64 (fma.f64 (pow.f64 x 3) (*.f64 y (neg.f64 y)) x) (+.f64 1 (*.f64 x y)))
11.6b
(+.f64 (*.f64 (fma.f64 1 1 (neg.f64 (*.f64 y x))) x) (*.f64 (fma.f64 (neg.f64 y) x (*.f64 y x)) x))
Compiler

Compiled 1210 to 623 computations (48.5% saved)

regimes245.0ms (6.1%)

Accuracy

Total 0.1b remaining (81.7%)

Threshold costs 0.1b (81.7%)

Counts
51 → 1
Compiler

Compiled 2350 to 1514 computations (35.6% saved)

simplify5.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
01010
11910
23310
34110
44710
54910
64710

end222.0ms (5.6%)

Compiler

Compiled 166 to 102 computations (38.6% saved)

Profiling

Loading profile data...