Details

Time bar (total: 16.7s)

analyze1.7s (9.9%)

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
25%74.9%0.1%5
25%74.9%0.1%6
25%68.6%6.4%7
31.2%62.4%6.4%8
36.7%54.6%8.7%9
38.2%48.4%13.4%10
42.7%42.3%15%11
47.8%34.1%18.1%12
49.1%30.3%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample4.2s (25.2%)

Results
1.2s5280×body128valid
1.2s1147×body2048valid
572.0ms792×body1024valid
483.0ms422×body4096valid
254.0ms1025×body128invalid
251.0ms420×body512valid
75.0ms195×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify495.0ms (3%)

Algorithm
egg-herbie
Rules
1968×fma-neg_binary64
1363×fma-def_binary64
898×div-sub_binary64
743×associate-/l*_binary64
567×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26422
313522
420122
533522
655422
792922
8147722
9211522
10259922
11255422
12260222
13267122
14311722
15232722
16237522
17238322
18238922
19239522
20239722
21239722
22258522
23268522
24261922
25263122
26266122
27267722
28270722
29270722
30275122
31285122
32282722
33282722
34263822

prune7.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
34.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
34.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
34.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.1b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
2.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
23.8b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series284.0ms (1.7%)

Counts
4 → 96
Calls

4 calls:

99.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
87.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
79.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
19.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

rewrite56.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
10×fma-def_binary64
10×add-cube-cbrt_binary64
10×add-log-exp_binary64
Counts
4 → 90
Calls

4 calls:

18.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
13.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
12.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
5.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

simplify169.0ms (1%)

Algorithm
egg-herbie
Rules
683×fma-neg_binary64
340×cancel-sign-sub-inv_binary64
242×distribute-rgt-neg-in_binary64
156×associate-*r*_binary64
151×distribute-rgt-neg-out_binary64
Counts
186 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02594286
17163943
225283797
347003771
450263771

prune281.0ms (1.7%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New19611207
Fresh011
Picked011
Done000
Total19613209
Error
3.9b
Counts
209 → 13
Alt Table
StatusErrorProgram
32.6b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
55.8b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
37.8b
(*.f64 -1/2 (/.f64 c b))
47.1b
(exp.f64 (log.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 3 a))))
34.6b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
35.7b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))))) (*.f64 3 a))
43.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
34.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
46.8b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (*.f64 (*.f64 3 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))))
46.8b
(/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 c a) b) -3/2)) (*.f64 3 a))
34.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
45.3b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 5891 to 3472 computations (41.1% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)
0.2b
(*.f64 c (*.f64 a -3))
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
10.2b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series513.0ms (3.1%)

Counts
4 → 48
Calls

4 calls:

244.0ms
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)
237.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
23.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))
8.0ms
(*.f64 c (*.f64 a -3))

rewrite25.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
33×*-un-lft-identity_binary64
33×add-sqr-sqrt_binary64
23×add-cube-cbrt_binary64
15×times-frac_binary64
15×pow1_binary64
Counts
4 → 104
Calls

4 calls:

5.0ms
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)
5.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))
4.0ms
(*.f64 c (*.f64 a -3))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)

simplify208.0ms (1.2%)

Algorithm
egg-herbie
Rules
572×fma-def_binary64
484×fma-neg_binary64
364×cancel-sign-sub-inv_binary64
322×associate-*l/_binary64
217×associate-/r/_binary64
Counts
152 → 202
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02523521
15912933
220412856
348382856
449682856

prune291.0ms (1.7%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1975202
Fresh4711
Picked011
Done011
Total20114215
Error
3.1b
Counts
215 → 14
Alt Table
StatusErrorProgram
32.6b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
55.8b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
45.3b
(/.f64 (/.f64 (*.f64 -2 b) 3) a)
32.8b
(/.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (/.f64 3 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)))) a)
47.6b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
34.6b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
35.7b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))))) (*.f64 3 a))
43.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
34.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
34.4b
(/.f64 (exp.f64 (log.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) 3))) a)
34.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
37.8b
(*.f64 -1/2 (/.f64 c b))
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
43.5b
(/.f64 (/.f64 -1/2 (/.f64 b (*.f64 c a))) a)
Compiler

Compiled 5557 to 3576 computations (35.6% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (/.f64 3 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))))
0.2b
(*.f64 c (*.f64 a -3))
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
10.2b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series295.0ms (1.8%)

Counts
1 → 12
Calls

1 calls:

294.0ms
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (/.f64 3 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))))

