Details

Time bar (total: 6.0s)

analyze689.0ms (11.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.2s (37.1%)

Results
746.0ms5461×body128valid
601.0ms1136×body2048valid
297.0ms708×body1024valid
232.0ms377×body4096valid
154.0ms1093×body128invalid
129.0ms388×body512valid
49.0ms186×body256valid
Compiler

Compiled 42 to 30 computations (28.6% saved)

preprocess40.0ms (0.7%)

Algorithm
egg-herbie
Rules
531×associate-/l*_binary64
461×fma-neg_binary64
449×div-sub_binary64
277×fma-def_binary64
251×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039104
111596
230896
378488
4148288
5283988
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 4 (*.f64 b c))))) (*.f64 2 b))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 2 c))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 4 (*.f64 a b))))) (*.f64 2 a))
Outputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 a 2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (*.f64 a 2))
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) a))
(*.f64 (/.f64 -1/2 a) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 4 (*.f64 b c))))) (*.f64 2 b))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 4 (*.f64 b c))))) (*.f64 b 2))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (fma.f64 a a (*.f64 (*.f64 b c) -4)))) (*.f64 b 2))
(*.f64 -1/2 (/.f64 (+.f64 a (sqrt.f64 (fma.f64 (*.f64 b c) -4 (*.f64 a a)))) b))
(*.f64 (/.f64 -1/2 b) (+.f64 a (sqrt.f64 (fma.f64 (*.f64 b c) -4 (*.f64 a a)))))
(*.f64 (/.f64 -1/2 b) (+.f64 a (sqrt.f64 (fma.f64 a a (*.f64 (*.f64 b c) -4)))))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 2 c))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 c 2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (*.f64 c 2))
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))) c))
(*.f64 (/.f64 -1/2 c) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 4 (*.f64 a b))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 4 (*.f64 b a))))) (*.f64 a 2))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 c c (*.f64 (*.f64 b a) -4)))) (*.f64 a 2))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 (*.f64 b a) -4 (*.f64 c c)))) (*.f64 a 2))
(*.f64 -1/2 (/.f64 (+.f64 c (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c)))) a))
(*.f64 (/.f64 -1/2 a) (+.f64 c (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c)))))
Compiler

Compiled 20 to 14 computations (30% saved)

simplify39.0ms (0.6%)

