Details

Time bar (total: 6.5s)

analyze809.0ms (12.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
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample52.0ms (0.8%)

Algorithm
intervals
Results
13.0ms40×body2048valid
12.0ms173×body128valid
6.0ms14×body4096valid
5.0ms20×body1024valid
1.0msbody512valid
1.0ms16×body128nan
1.0msbody128invalid
0.0msbody256valid
Compiler

Compiled 44 to 32 computations (27.3% saved)

simplify153.0ms (2.3%)

Algorithm
egg-herbie
Rules
2079×fma-neg_binary64
1006×fma-def_binary64
919×div-sub_binary64
626×distribute-rgt-in_binary64
435×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13824
29524
322722
435722
561422
6110322
7137322
8163622
9233022
10318722
11288022
12282722
13289622
14292222
15379722
16482422
17524022

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
33.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
33.2b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
Compiler

Compiled 71 to 46 computations (35.2% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.1b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
1.4b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
23.1b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

rewrite13.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
25×*-un-lft-identity_binary64
16×add-sqr-sqrt_binary64
15×add-cube-cbrt_binary64
12×times-frac_binary64
add-cbrt-cube_binary64
Counts
4 → 77
Calls

4 calls:

5.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
3.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
1.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
0.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

series186.0ms (2.8%)

Counts
4 → 96
Calls

4 calls:

63.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
51.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
40.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
31.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

simplify104.0ms (1.6%)

Algorithm
egg-herbie
Rules
834×times-frac_binary64
539×associate-/l*_binary64
468×fma-def_binary64
198×cancel-sign-sub-inv_binary64
125×associate-/r/_binary64
Counts
173 → 322
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01973876
15213658
215783494
350113494

prune158.0ms (2.4%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New30814322
Fresh000
Picked011
Done000
Total30815323
Error
5.6b
Counts
323 → 15
Alt Table
StatusErrorProgram
49.2b
(*.f64 -1/2 (fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 4 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)))))
54.9b
(*.f64 -1/2 (/.f64 (+.f64 b (neg.f64 b)) a))
31.7b
(*.f64 -1/2 (/.f64 (/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (cbrt.f64 a)))
45.5b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
31.2b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))))
33.1b
(*.f64 -1/2 (/.f64 (exp.f64 (log.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))) a))
45.3b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
33.2b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
43.3b
(*.f64 -1/2 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
40.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
33.2b
(*.f64 -1/2 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 1 a)))
34.1b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) a))
48.7b
(*.f64 -1/2 (/.f64 (*.f64 2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) a))
46.4b
(*.f64 -1/2 (/.f64 (+.f64 b (cbrt.f64 (pow.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) 3))) a))
31.3b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a)))
Compiler

Compiled 5277 to 3210 computations (39.2% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))
0.1b
(/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
0.5b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
12.7b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite28.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
114×times-frac_binary64
99×*-un-lft-identity_binary64
65×add-sqr-sqrt_binary64
65×add-cube-cbrt_binary64
22×associate-/r*_binary64
Counts
4 → 164
Calls

4 calls:

7.0ms
(/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
4.0ms
(/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))
2.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))

series715.0ms (10.9%)

Counts
4 → 42
Calls

4 calls:

362.0ms
(/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))
215.0ms
(/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
122.0ms
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
15.0ms
(sqrt.f64 (*.f64 c (*.f64 a -4)))

simplify196.0ms (3%)

Algorithm
egg-herbie
Rules
504×fma-neg_binary64
501×fma-def_binary64
444×associate-/r/_binary64
326×cancel-sign-sub-inv_binary64
212×associate-/l/_binary64
Counts
206 → 387
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02626330
16475816
222205699
345415689
449335689

prune296.0ms (4.5%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New3843387
Fresh6713
Picked011
Done011
Total39012402
Error
2.9b
Counts
402 → 12
Alt Table
StatusErrorProgram
44.9b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))))))))
49.2b
(*.f64 -1/2 (fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 4 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)))))
40.3b
(*.f64 -1/2 (/.f64 1 (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b)))))
40.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
34.1b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) a))
49.7b
(*.f64 -1/2 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 a) 1)) (/.f64 1 (/.f64 (sqrt.f64 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))))
45.3b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
33.2b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
45.5b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
31.2b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))))
46.4b
(*.f64 -1/2 (/.f64 (+.f64 b (cbrt.f64 (pow.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) 3))) a))
31.3b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a)))
Compiler

