Details

Time bar (total: 8.0s)

analyze611.0ms (7.6%)

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)

sample134.0ms (1.7%)

Algorithm
intervals
Results
11.0ms31×body2048valid
11.0ms168×body128valid
10.0ms32×body1024valid
3.0msbody4096valid
2.0ms13×body512valid
2.0ms27×body128nan
1.0ms15×body128invalid
1.0msbody256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify356.0ms (4.4%)

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.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize11.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))
0.6b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
1.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
20.5b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series207.0ms (2.6%)

Counts
4 → 96
Calls

4 calls:

94.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
54.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
48.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
10.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

rewrite30.0ms (0.4%)

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:

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

simplify132.0ms (1.6%)

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

prune168.0ms (2.1%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New19611207
Fresh011
Picked101
Done000
Total19712209
Error
5.9b
Counts
209 → 12
Alt Table
StatusErrorProgram
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
32.7b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
57.7b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
46.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
37.2b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
35.5b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
50.0b
(/.f64 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
33.1b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (/.f64 (*.f64 3 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))))
40.6b
(*.f64 -1/2 (/.f64 c b))
32.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
35.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) 3) (/.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
45.6b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 5855 to 3460 computations (40.9% saved)

localize12.0ms (0.2%)

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))
1.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
20.5b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series5.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

5.0ms
(*.f64 (*.f64 3 a) c)

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*r*_binary64
cbrt-unprod_binary64
Counts
1 → 20
Calls

1 calls:

4.0ms
(*.f64 (*.f64 3 a) c)

simplify79.0ms (1%)

Algorithm
egg-herbie
Rules
578×associate-*l*_binary64
477×unswap-sqr_binary64
383×associate-*r*_binary64
351×*-commutative_binary64
334×log-div_binary64
Counts
44 → 28
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
045380
199344
2366344
31031344
41241344
51501344
61934344
74036344
84924344
95048344

prune128.0ms (1.6%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1671168
Fresh11011
Picked011
Done000
Total16812180
Error
5.9b
Counts
180 → 12
Alt Table
StatusErrorProgram
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
32.7b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) 3) a)
46.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
37.2b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
35.5b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
50.1b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) 3) a)
50.0b
(/.f64 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
33.1b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (/.f64 (*.f64 3 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))))
40.6b
(*.f64 -1/2 (/.f64 c b))
32.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
35.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) 3) (/.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)) a))
45.6b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 4632 to 2712 computations (41.5% saved)

localize10.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.4b
(/.f64 1/3 a)
1.0b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
20.5b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series202.0ms (2.5%)

Counts
4 → 60
Calls

4 calls:

96.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
58.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
46.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:

8.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)
3.0ms
(/.f64 1/3 a)
1.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

simplify142.0ms (1.8%)

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

prune188.0ms (2.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2373240
Fresh2810
Picked011
Done101
Total24012252
Error
5.9b
Counts
252 → 12
Alt Table
StatusErrorProgram
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
37.2b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
35.5b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
48.8b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1 (sqrt.f64 a))) (/.f64 1/3 (sqrt.f64 a)))
50.1b
(/.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) 3) a)
35.8b
(*.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) (*.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 (/.f64 1/3 a)))) (cbrt.f64 (/.f64 1/3 a)))
33.1b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (/.f64 (*.f64 3 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))))
40.6b
(*.f64 -1/2 (/.f64 c b))
32.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
32.0b
(/.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))
45.6b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 6707 to 3954 computations (41% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 a (*.f64 c -3))
0.9b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
13.4b
(*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a))
20.5b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series67.0ms (0.8%)

Counts
3 → 68
Calls

3 calls:

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

rewrite22.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
16×*-un-lft-identity_binary64
14×associate-*r*_binary64
14×add-cube-cbrt_binary64
13×add-cbrt-cube_binary64
Counts
3 → 78
Calls

3 calls:

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

simplify115.0ms (1.4%)

Algorithm
egg-herbie
Rules
416×fma-neg_binary64
341×distribute-rgt-in_binary64
300×associate-*l*_binary64
262×associate-*r*_binary64
249×distribute-lft-in_binary64
Counts
146 → 149
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02052053
15091859
223581823
344901823
449871823
548541823

prune178.0ms (2.2%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1912193
Fresh2810
Picked101
Done011
Total19411205
Error
5.8b
Counts
205 → 11
Alt Table
StatusErrorProgram
35.8b
(*.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) (*.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 (/.f64 1/3 a)))) (cbrt.f64 (/.f64 1/3 a)))
29.1b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
45.3b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.2b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
37.2b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
35.5b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
32.0b
(/.f64 (*.f64 (*.f64 c (*.f64 a -3)) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
33.1b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (/.f64 (*.f64 3 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))))
40.6b
(*.f64 -1/2 (/.f64 c b))
32.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
45.6b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 6281 to 3952 computations (37.1% saved)

regimes3.2s (40.2%)

Accuracy

Total 1.4b remaining (20.9%)

Threshold costs 0b (0%)

Counts
212 → 4
Compiler

Compiled 26658 to 18440 computations (30.8% saved)

bsearch117.0ms (1.5%)

Steps
ItersRangePoint
8
2.0899361396080252e+50
1.0366236039206212e+55
8.68809347721397e+54
9
-1.4231637270803427e-255
-6.03583731510766e-261
-9.85258107206253e-259
11
-4.722199227118197e+175
-1.373014230936203e+153
-1.6639797539343423e+153
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
03782
15780
27780
38780
49280
59380
69280

end1.0ms (0%)

Compiler

Compiled 57 to 37 computations (35.1% saved)

sample1.8s (22.8%)

Algorithm
intervals
Results
470.0ms1166×body2048valid
366.0ms5150×body128valid
192.0ms741×body1024valid
164.0ms397×body4096valid
71.0ms365×body512valid
41.0ms641×body128nan
24.0ms364×body128invalid
23.0ms181×body256valid
Compiler

Compiled 292 to 202 computations (30.8% saved)

Profiling

Loading profile data...