Algorithm
egg-herbie
Rules
846×fma-def_binary64
544×div-sub_binary64
489×fma-neg_binary64
405×times-frac_binary64
262×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13824
210024
325922
446022
584022
6179022
7299922
8368222
9474222
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Outputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 a 2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (*.f64 a 2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b)))) (*.f64 a 2))
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) a))
(*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
1.4b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
1.9b
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
24.2b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series40.0ms (0.7%)

Counts
4 → 96
Calls

36 calls:

TimeVariablePointExpression
4.0ms
b
@0
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
3.0ms
c
@inf
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
3.0ms
a
@inf
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
3.0ms
c
@-inf
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
2.0ms
c
@inf
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

rewrite50.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
176×add-sqr-sqrt_binary64
169×*-un-lft-identity_binary64
169×pow1_binary64
165×add-exp-log_binary64
165×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01574
134762
Stop Event
node limit
Counts
4 → 160
Calls
Call 1
Inputs
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2) 1/2) (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 b 6) (*.f64 (pow.f64 (*.f64 a c) 3) 64))) (sqrt.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 4 (*.f64 a c)) (fma.f64 b b (*.f64 4 (*.f64 a c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 b 4) (*.f64 (pow.f64 (*.f64 a c) 2) 16))) (sqrt.f64 (fma.f64 b b (*.f64 4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 b (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 b (*.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (fma.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (fma.f64 (neg.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4)) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 b 3) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3/2)) (/.f64 1 (fma.f64 b b (+.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (*.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 b) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4)) (-.f64 (sqrt.f64 b) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 b b (+.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (*.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))) (-.f64 (pow.f64 b 3) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 b 3) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3/2)) (fma.f64 b b (+.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (*.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 b 3) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3/2))) (neg.f64 (fma.f64 b b (+.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (*.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 3) (pow.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 3)) (+.f64 (*.f64 b b) (-.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 b (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 b b) (*.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))) (-.f64 b (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 b (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (sqrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 b (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 (*.f64 (*.f64 a c) -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (+.f64 (*.f64 (*.f64 a c) -4) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (fma.f64 -4 (*.f64 a c) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (fma.f64 (*.f64 (*.f64 a c) -4) 1 (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 4 (*.f64 a c)))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (fma.f64 (neg.f64 (*.f64 2 (sqrt.f64 (*.f64 a c)))) (*.f64 2 (sqrt.f64 (*.f64 a c))) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (fma.f64 (neg.f64 c) (*.f64 4 a) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (*.f64 (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (+.f64 (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))) (fma.f64 b b (*.f64 (*.f64 a c) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a c) -4) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2) (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) (*.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 b 6) (*.f64 (pow.f64 (*.f64 a c) 3) 64)) (/.f64 1 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 4 (*.f64 a c)) (fma.f64 b b (*.f64 4 (*.f64 a c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 b 4) (*.f64 (pow.f64 (*.f64 a c) 2) 16)) (/.f64 1 (fma.f64 b b (*.f64 4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4)) (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b (*.f64 2 (sqrt.f64 (*.f64 a c)))) (-.f64 b (*.f64 2 (sqrt.f64 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 4 (*.f64 a c)) (fma.f64 b b (*.f64 4 (*.f64 a c))))) (-.f64 (pow.f64 b 6) (*.f64 (pow.f64 (*.f64 a c) 3) 64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 b b (*.f64 4 (*.f64 a c))) (-.f64 (pow.f64 b 4) (*.f64 (pow.f64 (*.f64 a c) 2) 16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 b 6) (*.f64 (pow.f64 (*.f64 a c) 3) 64)) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 4 (*.f64 a c)) (fma.f64 b b (*.f64 4 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 b 4) (*.f64 (pow.f64 (*.f64 a c) 2) 16)) (fma.f64 b b (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 b 6) (*.f64 (pow.f64 (*.f64 a c) 3) 64))) (neg.f64 (+.f64 (pow.f64 b 4) (*.f64 (*.f64 4 (*.f64 a c)) (fma.f64 b b (*.f64 4 (*.f64 a c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 b 4) (*.f64 (pow.f64 (*.f64 a c) 2) 16))) (neg.f64 (fma.f64 b b (*.f64 4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 6) (pow.f64 (*.f64 (*.f64 a c) -4) 3)) (+.f64 (pow.f64 b 4) (-.f64 (*.f64 (*.f64 (*.f64 a c) -4) (*.f64 (*.f64 a c) -4)) (*.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3) (pow.f64 (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))) 3)) (+.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 2) (-.f64 (*.f64 (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c)))) (*.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 b 4) (*.f64 (*.f64 (*.f64 a c) -4) (*.f64 (*.f64 a c) -4))) (-.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 2) (*.f64 (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))))) (-.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b b (*.f64 (*.f64 a c) -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b b) (*.f64 (*.f64 a c) -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 b b (*.f64 (*.f64 a c) -4)) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2) (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (+.f64 (*.f64 (*.f64 a c) -4) (*.f64 4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 (cbrt.f64 b) 2) (*.f64 (*.f64 a c) -4))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (/.f64 1/2 a)) (neg.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 b (/.f64 1/2 a)) (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) (pow.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 2) (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) (*.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) (sqrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 a) (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1 (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1/2) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) a) (/.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) a) (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) 2) (/.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) 1) (/.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 a 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 1) (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 a 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 a 2)) 2)) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (cbrt.f64 (*.f64 a 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) (pow.f64 (cbrt.f64 (*.f64 a 2)) 2)) (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (pow.f64 (cbrt.f64 (*.f64 a 2)) 2)) (/.f64 (sqrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (cbrt.f64 (*.f64 a 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 a 2))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (sqrt.f64 (*.f64 a 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) 2) (sqrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (sqrt.f64 (*.f64 a 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (/.f64 1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) 3) (pow.f64 (*.f64 a 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a))) 1))))))

simplify46.0ms (0.8%)

Algorithm
egg-herbie
Rules
743×times-frac_binary64
469×associate-/l*_binary64
434×fma-def_binary64
425×associate-/r*_binary64
158×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01252060
14151984
214751904
Stop Event
node limit
Counts
256 → 236
Calls
Call 1
Inputs
(sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (+.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 b)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b)
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) b)
(-.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))))) b)
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (+.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))))))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (+.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 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(neg.f64 (+.f64 b (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))
(neg.f64 (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))))
(*.f64 -2 b)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) (*.f64 2 b))
(-.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 2 b))
(*.f64 -2 (/.f64 (*.f64 c a) b))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(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))))))
(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 -2 b)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) (*.f64 2 b))
(-.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 2 b))
(*.f64 -2 b)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) (*.f64 2 b))
(-.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 2 b))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a))))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 c b))
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))))
(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)))))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
Outputs
(sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4)))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (/.f64 (*.f64 1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (/.f64 (*.f64 -1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)))
(fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 5)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 5)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 -1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)))
(fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) -1/8 (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 5)) (fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(+.f64 b (/.f64 (*.f64 -2 (*.f64 c a)) b))
(+.f64 b (/.f64 (*.f64 c -2) (/.f64 b a)))
(fma.f64 (*.f64 (/.f64 c b) a) -2 b)
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))))
(+.f64 b (*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c))))))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b)
(-.f64 b (+.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 b (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(-.f64 b (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))))
(+.f64 (fma.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(*.f64 -1 b)
(neg.f64 b)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b)
(fma.f64 2 (/.f64 c (/.f64 b a)) (neg.f64 b))
(-.f64 (/.f64 (*.f64 (*.f64 2 c) a) b) b)
(-.f64 (*.f64 (/.f64 2 b) (*.f64 c a)) b)
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) b)
(-.f64 (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))) b)
(fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) (neg.f64 b))
(fma.f64 2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) (neg.f64 b))
(-.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))))) b)
(-.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))) b)
(-.f64 (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))) b)
(-.f64 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)))) b)
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(+.f64 b (/.f64 (*.f64 -2 (*.f64 c a)) b))
(+.f64 b (/.f64 (*.f64 c -2) (/.f64 b a)))
(fma.f64 (*.f64 (/.f64 c b) a) -2 b)
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))))
(+.f64 b (*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c))))))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b)
(-.f64 b (+.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 b (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(-.f64 b (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))))
(+.f64 (fma.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(+.f64 b (/.f64 (*.f64 -2 (*.f64 c a)) b))
(+.f64 b (/.f64 (*.f64 c -2) (/.f64 b a)))
(fma.f64 (*.f64 (/.f64 c b) a) -2 b)
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))))
(+.f64 b (*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c))))))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b)
(-.f64 b (+.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 b (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(-.f64 b (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))))
(+.f64 (fma.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(*.f64 -1 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(neg.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)))
(neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(neg.f64 (+.f64 b (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))
(neg.f64 (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b))
(-.f64 (neg.f64 b) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(neg.f64 (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))))
(neg.f64 (+.f64 b (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4)))))
(-.f64 (neg.f64 b) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(-.f64 (-.f64 (*.f64 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1/2) (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))))
(-.f64 (/.f64 (*.f64 1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)) (+.f64 b (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4)))))
(-.f64 (/.f64 (*.f64 1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (+.f64 b (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3))) (fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))
(*.f64 -2 b)
(*.f64 b -2)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(*.f64 2 (-.f64 (/.f64 c (/.f64 b a)) b))
(*.f64 2 (-.f64 (*.f64 (/.f64 c b) a) b))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) (*.f64 2 b))
(+.f64 (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))) (*.f64 b -2))
(*.f64 2 (-.f64 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) b))
(*.f64 2 (-.f64 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b))
(-.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 2 b))
(+.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))) (*.f64 b -2))
(+.f64 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (/.f64 (*.f64 2 (*.f64 a (*.f64 a (*.f64 c c)))) (pow.f64 b 3))) (*.f64 2 (-.f64 (*.f64 (/.f64 c b) a) b)))
(fma.f64 2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 b -2)))
(*.f64 -2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -2 (*.f64 c a)) b)
(/.f64 (*.f64 c -2) (/.f64 b a))
(*.f64 (/.f64 -2 b) (*.f64 c a))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(neg.f64 (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))))
(*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))))
(*.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)))
(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))))))
(neg.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(-.f64 (*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c))))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(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)))))))
(neg.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 10 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))))
(neg.f64 (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (/.f64 10 (/.f64 (pow.f64 b 7) (*.f64 (pow.f64 c 4) (pow.f64 a 4)))))))
(-.f64 (*.f64 -2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) 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 a 4) (pow.f64 b 7)) (pow.f64 c 4)))))
(*.f64 -2 b)
(*.f64 b -2)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(*.f64 2 (-.f64 (/.f64 c (/.f64 b a)) b))
(*.f64 2 (-.f64 (*.f64 (/.f64 c b) a) b))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) (*.f64 2 b))
(+.f64 (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))) (*.f64 b -2))
(*.f64 2 (-.f64 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) b))
(*.f64 2 (-.f64 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b))
(-.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 2 b))
(+.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))) (*.f64 b -2))
(+.f64 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (/.f64 (*.f64 2 (*.f64 a (*.f64 a (*.f64 c c)))) (pow.f64 b 3))) (*.f64 2 (-.f64 (*.f64 (/.f64 c b) a) b)))
(fma.f64 2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 b -2)))
(*.f64 -2 b)
(*.f64 b -2)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(*.f64 2 (-.f64 (/.f64 c (/.f64 b a)) b))
(*.f64 2 (-.f64 (*.f64 (/.f64 c b) a) b))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) (*.f64 2 b))
(+.f64 (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)))) (*.f64 b -2))
(*.f64 2 (-.f64 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) (*.f64 c c)))) b))
(*.f64 2 (-.f64 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) b))
(-.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 2 b))
(+.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))) (*.f64 b -2))
(+.f64 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (/.f64 (*.f64 2 (*.f64 a (*.f64 a (*.f64 c c)))) (pow.f64 b 3))) (*.f64 2 (-.f64 (*.f64 (/.f64 c b) a) b)))
(fma.f64 2 (fma.f64 (/.f64 c b) a (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a)) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 b -2)))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))
(*.f64 -1/2 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a))
(/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) -1/2) a)
(*.f64 (/.f64 -1/2 a) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a))))
(neg.f64 (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a) (/.f64 b a))))
(*.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(neg.f64 (fma.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a) (/.f64 b a)))))
(-.f64 (*.f64 (*.f64 (/.f64 b a) (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) -1/4) (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a))))
(fma.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)) (/.f64 -1/4 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 (/.f64 b a) b))))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(-.f64 (*.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3))) (fma.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a) (/.f64 b a)))))
(-.f64 (*.f64 (/.f64 1/16 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (/.f64 (pow.f64 b 4) a)) (fma.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)) (/.f64 (*.f64 1/4 (/.f64 b (/.f64 a b))) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
(fma.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3))) (fma.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)) (/.f64 -1/4 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 (/.f64 b a) b)))))
(*.f64 -1 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(neg.f64 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c))) (/.f64 b a)))
(-.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(+.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c)))) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 a a) (pow.f64 b 5)) (pow.f64 c 3)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(/.f64 (neg.f64 c) b)
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
(neg.f64 (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))
(-.f64 (/.f64 (neg.f64 c) b) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c))))
(neg.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))))
(neg.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))))
(-.f64 (*.f64 -2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c)))))
(-.f64 (*.f64 -2 (*.f64 (/.f64 (*.f64 a a) (pow.f64 b 5)) (pow.f64 c 3))) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
(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)))))
(neg.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (fma.f64 5 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))))
(-.f64 (*.f64 -2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a))) (+.f64 (/.f64 c b) (fma.f64 5 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c))))))
(-.f64 (*.f64 -2 (*.f64 (/.f64 (*.f64 a a) (pow.f64 b 5)) (pow.f64 c 3))) (fma.f64 5 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
(*.f64 -1 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(neg.f64 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c))) (/.f64 b a)))
(-.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(+.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c)))) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 a a) (pow.f64 b 5)) (pow.f64 c 3)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(neg.f64 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c))) (/.f64 b a)))
(-.f64 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(+.f64 (fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 c c)))) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 a a) (pow.f64 b 5)) (pow.f64 c 3)) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (/.f64 b a))

