Details

Time bar (total: 8.6s)

analyze1.3s (14.9%)

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
0%99.9%0.1%5
0%99.9%0.1%6
7.8%85.8%6.4%7
10.1%83.5%6.4%8
16.8%74.5%8.7%9
29.1%57.5%13.4%10
33.6%51.4%15%11
39.2%42.7%18.1%12
46%33.4%20.6%13
49.5%28.2%22.4%14
Compiler

Compiled 42 to 27 computations (35.7% saved)

sample1.8s (20.3%)

Results
1.5s8256×body128valid
197.0ms1090×body128invalid

preprocess36.0ms (0.4%)

Algorithm
egg-herbie
Rules
676×fma-def_binary64
491×associate-/l*_binary64
481×div-sub_binary64
383×fma-neg_binary64
239×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055232
1131208
2321208
3700200
41318200
52435200
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 a 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c))))) (/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c)))
(if (>=.f64 c 0) (/.f64 (*.f64 2 b) (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b))))) (/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a)))
Outputs
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))) (*.f64 2 a)))
(if (>=.f64 b 0) (*.f64 (/.f64 2 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) c) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b) (*.f64 2 a)))
(if (>=.f64 b 0) (*.f64 (/.f64 c (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))) 2) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))) b) (*.f64 2 a)))
(if (>=.f64 b 0) (*.f64 c (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))) b) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (/.f64 c -1/2) (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))) (*.f64 -1/2 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) a)))
(if (>=.f64 b 0) (*.f64 c (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (*.f64 -1/2 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) a)))
(if (>=.f64 a 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c))))) (/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b)))
(if (>=.f64 a 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 c (*.f64 b 4)))))) (/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 c (*.f64 b 4))))) (*.f64 b 2)))
(if (>=.f64 a 0) (*.f64 (/.f64 2 (-.f64 (neg.f64 a) (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b -4)))))) c) (/.f64 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 c (*.f64 b -4)))) a) (*.f64 b 2)))
(if (>=.f64 a 0) (/.f64 2 (/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (fma.f64 c (*.f64 b -4) (*.f64 a a)))) c)) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 b -4) (*.f64 a a))) a) (*.f64 b 2)))
(if (>=.f64 a 0) (*.f64 c (/.f64 -2 (+.f64 a (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a))) a) (*.f64 b 2)))
(if (>=.f64 a 0) (/.f64 (/.f64 c -1/2) (+.f64 a (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a))))) (*.f64 -1/2 (/.f64 (-.f64 a (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a)))) b)))
(if (>=.f64 a 0) (*.f64 -2 (/.f64 c (+.f64 a (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a))) a) (*.f64 b 2)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 2 c)))
(if (>=.f64 b 0) (*.f64 (/.f64 2 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) a) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b) (*.f64 2 c)))
(if (>=.f64 b 0) (*.f64 a (/.f64 2 (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))) b) (*.f64 2 c)))
(if (>=.f64 b 0) (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))) b) (*.f64 2 c)))
(if (>=.f64 b 0) (*.f64 a (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b)))) (*.f64 -2 c)))
(if (>=.f64 c 0) (/.f64 (*.f64 2 b) (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b))))) (/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a)))
(if (>=.f64 c 0) (/.f64 2 (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 4 a))))) b)) (/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 4 a))))) (*.f64 2 a)))
(if (>=.f64 c 0) (/.f64 b (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4))))) 2)) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4)))) c) (*.f64 2 a)))
(if (>=.f64 c 0) (/.f64 b (/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c)))) 2)) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c))) c) (*.f64 2 a)))
(if (>=.f64 c 0) (*.f64 b (/.f64 -2 (+.f64 c (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4))))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4)))) c) (*.f64 2 a)))
(if (>=.f64 c 0) (/.f64 b (*.f64 -1/2 (+.f64 c (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4))))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 b (*.f64 a -4)))) c) (*.f64 2 a)))
(if (>=.f64 c 0) (/.f64 b (*.f64 -1/2 (+.f64 c (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c))) c) (*.f64 2 a)))
Compiler

Compiled 41 to 26 computations (36.6% saved)

simplify32.0ms (0.4%)

Algorithm
egg-herbie
Rules
781×fma-neg_binary64
464×times-frac_binary64
353×div-sub_binary64
283×cancel-sign-sub-inv_binary64
251×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02258
14452
29952
324050
443950
578050
6149350
7285650
8430250
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Outputs
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) b) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 a -4) (*.f64 b b))) b) (*.f64 2 a)))
(if (>=.f64 b 0) (*.f64 c (/.f64 -2 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))) (/.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (/.f64 c -1/2) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (*.f64 -1/2 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a)))
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))) (*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) a) -1/2))
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.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)))
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))

eval2.0ms (0%)

Compiler

Compiled 75 to 45 computations (40% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
19.9b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
19.9b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
Compiler

Compiled 156 to 98 computations (37.2% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))))
0.6b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
2.8b
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series36.0ms (0.4%)

Counts
4 → 96
Calls

36 calls:

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

rewrite76.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
280×log1p-udef_binary64
174×add-sqr-sqrt_binary64
168×*-un-lft-identity_binary64
168×pow1_binary64
163×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify55.0ms (0.6%)

