Details

Time bar (total: 10.4s)

analyze640.0ms (6.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
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)

sample2.5s (24.5%)

Results
776.0ms1157×body2048valid
715.0ms5345×body128valid
393.0ms764×body1024valid
247.0ms398×body4096valid
141.0ms1059×body128invalid
121.0ms382×body512valid
46.0ms210×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify345.0ms (3.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

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
31.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
32.0b
(/.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)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 3 a) c)
0.6b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
20.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series114.0ms (1.1%)

Counts
4 → 100
Calls

4 calls:

54.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
43.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
12.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
5.0ms
(*.f64 (*.f64 3 a) c)

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
10×fma-def_binary64
10×add-sqr-sqrt_binary64
10×add-log-exp_binary64
10×pow1_binary64
Counts
4 → 80
Calls

4 calls:

7.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
6.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
4.0ms
(*.f64 (*.f64 3 a) c)
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

simplify123.0ms (1.2%)

Algorithm
egg-herbie
Rules
677×fma-def_binary64
621×fma-neg_binary64
305×cancel-sign-sub-inv_binary64
228×distribute-rgt-neg-in_binary64
197×distribute-lft-neg-in_binary64
Counts
180 → 168
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02012955
15232836
218062732
345182728
449982728
549192728

prune165.0ms (1.6%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New15711168
Fresh011
Picked101
Done000
Total15812170
Error
10.7b
Counts
170 → 12
Alt Table
StatusErrorProgram
52.6b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
39.1b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
32.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 (*.f64 3 a) (*.f64 (cbrt.f64 c) (cbrt.f64 c))) (cbrt.f64 c))))) (*.f64 3 a))
40.3b
(/.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)) (*.f64 3 a))
36.3b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (sqrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
55.7b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
34.9b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 b) (cbrt.f64 b)) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
33.4b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
47.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
32.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) (cbrt.f64 (*.f64 (*.f64 3 a) c))) (cbrt.f64 (*.f64 (*.f64 3 a) c)))))) (*.f64 3 a))
44.8b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
Compiler

Compiled 4650 to 2730 computations (41.3% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
0.3b
(/.f64 1/3 a)
0.7b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.3b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series190.0ms (1.8%)

Counts
4 → 60
Calls

4 calls:

89.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
54.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
45.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))
2.0ms
(/.f64 1/3 a)

rewrite26.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
50×add-sqr-sqrt_binary64
40×*-un-lft-identity_binary64
36×add-cube-cbrt_binary64
19×times-frac_binary64
18×prod-diff_binary64
Counts
4 → 128
Calls

4 calls:

9.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
4.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
2.0ms
(/.f64 1/3 a)
1.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

simplify139.0ms (1.3%)

Algorithm
egg-herbie
Rules
446×fma-neg_binary64
318×distribute-rgt-in_binary64
276×cancel-sign-sub-inv_binary64
271×neg-mul-1_binary64
161×associate-*r*_binary64
Counts
188 → 240
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02955224
17094328
225814143
344884131
448644131

prune217.0ms (2.1%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New22713240
Fresh10111
Picked101
Done000
Total23814252
Error
5.1b
Counts
252 → 14
Alt Table
StatusErrorProgram
34.9b
(*.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b))) (/.f64 1/3 a))
33.8b
(*.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) b) (/.f64 1/3 a))
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (*.f64 1/3 (/.f64 1 a)))
42.1b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 c -3))) a))
28.6b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
32.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1 (/.f64 a 1/3)))
55.7b
(*.f64 (-.f64 b b) (/.f64 1/3 a))
39.2b
(*.f64 -1/2 (/.f64 c b))
34.9b
(*.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/3 a))
46.0b
(exp.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))))
47.3b
(*.f64 (*.f64 -2 b) (/.f64 1/3 a))
33.3b
(/.f64 (*.f64 1/3 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b)) a)
47.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
47.5b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 6747 to 3982 computations (41% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1/3 a)
0.6b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
13.8b
(*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a))
20.3b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series56.0ms (0.5%)