prune169.0ms (2.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2288236
Fresh011
Picked101
Done000
Total2299238
Error
5.1b
Counts
238 → 9
Alt Table
StatusErrorProgram
56.6b
(*.f64 (/.f64 1 (sqrt.f64 (*.f64 a 2))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (sqrt.f64 (*.f64 a 2))))
39.2b
(/.f64 (neg.f64 c) b)
36.3b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
43.4b
(-.f64 (/.f64 c b) (/.f64 b a))
43.2b
(neg.f64 (/.f64 b a))
46.3b
(/.f64 (/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 2 a))
36.9b
(/.f64 (-.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)) 1/4) 2)) (*.f64 2 a))
46.2b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (*.f64 2 a))
51.6b
(-.f64 (*.f64 -2 (*.f64 (/.f64 (*.f64 a a) (pow.f64 b 5)) (pow.f64 c 3))) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
Compiler

Compiled 6285 to 3667 computations (41.7% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.2b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
1.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
24.2b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series20.0ms (0.3%)

Counts
4 → 96
Calls

36 calls:

TimeVariablePointExpression
2.0ms
b
@0
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
1.0ms
c
@inf
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
1.0ms
a
@inf
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
1.0ms
c
@-inf
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
1.0ms
a
@-inf
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))

rewrite70.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
954×prod-diff_binary64
141×add-sqr-sqrt_binary64
134×*-un-lft-identity_binary64
134×pow1_binary64
131×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01362
127962
2363062
Stop Event
node limit
Counts
4 → 130
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
(fma.f64 a (*.f64 c -4) (*.f64 b b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.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)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.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))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 2))) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 2)) 1/2) (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 b b) (-.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 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 2) (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) (/.f64 1 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 1 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) (+.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (-.f64 (*.f64 b b) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2))) (neg.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b b)) (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x 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)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 b) 2) (cbrt.f64 b) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x 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) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 b) (sqrt.f64 b) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (/.f64 -1/2 a)) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 -1/2 a)) (*.f64 b (/.f64 -1/2 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1/2 a) b) (*.f64 (/.f64 -1/2 a) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1/2 a) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (*.f64 (/.f64 -1/2 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (*.f64 a -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) (*.f64 (*.f64 a -2) (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 (*.f64 a -2) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) -1/2) (*.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) -1/2) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) 1) (*.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) 1) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (*.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) 1/2) (*.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) 1/2) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2))) (*.f64 a (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2))) (*.f64 (neg.f64 a) (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (*.f64 a (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (*.f64 (neg.f64 a) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) (sqrt.f64 a)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)) (/.f64 -1/2 a)) (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 -1/2 a)) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 1/2) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/2 a) (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2))) (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/2 a) (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 -1/2 a)) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 3) (pow.f64 (/.f64 -1/2 a) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 -1/2 a) 3) (pow.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a (*.f64 c -4)) 1) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 2)) (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (*.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1/4) (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (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))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 a (*.f64 c -4)) 3) (pow.f64 (*.f64 b b) 3)) (+.f64 (*.f64 (*.f64 a (*.f64 c -4)) (*.f64 a (*.f64 c -4))) (-.f64 (pow.f64 b 4) (*.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a (*.f64 c -4)) (*.f64 a (*.f64 c -4))) (pow.f64 b 4)) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 1))))))