Algorithm
egg-herbie
Rules
692×associate-/r*_binary64
679×associate-/l*_binary64
229×fma-def_binary64
156×associate-*r*_binary64
128×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01802344
16072217
223262168
Stop Event
node limit
Counts
259 → 243
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 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (+.f64 (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 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)))))) (+.f64 (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 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.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 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -1 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 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 -1 b)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
b
(+.f64 b (*.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 b (*.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 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
b
(+.f64 b (*.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 b (*.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 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -1 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))
(+.f64 (*.f64 -1 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))) (*.f64 -1 b))
(+.f64 (*.f64 -1 (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)))))) (*.f64 -1 b)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (+.f64 (*.f64 -1 (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)))))) (*.f64 -1 b))))
(*.f64 -2 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 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 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(*.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 -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 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -2 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 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 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.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 a) b)) (*.f64 -2 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 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 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(*.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 (/.f64 c b))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 2 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 3) (pow.f64 b 7))) (*.f64 -2 (/.f64 (pow.f64 a 3) (pow.f64 b 7)))))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))
(+.f64 (*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 2 (/.f64 (*.f64 c b) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 2))))
(+.f64 (*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (+.f64 (*.f64 2 (/.f64 (*.f64 c b) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 2))) (*.f64 2 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 -1 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (*.f64 1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))))))
(+.f64 (*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (+.f64 (*.f64 2 (/.f64 (*.f64 c b) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 2))) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (*.f64 1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 -1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 4)))) (pow.f64 b 3))) (*.f64 2 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 -1 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (*.f64 1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))))))))
(*.f64 -1 (/.f64 c b))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 4) (pow.f64 a 3))) (*.f64 -2 (*.f64 (pow.f64 c 4) (pow.f64 a 3)))) (pow.f64 b 7))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 2) a)) (*.f64 (pow.f64 c 2) a)) (pow.f64 b 3))) (*.f64 -1 (/.f64 b a))))
(+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 c 3) (pow.f64 a 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 c (pow.f64 a 2)))) (*.f64 -1 (*.f64 c (*.f64 a (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 2) a)) (*.f64 (pow.f64 c 2) a))))))) (pow.f64 b 5))) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 2) a)) (*.f64 (pow.f64 c 2) a)) (pow.f64 b 3))) (*.f64 -1 (/.f64 b a)))))
(*.f64 -1 (/.f64 c b))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -2 (/.f64 (pow.f64 c 4) (pow.f64 b 7))) (*.f64 -1/2 (/.f64 (pow.f64 c 4) (pow.f64 b 7)))))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
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 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (+.f64 (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 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(fma.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.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)))))) (+.f64 (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))))))
(fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 5)) (+.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/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)))) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
(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) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(fma.f64 -2 (/.f64 (*.f64 c a) b) b)
(fma.f64 -2 (*.f64 (/.f64 c b) a) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) b))
(fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (+.f64 b (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) b)) (*.f64 -4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 -4 (pow.f64 c 3)) (pow.f64 b 5)) (pow.f64 a 3))) (fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) b))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 2 (/.f64 (*.f64 c a) b) (neg.f64 b))
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b)
(-.f64 (*.f64 (/.f64 2 b) (*.f64 c a)) 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 -1 b)))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (neg.f64 b)))
(-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 c a) b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))) b)
(-.f64 (*.f64 2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))))) b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (fma.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (neg.f64 b))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (-.f64 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))) b))
(fma.f64 2 (*.f64 (/.f64 c b) a) (-.f64 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))))) b))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(fma.f64 -2 (/.f64 (*.f64 c a) b) b)
(fma.f64 -2 (*.f64 (/.f64 c b) a) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) b))
(fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (+.f64 b (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) b)) (*.f64 -4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 -4 (pow.f64 c 3)) (pow.f64 b 5)) (pow.f64 a 3))) (fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) b))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(fma.f64 -2 (/.f64 (*.f64 c a) b) b)
(fma.f64 -2 (*.f64 (/.f64 c b) a) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) b))
(fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (+.f64 b (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) b)) (*.f64 -4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 -4 (pow.f64 c 3)) (pow.f64 b 5)) (pow.f64 a 3))) (fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) b))
(*.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))))
(+.f64 (*.f64 -1 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))) (*.f64 -1 b))
(*.f64 -1 (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b))
(-.f64 (neg.f64 b) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 (*.f64 -1 (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)))))) (*.f64 -1 b)))
(fma.f64 -1 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 -1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (neg.f64 b)))
(-.f64 (-.f64 (*.f64 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/2) b) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(-.f64 (*.f64 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1/2) (+.f64 (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 (*.f64 -1 (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)))))) (*.f64 -1 b))))
(fma.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)) (fma.f64 -1 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 -1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (neg.f64 b))))
(fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) 1/8 (-.f64 (-.f64 (*.f64 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/2) b) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) 1/8 (-.f64 (*.f64 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1/2) (+.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))
(fma.f64 2 (/.f64 (*.f64 c a) b) (*.f64 b -2))
(fma.f64 b -2 (*.f64 (/.f64 2 b) (*.f64 c a)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (*.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 b -2 (*.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (*.f64 2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a)))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 b -2 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c))))))))
(*.f64 -2 (/.f64 (*.f64 c a) b))
(*.f64 (/.f64 -2 b) (*.f64 c a))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))
(*.f64 -2 (+.f64 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (/.f64 (*.f64 c a) b)))
(*.f64 -2 (+.f64 (/.f64 (*.f64 c a) b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))
(*.f64 -2 (+.f64 (*.f64 (/.f64 c b) a) (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) (*.f64 -4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)))))
(fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) (fma.f64 -2 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 -4 (pow.f64 c 3)) (pow.f64 b 5)) (pow.f64 a 3))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (*.f64 c c) (*.f64 a a))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7)) (fma.f64 -2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))) (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -1/2 (/.f64 (fma.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (*.f64 4 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7)) (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (/.f64 (*.f64 c a) b) (*.f64 -4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 20) (pow.f64 b 7)) (fma.f64 -2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))) (fma.f64 -2 (*.f64 (/.f64 c b) a) (*.f64 (/.f64 (*.f64 -4 (pow.f64 c 3)) (pow.f64 b 5)) (pow.f64 a 3)))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.f64 2 (/.f64 (*.f64 c a) b) (*.f64 b -2))
(fma.f64 b -2 (*.f64 (/.f64 2 b) (*.f64 c a)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (*.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 b -2 (*.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (*.f64 2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a)))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 b -2 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c))))))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.f64 2 (/.f64 (*.f64 c a) b) (*.f64 b -2))
(fma.f64 b -2 (*.f64 (/.f64 2 b) (*.f64 c a)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (*.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 b -2 (*.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (*.f64 2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c)))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 2 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) (*.f64 a a)))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 b -2 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a))))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (*.f64 2 (/.f64 a (/.f64 (pow.f64 b 3) (*.f64 a (*.f64 c c))))))))
(*.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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c 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 (*.f64 c a) -4 (*.f64 b b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(/.f64 (neg.f64 c) b)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))
(-.f64 (/.f64 (neg.f64 c) b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(fma.f64 -1 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -1 (/.f64 c b) (*.f64 -2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))))))
(-.f64 (-.f64 (*.f64 -2 (/.f64 (*.f64 a (*.f64 a (pow.f64 c 3))) (pow.f64 b 5))) (/.f64 c b)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) -2) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 2 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 3) (pow.f64 b 7))) (*.f64 -2 (/.f64 (pow.f64 a 3) (pow.f64 b 7)))))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(fma.f64 -1 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -1 (/.f64 c b) (fma.f64 2 (*.f64 (pow.f64 c 4) (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) -5/2)) (*.f64 -2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a)))))))
(-.f64 (-.f64 (fma.f64 2 (*.f64 (pow.f64 a 3) (/.f64 (*.f64 (pow.f64 c 4) -5/2) (pow.f64 b 7))) (*.f64 -2 (/.f64 (*.f64 a (*.f64 a (pow.f64 c 3))) (pow.f64 b 5)))) (/.f64 c b)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(-.f64 (fma.f64 2 (*.f64 (pow.f64 a 3) (/.f64 (*.f64 (pow.f64 c 4) -5/2) (pow.f64 b 7))) (*.f64 (/.f64 (*.f64 (pow.f64 c 3) -2) (pow.f64 b 5)) (*.f64 a a))) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a))))))
(*.f64 -2 (/.f64 c (sqrt.f64 (*.f64 (*.f64 c a) -4))))
(/.f64 (*.f64 c -2) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 (*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 2 (/.f64 (*.f64 c b) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 2))))
(fma.f64 -2 (/.f64 c (sqrt.f64 (*.f64 (*.f64 c a) -4))) (*.f64 2 (/.f64 c (/.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 2) b))))
(fma.f64 2 (*.f64 (/.f64 c (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 c -2) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(fma.f64 2 (/.f64 c (/.f64 (*.f64 c -4) (/.f64 b a))) (/.f64 (*.f64 c -2) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 (*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (+.f64 (*.f64 2 (/.f64 (*.f64 c b) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 2))) (*.f64 2 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 -1 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (*.f64 1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))))))))
(fma.f64 -2 (/.f64 c (sqrt.f64 (*.f64 (*.f64 c a) -4))) (*.f64 2 (+.f64 (/.f64 c (/.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 2) b)) (*.f64 (*.f64 b b) (*.f64 (/.f64 c (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)) -1/2)))))
(fma.f64 2 (+.f64 (*.f64 (/.f64 c (*.f64 c (*.f64 a -4))) b) (*.f64 (*.f64 b b) (/.f64 (*.f64 c -1/2) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)))) (/.f64 (*.f64 c -2) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(fma.f64 2 (*.f64 b (+.f64 (/.f64 c (*.f64 c (*.f64 a -4))) (*.f64 (/.f64 c (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3) -1/2)) b))) (/.f64 (*.f64 c -2) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 (*.f64 -2 (/.f64 c (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (+.f64 (*.f64 2 (/.f64 (*.f64 c b) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 2))) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (*.f64 1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))) (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))))) (*.f64 -1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 4)))) (pow.f64 b 3))) (*.f64 2 (*.f64 (pow.f64 b 2) (+.f64 (*.f64 -1 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3))) (*.f64 1/2 (/.f64 c (pow.f64 (sqrt.f64 (neg.f64 (*.f64 4 (*.f64 c a)))) 3)))))))))
(fma.f64 -2 (/.f64 c (sqrt.f64 (*.f64 (*.f64 c a) -4))) (fma.f64 2 (/.f64 c (/.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 2) b)) (*.f64 2 (+.f64 (*.f64 (pow.f64 b 3) (fma.f64 -1 (/.f64 (*.f64 (/.f64 c (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)) -1/2) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (*.f64 -1/2 (/.f64 c (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 4))))) (*.f64 (*.f64 b b) (*.f64 (/.f64 c (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)) -1/2))))))
(fma.f64 -2 (/.f64 c (sqrt.f64 (*.f64 c (*.f64 a -4)))) (*.f64 2 (+.f64 (*.f64 (/.f64 c (*.f64 c (*.f64 a -4))) b) (fma.f64 (pow.f64 b 3) (-.f64 (*.f64 -1/2 (/.f64 c (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 4))) (/.f64 (/.f64 c (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) -1/2))) (*.f64 (*.f64 b b) (/.f64 (*.f64 c -1/2) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)))))))
(fma.f64 -2 (/.f64 c (sqrt.f64 (*.f64 c (*.f64 a -4)))) (*.f64 2 (+.f64 (*.f64 (*.f64 b b) (+.f64 (/.f64 c (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3) -1/2)) (*.f64 (-.f64 (*.f64 (/.f64 -1/2 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 4)) c) (*.f64 (/.f64 -1/2 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 4)) c)) b))) (/.f64 c (/.f64 (*.f64 c -4) (/.f64 b a))))))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(/.f64 (neg.f64 c) b)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))
(-.f64 (/.f64 (neg.f64 c) b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(fma.f64 -1 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -1 (/.f64 c b) (*.f64 -2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))))))
(-.f64 (-.f64 (*.f64 -2 (/.f64 (*.f64 a (*.f64 a (pow.f64 c 3))) (pow.f64 b 5))) (/.f64 c b)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) -2) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 4) (pow.f64 a 3))) (*.f64 -2 (*.f64 (pow.f64 c 4) (pow.f64 a 3)))) (pow.f64 b 7))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(fma.f64 -1 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -1 (/.f64 c b) (fma.f64 2 (/.f64 (*.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) -5/2) (pow.f64 b 7)) (*.f64 -2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a)))))))
(-.f64 (-.f64 (fma.f64 2 (/.f64 (*.f64 (pow.f64 a 3) (*.f64 (pow.f64 c 4) -5/2)) (pow.f64 b 7)) (*.f64 -2 (/.f64 (*.f64 a (*.f64 a (pow.f64 c 3))) (pow.f64 b 5)))) (/.f64 c b)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(-.f64 (fma.f64 2 (/.f64 -5/2 (/.f64 (pow.f64 b 7) (*.f64 (pow.f64 a 3) (pow.f64 c 4)))) (*.f64 (/.f64 (*.f64 (pow.f64 c 3) -2) (pow.f64 b 5)) (*.f64 a a))) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(*.f64 -1 (/.f64 b a))
(/.f64 (neg.f64 b) a)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (/.f64 (neg.f64 b) a))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 2) a)) (*.f64 (pow.f64 c 2) a)) (pow.f64 b 3))) (*.f64 -1 (/.f64 b a))))
(+.f64 (/.f64 c b) (fma.f64 2 (/.f64 (*.f64 1/2 (*.f64 a (*.f64 c c))) (pow.f64 b 3)) (/.f64 (neg.f64 b) a)))
(+.f64 (/.f64 c b) (-.f64 (/.f64 (*.f64 1 (*.f64 c (*.f64 c a))) (pow.f64 b 3)) (/.f64 b a)))
(+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a)))
(+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 c 3) (pow.f64 a 2))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 c (pow.f64 a 2)))) (*.f64 -1 (*.f64 c (*.f64 a (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 2) a)) (*.f64 (pow.f64 c 2) a))))))) (pow.f64 b 5))) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 2) a)) (*.f64 (pow.f64 c 2) a)) (pow.f64 b 3))) (*.f64 -1 (/.f64 b a)))))
(fma.f64 2 (/.f64 (fma.f64 -1 (*.f64 (*.f64 a a) (pow.f64 c 3)) (fma.f64 1/8 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (*.f64 c c) (*.f64 a a))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 c (*.f64 a a))) (neg.f64 (*.f64 c (*.f64 a (*.f64 1/2 (*.f64 a (*.f64 c c)))))))) (pow.f64 b 5)) (+.f64 (/.f64 c b) (fma.f64 2 (/.f64 (*.f64 1/2 (*.f64 a (*.f64 c c))) (pow.f64 b 3)) (/.f64 (neg.f64 b) a))))
(fma.f64 2 (/.f64 (-.f64 (-.f64 (*.f64 (/.f64 1/8 c) (/.f64 (fma.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (*.f64 4 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a a))) (*.f64 c (*.f64 (*.f64 a 1/2) (*.f64 c (*.f64 c a))))) (*.f64 a (*.f64 a (pow.f64 c 3)))) (pow.f64 b 5)) (+.f64 (/.f64 c b) (-.f64 (/.f64 (*.f64 1 (*.f64 c (*.f64 c a))) (pow.f64 b 3)) (/.f64 b a))))
(fma.f64 2 (/.f64 (-.f64 (fma.f64 (/.f64 1/8 c) (/.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 20) (*.f64 a a)) (*.f64 c (*.f64 a (*.f64 a (*.f64 (*.f64 c -1/2) c))))) (*.f64 a (*.f64 a (pow.f64 c 3)))) (pow.f64 b 5)) (+.f64 (/.f64 c b) (-.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) (/.f64 b a))))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(/.f64 (neg.f64 c) b)
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (/.f64 c b)))
(-.f64 (/.f64 (neg.f64 c) b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(fma.f64 -1 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -1 (/.f64 c b) (*.f64 -2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a))))))
(-.f64 (-.f64 (*.f64 -2 (/.f64 (*.f64 a (*.f64 a (pow.f64 c 3))) (pow.f64 b 5))) (/.f64 c b)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(-.f64 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) -2) (pow.f64 b 5)) (*.f64 a a)) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 2 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -2 (/.f64 (pow.f64 c 4) (pow.f64 b 7))) (*.f64 -1/2 (/.f64 (pow.f64 c 4) (pow.f64 b 7)))))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(fma.f64 -1 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -1 (/.f64 c b) (fma.f64 2 (*.f64 (pow.f64 c 4) (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 b 7)) -5/2)) (*.f64 -2 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (*.f64 a a)))))))
(-.f64 (-.f64 (fma.f64 2 (*.f64 (pow.f64 a 3) (/.f64 (*.f64 (pow.f64 c 4) -5/2) (pow.f64 b 7))) (*.f64 -2 (/.f64 (*.f64 a (*.f64 a (pow.f64 c 3))) (pow.f64 b 5)))) (/.f64 c b)) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
(-.f64 (fma.f64 2 (*.f64 (pow.f64 a 3) (/.f64 (*.f64 (pow.f64 c 4) -5/2) (pow.f64 b 7))) (*.f64 (/.f64 (*.f64 (pow.f64 c 3) -2) (pow.f64 b 5)) (*.f64 a a))) (+.f64 (/.f64 c b) (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))

eval233.0ms (2.7%)

Compiler

Compiled 16746 to 10008 computations (40.2% saved)

prune1.7s (19.2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3429351
Fresh101
Picked101
Done000
Total3449353
Error
4.7b
Counts
353 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))) (*.f64 2 a)))
21.2b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
33.3b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 1/4) 2)) (*.f64 2 a)))
20.8b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a)))
21.4b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (*.f64 -2 b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
24.3b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 3/2)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Compiler