Compiled 9150 to 6067 computations (33.7% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
0.5b
(+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
12.7b
(sqrt.f64 (*.f64 c (*.f64 a -4)))
12.7b
(sqrt.f64 (*.f64 c (*.f64 a -4)))

rewrite0.0ms (0%)

Algorithm
rewrite-expression-head
Counts
0 → 0

series0.0ms (0%)

Counts
0 → 0

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Counts
0 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune135.0ms (2.1%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New2400240
Fresh099
Picked011
Done022
Total24012252
Error
2.9b
Counts
252 → 12
Alt Table
StatusErrorProgram
44.9b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))))))))
49.2b
(*.f64 -1/2 (fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 4 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)))))
40.3b
(*.f64 -1/2 (/.f64 1 (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b)))))
40.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
34.1b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) a))
49.7b
(*.f64 -1/2 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 a) 1)) (/.f64 1 (/.f64 (sqrt.f64 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))))
45.3b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
33.2b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
45.5b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
31.2b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))))
46.4b
(*.f64 -1/2 (/.f64 (+.f64 b (cbrt.f64 (pow.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) 3))) a))
31.3b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a)))
Compiler

Compiled 5482 to 3675 computations (33% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(fma.f64 b b (*.f64 c (*.f64 a -4)))
9.7b
(+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))))
23.8b
(cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))
23.8b
(cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-log-exp_binary64
fma-def_binary64
Counts
3 → 39
Calls

3 calls:

2.0ms
(+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))))
1.0ms
(cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))
0.0ms
(fma.f64 b b (*.f64 c (*.f64 a -4)))

series169.0ms (2.6%)

Counts
3 → 108
Calls

3 calls:

83.0ms
(+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))))
52.0ms
(cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))
33.0ms
(fma.f64 b b (*.f64 c (*.f64 a -4)))

simplify159.0ms (2.4%)

Algorithm
egg-herbie
Rules
781×fma-def_binary64
401×associate-*r*_binary64
374×times-frac_binary64
284×associate-*l*_binary64
266×associate-/r*_binary64
Counts
147 → 275
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03936622
112785954
248155954
353935954

prune267.0ms (4.1%)

Pruning

12 alts after pruning (8 fresh and 4 done)

PrunedKeptTotal
New3700370
Fresh088
Picked011
Done033
Total37012382
Error
2.9b
Counts
382 → 12
Alt Table
StatusErrorProgram
44.9b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4))))))))
49.2b
(*.f64 -1/2 (fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 4 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)))))
40.3b
(*.f64 -1/2 (/.f64 1 (fma.f64 -1/2 (/.f64 a b) (/.f64 -2 (/.f64 (*.f64 -4 c) b)))))
40.9b
(*.f64 -1/2 (*.f64 2 (/.f64 c b)))
34.1b
(*.f64 -1/2 (/.f64 (+.f64 b (*.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) a))
49.7b
(*.f64 -1/2 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 a) 1)) (/.f64 1 (/.f64 (sqrt.f64 a) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))))
45.3b
(*.f64 -1/2 (/.f64 (+.f64 b b) a))
33.2b
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
45.5b
(*.f64 -1/2 (*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b))))
31.2b
(*.f64 -1/2 (/.f64 1 (/.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))))
46.4b
(*.f64 -1/2 (/.f64 (+.f64 b (cbrt.f64 (pow.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) 3))) a))
31.3b
(*.f64 -1/2 (*.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) (/.f64 (sqrt.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))) a)))
Compiler

Compiled 12882 to 8673 computations (32.7% saved)

regimes1.1s (16.8%)

Accuracy

Total 7.7b remaining (72.6%)

Threshold costs 0b (0%)

Compiler

Compiled 8272 to 5762 computations (30.3% saved)

bsearch66.0ms (1%)

Steps
ItersRangePoint
9
1.2386943716087997e+94
1.0957792099858593e+100
1.5471415872418694e+99
8
-7.18340877277722e-134
-1.19600364072755e-136
-1.3551211150485621e-134
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03573
14473
25073
35473
45773
55873
65773

end1.0ms (0%)

Compiler

Compiled 53 to 37 computations (30.2% saved)

sample1.9s (28.5%)

Algorithm
intervals
Results
397.0ms1092×body2048valid
384.0ms5270×body128valid
253.0ms718×body1024valid
153.0ms375×body4096valid
73.0ms357×body512valid
58.0ms701×body128nan
27.0ms380×body128invalid
26.0ms188×body256valid
Compiler

Compiled 326 to 234 computations (28.2% saved)

Profiling

Loading profile data...