simplify44.0ms (0.7%)

Algorithm
egg-herbie
Rules
740×times-frac_binary64
465×associate-/l*_binary64
423×associate-/r*_binary64
372×fma-def_binary64
147×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01162045
13811971
213391891
Stop Event
node limit
Counts
226 → 204
Calls
Call 1
Inputs
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (+.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))))))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (+.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))))))
(sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (+.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 b)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b)
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) b)
(-.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))))) b)
(sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))
(+.f64 b (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))
(-.f64 (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(*.f64 2 b)
(-.f64 (*.f64 2 b) (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 (*.f64 2 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 (*.f64 2 b) (+.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 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 (*.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 2 b)
(-.f64 (*.f64 2 b) (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 (*.f64 2 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 (*.f64 2 b) (+.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 2 b)
(-.f64 (*.f64 2 b) (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 (*.f64 2 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 (*.f64 2 b) (+.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 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a))))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 c b))
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))))
(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)))))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(pow.f64 b 2)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
Outputs
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (/.f64 (*.f64 2 (*.f64 c a)) b))
(fma.f64 (*.f64 (/.f64 c b) a) -2 b)
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(-.f64 b (*.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) b)
(-.f64 b (+.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 b (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3)))))))
(-.f64 b (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))))
(+.f64 (fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) b) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (/.f64 (*.f64 2 (*.f64 c a)) b))
(fma.f64 (*.f64 (/.f64 c b) a) -2 b)
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(-.f64 b (*.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) b)
(-.f64 b (+.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 b (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3)))))))
(-.f64 b (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))))
(+.f64 (fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) b) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4)))
(fma.f64 1/2 (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3))))
(fma.f64 1/2 (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (/.f64 (*.f64 -1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3))))
(fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 5)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3))))
(fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 5)) (fma.f64 1/2 (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (/.f64 (*.f64 -1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)))))
(fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) -1/8 (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 5)) (fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
b
(-.f64 b (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 b (/.f64 (*.f64 2 (*.f64 c a)) b))
(fma.f64 (*.f64 (/.f64 c b) a) -2 b)
(-.f64 b (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 b (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(-.f64 b (*.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) b)
(-.f64 b (+.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 b (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3)))))))
(-.f64 b (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))))
(+.f64 (fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) b) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(*.f64 -1 b)
(neg.f64 b)
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b)
(-.f64 (/.f64 (*.f64 2 (*.f64 c a)) b) b)
(-.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) b)
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))) b)
(-.f64 (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))) b)
(-.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))) b)
(-.f64 (*.f64 2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c)))) b)
(-.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))))) b)
(-.f64 (fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3)))))) b)
(-.f64 (fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))) b)
(fma.f64 2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (neg.f64 b)))
(sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 b (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))
(+.f64 b (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4))))
(+.f64 b (fma.f64 1/2 (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) b))
(-.f64 (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))
(-.f64 (+.f64 b (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (/.f64 (*.f64 1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)))
(+.f64 b (fma.f64 1/2 (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (/.f64 (*.f64 -1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)))))
(fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) -1/8 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) b)))
(*.f64 2 b)
(*.f64 b 2)
(-.f64 (*.f64 2 b) (*.f64 2 (/.f64 (*.f64 c a) b)))
(*.f64 2 (-.f64 b (/.f64 c (/.f64 b a))))
(*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a)))
(-.f64 (*.f64 2 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 (*.f64 b 2) (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(*.f64 2 (-.f64 b (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(*.f64 2 (-.f64 b (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c)))))
(-.f64 (*.f64 2 b) (+.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 (*.f64 2 (-.f64 b (/.f64 c (/.f64 b a)))) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))))
(-.f64 (*.f64 2 (-.f64 b (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(fma.f64 2 (-.f64 b (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c)))) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(*.f64 2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 2 (*.f64 c a)) b)
(*.f64 2 (*.f64 (/.f64 c b) a))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a)))))
(*.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))
(*.f64 2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))))
(+.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)))))
(fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))))
(fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(fma.f64 2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(+.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))))))
(fma.f64 2 (/.f64 c (/.f64 b a)) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (fma.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3)))))))
(fma.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (*.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 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 4))))))
(fma.f64 2 (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c))) (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 10 (*.f64 (/.f64 (pow.f64 a 4) (pow.f64 b 7)) (pow.f64 c 4)))))
(*.f64 2 b)
(*.f64 b 2)
(-.f64 (*.f64 2 b) (*.f64 2 (/.f64 (*.f64 c a) b)))
(*.f64 2 (-.f64 b (/.f64 c (/.f64 b a))))
(*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a)))
(-.f64 (*.f64 2 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 (*.f64 b 2) (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(*.f64 2 (-.f64 b (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(*.f64 2 (-.f64 b (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c)))))
(-.f64 (*.f64 2 b) (+.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 (*.f64 2 (-.f64 b (/.f64 c (/.f64 b a)))) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))))
(-.f64 (*.f64 2 (-.f64 b (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(fma.f64 2 (-.f64 b (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c)))) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(*.f64 2 b)
(*.f64 b 2)
(-.f64 (*.f64 2 b) (*.f64 2 (/.f64 (*.f64 c a) b)))
(*.f64 2 (-.f64 b (/.f64 c (/.f64 b a))))
(*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a)))
(-.f64 (*.f64 2 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(-.f64 (*.f64 b 2) (*.f64 2 (+.f64 (/.f64 c (/.f64 b a)) (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(*.f64 2 (-.f64 b (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(*.f64 2 (-.f64 b (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c)))))
(-.f64 (*.f64 2 b) (+.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 (*.f64 2 (-.f64 b (/.f64 c (/.f64 b a)))) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (*.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))))
(-.f64 (*.f64 2 (-.f64 b (+.f64 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(fma.f64 2 (-.f64 b (fma.f64 (/.f64 c b) a (/.f64 (*.f64 (*.f64 a a) c) (/.f64 (pow.f64 b 3) c)))) (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) -4))
(*.f64 -1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))
(*.f64 -1/2 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a))
(*.f64 -1/2 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a))))
(neg.f64 (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a) (/.f64 b a))))
(*.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(neg.f64 (fma.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a) (/.f64 b a)))))
(+.f64 (*.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a))) (*.f64 (/.f64 (/.f64 b (/.f64 a b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/4))
(fma.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)) (*.f64 (/.f64 (*.f64 (/.f64 b a) b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/4))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(-.f64 (*.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3))) (fma.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a) (/.f64 b a)))))
(+.f64 (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (*.f64 (/.f64 (/.f64 b (/.f64 a b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/4)) (*.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a))))
(fma.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (fma.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)) (*.f64 (/.f64 (*.f64 (/.f64 b a) b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/4)))
(*.f64 -1 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a)))
(fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (-.f64 (/.f64 c b) (/.f64 b a))))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
(neg.f64 (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))
(-.f64 (neg.f64 (/.f64 c b)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(neg.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))))
(neg.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))))
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -2) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -2) (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)))
(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)))))
(neg.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (fma.f64 5 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))))
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -2) (+.f64 (/.f64 c b) (fma.f64 5 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))))
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -2) (fma.f64 5 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) (pow.f64 c 4)) (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b))))
(*.f64 -1 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a)))
(fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (-.f64 (/.f64 c b) (/.f64 b a))))
(*.f64 -1 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a)))
(fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (-.f64 (/.f64 c b) (/.f64 b a))))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(*.f64 -4 (*.f64 c a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))
(-.f64 (pow.f64 b 2) (*.f64 4 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(fma.f64 b b (*.f64 c (*.f64 a -4)))
(fma.f64 c (*.f64 a -4) (*.f64 b b))

prune141.0ms (2.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1986204
Fresh358
Picked011
Done000
Total20112213
Error
5.1b
Counts
213 → 12
Alt Table
StatusErrorProgram
39.2b
(/.f64 (neg.f64 c) b)
43.2b
(*.f64 (+.f64 b b) (/.f64 -1/2 a))
46.2b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (*.f64 2 a))
42.1b
(neg.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)))
36.3b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
43.7b
(*.f64 (/.f64 1 (/.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)))) (/.f64 -1/2 a))
43.4b
(-.f64 (/.f64 c b) (/.f64 b a))
43.2b
(neg.f64 (/.f64 b a))
46.3b
(/.f64 (/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 2 a))
46.3b
(/.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 -1/2 a)) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
36.2b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
56.6b
(*.f64 (+.f64 b (-.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) b)) (/.f64 -1/2 a))
Compiler