Compiled 830 to 540 computations (34.9% saved)

localize46.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.8b
(cbrt.f64 (*.f64 4 (*.f64 a c)))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
22.3b
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))
52.3b
(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)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series48.0ms (0.6%)

Counts
3 → 26
Calls

21 calls:

TimeVariablePointExpression
26.0ms
c
@-inf
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))
4.0ms
b
@0
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))
2.0ms
a
@-inf
(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)))
2.0ms
a
@0
(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)))
1.0ms
a
@inf
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))

rewrite59.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
275×log1p-udef_binary64
183×add-sqr-sqrt_binary64
175×pow1_binary64
174×*-un-lft-identity_binary64
170×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify59.0ms (0.7%)

Algorithm
egg-herbie
Rules
409×associate-*r*_binary64
399×fma-def_binary64
331×times-frac_binary64
306×associate-*l*_binary64
255×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0108527
1330469
21163424
34896424
Stop Event
node limit
Counts
120 → 125
Calls
Call 1
Inputs
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 5))) (pow.f64 b 6))) (+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))))
b
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) b)
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b)))
(*.f64 -1 b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (*.f64 -1 b))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))))))
b
(+.f64 b (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)))
(+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3)))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 3)) (pow.f64 b 5))) (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3))))))
b
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) b)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3)))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 3)) (pow.f64 b 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3))))))
Outputs
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (*.f64 c a) -4))) (*.f64 b b))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (*.f64 a -4)))) (*.f64 b b)) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 (*.f64 c a))) (*.f64 b b)) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2)))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 (*.f64 c a) -4) 3))) (pow.f64 b 4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (*.f64 c a) -4))) (*.f64 b b)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (*.f64 a -4)))) (*.f64 b b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 3))) (pow.f64 b 4)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 (*.f64 c a))) (*.f64 b b)) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (*.f64 c a) 3) -64))) (*.f64 -1/8 (pow.f64 b 4)) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 5))) (pow.f64 b 6))) (+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 (*.f64 c a) -4) 5))) (pow.f64 b 6)) (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 (*.f64 c a) -4) 3))) (pow.f64 b 4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (*.f64 c a) -4))) (*.f64 b b))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 5))) (pow.f64 b 6)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (*.f64 a -4)))) (*.f64 b b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 3))) (pow.f64 b 4))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 5))) (*.f64 1/16 (pow.f64 b 6)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 (*.f64 c a))) (*.f64 b b)) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (*.f64 c a) 3) -64))) (*.f64 -1/8 (pow.f64 b 4)) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
b
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) b)
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) b)
(fma.f64 1/2 (/.f64 (*.f64 c a) (/.f64 b -4)) b)
(+.f64 b (/.f64 (*.f64 (*.f64 c a) -2) b))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) b))
(fma.f64 1/2 (/.f64 (*.f64 c a) (/.f64 b -4)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) b))
(+.f64 b (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) (/.f64 (*.f64 (*.f64 c a) -2) b)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b)))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 1/16 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 3) (pow.f64 b 5)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) b)))
(fma.f64 1/2 (/.f64 (*.f64 c a) (/.f64 b -4)) (fma.f64 1/16 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 3) (pow.f64 b 5)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) b)))
(+.f64 b (+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 c a) 3) -4) (pow.f64 b 5)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) (/.f64 (*.f64 (*.f64 c a) -2) b))))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (*.f64 -1 b))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (neg.f64 b))
(fma.f64 (/.f64 (*.f64 c a) (/.f64 b -4)) -1/2 (neg.f64 b))
(-.f64 (/.f64 (*.f64 (*.f64 c a) 2) b) b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 -1 b (*.f64 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) 1/8)))
(fma.f64 (/.f64 (*.f64 c a) (/.f64 b -4)) -1/2 (-.f64 (/.f64 1/8 (/.f64 (pow.f64 b 3) (pow.f64 (*.f64 c (*.f64 a -4)) 2))) b))
(-.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) 1/8 (/.f64 (*.f64 (*.f64 c a) 2) b)) b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 -1/16 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 3) (pow.f64 b 5)) (fma.f64 -1 b (*.f64 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) 1/8))))
(fma.f64 (/.f64 (*.f64 c a) (/.f64 b -4)) -1/2 (fma.f64 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 3) (pow.f64 b 5)) -1/16 (-.f64 (/.f64 1/8 (/.f64 (pow.f64 b 3) (pow.f64 (*.f64 c (*.f64 a -4)) 2))) b)))
(+.f64 (/.f64 (*.f64 (*.f64 c a) 2) b) (fma.f64 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) 1/8 (-.f64 (/.f64 (*.f64 (pow.f64 (*.f64 c a) 3) 4) (pow.f64 b 5)) b)))
b
(+.f64 b (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3)))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 3)) (pow.f64 b 5))) (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3))))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
b
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) b)
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3)))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 3)) (pow.f64 b 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3))))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)

