Details

Time bar (total: 13.6s)

analyze1.2s (8.7%)

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.2s (16.5%)

Results
1.0s3842×body256valid
596.0ms1544×body512valid
429.0ms2870×body128valid
132.0ms912×body128invalid
Compiler

Compiled 63 to 45 computations (28.6% saved)

simplify115.0ms (0.8%)

Algorithm
egg-herbie
Rules
512×fma-def_binary64
308×distribute-rgt-in_binary64
285×fma-neg_binary64
278×distribute-lft-in_binary64
241×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13322
27322
317722
429122
552422
6112322
7235222

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 75 computations (32.4% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series184.0ms (1.4%)

Counts
4 → 96
Calls

4 calls:

82.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
51.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
42.0ms
(sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))
10.0ms
(fma.f64 b b (*.f64 a (*.f64 c -4)))

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
42×add-sqr-sqrt_binary64
32×*-un-lft-identity_binary64
28×add-cube-cbrt_binary64
18×prod-diff_binary64
17×sqrt-prod_binary64
Counts
4 → 109
Calls

4 calls:

8.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
5.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
1.0ms
(sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))
0.0ms
(fma.f64 b b (*.f64 a (*.f64 c -4)))

simplify1.4s (10.3%)

Algorithm
egg-herbie
Rules
607×cancel-sign-sub-inv_binary64
331×fma-neg_binary64
196×unswap-sqr_binary64
172×associate-*r*_binary64
171×associate-*l*_binary64
Counts
205 → 232
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02745367
17684465
230564311

prune159.0ms (1.2%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New22210232
Fresh101
Picked101
Done000
Total22410234
Error
0.1b
Counts
234 → 10
Alt Table
StatusErrorProgram
52.7b
(/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 b b)) 1/2) (*.f64 (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) a))
51.8b
(*.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (/.f64 1/2 a))
2.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 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 1/2)) (sqrt.f64 a))) (/.f64 (cbrt.f64 1/2) (sqrt.f64 a)))
52.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) 3) (pow.f64 b 3)) (+.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (+.f64 (*.f64 b b) (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
52.6b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (/.f64 1/2 a)))
51.4b
(/.f64 (*.f64 (fma.f64 b b (fma.f64 c (*.f64 -4 a) (neg.f64 (*.f64 b b)))) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))
1.6b
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 5 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))))
Compiler

Compiled 6824 to 4224 computations (38.1% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series231.0ms (1.7%)

Counts
4 → 0
Calls

4 calls:

104.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
93.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))
19.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 3))
14.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 2))

rewrite43.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
146×add-exp-log_binary64
72×prod-exp_binary64
68×pow-exp_binary64
68×pow-to-exp_binary64
60×div-exp_binary64
Counts
4 → 225
Calls

4 calls:

8.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
7.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 3))
6.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 2))
6.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))

simplify1.5s (11.3%)

Algorithm
egg-herbie
Rules
952×unswap-sqr_binary64
292×associate-*l*_binary64
280×associate-*r*_binary64
252×associate-/l*_binary64
180×times-frac_binary64
Counts
225 → 237
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02774119
16483613
232853485

prune361.0ms (2.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2370237
Fresh099
Picked011
Done000
Total23710247
Error
0.1b
Counts
247 → 10
Alt Table
StatusErrorProgram
52.7b
(/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 b b)) 1/2) (*.f64 (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) a))
51.8b
(*.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (/.f64 1/2 a))
2.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 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 1/2)) (sqrt.f64 a))) (/.f64 (cbrt.f64 1/2) (sqrt.f64 a)))
52.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) 3) (pow.f64 b 3)) (+.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (+.f64 (*.f64 b b) (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
52.6b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (/.f64 1/2 a)))
51.4b
(/.f64 (*.f64 (fma.f64 b b (fma.f64 c (*.f64 -4 a) (neg.f64 (*.f64 b b)))) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))
1.6b
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 5 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))))
Compiler

Compiled 12294 to 8693 computations (29.3% saved)

localize33.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series212.0ms (1.6%)

Counts
4 → 36
Calls

4 calls:

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

rewrite78.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
92×add-exp-log_binary64
73×add-sqr-sqrt_binary64
47×prod-exp_binary64
40×pow-exp_binary64
40×pow-to-exp_binary64
Counts
4 → 229
Calls

4 calls:

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

simplify1.9s (13.8%)

Algorithm
egg-herbie
Rules
258×associate-/l*_binary64
204×fma-def_binary64
194×distribute-lft-in_binary64
194×distribute-rgt-in_binary64
192×times-frac_binary64
Counts
265 → 311
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
043211075
1139610182