Compiled 5267 to 3088 computations (41.4% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
0.2b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
1.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
24.2b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series4.0ms (0.1%)

Counts
1 → 20
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@inf
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
1.0ms
a
@-inf
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
0.0ms
c
@inf
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
0.0ms
c
@-inf
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
0.0ms
a
@0
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))

rewrite57.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
972×prod-diff_binary64
160×add-sqr-sqrt_binary64
151×*-un-lft-identity_binary64
151×pow1_binary64
148×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01525
132022
2422222
Stop Event
node limit
Counts
1 → 49
Calls
Call 1
Inputs
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) (pow.f64 a -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) (pow.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) 2) (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) (sqrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 a (neg.f64 (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1) (pow.f64 (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) 2) -1) (pow.f64 (cbrt.f64 (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) -1) (pow.f64 (sqrt.f64 (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 1) (/.f64 -1/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) 1) (/.f64 (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (*.f64 a a))) (/.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (cbrt.f64 (*.f64 a a))) (/.f64 -1/2 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 (cbrt.f64 (*.f64 a a))) (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) 2) (cbrt.f64 (*.f64 a a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (cbrt.f64 (*.f64 a a))) (/.f64 (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 a)) (/.f64 -1/2 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 (sqrt.f64 a)) (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (sqrt.f64 a)) (/.f64 (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 a)) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -1) 1) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -1) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -1) -1/2) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -1) (pow.f64 (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) 2)) (cbrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -1) (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))) (sqrt.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2) 3) (pow.f64 a 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)) (log.f64 a)))))))

