Details

Time bar (total: 7.5s)

analyze412.0ms (5.5%)

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 43 to 31 computations (27.9% saved)

sample74.0ms (1%)

Algorithm
intervals
Results
46.0ms243×body128valid
10.0ms288×pre128true
4.0ms32×body128nan
2.0ms13×body256valid
Compiler

Compiled 66 to 48 computations (27.3% saved)

simplify371.0ms (4.9%)

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
29.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
29.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
29.6b
(*.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)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)
29.6b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)

series159.0ms (2.1%)

Counts
4 → 76
Calls

4 calls:

90.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
57.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
10.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
1.0ms
(/.f64 1/3 a)

rewrite24.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
48×add-sqr-sqrt_binary64
39×*-un-lft-identity_binary64
35×add-cube-cbrt_binary64
19×times-frac_binary64
18×prod-diff_binary64
Counts
4 → 123
Calls

4 calls:

10.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)
0.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

simplify121.0ms (1.6%)

Algorithm
egg-herbie
Rules
797×fma-def_binary64
340×distribute-rgt-in_binary64
235×cancel-sign-sub-inv_binary64
185×fma-neg_binary64
160×associate-*r*_binary64
Counts
199 → 221
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02835008
16614039
224643848
349113848

prune175.0ms (2.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New21011221
Fresh101
Picked101
Done000
Total21211223
Error
0.1b
Counts
223 → 11
Alt Table
StatusErrorProgram
30.0b
(*.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))
7.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b))))
0.6b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
22.0b
(*.f64 -1/2 (/.f64 c b))
29.9b
(*.f64 (+.f64 (fma.f64 1 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (neg.f64 (*.f64 (sqrt.f64 b) (sqrt.f64 b)))) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) (*.f64 (sqrt.f64 b) (sqrt.f64 b)))) (/.f64 1/3 a))
29.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (exp.f64 (-.f64 (log.f64 1/3) (log.f64 a))))
5.7b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
29.7b
(/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (*.f64 b b)) 1/3) (*.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) a))
7.5b
(*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16))) (/.f64 1/3 a))
29.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 (/.f64 1/3 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (cbrt.f64 a)))
5.5b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
Compiler