eval215.0ms (2.5%)

Compiler

Compiled 13588 to 8286 computations (39% saved)

prune748.0ms (8.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2181219
Fresh178
Picked011
Done000
Total2199228
Error
4.7b
Counts
228 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))) (*.f64 2 a)))
21.2b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a)))
20.8b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a)))
33.3b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 1/4) 2)) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
21.4b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (*.f64 -2 b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
24.3b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 3/2)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Compiler

Compiled 770 to 504 computations (34.5% saved)

localize38.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.8b
(cbrt.f64 (*.f64 4 (*.f64 a c)))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
22.3b
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))
52.4b
(fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series11.0ms (0.1%)

Counts
2 → 26
Calls

15 calls:

TimeVariablePointExpression
4.0ms
c
@-inf
(fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))
1.0ms
a
@0
(fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))
1.0ms
c
@-inf
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))
0.0ms
a
@-inf
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))
0.0ms
b
@0
(sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))

rewrite35.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
209×add-sqr-sqrt_binary64
201×pow1_binary64
200×*-un-lft-identity_binary64
194×add-cbrt-cube_binary64
193×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
409×associate-*r*_binary64
399×fma-def_binary64
331×times-frac_binary64
306×associate-*l*_binary64
255×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0108527
1330469
21163424
34896424
Stop Event
node limit
Counts
73 → 78
Calls
Call 1
Inputs
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 5))) (pow.f64 b 6))) (+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))))
b
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) b)
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b)))
(*.f64 -1 b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (*.f64 -1 b))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))))))
b
(+.f64 b (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)))
(+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3)))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 3)) (pow.f64 b 5))) (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3))))))
b
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) b)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3)))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 3)) (pow.f64 b 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3))))))
Outputs
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(*.f64 4 (*.f64 c a))
(sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (*.f64 c a) -4))) (*.f64 b b))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (*.f64 a -4)))) (*.f64 b b)) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 (*.f64 c a))) (*.f64 b b)) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2)))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 (*.f64 c a) -4) 3))) (pow.f64 b 4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (*.f64 c a) -4))) (*.f64 b b)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (*.f64 a -4)))) (*.f64 b b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 3))) (pow.f64 b 4)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 (*.f64 c a))) (*.f64 b b)) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (*.f64 c a) 3) -64))) (*.f64 -1/8 (pow.f64 b 4)) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 5))) (pow.f64 b 6))) (+.f64 (sqrt.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3))) (pow.f64 b 4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))))) (pow.f64 b 2))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 (*.f64 c a) -4) 5))) (pow.f64 b 6)) (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 (*.f64 c a) -4) 3))) (pow.f64 b 4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (*.f64 c a) -4))) (*.f64 b b))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 5))) (pow.f64 b 6)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (*.f64 a -4)))) (*.f64 b b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 3))) (pow.f64 b 4))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c (*.f64 a -4)) 5))) (*.f64 1/16 (pow.f64 b 6)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1/4 (*.f64 c a))) (*.f64 b b)) (fma.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 (*.f64 c a) 3) -64))) (*.f64 -1/8 (pow.f64 b 4)) (sqrt.f64 (*.f64 c (*.f64 a -4))))))
b
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) b)
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) b)
(fma.f64 1/2 (/.f64 (*.f64 c a) (/.f64 b -4)) b)
(+.f64 b (/.f64 (*.f64 (*.f64 c a) -2) b))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) b))
(fma.f64 1/2 (/.f64 (*.f64 c a) (/.f64 b -4)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) b))
(+.f64 b (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) (/.f64 (*.f64 (*.f64 c a) -2) b)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))) b)))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 1/16 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 3) (pow.f64 b 5)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) b)))
(fma.f64 1/2 (/.f64 (*.f64 c a) (/.f64 b -4)) (fma.f64 1/16 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 3) (pow.f64 b 5)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) b)))
(+.f64 b (+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 c a) 3) -4) (pow.f64 b 5)) (fma.f64 -1/8 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) (/.f64 (*.f64 (*.f64 c a) -2) b))))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (*.f64 -1 b))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (neg.f64 b))
(fma.f64 (/.f64 (*.f64 c a) (/.f64 b -4)) -1/2 (neg.f64 b))
(-.f64 (/.f64 (*.f64 (*.f64 c a) 2) b) b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 -1 b (*.f64 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) 1/8)))
(fma.f64 (/.f64 (*.f64 c a) (/.f64 b -4)) -1/2 (-.f64 (/.f64 1/8 (/.f64 (pow.f64 b 3) (pow.f64 (*.f64 c (*.f64 a -4)) 2))) b))
(-.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) 1/8 (/.f64 (*.f64 (*.f64 c a) 2) b)) b)
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) b)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 3) (pow.f64 b 5))) (+.f64 (*.f64 -1 b) (*.f64 1/8 (/.f64 (pow.f64 (+.f64 (*.f64 -8 (*.f64 c a)) (*.f64 4 (*.f64 c a))) 2) (pow.f64 b 3))))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 c a) -4) b) (fma.f64 -1/16 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 3) (pow.f64 b 5)) (fma.f64 -1 b (*.f64 (/.f64 (pow.f64 (*.f64 (*.f64 c a) -4) 2) (pow.f64 b 3)) 1/8))))
(fma.f64 (/.f64 (*.f64 c a) (/.f64 b -4)) -1/2 (fma.f64 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 3) (pow.f64 b 5)) -1/16 (-.f64 (/.f64 1/8 (/.f64 (pow.f64 b 3) (pow.f64 (*.f64 c (*.f64 a -4)) 2))) b)))
(+.f64 (/.f64 (*.f64 (*.f64 c a) 2) b) (fma.f64 (/.f64 (pow.f64 (*.f64 c (*.f64 a -4)) 2) (pow.f64 b 3)) 1/8 (-.f64 (/.f64 (*.f64 (pow.f64 (*.f64 c a) 3) 4) (pow.f64 b 5)) b)))
b
(+.f64 b (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3)))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 3)) (pow.f64 b 5))) (+.f64 b (+.f64 (*.f64 1/2 (/.f64 (*.f64 c (+.f64 (*.f64 4 a) (*.f64 -4 a))) b)) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 (+.f64 (*.f64 4 a) (*.f64 -4 a)) 2)) (pow.f64 b 3))))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
b
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) b)
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3)))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 3)) (pow.f64 b 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (+.f64 (*.f64 4 c) (*.f64 -4 c))) b)) (+.f64 b (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (+.f64 (*.f64 4 c) (*.f64 -4 c)) 2)) (pow.f64 b 3))))))
(+.f64 b (*.f64 1/2 (/.f64 c (/.f64 b (*.f64 a 0)))))
(+.f64 b (/.f64 0 b))
(+.f64 b 0)