simplify35.0ms (0.6%)

Algorithm
egg-herbie
Rules
351×unswap-sqr_binary64
329×times-frac_binary64
263×distribute-neg-frac_binary64
222×associate-/l*_binary64
216×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
066531
1217529
2739507
33896507
Stop Event
node limit
Counts
69 → 72
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(*.f64 -1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a))))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 c b))
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))))
(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)))))
(*.f64 -1 (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
Outputs
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a)))
(-.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a))))
(-.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (fma.f64 2 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (/.f64 c b))) (/.f64 b a))
(*.f64 -1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a))
(*.f64 -1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) a))
(/.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (*.f64 a c) -4))) a)
(*.f64 -1/2 (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) a))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a))))
(neg.f64 (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) a) (/.f64 b a))))
(*.f64 -1/2 (+.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) a)))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(neg.f64 (fma.f64 1/4 (/.f64 (/.f64 (*.f64 b b) a) (sqrt.f64 (*.f64 -4 (*.f64 a c)))) (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) a) (/.f64 b a)))))
(+.f64 (*.f64 -1/2 (+.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) a))) (*.f64 (*.f64 (/.f64 b a) (/.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))) -1/4))
(fma.f64 -1/2 (+.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) a)) (*.f64 (/.f64 b (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) (/.f64 b a))) -1/4))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)) (*.f64 1/2 (/.f64 b a)))))
(-.f64 (*.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 3))) (fma.f64 1/4 (/.f64 (/.f64 (*.f64 b b) a) (sqrt.f64 (*.f64 -4 (*.f64 a c)))) (*.f64 1/2 (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) a) (/.f64 b a)))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) 3))) (*.f64 (*.f64 (/.f64 b a) (/.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))) -1/4)) (*.f64 -1/2 (+.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) a))))
(fma.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) 3))) (fma.f64 -1/2 (+.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) a)) (*.f64 (/.f64 b (/.f64 (sqrt.f64 (*.f64 (*.f64 a c) -4)) (/.f64 b a))) -1/4)))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a)))
(-.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a))))
(-.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (fma.f64 2 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (/.f64 c b))) (/.f64 b a))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(/.f64 (neg.f64 c) b)
(neg.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)))
(neg.f64 (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))
(-.f64 (/.f64 (neg.f64 c) b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(neg.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))))
(neg.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))))
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -2) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(neg.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (fma.f64 2 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (/.f64 c b))))
(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)))))
(neg.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (fma.f64 5 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))))
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) -2) (+.f64 (/.f64 c b) (fma.f64 5 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3))) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))))
(-.f64 (*.f64 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 4) (pow.f64 b 7))) -5) (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (fma.f64 2 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (/.f64 c b))))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b)) (/.f64 b a))
(+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (-.f64 (/.f64 c b) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a)))
(-.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)) (/.f64 b a))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (/.f64 c b))) (/.f64 b a))
(-.f64 (fma.f64 2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))) (+.f64 (/.f64 c b) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))) (/.f64 b a))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a))))
(-.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (fma.f64 2 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (/.f64 c b))) (/.f64 b a))