prune656.0ms (4.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New3092311
Fresh088
Picked011
Done011
Total30912321
Error
0.1b
Counts
321 → 12
Alt Table
StatusErrorProgram
1.9b
(/.f64 (*.f64 (fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) -1/2) a)
1.6b
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 5 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))))
52.7b
(/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 b b)) 1/2) (*.f64 (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) a))
51.8b
(*.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (/.f64 1/2 a))
2.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 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 1/2)) (sqrt.f64 a))) (/.f64 (cbrt.f64 1/2) (sqrt.f64 a)))
52.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) 3) (pow.f64 b 3)) (+.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (+.f64 (*.f64 b b) (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
52.6b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (/.f64 1/2 a)))
51.4b
(/.f64 (*.f64 (fma.f64 b b (fma.f64 c (*.f64 -4 a) (neg.f64 (*.f64 b b)))) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))
2.0b
(/.f64 (*.f64 (fma.f64 b (fma.f64 2 (*.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (fma.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))) (*.f64 (pow.f64 b 3) (fma.f64 100 (*.f64 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 -16 (/.f64 (*.f64 (pow.f64 c 6) (pow.f64 a 6)) (pow.f64 b 10)))))) (*.f64 (*.f64 2 (*.f64 c a)) (*.f64 (pow.f64 b 3) (fma.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))))) -1/2) (*.f64 b (*.f64 (*.f64 (pow.f64 b 3) (fma.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))) a)))
Compiler

Compiled 24641 to 17471 computations (29.1% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series243.0ms (1.8%)

Counts
4 → 36
Calls

4 calls:

107.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))
76.0ms
(*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))
40.0ms
(/.f64 (pow.f64 c 3) (pow.f64 b 5))
20.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))

rewrite49.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
136×add-exp-log_binary64
107×times-frac_binary64
85×unpow-prod-down_binary64
82×add-sqr-sqrt_binary64
66×*-un-lft-identity_binary64
Counts
4 → 283
Calls

4 calls:

9.0ms
(*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))
7.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))
6.0ms
(/.f64 (pow.f64 c 3) (pow.f64 b 5))
5.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))

simplify1.2s (8.5%)

Algorithm
egg-herbie
Rules
436×associate-/l*_binary64
407×times-frac_binary64
347×associate-*r*_binary64
347×associate-*l*_binary64
239×associate-/r*_binary64
Counts
319 → 320
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03935850
19245448
248845448

prune597.0ms (4.4%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New3200320
Fresh099
Picked011
Done022
Total32012332
Error
0.1b
Counts
332 → 12
Alt Table
StatusErrorProgram
1.9b
(/.f64 (*.f64 (fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) -1/2) a)
1.6b
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 5 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))))
52.7b
(/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (*.f64 b b)) 1/2) (*.f64 (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) a))
51.8b
(*.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (neg.f64 b)) (/.f64 1/2 a))
2.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 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 1/2)) (sqrt.f64 a))) (/.f64 (cbrt.f64 1/2) (sqrt.f64 a)))
52.6b
(*.f64 (/.f64 (-.f64 (pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) 3) (pow.f64 b 3)) (+.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) (+.f64 (*.f64 b b) (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (/.f64 1/2 a))
52.6b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (/.f64 1/2 a)))) (cbrt.f64 (/.f64 1/2 a)))
52.6b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))) (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)) (/.f64 1/2 a)))
51.4b
(/.f64 (*.f64 (fma.f64 b b (fma.f64 c (*.f64 -4 a) (neg.f64 (*.f64 b b)))) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b))
2.0b
(/.f64 (*.f64 (fma.f64 b (fma.f64 2 (*.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (fma.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))) (*.f64 (pow.f64 b 3) (fma.f64 100 (*.f64 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 -16 (/.f64 (*.f64 (pow.f64 c 6) (pow.f64 a 6)) (pow.f64 b 10)))))) (*.f64 (*.f64 2 (*.f64 c a)) (*.f64 (pow.f64 b 3) (fma.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))))) -1/2) (*.f64 b (*.f64 (*.f64 (pow.f64 b 3) (fma.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))) a)))
Compiler

Compiled 19245 to 12100 computations (37.1% saved)

regimes737.0ms (5.4%)

Accuracy

Total 1.3b remaining (87%)

Threshold costs 0b (0%)

Counts
102 → 1
Compiler

Compiled 21708 to 15546 computations (28.4% 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
02859
13459
23959
34159
44259

soundness69.0ms (0.5%)

Compiler

Compiled 3020 to 2290 computations (24.2% saved)

end366.0ms (2.7%)

Compiler

Compiled 706 to 495 computations (29.9% saved)

Profiling

Loading profile data...