Details

Time bar (total: 6.7s)

analyze419.0ms (6.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 33 to 24 computations (27.3% saved)

sample55.0ms (0.8%)

Algorithm
intervals
Results
16.0ms127×body256valid
10.0ms286×pre128true
9.0ms46×body512valid
5.0ms83×body128valid
2.0ms30×body128nan
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify274.0ms (4.1%)

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

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
53.1b
Counts
2 → 2
Alt Table
StatusErrorProgram
53.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
53.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
Compiler

Compiled 94 to 64 computations (31.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
27.6b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)

rewrite184.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
49.9b
Rules
32×add-cube-cbrt_binary64
24×add-sqr-sqrt_binary64
23×pow1_binary64
14×add-exp-log_binary64
14×add-cbrt-cube_binary64
Counts
4 → 162
Calls

4 calls:

15.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
15.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
13.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
10.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
Compiler

Compiled 3930 to 2088 computations (46.9% saved)

series156.0ms (2.3%)

Error
0.2b
Counts
4 → 72
Calls

4 calls:

45.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
36.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
28.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
27.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
Compiler

Compiled 2658 to 1932 computations (27.3% saved)

simplify119.0ms (1.8%)

Algorithm
egg-herbie
Rules
878×times-frac_binary64
332×fma-neg_binary64
247×unswap-sqr_binary64
163×associate-*r*_binary64
160×associate-*l*_binary64
Counts
234 → 120
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02464482
16564168
224994099
350364099

prune60.0ms (0.9%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1146120
Fresh101
Picked101
Done000
Total1166122
Error
0.0b
Counts
122 → 6
Alt Table
StatusErrorProgram
53.0b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) b) (/.f64 1/2 a))
1.5b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 5 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (+.f64 (/.f64 c b) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))))))
52.6b
(/.f64 (*.f64 1/2 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3))) (*.f64 a (fma.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
1.8b
(*.f64 (-.f64 (*.f64 -2 (+.f64 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))))) (/.f64 1/2 a))
53.4b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (sqrt.f64 b))) (/.f64 1/2 a))
0.4b
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))
Compiler

Compiled 2122 to 1213 computations (42.8% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.1b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
0.3b
(/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
0.3b
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))

rewrite213.0ms (3.2%)

Algorithm
rewrite-expression-head
Error
0b
Rules
32×add-cube-cbrt_binary64
23×pow1_binary64
20×add-exp-log_binary64
20×add-sqr-sqrt_binary64
18×add-cbrt-cube_binary64
Counts
4 → 170
Calls

4 calls:

20.0ms
(/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
17.0ms
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))
12.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
12.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
Compiler

Compiled 5059 to 3135 computations (38% saved)

series183.0ms (2.7%)

Error
0.0b
Counts
4 → 72
Calls

4 calls:

56.0ms
(/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
49.0ms
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1/2 a))
34.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
30.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
Compiler

Compiled 3336 to 2402 computations (28% saved)

simplify140.0ms (2.1%)

Algorithm
egg-herbie
Rules
664×fma-neg_binary64
320×associate-*l*_binary64
311×associate-*r*_binary64
234×associate-/l*_binary64
221×times-frac_binary64
Counts
242 → 179
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02655614
17275029
238774979
349564979

prune113.0ms (1.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1745179
Fresh415
Picked101
Done000
Total1796185
Error
0b
Counts
185 → 6
Alt Table
StatusErrorProgram
0.2b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
2.1b
(*.f64 (-.f64 (*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))) (/.f64 1/2 a))
0.4b
(/.f64 (*.f64 -2 (*.f64 c a)) (*.f64 a (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b))))))
1.5b
(neg.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 5 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (+.f64 (/.f64 c b) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))))))
0.4b
(*.f64 (/.f64 c (/.f64 (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))) (*.f64 a -4))) (/.f64 1/2 a))
1.7b
(*.f64 (/.f64 (+.f64 (*.f64 c (*.f64 a -4)) 0) (-.f64 (*.f64 2 (-.f64 b (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3))))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))) (/.f64 1/2 a))
Compiler

