Details

Time bar (total: 13.8s)

analyze1.6s (11.4%)

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
0%99.9%0.1%5
0%99.9%0.1%6
0%93.6%6.4%7
0%93.6%6.4%8
0%91.3%8.7%9
0%86.6%13.4%10
0%85.8%14.2%11
0%83.1%16.9%12
0%80.6%19.4%13
0%79.4%20.6%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample3.1s (22.6%)

Results
926.0ms5397×body128valid
703.0ms1172×body2048valid
452.0ms722×body1024valid
328.0ms381×body8192exit
283.0ms403×body4096valid
138.0ms903×body128invalid
133.0ms374×body512valid
51.0ms188×body256valid
Compiler

Compiled 41 to 29 computations (29.3% saved)

simplify260.0ms (1.9%)

Algorithm
egg-herbie
Rules
1743×fma-neg_binary64
1393×fma-def_binary64
800×div-sub_binary64
619×times-frac_binary64
473×associate-/r/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13322
26722
313822
420422
533822
655822
792422
8138822
9160422
10237522
11274222
12253322
13262122
14317122
15331322
16387322
17367922
18402922
19431722
20448522
21456122
22480522
23479322
24479722
25479722
26494822

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
0.4b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
2.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))

series197.0ms (1.4%)

Counts
4 → 96
Calls

4 calls:

84.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
56.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
45.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
11.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))

rewrite28.0ms (0.2%)

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:

9.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
7.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
4.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))

simplify127.0ms (0.9%)

Algorithm
egg-herbie
Rules
701×fma-neg_binary64
334×cancel-sign-sub-inv_binary64
215×distribute-rgt-neg-in_binary64
159×associate-*r*_binary64
150×distribute-rgt-neg-out_binary64
Counts
186 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02434208
16953858
225123724
346943704
450313704

prune462.0ms (3.4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1989207
Fresh101
Picked101
Done000
Total2009209
Error
5.3b
Counts
209 → 9
Alt Table
StatusErrorProgram
42.6b
(/.f64 (neg.f64 b) a)
38.9b
(neg.f64 (/.f64 c b))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))) (*.f64 2 a))
39.1b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
48.3b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (*.f64 2 a))
35.2b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))))
57.9b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
34.9b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.6b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 5741 to 3347 computations (41.7% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
0.3b
(cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
0.7b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
14.3b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

series2.4s (17.1%)

Counts
4 → 36
Calls

4 calls:

1.6s
(*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
572.0ms
(cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))
170.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
27.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite30.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt_binary64
39×*-un-lft-identity_binary64
33×cbrt-prod_binary64
21×add-cube-cbrt_binary64
17×pow1_binary64
Counts
4 → 119
Calls

4 calls:

10.0ms
(*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))
2.0ms
(cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))

simplify164.0ms (1.2%)

Algorithm
egg-herbie
Rules
813×fma-def_binary64
369×cancel-sign-sub-inv_binary64
246×fma-neg_binary64
235×associate-*r*_binary64
195×unswap-sqr_binary64
Counts
155 → 241
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03316487
17755780
227615241
348715241
449505241

prune608.0ms (4.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New5130513
Fresh088
Picked011
Done000
Total5139522
Error
5.3b
Counts
522 → 9
Alt Table
StatusErrorProgram
42.6b
(/.f64 (neg.f64 b) a)
38.9b
(neg.f64 (/.f64 c b))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))) (*.f64 2 a))
39.1b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
48.3b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (*.f64 2 a))
35.2b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))))
57.9b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
34.9b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.6b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 28984 to 19411 computations (33% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))))
0.4b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
2.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))

series89.0ms (0.6%)

Counts
1 → 20
Calls

1 calls:

89.0ms
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))))

rewrite62.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
184×times-frac_binary64
154×*-un-lft-identity_binary64
120×sqrt-prod_binary64
58×add-sqr-sqrt_binary64
58×add-cube-cbrt_binary64
Counts
1 → 155
Calls

1 calls:

21.0ms
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))))

simplify202.0ms (1.5%)

Algorithm
egg-herbie
Rules
697×associate-/r*_binary64
493×associate-/r/_binary64
486×associate-/l/_binary64
276×fma-def_binary64
113×associate-/l*_binary64
Counts
175 → 181
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024512220
161310163
219829278
350539278

prune439.0ms (3.2%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New4610461
Fresh077
Picked011
Done011
Total4619470
Error
5.3b
Counts
470 → 9
Alt Table
StatusErrorProgram
42.6b
(/.f64 (neg.f64 b) a)
38.9b
(neg.f64 (/.f64 c b))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))) (*.f64 2 a))
39.1b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
48.3b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (*.f64 2 a))
35.2b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))))
57.9b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
34.9b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.6b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 21409 to 12477 computations (41.7% saved)

localize4.0ms (0%)

prune8.0ms (0.1%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New000
Fresh066
Picked011
Done022
Total099
Error
5.3b
Counts
9 → 9
Alt Table
StatusErrorProgram
42.6b
(/.f64 (neg.f64 b) a)
38.9b
(neg.f64 (/.f64 c b))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))) (*.f64 2 a))
39.1b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
48.3b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (*.f64 2 a))
35.2b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))))
57.9b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
34.9b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (cbrt.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b))) (*.f64 2 a))
42.6b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 228 to 148 computations (35.1% saved)

regimes3.8s (27.4%)

Accuracy

Total 5.2b remaining (48.2%)

Threshold costs 0b (0%)

Counts
221 → 3
Compiler

Compiled 25330 to 17564 computations (30.7% saved)

bsearch81.0ms (0.6%)

Steps
ItersRangePoint
9
9.764945508846091e-116
4.0351767613776376e-107
2.7432365902385795e-107
5
-1.5025545493462965e+51
-3.921873444536741e+50
-1.4766992338866856e+51
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02750
14748
27048
38248
48848
58948
68748

end154.0ms (1.1%)

Compiler

Compiled 298 to 194 computations (34.9% saved)

Profiling

Loading profile data...