eval156.0ms (1.8%)

Compiler

Compiled 10690 to 6406 computations (40.1% saved)

prune397.0ms (4.6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1720172
Fresh077
Picked011
Done011
Total1729181
Error
4.7b
Counts
181 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))) (*.f64 2 a)))
21.2b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a)))
20.8b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a)))
33.3b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 1/4) 2)) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
21.4b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (*.f64 -2 b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
24.3b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 3/2)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Compiler

Compiled 707 to 462 computations (34.7% saved)

localize28.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.2b
(-.f64 (neg.f64 b) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))
22.3b
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))
22.9b
(cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))
Compiler

Compiled 1536 to 1280 computations (16.7% saved)

series21.0ms (0.2%)

Counts
3 → 52
Calls

27 calls:

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

rewrite73.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
305×fma-def_binary64
219×expm1-udef_binary64
219×log1p-udef_binary64
156×fma-neg_binary64
148×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify52.0ms (0.6%)

Algorithm
egg-herbie
Rules
789×fma-def_binary64
556×times-frac_binary64
399×associate-/l*_binary64
372×associate-/r*_binary64
170×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01691839
15291816
219281758
Stop Event
node limit
Counts
201 → 213
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4))
(+.f64 (*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 1/3) (/.f64 (pow.f64 b 2) (pow.f64 (cbrt.f64 -4) 2)))))
(+.f64 (*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5))) 1/3) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 1/3) (/.f64 (pow.f64 b 2) (pow.f64 (cbrt.f64 -4) 2))))))
(+.f64 (*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5))) 1/3) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 1/3) (/.f64 (pow.f64 b 2) (pow.f64 (cbrt.f64 -4) 2)))) (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 8) (pow.f64 a 8))) 1/3) (/.f64 (pow.f64 b 6) (pow.f64 (cbrt.f64 -4) 8)))))))
(pow.f64 (pow.f64 b 2) 1/3)
(+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))
(+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3)))
(+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 c 3) (+.f64 (*.f64 -64/27 (*.f64 (pow.f64 a 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (*.f64 128/9 (*.f64 (pow.f64 a 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))))) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))))
(pow.f64 (pow.f64 b 2) 1/3)
(+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))
(+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3)))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -64/27 (*.f64 (pow.f64 c 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (*.f64 128/9 (*.f64 (pow.f64 c 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))))) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 5))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))))))
b
(+.f64 b (*.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 b (*.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 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -1 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 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 -1 b)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
b
(+.f64 b (*.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 b (*.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 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
b
(+.f64 b (*.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 b (*.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 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a))))
(+.f64 (*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (*.f64 -1 b))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (*.f64 -1 b)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))) (+.f64 (*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (*.f64 -1 b))))
(*.f64 -2 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 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 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(*.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 -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 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -2 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 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 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.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 a) b)) (*.f64 -2 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 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 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
Outputs
(*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4))
(*.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4))
(+.f64 (*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 1/3) (/.f64 (pow.f64 b 2) (pow.f64 (cbrt.f64 -4) 2)))))
(fma.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 a a) (*.f64 c c)))) (/.f64 (*.f64 b b) (pow.f64 (cbrt.f64 -4) 2)))))
(fma.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 c (*.f64 c (*.f64 a a)))))) (/.f64 (*.f64 b b) (pow.f64 (cbrt.f64 -4) 2)) (*.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4)))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (*.f64 a (*.f64 c c))))) (*.f64 (/.f64 b (pow.f64 (cbrt.f64 -4) 2)) b)) (*.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4)))
(+.f64 (*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5))) 1/3) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 1/3) (/.f64 (pow.f64 b 2) (pow.f64 (cbrt.f64 -4) 2))))))
(fma.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5))) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 a a) (*.f64 c c)))) (/.f64 (*.f64 b b) (pow.f64 (cbrt.f64 -4) 2))))))
(fma.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 c (*.f64 c (*.f64 a a))))) (/.f64 (*.f64 b b) (pow.f64 (cbrt.f64 -4) 2))) (*.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (*.f64 a (*.f64 c c))))) (*.f64 (/.f64 b (pow.f64 (cbrt.f64 -4) 2)) b)) (fma.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4) (*.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5))))))
(+.f64 (*.f64 (pow.f64 (*.f64 c a) 1/3) (cbrt.f64 -4)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5))) 1/3) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 1/3) (/.f64 (pow.f64 b 2) (pow.f64 (cbrt.f64 -4) 2)))) (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 c 8) (pow.f64 a 8))) 1/3) (/.f64 (pow.f64 b 6) (pow.f64 (cbrt.f64 -4) 8)))))))
(fma.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (*.f64 a a) (*.f64 c c)))) (/.f64 (*.f64 b b) (pow.f64 (cbrt.f64 -4) 2))) (*.f64 5/81 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 8) (pow.f64 a 8)))) (/.f64 (pow.f64 b 6) (pow.f64 (cbrt.f64 -4) 8)))))))
(fma.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 c (*.f64 c (*.f64 a a))))) (/.f64 (*.f64 b b) (pow.f64 (cbrt.f64 -4) 2))) (*.f64 5/81 (/.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 8) (pow.f64 a 8)))) (/.f64 (pow.f64 (cbrt.f64 -4) 8) (pow.f64 b 6)))))))
(fma.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 -4) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 a (*.f64 a (*.f64 c c))))) (*.f64 (/.f64 b (pow.f64 (cbrt.f64 -4) 2)) b)) (fma.f64 5/81 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 8) (pow.f64 a 8)))) (/.f64 (pow.f64 b 6) (pow.f64 (cbrt.f64 -4) 8))) (*.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (cbrt.f64 -4) 5)))))))
(pow.f64 (pow.f64 b 2) 1/3)
(cbrt.f64 (*.f64 b b))
(+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))
(fma.f64 -4/3 (*.f64 (*.f64 c a) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18))) (cbrt.f64 (*.f64 b b)))
(fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b)))
(+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3)))
(fma.f64 -16/9 (*.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18))) (fma.f64 -4/3 (*.f64 (*.f64 c a) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18))) (cbrt.f64 (*.f64 b b))))
(fma.f64 -16/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 c (*.f64 c (*.f64 a a))))) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b))))
(fma.f64 (*.f64 a (*.f64 a (*.f64 c c))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18)) -16/9) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b))))
(+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 c 3) (+.f64 (*.f64 -64/27 (*.f64 (pow.f64 a 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (*.f64 128/9 (*.f64 (pow.f64 a 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))))) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))))
(fma.f64 -16/9 (*.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 b 4))) (*.f64 (pow.f64 c 3) (*.f64 (*.f64 (pow.f64 a 3) (cbrt.f64 (/.f64 1 (pow.f64 b 4)))) 320/27))) (fma.f64 -4/3 (*.f64 (*.f64 c a) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18))) (cbrt.f64 (*.f64 b b)))))
(fma.f64 -16/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 c (*.f64 c (*.f64 a a))))) (fma.f64 -1/3 (*.f64 (pow.f64 a 3) (*.f64 (*.f64 (pow.f64 c 3) (cbrt.f64 (/.f64 1 (pow.f64 b 4)))) (*.f64 320/27 (cbrt.f64 (/.f64 1 (pow.f64 b 4)))))) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b)))))
(fma.f64 (*.f64 a (*.f64 a (*.f64 c c))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18)) -16/9) (fma.f64 -1/3 (*.f64 (pow.f64 a 3) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 b 4))) (*.f64 (pow.f64 c 3) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 b 4))) 320/27)))) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b)))))
(pow.f64 (pow.f64 b 2) 1/3)
(cbrt.f64 (*.f64 b b))
(+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))
(fma.f64 -4/3 (*.f64 (*.f64 c a) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18))) (cbrt.f64 (*.f64 b b)))
(fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b)))
(+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3)))
(fma.f64 -16/9 (*.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18))) (fma.f64 -4/3 (*.f64 (*.f64 c a) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18))) (cbrt.f64 (*.f64 b b))))
(fma.f64 -16/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 c (*.f64 c (*.f64 a a))))) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b))))
(fma.f64 (*.f64 a (*.f64 a (*.f64 c c))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18)) -16/9) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b))))
(+.f64 (*.f64 -1/3 (*.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 -64/27 (*.f64 (pow.f64 c 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (*.f64 128/9 (*.f64 (pow.f64 c 3) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))))) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/3))) (+.f64 (*.f64 -16/9 (*.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/9))) (+.f64 (*.f64 -4/3 (*.f64 (*.f64 c a) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/9))) (pow.f64 (pow.f64 b 2) 1/3))))
(fma.f64 -16/9 (*.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 b 4))) (*.f64 (pow.f64 c 3) (*.f64 (*.f64 (pow.f64 a 3) (cbrt.f64 (/.f64 1 (pow.f64 b 4)))) 320/27))) (fma.f64 -4/3 (*.f64 (*.f64 c a) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18))) (cbrt.f64 (*.f64 b b)))))
(fma.f64 -16/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (*.f64 c (*.f64 c (*.f64 a a))))) (fma.f64 -1/3 (*.f64 (pow.f64 a 3) (*.f64 (*.f64 (pow.f64 c 3) (cbrt.f64 (/.f64 1 (pow.f64 b 4)))) (*.f64 320/27 (cbrt.f64 (/.f64 1 (pow.f64 b 4)))))) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b)))))
(fma.f64 (*.f64 a (*.f64 a (*.f64 c c))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 b 14)) 1/18)) -16/9) (fma.f64 -1/3 (*.f64 (pow.f64 a 3) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 b 4))) (*.f64 (pow.f64 c 3) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 b 4))) 320/27)))) (fma.f64 -4/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 b 4)) 1/18) (*.f64 c a))) (cbrt.f64 (*.f64 b b)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 1/2 (/.f64 (*.f64 b b) (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 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 1/2 (/.f64 (*.f64 b b) (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/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (/.f64 (*.f64 (pow.f64 b 4) -1/8) (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) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 5))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 5)) (*.f64 -1/8 (/.f64 (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)))) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (/.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 5) (pow.f64 b 6)))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 5)) (*.f64 1/2 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(fma.f64 -2 (*.f64 (/.f64 c b) a) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (+.f64 b (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (*.f64 (/.f64 c b) a) b)) (/.f64 (*.f64 -4 (pow.f64 c 3)) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))
(+.f64 b (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 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))))))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 2 (/.f64 (*.f64 c a) b) (neg.f64 b))
(-.f64 (/.f64 (*.f64 (*.f64 2 a) c) b) b)
(-.f64 (/.f64 (*.f64 2 a) (/.f64 b c)) 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 -1 b)))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (neg.f64 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 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a)))) b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (fma.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (neg.f64 b))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (/.f64 (*.f64 4 (*.f64 (pow.f64 c 3) (pow.f64 a 3))) (pow.f64 b 5))) b))
(fma.f64 4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (-.f64 (*.f64 2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a)))) b))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(fma.f64 -2 (*.f64 (/.f64 c b) a) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (+.f64 b (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (*.f64 (/.f64 c b) a) b)) (/.f64 (*.f64 -4 (pow.f64 c 3)) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))
(+.f64 b (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 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(fma.f64 -2 (*.f64 (/.f64 c b) a) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))
(fma.f64 -2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))) b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (+.f64 b (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -2 (*.f64 (/.f64 c b) a) b)) (/.f64 (*.f64 -4 (pow.f64 c 3)) (/.f64 (pow.f64 b 5) (pow.f64 a 3))))
(+.f64 b (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 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))))))
(*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a))))
(neg.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)))
(neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 (*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (*.f64 -1 b))
(*.f64 -1 (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b))
(-.f64 (neg.f64 b) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (*.f64 -1 b)))
(fma.f64 -1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (*.f64 -1 (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b)))
(fma.f64 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/2 (-.f64 (neg.f64 b) (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(-.f64 (*.f64 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1/2) (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))) (+.f64 (*.f64 -1 (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (*.f64 -1 b))))
(fma.f64 -1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c a) -4))) (fma.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) 3)) (*.f64 -1 (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b))))
(fma.f64 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1/2 (-.f64 (-.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) 1/8) (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))
(-.f64 (fma.f64 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 3)) 1/8 (*.f64 (*.f64 (/.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1/2)) (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.f64 2 (/.f64 (*.f64 c a) b) (*.f64 b -2))
(fma.f64 b -2 (/.f64 (*.f64 (*.f64 2 a) c) b))
(fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (*.f64 b -2)))
(fma.f64 2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))) (*.f64 b -2))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3))))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (/.f64 (*.f64 4 (*.f64 (pow.f64 c 3) (pow.f64 a 3))) (pow.f64 b 5)))))
(+.f64 (fma.f64 b -2 (*.f64 (/.f64 4 (pow.f64 b 5)) (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (*.f64 2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a)))))
(*.f64 -2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -2 c) (/.f64 b a))
(*.f64 (/.f64 -2 b) (*.f64 c a))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))
(*.f64 -2 (+.f64 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (/.f64 (*.f64 c a) b)))
(*.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 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b))))
(fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (/.f64 (*.f64 -2 c) (/.f64 b a))))
(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 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 a a) (*.f64 c c)) -2) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7)) (fma.f64 -2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)) (fma.f64 -4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(fma.f64 -1/2 (/.f64 (fma.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (*.f64 4 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7)) (fma.f64 -2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (fma.f64 -4 (*.f64 (/.f64 (pow.f64 c 3) (pow.f64 b 5)) (pow.f64 a 3)) (/.f64 (*.f64 -2 c) (/.f64 b a)))))
(fma.f64 -1/2 (/.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) 20) (pow.f64 b 7)) (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 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.f64 2 (/.f64 (*.f64 c a) b) (*.f64 b -2))
(fma.f64 b -2 (/.f64 (*.f64 (*.f64 2 a) c) b))
(fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (*.f64 b -2)))
(fma.f64 2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))) (*.f64 b -2))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3))))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (/.f64 (*.f64 4 (*.f64 (pow.f64 c 3) (pow.f64 a 3))) (pow.f64 b 5)))))
(+.f64 (fma.f64 b -2 (*.f64 (/.f64 4 (pow.f64 b 5)) (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (*.f64 2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a)))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.f64 2 (/.f64 (*.f64 c a) b) (*.f64 b -2))
(fma.f64 b -2 (/.f64 (*.f64 (*.f64 2 a) c) b))
(fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3)))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (*.f64 b -2)))
(fma.f64 2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a))) (*.f64 b -2))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 b) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))))
(fma.f64 2 (/.f64 (*.f64 c a) b) (fma.f64 -2 b (fma.f64 4 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 2 (/.f64 (*.f64 (*.f64 a a) (*.f64 c c)) (pow.f64 b 3))))))
(fma.f64 2 (*.f64 (/.f64 c b) a) (fma.f64 b -2 (fma.f64 2 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) (*.f64 a a)) (/.f64 (*.f64 4 (*.f64 (pow.f64 c 3) (pow.f64 a 3))) (pow.f64 b 5)))))
(+.f64 (fma.f64 b -2 (*.f64 (/.f64 4 (pow.f64 b 5)) (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (*.f64 2 (fma.f64 (/.f64 c b) a (/.f64 a (/.f64 (/.f64 (pow.f64 b 3) (*.f64 c c)) a)))))

eval278.0ms (3.2%)

Compiler

Compiled 14128 to 8641 computations (38.8% saved)

prune798.0ms (9.2%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New2592261
Fresh156
Picked011
Done022
Total26010270
Error
4.7b
Counts
270 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
21.2b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 1/4) 2)) (*.f64 2 a)))
21.4b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (*.f64 b -2)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))) (*.f64 2 a)))
21.2b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
20.0b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a)))
20.8b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a)))
33.3b
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
24.3b
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 3/2)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Compiler

