Details

Time bar (total: 4.9s)

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

sample1.5s (29.9%)

Results
1.2s7913×body128valid
121.0ms818×body128invalid
95.0ms343×body256valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify28.0ms (0.6%)

Algorithm
egg-herbie
Rules
763×fma-neg_binary64
619×times-frac_binary64
367×fma-def_binary64
242×distribute-rgt-in_binary64
239×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13322
27222
316322
426722
543622
674722
7133522
8268922
9408622
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
29.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
Compiler

Compiled 111 to 75 computations (32.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series123.0ms (2.5%)

Counts
4 → 96
Calls

4 calls:

52.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
34.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
27.0ms
(sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))
9.0ms
(fma.f64 b b (*.f64 a (*.f64 c -4)))

rewrite68.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
737×prod-diff_binary64
158×egg-rr
139×add-sqr-sqrt_binary64
132×log1p-expm1-u_binary64
132×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01362
128159
2362659
Stop Event
node limit
Counts
4 → 158
Calls

4 calls:

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

simplify46.0ms (0.9%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
467×associate-/l*_binary64
430×fma-def_binary64
421×associate-/r*_binary64
142×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01212241
14022164
214052078
Stop Event
node limit
Counts
254 → 232

prune145.0ms (2.9%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New22111232
Fresh011
Picked011
Done000
Total22113234
Error
0.8b
Counts
234 → 13
Alt Table
StatusErrorProgram
29.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
30.5b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b))) (/.f64 1/2 a))
30.5b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)) b)) (/.f64 1/2 a))
6.5b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 c a) (/.f64 (pow.f64 b 3) (*.f64 c a))))) (fma.f64 4 (/.f64 (pow.f64 a 3) (/.f64 (pow.f64 b 5) (pow.f64 c 3))) (*.f64 (/.f64 10 (pow.f64 b 7)) (*.f64 (pow.f64 c 4) (pow.f64 a 4))))) (/.f64 1/2 a))
29.7b
(*.f64 (fma.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (neg.f64 b)) (/.f64 1/2 a))
11.6b
(neg.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
30.0b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/2 a))
30.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/2 a))
6.6b
(*.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))
29.6b
(*.f64 (-.f64 (sqrt.f64 (/.f64 (-.f64 (*.f64 (*.f64 b b) (*.f64 b b)) (pow.f64 (*.f64 a (*.f64 c -4)) 2)) (-.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) b) (/.f64 1/2 a))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
6.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
30.4b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 3/2)) b) (/.f64 1/2 a))
Compiler

Compiled 6430 to 4028 computations (37.4% saved)

localize23.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series169.0ms (3.4%)

Counts
4 → 60
Calls

4 calls:

71.0ms
(/.f64 (*.f64 a a) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))
36.0ms
(/.f64 (pow.f64 a 3) (pow.f64 b 7))
33.0ms
(/.f64 (pow.f64 b 5) (pow.f64 c 3))
29.0ms
(/.f64 (*.f64 c c) (pow.f64 b 3))

rewrite44.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
190×add-sqr-sqrt_binary64
185×log1p-expm1-u_binary64
185×expm1-log1p-u_binary64
182×add-cbrt-cube_binary64
179×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01846
140446
Stop Event
node limit
Counts
4 → 135
Calls

4 calls:

42.0ms
(/.f64 (pow.f64 a 3) (pow.f64 b 7))
42.0ms
(/.f64 (pow.f64 b 5) (pow.f64 c 3))
42.0ms
(/.f64 (*.f64 c c) (pow.f64 b 3))
42.0ms
(/.f64 (*.f64 a a) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))

simplify73.0ms (1.5%)

Algorithm
egg-herbie
Rules
688×times-frac_binary64
482×associate-/l*_binary64
272×sqr-pow_binary64
262×associate-/r*_binary64
246×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015816
142816
2119816
3515816
44067816
54136816
64281816
74505816
84738816
Stop Event
node limit
Counts
195 → 139