Counts
2 → 44
Calls

2 calls:

53.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
4.0ms
(*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a))

rewrite17.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary64
14×*-un-lft-identity_binary64
13×associate-*r*_binary64
12×add-cube-cbrt_binary64
10×times-frac_binary64
Counts
2 → 58
Calls

2 calls:

9.0ms
(*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a))
3.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)

simplify90.0ms (0.9%)

Algorithm
egg-herbie
Rules
956×fma-def_binary64
836×times-frac_binary64
489×fma-neg_binary64
213×associate-*l*_binary64
184×associate-*r*_binary64
Counts
102 → 118
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01761729
14591537
218651505
342001505
449881505
550391505

prune165.0ms (1.6%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1923195
Fresh6713
Picked011
Done000
Total19811209
Error
5.1b
Counts
209 → 11
Alt Table
StatusErrorProgram
42.1b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 c -3))) a))
28.6b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
39.2b
(*.f64 -1/2 (/.f64 c b))
46.0b
(exp.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))))
52.9b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a)) (*.f64 3/2 (/.f64 (*.f64 c a) b)))
33.8b
(*.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) b) (/.f64 1/3 a))
26.3b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
47.3b
(*.f64 (*.f64 -2 b) (/.f64 1/3 a))
47.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
49.7b
(/.f64 (exp.f64 (+.f64 (log.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0)) (log.f64 (/.f64 1/3 a)))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
47.5b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 6532 to 4178 computations (36% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.1b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.6b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.3b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series327.0ms (3.2%)

Counts
2 → 56
Calls

2 calls:

248.0ms
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
79.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
50×*-un-lft-identity_binary64
40×times-frac_binary64
28×add-sqr-sqrt_binary64
28×add-cube-cbrt_binary64
15×distribute-lft-neg-in_binary64
Counts
2 → 82
Calls

2 calls:

6.0ms
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

simplify110.0ms (1.1%)

Algorithm
egg-herbie
Rules
859×fma-def_binary64
680×associate-/l*_binary64
252×associate-/r/_binary64
200×associate-/l/_binary64
155×fma-neg_binary64
Counts
138 → 151
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01903757
14583569
214933445
346293439
452363439

prune220.0ms (2.1%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New2414245
Fresh279
Picked011
Done011
Total24313256
Error
5.1b
Counts
256 → 13
Alt Table
StatusErrorProgram
33.8b
(*.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))) b) (/.f64 1/3 a))
39.2b
(/.f64 (neg.f64 c) (+.f64 b b))
26.3b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
44.7b
(exp.f64 (log.f64 (/.f64 (neg.f64 c) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))))))
52.6b
(/.f64 (neg.f64 c) (*.f64 3/2 (/.f64 (*.f64 c a) b)))
31.5b
(/.f64 (neg.f64 c) (+.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))))) b))
42.1b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 c -3))) a))
28.6b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
46.0b
(exp.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))))
47.3b
(*.f64 (*.f64 -2 b) (/.f64 1/3 a))
47.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
49.7b
(/.f64 (exp.f64 (+.f64 (log.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0)) (log.f64 (/.f64 1/3 a)))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
47.5b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 6351 to 3437 computations (45.9% saved)

regimes4.5s (43%)

Accuracy

Total 2.1b remaining (27.5%)

Threshold costs 0b (0%)

Counts
220 → 4
Compiler

Compiled 24646 to 17129 computations (30.5% saved)

bsearch153.0ms (1.5%)

Steps
ItersRangePoint
4
1.7672199967791424e+125
3.068575722602076e+125
3.027908356170109e+125
8
2.7144721305169927e-306
4.216613547818146e-303
2.7437864687343154e-306
8
-244.0586835042112
-0.14924381851168272
-241.3804940250154
Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64
11×+-commutative_binary64
10×sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03785
15885
28185
39785
410685
510885
610585

end171.0ms (1.7%)

Compiler

Compiled 345 to 233 computations (32.5% saved)

Profiling

Loading profile data...