Compiled 454 to 298 computations (34.4% saved)

regimes144.0ms (1.7%)

Accuracy

Total -43.9b remaining (-682.3%)

Threshold costs -43.9b (-682.3%)

Counts
14 → 3
Calls
Call 1
Inputs
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (*.f64 b -2)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (fma.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 4 a)) (cbrt.f64 c))) (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 a c))) 2) (*.f64 4 (*.f64 a c)))))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (+.f64 (fma.f64 b b (*.f64 c (*.f64 a -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)))))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (fma.f64 -2 (*.f64 (/.f64 c b) a) b))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (*.f64 (/.f64 (*.f64 c 2) (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4))))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 1/4) 2)) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (*.f64 -2 b)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) 3/2)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 c -2) (+.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b))))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (/.f64 a -1/4) (*.f64 b b)))) (/.f64 -1/2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Outputs
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Results
TimeErrorSegmentsBranch
47.0ms15.5b7a
21.0ms6.4b3b
35.0ms15.0b5c
26.0ms6.9b5(if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))
Compiler

Compiled 639 to 379 computations (40.7% saved)

bsearch161.0ms (1.9%)

Algorithm
binary-search
Steps
TimePointRange
37.0ms
5.138908756474045e+120
∈ [
5.138908756474045e+120
,
1.890201629674128e+124
]
123.0ms
-7.5e+139
∈ [
-6.617002709823488e+155
,
-7.468542759185239e+139
]
Compiler

