Details

Time bar (total: 6.5s)

analyze357.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)

sample2.6s (40.6%)

Results
1.0s3948×body256valid
672.0ms1529×body512valid
643.0ms2779×body128valid
123.0ms875×body128invalid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify257.0ms (4%)

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

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
51.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
51.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
51.4b
(*.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)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
0.1b
(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))
26.5b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)

series132.0ms (2%)

Counts
4 → 96
Calls

4 calls:

56.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
37.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
28.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
10.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

rewrite78.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
781×prod-diff_binary64
244×log1p-udef_binary64
169×egg-rr
138×add-sqr-sqrt_binary64
132×log1p-expm1-u_binary64
Counts
4 → 169
Calls

4 calls:

75.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
75.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
75.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
74.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01362
127962
2338562
3510262

simplify82.0ms (1.3%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
467×associate-/l*_binary64
436×fma-def_binary64
432×fma-neg_binary64
426×associate-/r*_binary64
Counts
265 → 241
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01212241
13982164
213272078
349542078
452182078

prune346.0ms (5.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New23011241
Fresh101
Picked101
Done000
Total23211243
Error
0.1b
Counts
243 → 11
Alt Table
StatusErrorProgram
51.2b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (/.f64 1/2 a)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
51.4b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
51.4b
(/.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) 1/2) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
2.8b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 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))
50.9b
(*.f64 (/.f64 1 (/.f64 (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)))) (/.f64 1/2 a))
3.4b
(*.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) (/.f64 1/2 a))
51.2b
(/.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (*.f64 (*.f64 a 2) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
2.6b
(-.f64 (*.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)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
50.8b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/2 a))
51.4b
(*.f64 (-.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3))) b) (/.f64 1/2 a))
50.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)) (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (/.f64 1/2 a))
Compiler

Compiled 6945 to 4073 computations (41.4% saved)

localize23.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 c c) (pow.f64 b 3))
0.3b
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
0.4b
(*.f64 (*.f64 a a) (pow.f64 c 3))
0.4b
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))

series221.0ms (3.4%)

Counts
4 → 120
Calls

4 calls:

95.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
81.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
31.0ms
(/.f64 (*.f64 c c) (pow.f64 b 3))
13.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite73.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
357×log1p-udef_binary64
209×add-sqr-sqrt_binary64
208×log1p-expm1-u_binary64
208×expm1-log1p-u_binary64
202×add-cbrt-cube_binary64
Counts
4 → 115
Calls

4 calls:

71.0ms
(/.f64 (*.f64 c c) (pow.f64 b 3))
71.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
71.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))
71.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02152
146352
2454852
3531552

simplify152.0ms (2.3%)

Algorithm
egg-herbie
Rules
656×associate-*l*_binary64
586×associate-/r*_binary64
574×associate-*r*_binary64
296×sqr-pow_binary64
268×associate-/l/_binary64
Counts
235 → 121
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0221632
1611632
21911632
38851632
441391632
542261632
644251632
747601632
850071632

prune184.0ms (2.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1210121
Fresh01010
Picked011
Done000
Total12111132
Error
0.1b
Counts
132 → 11
Alt Table
StatusErrorProgram
51.2b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (/.f64 1/2 a)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
51.4b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
51.4b
(/.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) 1/2) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
2.8b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 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))
50.9b
(*.f64 (/.f64 1 (/.f64 (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)))) (/.f64 1/2 a))
3.4b
(*.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) (/.f64 1/2 a))
51.2b
(/.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (*.f64 (*.f64 a 2) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
2.6b
(-.f64 (*.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)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
50.8b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/2 a))
51.4b
(*.f64 (-.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3))) b) (/.f64 1/2 a))
50.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)) (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (/.f64 1/2 a))
Compiler

Compiled 5925 to 3685 computations (37.8% saved)

localize30.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
0.4b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 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))
0.4b
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
0.5b
(*.f64 (*.f64 c a) (*.f64 c a))

series160.0ms (2.5%)

Counts
4 → 96
Calls

4 calls:

67.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
65.0ms
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 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))
18.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
10.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite42.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
342×log1p-expm1-u_binary64
342×expm1-log1p-u_binary64
329×add-cbrt-cube_binary64
326×add-log-exp_binary64
325×add-exp-log_binary64
Counts
4 → 62
Calls

4 calls:

40.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
40.0ms
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 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))
40.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
40.0ms
(*.f64 (*.f64 c a) (*.f64 c a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03390
174790
2505490

simplify85.0ms (1.3%)

Algorithm
egg-herbie
Rules
888×fma-neg_binary64
344×distribute-rgt-neg-in_binary64
341×distribute-lft-neg-in_binary64
335×neg-mul-1_binary64
323×unswap-sqr_binary64
Counts
158 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0442175
11412175
24892131
324722131
447202131
551532131

prune122.0ms (1.9%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New79180
Fresh099
Picked101
Done011
Total801191
Error
0.1b
Counts
91 → 11
Alt Table
StatusErrorProgram
51.2b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (/.f64 1/2 a)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
51.4b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
50.9b
(*.f64 (/.f64 1 (/.f64 (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)))) (/.f64 1/2 a))
3.4b
(*.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) (/.f64 1/2 a))
3.2b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3))
51.2b
(/.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (*.f64 (*.f64 a 2) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
2.6b
(-.f64 (*.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)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
50.8b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/2 a))
51.4b
(*.f64 (-.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3))) b) (/.f64 1/2 a))
51.4b
(/.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) 1/2) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
50.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)) (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (/.f64 1/2 a))
Compiler

Compiled 4285 to 2804 computations (34.6% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3))
0.8b
(pow.f64 (*.f64 c a) 3)
0.8b
(pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3)
1.0b
(pow.f64 (*.f64 c a) 4)

series277.0ms (4.3%)

Counts
4 → 120
Calls

4 calls:

157.0ms
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3))
92.0ms
(pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3)
15.0ms
(pow.f64 (*.f64 c a) 4)
12.0ms
(pow.f64 (*.f64 c a) 3)

rewrite49.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
324×log1p-expm1-u_binary64
324×expm1-log1p-u_binary64
310×add-cbrt-cube_binary64
307×add-log-exp_binary64
306×add-exp-log_binary64
Counts
4 → 74
Calls

4 calls:

46.0ms
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3))
46.0ms
(pow.f64 (*.f64 c a) 3)
46.0ms
(pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3)
46.0ms
(pow.f64 (*.f64 c a) 4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032143
1705143
24707143

simplify83.0ms (1.3%)

Algorithm
egg-herbie
Rules
803×associate-/l*_binary64
525×associate-/r*_binary64
439×fma-def_binary64
207×associate-/r/_binary64
118×unswap-sqr_binary64
Counts
194 → 108
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01393859
14273847
216413791
351723791

prune149.0ms (2.3%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1053108
Fresh099
Picked011
Done011
Total10514119
Error
0.1b
Counts
119 → 14
Alt Table
StatusErrorProgram
51.2b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (/.f64 1/2 a)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
51.4b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
50.9b
(*.f64 (/.f64 1 (/.f64 (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)))) (/.f64 1/2 a))
3.4b
(*.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) (/.f64 1/2 a))
3.2b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 3))
51.2b
(/.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (*.f64 (*.f64 a 2) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
2.6b
(-.f64 (*.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)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
3.1b
(cbrt.f64 (neg.f64 (fma.f64 3 (/.f64 (*.f64 (pow.f64 c 4) a) (pow.f64 b 5)) (fma.f64 28 (/.f64 (*.f64 (pow.f64 c 6) (pow.f64 a 3)) (pow.f64 b 9)) (fma.f64 9 (/.f64 (*.f64 (pow.f64 c 5) (*.f64 a a)) (pow.f64 b 7)) (/.f64 (pow.f64 c 3) (pow.f64 b 3)))))))
50.8b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/2 a))
51.4b
(*.f64 (-.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3))) b) (/.f64 1/2 a))
5.5b
(*.f64 (cbrt.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a))) (pow.f64 (pow.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a)) 2) 1/3))
51.4b
(/.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) 1/2) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 a))
50.9b
(*.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) (pow.f64 b 3)) (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (/.f64 1/2 a))
3.6b
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a))) 2) 3) (*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (fma.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 10 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (/.f64 1/2 a))))
Compiler

Compiled 5772 to 3824 computations (33.7% saved)

regimes548.0ms (8.4%)

Accuracy

Total 1.3b remaining (88.4%)

Threshold costs 0b (0%)

Counts
113 → 1
Compiler

Compiled 13944 to 9634 computations (30.9% saved)

simplify4.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
02857
13357
23857
34057
44157
54157

end366.0ms (5.6%)

Compiler

Compiled 706 to 471 computations (33.3% saved)

Profiling

Loading profile data...