Compiled 3611 to 2043 computations (43.4% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite204.0ms (3.1%)

Algorithm
rewrite-expression-head
Error
0b
Rules
38×add-cube-cbrt_binary64
26×add-exp-log_binary64
20×add-cbrt-cube_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
Counts
4 → 168
Calls

4 calls:

16.0ms
(/.f64 (*.f64 -2 (*.f64 c a)) a)
14.0ms
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
13.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
10.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
Compiler

Compiled 4234 to 2186 computations (48.4% saved)

series128.0ms (1.9%)

Error
0b
Counts
4 → 60
Calls

4 calls:

48.0ms
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
30.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
27.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
8.0ms
(/.f64 (*.f64 -2 (*.f64 c a)) a)
Compiler

Compiled 2369 to 1590 computations (32.9% saved)

simplify144.0ms (2.2%)

Algorithm
egg-herbie
Rules
738×fma-def_binary64
420×fma-neg_binary64
230×associate-*r*_binary64
207×associate-*l*_binary64
188×times-frac_binary64
Counts
228 → 154
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02314279
16273961
230003605
349603605
449413605

prune105.0ms (1.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1513154
Fresh325
Picked011
Done000
Total1546160
Error
0b
Counts
160 → 6
Alt Table
StatusErrorProgram
0.2b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
2.1b
(*.f64 (-.f64 (*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))) (/.f64 1/2 a))
2.6b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a))))
0.4b
(/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1))))
1.5b
(-.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5))) (fma.f64 5 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
0.4b
(*.f64 (/.f64 c (/.f64 (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))) (*.f64 a -4))) (/.f64 1/2 a))
Compiler

Compiled 2795 to 1610 computations (42.4% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(fma.f64 c (*.f64 a -4) (*.f64 b b))
0.1b
(+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))
0.1b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1)))
0.3b
(/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1))))

rewrite198.0ms (3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
38×add-cube-cbrt_binary64
26×add-exp-log_binary64
20×add-cbrt-cube_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
Counts
4 → 173
Calls

4 calls:

16.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1)))
15.0ms
(/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1))))
14.0ms
(+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))
10.0ms
(fma.f64 c (*.f64 a -4) (*.f64 b b))
Compiler

Compiled 4309 to 2740 computations (36.4% saved)

series166.0ms (2.5%)

Error
0b
Counts
4 → 72
Calls

4 calls:

48.0ms
(/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1))))
38.0ms
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1)))
32.0ms
(+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))
29.0ms
(fma.f64 c (*.f64 a -4) (*.f64 b b))
Compiler

Compiled 2758 to 2053 computations (25.6% saved)

simplify157.0ms (2.3%)

Algorithm
egg-herbie
Rules
554×fma-neg_binary64
428×cancel-sign-sub-inv_binary64
211×associate-*r*_binary64
196×associate-*l*_binary64
180×unswap-sqr_binary64
Counts
245 → 155
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02484817
16654328
228374269
348634269
449544269

prune96.0ms (1.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1550155
Fresh044
Picked011
Done011
Total1556161
Error
0b
Counts
161 → 6
Alt Table
StatusErrorProgram
0.2b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
2.1b
(*.f64 (-.f64 (*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))) (/.f64 1/2 a))
2.6b
(/.f64 (/.f64 (*.f64 -2 (*.f64 c a)) a) (*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a))))
0.4b
(/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 (*.f64 c 1))))
1.5b
(-.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5))) (fma.f64 5 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
0.4b
(*.f64 (/.f64 c (/.f64 (+.f64 b (sqrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))) (*.f64 a -4))) (/.f64 1/2 a))
Compiler

Compiled 2386 to 1455 computations (39% saved)

regimes1.7s (26%)

Accuracy

Total 0.1b remaining (81.2%)

Threshold costs 0.1b (81.2%)

Compiler

Compiled 39872 to 26634 computations (33.2% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
*-lft-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01522
12122
22022

end1.0ms (0%)

Compiler

Compiled 18 to 12 computations (33.3% saved)

sample1.8s (26.6%)

Algorithm
intervals
Results
485.0ms3772×body256valid
295.0ms1511×body512valid
277.0ms8773×pre128true
183.0ms2717×body128valid
51.0ms773×body128nan
Compiler

Compiled 224 to 155 computations (30.8% saved)

Profiling

Loading profile data...