Details

Time bar (total: 6.1s)

analyze375.0ms (6.1%)

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)

sample1.9s (30.7%)

Results
820.0ms5272×body128valid
811.0ms2981×body256valid
147.0ms976×body128invalid
3.0msbody512valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify258.0ms (4.2%)

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

Compiled 111 to 74 computations (33.3% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series129.0ms (2.1%)

Counts
4 → 96
Calls

4 calls:

59.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
33.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
27.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
10.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))

rewrite77.0ms (1.3%)

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:

71.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
71.0ms
(fma.f64 a (*.f64 c -4) (*.f64 b b))
71.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
71.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
000
100

simplify80.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

prune166.0ms (2.7%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New22615241
Fresh101
Picked101
Done000
Total22815243
Error
0.3b
Counts
243 → 15
Alt Table
StatusErrorProgram
43.1b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) b) (/.f64 1/2 a))
3.7b
(*.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))
42.3b
(/.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))))))
4.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.2b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 1/2 a)) (*.f64 (neg.f64 b) (/.f64 1/2 a)))
6.7b
(neg.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.3b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/2 a))
42.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
3.7b
(*.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 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
42.3b
(*.f64 (/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)))) (/.f64 1/2 a))
42.9b
(pow.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))) 3)
42.3b
(/.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)))))
3.5b
(-.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))))
43.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/2 a))
42.1b
(*.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))
Compiler

Compiled 7129 to 4201 computations (41.1% saved)

localize22.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series221.0ms (3.6%)

Counts
4 → 120
Calls

4 calls:

94.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))
30.0ms
(/.f64 (*.f64 c c) (pow.f64 b 3))
14.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite71.0ms (1.2%)

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:

69.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))
69.0ms
(/.f64 (*.f64 c c) (pow.f64 b 3))
69.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
69.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
000
100

simplify174.0ms (2.8%)

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

prune525.0ms (8.6%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New1201121
Fresh01414
Picked011
Done000
Total12016136
Error
0.3b
Counts
136 → 16
Alt Table
StatusErrorProgram
43.1b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) b) (/.f64 1/2 a))
3.7b
(*.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))
42.3b
(/.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))))))
4.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.2b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 1/2 a)) (*.f64 (neg.f64 b) (/.f64 1/2 a)))
6.7b
(neg.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.3b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/2 a))
42.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
3.7b
(*.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 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
42.3b
(*.f64 (/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)))) (/.f64 1/2 a))
42.9b
(pow.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))) 3)
42.3b
(/.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)))))
3.5b
(-.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))))
43.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/2 a))
12.8b
(-.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 (log.f64 (exp.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)))) a (/.f64 c b))))
42.1b
(*.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))
Compiler

Compiled 6197 to 3875 computations (37.5% saved)

localize56.0ms (0.9%)

Local error

Found 4 expressions with local error:

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

series118.0ms (1.9%)

Counts
4 → 60
Calls

4 calls:

70.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
18.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
18.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
11.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite67.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
253×expm1-udef_binary64
253×log1p-udef_binary64
251×log-pow_binary64
153×log1p-expm1-u_binary64
153×expm1-log1p-u_binary64
Counts
4 → 103
Calls

4 calls:

65.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
65.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
65.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
65.0ms
(*.f64 (*.f64 c a) (*.f64 c a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01634
134634
2373334
3490434
000
100

simplify160.0ms (2.6%)

Algorithm
egg-herbie
Rules
620×times-frac_binary64
581×sqr-pow_binary64
507×unswap-sqr_binary64
460×associate-/l*_binary64
246×associate-/r*_binary64
Counts
163 → 107
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011816
129816
288816
3390816
42482816
53415816
63369816
73508816
83672816
93838816
103998816
114170816
124395816
134601816
144900816
154892816

prune287.0ms (4.7%)

Pruning

17 alts after pruning (15 fresh and 2 done)

PrunedKeptTotal
New1061107
Fresh01414
Picked011
Done011
Total10617123
Error
0.3b
Counts
123 → 17
Alt Table
StatusErrorProgram
43.1b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) b) (/.f64 1/2 a))
3.7b
(*.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))
3.5b
(-.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))))
7.7b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (-.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) 1))) (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))
42.3b
(/.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))))))
4.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.2b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 1/2 a)) (*.f64 (neg.f64 b) (/.f64 1/2 a)))
6.7b
(neg.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.3b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/2 a))
42.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
3.7b
(*.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 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
42.3b
(*.f64 (/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)))) (/.f64 1/2 a))
42.9b
(pow.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))) 3)
42.3b
(/.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)))))
43.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/2 a))
12.8b
(-.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 (log.f64 (exp.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)))) a (/.f64 c b))))
42.1b
(*.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))
Compiler

Compiled 6445 to 4183 computations (35.1% saved)

localize31.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series86.0ms (1.4%)

Counts
2 → 0
Calls

2 calls:

73.0ms
(/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))
12.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))

rewrite54.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
541×log-prod_binary64
267×pow2_binary64
186×pow1/3_binary64
184×expm1-udef_binary64
184×log1p-udef_binary64
Counts
2 → 75
Calls

2 calls:

52.0ms
(/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))
52.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
123520
2259220
3504120
000
100

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Counts
75 → 75
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune291.0ms (4.8%)

Pruning

18 alts after pruning (15 fresh and 3 done)

PrunedKeptTotal
New1071108
Fresh01414
Picked011
Done022
Total10718125
Error
0.3b
Counts
125 → 18
Alt Table
StatusErrorProgram
43.1b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) b) (/.f64 1/2 a))
3.7b
(*.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))
23.1b
(*.f64 (neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 c a) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 c a) 2))))) (pow.f64 b 3))) (+.f64 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
3.7b
(*.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 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
3.5b
(-.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))))
7.7b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (-.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) 1))) (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))
42.3b
(/.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))))))
4.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.2b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 1/2 a)) (*.f64 (neg.f64 b) (/.f64 1/2 a)))
6.7b
(neg.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
43.3b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/2 a))
42.9b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)) 3) (/.f64 1/2 a))
42.3b
(*.f64 (/.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)))) (/.f64 1/2 a))
42.9b
(pow.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))) 3)
42.3b
(/.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)))))
43.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/2 a))
12.8b
(-.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 (log.f64 (exp.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)))) a (/.f64 c b))))
42.1b
(*.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))
Compiler

Compiled 6697 to 4613 computations (31.1% saved)

regimes548.0ms (9%)

Accuracy

Total 2.6b remaining (87%)

Threshold costs 0b (0%)

Counts
84 → 1
Compiler

Compiled 12884 to 9046 computations (29.8% saved)

simplify3.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
02757
13257
23757
33957
44057
54057

end410.0ms (6.7%)

Compiler

Compiled 726 to 495 computations (31.8% saved)

Profiling

Loading profile data...