prune245.0ms (5%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New1381139
Fresh11011
Picked011
Done011
Total13913152
Error
0.8b
Counts
152 → 13
Alt Table
StatusErrorProgram
21.3b
(-.f64 (*.f64 -2 (log.f64 (pow.f64 (pow.f64 (exp.f64 a) a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
29.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
30.5b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b))) (/.f64 1/2 a))
30.5b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)) b)) (/.f64 1/2 a))
6.5b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 c a) (/.f64 (pow.f64 b 3) (*.f64 c a))))) (fma.f64 4 (/.f64 (pow.f64 a 3) (/.f64 (pow.f64 b 5) (pow.f64 c 3))) (*.f64 (/.f64 10 (pow.f64 b 7)) (*.f64 (pow.f64 c 4) (pow.f64 a 4))))) (/.f64 1/2 a))
30.0b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/2 a))
30.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/2 a))
6.6b
(*.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))
29.6b
(*.f64 (-.f64 (sqrt.f64 (/.f64 (-.f64 (*.f64 (*.f64 b b) (*.f64 b b)) (pow.f64 (*.f64 a (*.f64 c -4)) 2)) (-.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) b) (/.f64 1/2 a))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
6.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
30.4b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 3/2)) b) (/.f64 1/2 a))
29.7b
(*.f64 (fma.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (neg.f64 b)) (/.f64 1/2 a))
Compiler

Compiled 6821 to 4257 computations (37.6% saved)

localize32.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

series205.0ms (4.1%)

Counts
3 → 72
Calls

3 calls:

96.0ms
(*.f64 (/.f64 10 (pow.f64 b 7)) (*.f64 (pow.f64 c 4) (pow.f64 a 4)))
78.0ms
(/.f64 (pow.f64 a 3) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))
31.0ms
(/.f64 (pow.f64 b 3) (*.f64 c a))

rewrite30.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
240×add-sqr-sqrt_binary64
236×log1p-expm1-u_binary64
236×expm1-log1p-u_binary64
227×add-cbrt-cube_binary64
225×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02342
151941
Stop Event
node limit
Counts
3 → 52
Calls

3 calls:

29.0ms
(/.f64 (pow.f64 b 3) (*.f64 c a))
29.0ms
(/.f64 (pow.f64 a 3) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))
29.0ms
(*.f64 (/.f64 10 (pow.f64 b 7)) (*.f64 (pow.f64 c 4) (pow.f64 a 4)))

simplify56.0ms (1.1%)

Algorithm
egg-herbie
Rules
536×associate-/r*_binary64
514×associate-*l*_binary64
483×associate-*r*_binary64
288×associate-/r/_binary64
275×associate-/l/_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0201260
1551260
21821260
39731260
447991152
548761044
Stop Event
node limit
Counts
124 → 56

prune194.0ms (3.9%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New86288
Fresh01010
Picked101
Done022
Total8714101
Error
0.7b
Counts
101 → 14
Alt Table
StatusErrorProgram
21.3b
(-.f64 (*.f64 -2 (log.f64 (pow.f64 (pow.f64 (exp.f64 a) a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
29.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
30.5b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b))) (/.f64 1/2 a))
6.6b
(*.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))
6.8b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 c a) (/.f64 (pow.f64 b 3) (*.f64 c a))))) (fma.f64 4 (/.f64 (pow.f64 a 3) (/.f64 (pow.f64 b 5) (pow.f64 c 3))) (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 10 (pow.f64 b -7)) (pow.f64 (*.f64 c a) 4)))) 1))) (/.f64 1/2 a))
6.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
8.3b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 c a) (/.f64 (pow.f64 b 3) (*.f64 c a))))) (fma.f64 4 (log.f64 (exp.f64 (pow.f64 (/.f64 a (/.f64 (cbrt.f64 (pow.f64 b 5)) c)) 3))) (*.f64 (/.f64 10 (pow.f64 b 7)) (*.f64 (pow.f64 c 4) (pow.f64 a 4))))) (/.f64 1/2 a))
30.0b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/2 a))
30.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/2 a))
30.5b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)) b)) (/.f64 1/2 a))
29.6b
(*.f64 (-.f64 (sqrt.f64 (/.f64 (-.f64 (*.f64 (*.f64 b b) (*.f64 b b)) (pow.f64 (*.f64 a (*.f64 c -4)) 2)) (-.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) b) (/.f64 1/2 a))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
30.4b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 3/2)) b) (/.f64 1/2 a))
29.7b
(*.f64 (fma.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (neg.f64 b)) (/.f64 1/2 a))
Compiler