prune153.0ms (2.6%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2063209
Fresh2810
Picked101
Done011
Total20912221
Error
5.1b
Counts
221 → 12
Alt Table
StatusErrorProgram
36.3b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
43.5b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b)) -1/2)))
39.2b
(/.f64 (neg.f64 c) b)
43.2b
(*.f64 (+.f64 b b) (/.f64 -1/2 a))
43.7b
(*.f64 (/.f64 1 (/.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)))) (/.f64 -1/2 a))
43.4b
(-.f64 (/.f64 c b) (/.f64 b a))
43.2b
(neg.f64 (/.f64 b a))
46.3b
(/.f64 (/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 2 a))
36.2b
(pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 1)
37.3b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 3))) -1/2)))
42.1b
(neg.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)))
56.6b
(*.f64 (+.f64 b (-.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) b)) (/.f64 -1/2 a))
Compiler

Compiled 5582 to 3441 computations (38.4% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
0.2b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
1.9b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
24.2b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series6.0ms (0.1%)

Counts
1 → 20
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
1.0ms
a
@inf
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
1.0ms
c
@inf
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
1.0ms
c
@-inf
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
1.0ms
b
@0
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)

rewrite46.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
963×prod-diff_binary64
122×add-sqr-sqrt_binary64
117×*-un-lft-identity_binary64
117×pow1_binary64
113×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
123619
2319219
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) (pow.f64 (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 2) (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 2) (*.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) (sqrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (/.f64 1 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 2) 1) (/.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 1) (/.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 a) 2)) (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 2) (pow.f64 (cbrt.f64 a) 2)) (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (pow.f64 (cbrt.f64 a) 2)) (/.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 a)) (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) 2) (sqrt.f64 a)) (/.f64 (cbrt.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) 3) (pow.f64 a 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 1))))))

simplify35.0ms (0.6%)

Algorithm
egg-herbie
Rules
751×cancel-sign-sub-inv_binary64
371×times-frac_binary64
351×unswap-sqr_binary64
285×fma-neg_binary64
234×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057567
1198555
2663529
33612529
Stop Event
node limit
Counts
53 → 57
Calls
Call 1
Inputs
(/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a) (/.f64 b a))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a) (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a) (/.f64 b a))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))))
(*.f64 2 (/.f64 b a))
(-.f64 (*.f64 2 (/.f64 b a)) (*.f64 2 (/.f64 c b)))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
(*.f64 2 (/.f64 c b))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))
(+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
(*.f64 2 (/.f64 b a))
(-.f64 (*.f64 2 (/.f64 b a)) (*.f64 2 (/.f64 c b)))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
(*.f64 2 (/.f64 b a))
(-.f64 (*.f64 2 (/.f64 b a)) (*.f64 2 (/.f64 c b)))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
Outputs
(/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a)
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)
(/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a)
(/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a)
(+.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a) (/.f64 b a))
(+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (/.f64 b a))
(+.f64 (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a) (/.f64 b a))
(+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a) (/.f64 b a)))
(fma.f64 1/2 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (/.f64 b a)))
(+.f64 (/.f64 b a) (fma.f64 1/2 (*.f64 (/.f64 b a) (/.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a)))
(+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (fma.f64 (/.f64 1/2 a) (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))) (+.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) a) (/.f64 b a))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (/.f64 b a))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))))
(+.f64 (+.f64 (/.f64 b a) (fma.f64 1/2 (*.f64 (/.f64 b a) (/.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) (/.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) a))) (/.f64 (*.f64 -1/8 (pow.f64 b 4)) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3))))
(fma.f64 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3))) -1/8 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (fma.f64 (/.f64 1/2 a) (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (/.f64 b a))))
(fma.f64 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) -1/8 (+.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (fma.f64 (/.f64 1/2 a) (/.f64 b (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (/.f64 b a))))
(*.f64 2 (/.f64 b a))
(*.f64 (/.f64 b a) 2)
(-.f64 (*.f64 2 (/.f64 b a)) (*.f64 2 (/.f64 c b)))
(*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b)))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(-.f64 (*.f64 (/.f64 b a) 2) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b))))
(*.f64 2 (-.f64 (/.f64 b a) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))))
(*.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
(-.f64 (*.f64 (/.f64 b a) 2) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))))
(-.f64 (*.f64 2 (-.f64 (/.f64 b a) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a))))
(fma.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (*.f64 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) -4))
(fma.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (/.f64 -4 (/.f64 (pow.f64 b 5) (*.f64 (pow.f64 c 3) (*.f64 a a)))))
(*.f64 2 (/.f64 c b))
(/.f64 c (/.f64 b 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))
(*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))
(*.f64 2 (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(*.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)))
(+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b))))
(fma.f64 2 (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a))))
(fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 4 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5)))))
(fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 4 (*.f64 a a))))
(+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 10 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
(fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 10 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3))) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))))
(fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a)) (fma.f64 2 (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)) (*.f64 10 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)))))
(fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (fma.f64 4 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (*.f64 10 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 4) (pow.f64 b 7))))))
(fma.f64 4 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 2 (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b)) (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (*.f64 10 (pow.f64 a 3)))))
(*.f64 2 (/.f64 b a))
(*.f64 (/.f64 b a) 2)
(-.f64 (*.f64 2 (/.f64 b a)) (*.f64 2 (/.f64 c b)))
(*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b)))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(-.f64 (*.f64 (/.f64 b a) 2) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b))))
(*.f64 2 (-.f64 (/.f64 b a) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))))
(*.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
(-.f64 (*.f64 (/.f64 b a) 2) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))))
(-.f64 (*.f64 2 (-.f64 (/.f64 b a) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a))))
(fma.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (*.f64 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) -4))
(fma.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (/.f64 -4 (/.f64 (pow.f64 b 5) (*.f64 (pow.f64 c 3) (*.f64 a a)))))
(*.f64 2 (/.f64 b a))
(*.f64 (/.f64 b a) 2)
(-.f64 (*.f64 2 (/.f64 b a)) (*.f64 2 (/.f64 c b)))
(*.f64 2 (-.f64 (/.f64 b a) (/.f64 c b)))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b))))
(-.f64 (*.f64 (/.f64 b a) 2) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b))))
(*.f64 2 (-.f64 (/.f64 b a) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))))
(*.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))))
(-.f64 (*.f64 2 (/.f64 b a)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 2 (/.f64 c b)))))
(-.f64 (*.f64 (/.f64 b a) 2) (fma.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (*.f64 2 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))))
(-.f64 (*.f64 2 (-.f64 (/.f64 b a) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))) (*.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (*.f64 a a))))
(fma.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (*.f64 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) -4))
(fma.f64 2 (-.f64 (/.f64 b a) (fma.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a (/.f64 c b))) (/.f64 -4 (/.f64 (pow.f64 b 5) (*.f64 (pow.f64 c 3) (*.f64 a a)))))