Compiled 807 to 521 computations (35.4% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
13×+-commutative_binary64
13×*-commutative_binary64
11×sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037166
155162
284162
3104162
4116162
5120162
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 b -74999999999999999157837342739126461164449402313115678021400092147999929094165123293771142490522826825350160660247758430442576672449070366720) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a))) (if (<=.f64 b 5138908756474045127447739764517791425294615597749567801539997040135174378469797910832398561881994132369976926926681407488) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))))
Outputs
(if (<=.f64 b -74999999999999999157837342739126461164449402313115678021400092147999929094165123293771142490522826825350160660247758430442576672449070366720) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 2 a))) (if (<=.f64 b 5138908756474045127447739764517791425294615597749567801539997040135174378469797910832398561881994132369976926926681407488) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a)))))
(if (<=.f64 b -74999999999999999157837342739126461164449402313115678021400092147999929094165123293771142490522826825350160660247758430442576672449070366720) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))))) (/.f64 (-.f64 (neg.f64 b) b) (*.f64 2 a))) (if (<=.f64 b 5138908756474045127447739764517791425294615597749567801539997040135174378469797910832398561881994132369976926926681407488) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))) (*.f64 2 a))) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 4 a))))) (*.f64 2 a)))))
(if (<=.f64 b -74999999999999999157837342739126461164449402313115678021400092147999929094165123293771142490522826825350160660247758430442576672449070366720) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (/.f64 (-.f64 (neg.f64 b) b) (*.f64 2 a))) (if (<=.f64 b 5138908756474045127447739764517791425294615597749567801539997040135174378469797910832398561881994132369976926926681407488) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) b) (*.f64 2 a))) (if (>=.f64 b 0) (/.f64 (*.f64 2 c) (fma.f64 b -2 (/.f64 (*.f64 2 a) (/.f64 b c)))) (/.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) b) (*.f64 2 a)))))

end43.0ms (0.5%)

Stop Event
fuel
Compiler

Compiled 222 to 138 computations (37.8% saved)

Profiling

Loading profile data...