rewrite198.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
456×times-frac_binary64
314×*-un-lft-identity_binary64
314×add-sqr-sqrt_binary64
290×sqrt-prod_binary64
198×add-cube-cbrt_binary64
Counts
1 → 297
Calls

1 calls:

27.0ms
(/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (/.f64 3 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))))

simplify1.4s (8.4%)

Algorithm
egg-herbie
Rules
560×*-commutative_binary64
536×fma-def_binary64
318×associate-/r/_binary64
313×fma-neg_binary64
312×associate-/l/_binary64
Counts
309 → 323
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038722702
183820543
2261818915
3361418390
4480618327
5499118327
6493018327

prune1.1s (6.8%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New5470547
Fresh01111
Picked011
Done022
Total54714561
Error
3.1b
Counts
561 → 14
Alt Table
StatusErrorProgram
32.6b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
55.8b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
45.3b
(/.f64 (/.f64 (*.f64 -2 b) 3) a)
32.8b
(/.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (/.f64 3 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)))) a)
47.6b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
34.6b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
35.7b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))))) (*.f64 3 a))
43.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
34.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
34.4b
(/.f64 (exp.f64 (log.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) 3))) a)
34.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
37.8b
(*.f64 -1/2 (/.f64 c b))
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
43.5b
(/.f64 (/.f64 -1/2 (/.f64 b (*.f64 c a))) a)
Compiler

Compiled 25328 to 16899 computations (33.3% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -3 (*.f64 c a))
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)
2.3b
(exp.f64 (log.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) 3)))
10.2b
(sqrt.f64 (*.f64 -3 (*.f64 c a)))

series621.0ms (3.7%)

Counts
4 → 24
Calls

4 calls:

319.0ms
(exp.f64 (log.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) 3)))
256.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)
37.0ms
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
8.0ms
(*.f64 -3 (*.f64 c a))

rewrite43.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
31×*-un-lft-identity_binary64
31×add-sqr-sqrt_binary64
23×add-cube-cbrt_binary64
19×exp-sum_binary64
19×log-prod_binary64
Counts
4 → 98
Calls

4 calls:

8.0ms
(exp.f64 (log.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) 3)))
7.0ms
(*.f64 -3 (*.f64 c a))
6.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b)
5.0ms
(sqrt.f64 (*.f64 -3 (*.f64 c a)))

simplify165.0ms (1%)

Algorithm
egg-herbie
Rules
752×associate-/l*_binary64
540×fma-def_binary64
382×fma-neg_binary64
335×cancel-sign-sub-inv_binary64
161×distribute-rgt-neg-in_binary64
Counts
122 → 163
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02992852
16322624
219842518
348992518
449372518

prune252.0ms (1.5%)

Pruning

15 alts after pruning (12 fresh and 3 done)

PrunedKeptTotal
New1612163
Fresh01010
Picked101
Done033
Total16215177
Error
3.1b
Counts
177 → 15
Alt Table
StatusErrorProgram
32.6b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
55.8b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
45.3b
(/.f64 (/.f64 (*.f64 -2 b) 3) a)
32.8b
(/.f64 (/.f64 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (/.f64 3 (sqrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)))) a)
34.7b
(/.f64 (pow.f64 (E.f64) (log.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) 3))) a)
34.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
47.6b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
34.6b
(*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (/.f64 1 (*.f64 3 a)))
35.7b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -3 (*.f64 b b)))))) (*.f64 3 a))
43.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
34.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
37.8b
(*.f64 -1/2 (/.f64 c b))
47.7b
(/.f64 (exp.f64 (log.f64 (/.f64 (*.f64 -2 b) 3))) a)
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
43.5b
(/.f64 (/.f64 -1/2 (/.f64 b (*.f64 c a))) a)
Compiler

Compiled 4762 to 3020 computations (36.6% saved)

regimes3.9s (23.3%)

Accuracy

Total 7.1b remaining (71.6%)

Threshold costs 0b (0%)

Counts
119 → 3
Compiler

Compiled 13568 to 9477 computations (30.2% saved)

bsearch181.0ms (1.1%)

Steps
ItersRangePoint
10
4.1577901161666816e-64
1.4371914924770148e-53
2.048643829272188e-57
9
-2.2335073275075362e+107
-5.43086720502963e+98
-5.977464547809642e+102
Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
unsub-neg_binary64
neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02853
13851
24151
34251
44251

end249.0ms (1.5%)

Compiler

Compiled 334 to 235 computations (29.6% saved)

Profiling

Loading profile data...