prune145.0ms (2.4%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1931194
Fresh1910
Picked011
Done011
Total19412206
Error
5.1b
Counts
206 → 12
Alt Table
StatusErrorProgram
36.3b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
56.6b
(pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (-.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) b)) a)) 1)
43.5b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (fma.f64 (*.f64 (/.f64 c b) a) -2 b)) -1/2)))
39.2b
(/.f64 (neg.f64 c) b)
43.2b
(*.f64 (+.f64 b b) (/.f64 -1/2 a))
43.7b
(*.f64 (/.f64 1 (/.f64 (fma.f64 b b (-.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) (*.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (+.f64 (pow.f64 b 3) (pow.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)) 3/2)))) (/.f64 -1/2 a))
43.4b
(-.f64 (/.f64 c b) (/.f64 b a))
43.2b
(neg.f64 (/.f64 b a))
46.3b
(/.f64 (/.f64 (neg.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 2 a))
36.2b
(pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 1)
37.3b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) 3))) -1/2)))
42.1b
(neg.f64 (fma.f64 (/.f64 c (/.f64 (pow.f64 b 3) c)) a (/.f64 c b)))
Compiler

Compiled 5184 to 3270 computations (36.9% saved)

regimes1.6s (27.4%)

Accuracy

Total 5.2b remaining (47.5%)

Threshold costs 0b (0%)

Counts
131 → 3
Compiler

Compiled 2549 to 1497 computations (41.3% saved)

bsearch76.0ms (1.3%)

Algorithm
binary-search
Calls

2 calls:

45.0ms
b
30.0ms
b
Steps
ItersPointRange
2.35e+95
∈ [
1.4207986499139543e+94
,
2.937033851030537e+95
]
-1.22e-135
∈ [
-1.2284966536175126e-135
,
-1.437779468124281e-141
]
Compiler

Compiled 4 to 3 computations (25% 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
02750
13950
24850
35550
45950
56050
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 b -3993536541633293/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (/.f64 (neg.f64 c) b) (if (<=.f64 b 234999999999999986224702316911056274544025034565308812644180014706390694861355171433193247080448) (pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 1) (-.f64 (/.f64 c b) (/.f64 b a))))
Outputs
(if (<=.f64 b -3993536541633293/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (/.f64 (neg.f64 c) b) (if (<=.f64 b 234999999999999986224702316911056274544025034565308812644180014706390694861355171433193247080448) (pow.f64 (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) 1) (-.f64 (/.f64 c b) (/.f64 b a))))
(if (<=.f64 b -3993536541633293/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (/.f64 (neg.f64 c) b) (if (<=.f64 b 234999999999999986224702316911056274544025034565308812644180014706390694861355171433193247080448) (*.f64 -1/2 (/.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)) (-.f64 (/.f64 c b) (/.f64 b a))))

end172.0ms (2.9%)

Stop Event
fuel
Compiler

Compiled 303 to 196 computations (35.3% saved)

Profiling

Loading profile data...