Compiled 5560 to 3614 computations (35% saved)

localize33.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

series172.0ms (3.5%)

Counts
4 → 36
Calls

4 calls:

82.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
61.0ms
(*.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))
17.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
12.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))

rewrite38.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
405×log1p-expm1-u_binary64
405×expm1-log1p-u_binary64
378×add-log-exp_binary64
371×pow1_binary64
133×unpow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03893
189293
Stop Event
node limit
Counts
4 → 59
Calls

4 calls:

37.0ms
(*.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))
37.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
37.0ms
(*.f64 (pow.f64 c 2) (pow.f64 a 2))
37.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))

simplify39.0ms (0.8%)

Algorithm
egg-herbie
Rules
888×fma-neg_binary64
338×distribute-lft-neg-in_binary64
337×distribute-rgt-neg-in_binary64
285×unswap-sqr_binary64
215×distribute-neg-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0421359
11381359
24651315
326571315
Stop Event
node limit
Counts
95 → 73

prune127.0ms (2.6%)

Pruning

16 alts after pruning (13 fresh and 3 done)

PrunedKeptTotal
New70373
Fresh11011
Picked011
Done022
Total711687
Error
0.7b
Counts
87 → 16
Alt Table
StatusErrorProgram
21.3b
(-.f64 (*.f64 -2 (log.f64 (pow.f64 (pow.f64 (exp.f64 a) a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
29.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
30.5b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (sqrt.f64 b))) (/.f64 1/2 a))
6.5b
(/.f64 (*.f64 (neg.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (*.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b -3)) (fma.f64 (*.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b -5)) 4 (/.f64 (*.f64 10 (pow.f64 (*.f64 c a) 4)) (pow.f64 b 7)))))) 1/2) a)
30.0b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/2 a))
6.6b
(*.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))
6.8b
(*.f64 (-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 c a) (/.f64 (pow.f64 b 3) (*.f64 c a))))) (fma.f64 4 (/.f64 (pow.f64 a 3) (/.f64 (pow.f64 b 5) (pow.f64 c 3))) (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 10 (pow.f64 b -7)) (pow.f64 (*.f64 c a) 4)))) 1))) (/.f64 1/2 a))
8.0b
(*.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 (exp.f64 (log1p.f64 (pow.f64 (*.f64 c a) 3))) 1) (pow.f64 b 5))))))) (/.f64 1/2 a))
29.6b
(*.f64 (-.f64 (sqrt.f64 (/.f64 (-.f64 (*.f64 (*.f64 b b) (*.f64 b b)) (pow.f64 (*.f64 a (*.f64 c -4)) 2)) (-.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) b) (/.f64 1/2 a))
6.8b
(cbrt.f64 (pow.f64 (*.f64 (neg.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (*.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b -3)) (fma.f64 (*.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b -5)) 4 (/.f64 (*.f64 10 (pow.f64 (*.f64 c a) 4)) (pow.f64 b 7)))))) (/.f64 1/2 a)) 3))
30.4b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 3/2)) b) (/.f64 1/2 a))
30.4b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/2 a))
30.5b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)) b)) (/.f64 1/2 a))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
6.4b
(-.f64 (*.f64 -2 (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 5) (pow.f64 c 3)))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
29.7b
(*.f64 (fma.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 1/4) (neg.f64 b)) (/.f64 1/2 a))
Compiler

Compiled 4101 to 2817 computations (31.3% saved)

regimes805.0ms (16.3%)

Accuracy

Total 5.2b remaining (87.4%)

Threshold costs 0b (0%)

Counts
127 → 1
Compiler

Compiled 22864 to 16046 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
13157
23657
33857
43957
Stop Event
saturated

end394.0ms (8%)

Compiler

Compiled 715 to 495 computations (30.8% saved)

Profiling

Loading profile data...