Compiled 6331 to 3693 computations (41.7% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.2b
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
0.3b
(fma.f64 a (*.f64 c -3) 0)
0.4b
(/.f64 1/3 a)

series338.0ms (4.5%)

Counts
3 → 68
Calls

3 calls:

321.0ms
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
10.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
7.0ms
(fma.f64 a (*.f64 c -3) 0)

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64
17×*-un-lft-identity_binary64
17×add-cbrt-cube_binary64
17×add-exp-log_binary64
14×times-frac_binary64
Counts
3 → 74
Calls

3 calls:

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

simplify104.0ms (1.4%)

Algorithm
egg-herbie
Rules
561×associate-/l/_binary64
487×div-sub_binary64
483×fma-def_binary64
201×distribute-rgt-in_binary64
155×associate-/l*_binary64
Counts
142 → 149
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02023063
15292602
219782548
342892542
456312542

prune192.0ms (2.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1757182
Fresh9110
Picked101
Done000
Total1858193
Error
0b
Counts
193 → 8
Alt Table
StatusErrorProgram
5.7b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
1.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (cbrt.f64 (/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))) (cbrt.f64 (/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
1.4b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (*.f64 (/.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 1/3)) (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (/.f64 (cbrt.f64 1/3) (cbrt.f64 a)))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
5.5b
(fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
0.3b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(*.f64 (/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (pow.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) 3) (pow.f64 b 3))) (+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (-.f64 (*.f64 b b) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 1/3 (sqrt.f64 a)))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.6b
(*.f64 (/.f64 (fma.f64 a (*.f64 c -3) 0) 1) (/.f64 (/.f64 1/3 a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
Compiler

Compiled 6103 to 3719 computations (39.1% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series341.0ms (4.5%)

Counts
3 → 60
Calls

3 calls:

247.0ms
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
50.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
43.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

rewrite19.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
56×*-un-lft-identity_binary64
40×times-frac_binary64
33×add-sqr-sqrt_binary64
32×add-cube-cbrt_binary64
15×distribute-lft-neg-in_binary64
Counts
3 → 107
Calls

3 calls:

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

simplify175.0ms (2.3%)

Algorithm
egg-herbie
Rules
473×fma-def_binary64
278×div-sub_binary64
247×associate-/l/_binary64
187×cancel-sign-sub-inv_binary64
166×distribute-rgt-neg-out_binary64
Counts
167 → 223
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02534899
16384739
220584559
345284553
449834553
549034553

prune241.0ms (3.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2443247
Fresh437
Picked011
Done000
Total2487255
Error
0b
Counts
255 → 7
Alt Table
StatusErrorProgram
0.6b
(/.f64 (neg.f64 c) (*.f64 (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.5b
(*.f64 (/.f64 (neg.f64 c) (+.f64 (pow.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) 3) (pow.f64 b 3))) (+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (-.f64 (*.f64 b b) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.4b
(*.f64 (neg.f64 c) (/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
5.5b
(fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
0.3b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 1/3 (sqrt.f64 a)))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.6b
(*.f64 (/.f64 (fma.f64 a (*.f64 c -3) 0) 1) (/.f64 (/.f64 1/3 a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
Compiler

Compiled 6585 to 3572 computations (45.8% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series444.0ms (5.9%)

Counts
2 → 40
Calls

2 calls:

247.0ms
(*.f64 (neg.f64 c) (/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
197.0ms
(/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))

rewrite24.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
37×*-un-lft-identity_binary64
29×add-sqr-sqrt_binary64
26×times-frac_binary64
22×add-cube-cbrt_binary64
18×associate-*r*_binary64
Counts
2 → 90
Calls

2 calls:

10.0ms
(*.f64 (neg.f64 c) (/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
5.0ms
(/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))

simplify114.0ms (1.5%)

Algorithm
egg-herbie
Rules
757×associate-/l*_binary64
355×fma-def_binary64
204×fma-neg_binary64
155×associate-/r/_binary64
153×distribute-lft-neg-out_binary64
Counts
130 → 173
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01913644
15433338
217813216
348953208
449403208

prune209.0ms (2.8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2490249
Fresh055
Picked011
Done011
Total2497256
Error
0b
Counts
256 → 7
Alt Table
StatusErrorProgram
0.6b
(/.f64 (neg.f64 c) (*.f64 (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.5b
(*.f64 (/.f64 (neg.f64 c) (+.f64 (pow.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) 3) (pow.f64 b 3))) (+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (-.f64 (*.f64 b b) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.4b
(*.f64 (neg.f64 c) (/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
5.5b
(fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
0.3b
(/.f64 (neg.f64 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (*.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 1/3 (sqrt.f64 a)))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.6b
(*.f64 (/.f64 (fma.f64 a (*.f64 c -3) 0) 1) (/.f64 (/.f64 1/3 a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
Compiler

Compiled 6734 to 3891 computations (42.2% saved)

regimes2.4s (32%)

Accuracy

Total 0.3b remaining (91%)

Threshold costs 0.3b (91%)

Counts
332 → 1
Compiler

Compiled 51866 to 34064 computations (34.3% saved)

simplify3.0ms (0%)

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
01338
12038
22438
32738
42838
52838

end1.0ms (0%)

Compiler

Compiled 28 to 17 computations (39.3% saved)

sample1.5s (20.1%)

Algorithm
intervals
Results
517.0ms7660×body128valid
316.0ms8983×pre128true
59.0ms983×body128nan
43.0ms340×body256valid
Compiler

Compiled 301 to 198 computations (34.2% saved)

Profiling

Loading profile data...