Details

Time bar (total: 6.9s)

analyze617.0ms (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
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.1s (31.2%)

Results
674.0ms5345×body128valid
596.0ms1183×body2048valid
312.0ms760×body1024valid
249.0ms401×body4096valid
136.0ms1101×body128invalid
122.0ms387×body512valid
40.0ms180×body256valid
Compiler

Compiled 42 to 30 computations (28.6% saved)

preprocess36.0ms (0.5%)

Algorithm
egg-herbie
Rules
423×rules-4_binary64
275×rules-13_binary64
233×rules-15-rev_binary64
207×rules-15_binary64
182×rules-20_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038104
194100
2254100
374788
4296588
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 a 2))
(/.f64 (fma.f64 b -1 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 a 2))
(/.f64 (fma.f64 b -1 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))) b) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 4 b) c)))) (*.f64 2 b))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 c (*.f64 b 4)))))) (*.f64 b 2))
(/.f64 (fma.f64 a -1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b (*.f64 4 c))))) (*.f64 b 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 a a (/.f64 (*.f64 b c) -1/4))) a) (*.f64 b 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 c -4) (*.f64 a a))) a) (*.f64 b 2))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 c) a)))) (*.f64 2 c))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 4 c))))) (*.f64 c 2))
(/.f64 (fma.f64 b -1 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 c 2))
(/.f64 (fma.f64 b -1 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 c 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 a c) -4 (*.f64 b b))) b) (*.f64 c 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 c 2))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 4 a) b)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 4 a))))) (*.f64 a 2))
(/.f64 (fma.f64 c -1 (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 4 (*.f64 b a))))) (*.f64 a 2))
(/.f64 (fma.f64 c -1 (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 4 a))))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b (*.f64 a -4) (*.f64 c c))) c) (*.f64 a 2))
Compiler

Compiled 20 to 14 computations (30% saved)

simplify33.0ms (0.5%)

Algorithm
egg-herbie
Rules
353×rules-1_binary64
331×rules-6-rev_binary64
292×rules-5-rev_binary64
266×rules-1-rev_binary64
247×rules-20_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13225
27725
322322
490522
5438122
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 a 2))
(/.f64 (fma.f64 b -1 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 a 2))
(/.f64 (fma.f64 b -1 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 4 c))))) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (/.f64 (*.f64 a c) -1/4))) b) (*.f64 a 2))
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
34.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
34.3b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
Compiler

Compiled 71 to 47 computations (33.8% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
1.3b
(fma.f64 b b (*.f64 a (*.f64 c -4)))
1.3b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
22.6b
(sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))

series112.0ms (1.6%)

Counts
4 → 96
Calls

36 calls:

TimeVariablePointExpression
9.0ms
a
@inf
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
9.0ms
a
@-inf
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
8.0ms
c
@inf
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
7.0ms
c
@-inf
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
5.0ms
c
@-inf
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)

rewrite73.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
297×rules-34-rev_binary64
151×rules-24_binary64
138×add-sqr-sqrt_binary64
131×pow1_binary64
131×rules-40_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
526×rules-20_binary64
452×rules-13_binary64
370×rules-15-rev_binary64
353×rules-14-rev_binary64
203×rules-21_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

prune200.0ms (2.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New24210252
Fresh000
Picked101
Done000
Total24310253
Error
6.4b
Counts
253 → 10
Alt Table
StatusErrorProgram
40.6b
(/.f64 (neg.f64 c) b)
37.8b
(/.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (*.f64 a 2))
36.2b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))) (*.f64 a 2))
38.7b
(/.f64 (-.f64 (*.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) (cbrt.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (*.f64 a 2))
34.4b
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)) (/.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)) (*.f64 a 2)))
43.6b
(/.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) 3/2)) b) (*.f64 a 2))
34.3b
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
51.7b
(/.f64 (-.f64 (sqrt.f64 (pow.f64 b 2)) b) (*.f64 a 2))
34.9b
(/.f64 (-.f64 (/.f64 1 (fabs.f64 (/.f64 1 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))) b) (*.f64 a 2))
46.0b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 6001 to 3937 computations (34.4% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
0.2b
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
0.5b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
14.2b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series279.0ms (4.1%)

Counts
4 → 38
Calls

33 calls:

TimeVariablePointExpression
25.0ms
a
@-inf
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
25.0ms
a
@inf
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
24.0ms
c
@inf
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
19.0ms
c
@-inf
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
17.0ms
c
@inf
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)

rewrite74.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
328×rules-34-rev_binary64
154×add-sqr-sqrt_binary64
146×pow1_binary64
146×rules-40_binary64
146×rules-41_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify43.0ms (0.6%)

Algorithm
egg-herbie
Rules
549×rules-15-rev_binary64
510×rules-20_binary64
273×rules-14-rev_binary64
265×rules-13_binary64
177×rules-21_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01191408
14271300
220971300
Stop Event
node limit
Counts
196 → 227
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(-.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) b)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (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))) b))
(*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (*.f64 5/128 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (pow.f64 b 7)))))
(*.f64 -2 b)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (*.f64 2 b)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (*.f64 2 b)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 2 b))))
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a))
(-.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/2 (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (*.f64 1/2 (/.f64 b a))))
(*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (+.f64 (*.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))))))
(*.f64 -1 (/.f64 b a))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (sqrt.f64 (*.f64 -4 (*.f64 c a))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (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 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (*.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 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) b)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(*.f64 -1 b)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) b)))
b
b
Outputs
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 a (*.f64 -4 c)))
(-.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(-.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) b)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) b)
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) b)
(-.f64 (/.f64 (+.f64 (*.f64 1/2 (*.f64 b b)) (*.f64 a (*.f64 -4 c))) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) b)
(-.f64 (/.f64 (+.f64 (*.f64 a (*.f64 -4 c)) (*.f64 1/2 (*.f64 b b))) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) b)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (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))) b))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (fma.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)) b))
(-.f64 (/.f64 (+.f64 (*.f64 1/2 (*.f64 b b)) (*.f64 a (*.f64 -4 c))) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (fma.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3)) b))
(-.f64 (/.f64 (+.f64 (*.f64 a (*.f64 -4 c)) (*.f64 1/2 (*.f64 b b))) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (fma.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3)) b))
(*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))
(*.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b))
(/.f64 (*.f64 a (*.f64 -4 c)) (/.f64 b 1/2))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))))
(-.f64 (/.f64 (*.f64 a (*.f64 -4 c)) (/.f64 b 1/2)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5)) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (/.f64 (pow.f64 b 5) 1/16))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (*.f64 5/128 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (pow.f64 b 7)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5)) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b))) (fma.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (/.f64 (pow.f64 b 7) 5/128))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (/.f64 (pow.f64 b 5) 1/16))) (fma.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 8) (/.f64 (pow.f64 b 7) 5/128))))
(*.f64 -2 b)
(*.f64 b -2)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (*.f64 2 b)))
(neg.f64 (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) (*.f64 b 2)))
(neg.f64 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) (*.f64 b 2)))
(*.f64 (+.f64 b (*.f64 (/.f64 (*.f64 a (*.f64 -4 c)) b) 1/4)) -2)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (*.f64 2 b)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) (*.f64 b 2)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))) (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) (*.f64 b 2)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))) (fma.f64 b 2 (/.f64 (*.f64 a (*.f64 -4 c)) (/.f64 b 1/2))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 2 b))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5)) (*.f64 b 2))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))) (fma.f64 b 2 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (/.f64 (pow.f64 b 5) 1/16)))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (pow.f64 b 5)) (fma.f64 b 2 (/.f64 (*.f64 a (*.f64 -4 c)) (/.f64 b 1/2)))))
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (/.f64 a 1/2))
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) a))
(/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) (/.f64 a 1/2))
(-.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/2 (/.f64 b a)))
(-.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (/.f64 a 1/2)) (*.f64 1/2 (/.f64 b a)))
(*.f64 1/2 (-.f64 (/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) a) (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 b a)))
(-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 b a)))
(-.f64 (/.f64 (/.f64 (*.f64 b (*.f64 1/4 b)) a) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (*.f64 1/2 (-.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) a))))
(-.f64 (/.f64 (/.f64 (*.f64 b (*.f64 b 1/4)) a) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (*.f64 1/2 (-.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) a))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (*.f64 1/2 (/.f64 b a))))
(-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)) (*.f64 1/2 (/.f64 b a))))
(-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) a) (/.f64 (/.f64 (*.f64 b (*.f64 1/4 b)) a) (sqrt.f64 (*.f64 a (*.f64 -4 c))))) (fma.f64 1/2 (/.f64 b a) (/.f64 (/.f64 (*.f64 (pow.f64 b 4) 1/16) a) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3))))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 b (/.f64 b a)) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) (/.f64 a 1/2))) (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3)) (*.f64 1/2 (/.f64 b a))))
(*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))
(*.f64 1/4 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)))
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (*.f64 a (pow.f64 b 5))))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (+.f64 (*.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))))))
(-.f64 (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (fma.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))))))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (*.f64 a (pow.f64 b 5))))) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (pow.f64 b 3))) (*.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 8) (*.f64 a (pow.f64 b 7))))))
(*.f64 -1 (/.f64 b a))
(*.f64 (/.f64 b a) -1)
(/.f64 b (neg.f64 a))
(/.f64 (neg.f64 b) a)
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(neg.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (/.f64 b a)))
(neg.f64 (fma.f64 1/4 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (fma.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (/.f64 b a)))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))) (fma.f64 1/4 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a))))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (fma.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (/.f64 b a))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))) (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (*.f64 a (pow.f64 b 5))) (fma.f64 1/4 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (/.f64 b a))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 a (*.f64 -4 c)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (sqrt.f64 (*.f64 -4 (*.f64 c a))))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (sqrt.f64 (*.f64 -4 (*.f64 c a))))
(/.f64 (+.f64 (*.f64 1/2 (*.f64 b b)) (*.f64 a (*.f64 -4 c))) (sqrt.f64 (*.f64 a (*.f64 -4 c))))
(/.f64 (+.f64 (*.f64 a (*.f64 -4 c)) (*.f64 1/2 (*.f64 b b))) (sqrt.f64 (*.f64 a (*.f64 -4 c))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (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 (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (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 (/.f64 (+.f64 (*.f64 1/2 (*.f64 b b)) (*.f64 a (*.f64 -4 c))) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3))))
(-.f64 (/.f64 (+.f64 (*.f64 a (*.f64 -4 c)) (*.f64 1/2 (*.f64 b b))) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (/.f64 (*.f64 1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) (*.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 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 5))) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (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 (fma.f64 1/2 (*.f64 b (/.f64 b (sqrt.f64 (*.f64 a (*.f64 -4 c))))) (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 5)) (sqrt.f64 (*.f64 a (*.f64 -4 c))))) (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3))))
(-.f64 (fma.f64 1/2 (*.f64 b (/.f64 b (sqrt.f64 (*.f64 a (*.f64 -4 c))))) (fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 5)) (sqrt.f64 (*.f64 a (*.f64 -4 c))))) (/.f64 (*.f64 1/8 (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3)))
b
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b)
(fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) b)
(fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) b)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) b) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) b) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) b)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5)) b)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (pow.f64 b 5)) (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) b)) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))))
(*.f64 -1 b)
(*.f64 b -1)
(neg.f64 b)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b))
(neg.f64 (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) b))
(neg.f64 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) b))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) b))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) b))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))) (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) b))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5))) b)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 3))) (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) b) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 5)) b)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (pow.f64 b 3))) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (pow.f64 b 5)) (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) b) b)))
b
b

prune164.0ms (2.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2225227
Fresh729
Picked011
Done000
Total2298237
Error
0.2b
Counts
237 → 8
Alt Table
StatusErrorProgram
40.6b
(/.f64 (neg.f64 c) b)
34.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a) 2)
34.3b
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
34.2b
(/.f64 1 (/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))
45.5b
(*.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) (/.f64 1 (*.f64 a 2)))
47.2b
(*.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))) b) (/.f64 1 (*.f64 a 2)))
34.4b
(*.f64 (-.f64 (hypot.f64 b (*.f64 (cbrt.f64 (*.f64 a (*.f64 c -4))) (cbrt.f64 (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (/.f64 1 (*.f64 a 2)))
46.0b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 5675 to 3966 computations (30.1% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
0.1b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a)
0.5b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
14.2b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series113.0ms (1.6%)

Counts
1 → 12
Calls

9 calls:

TimeVariablePointExpression
27.0ms
a
@-inf
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a)
21.0ms
a
@inf
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a)
21.0ms
c
@inf
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a)
15.0ms
c
@-inf
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a)
10.0ms
c
@0
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a)

rewrite47.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
254×rules-34-rev_binary64
203×rules-21_binary64
140×rules-22_binary64
139×rules-24_binary64
119×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify23.0ms (0.3%)

Algorithm
egg-herbie
Rules
327×rules-6_binary64
282×rules-12-rev_binary64
264×rules-15-rev_binary64
257×rules-6-rev_binary64
239×rules-20_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067539
1235500
21021500
Stop Event
node limit
Counts
46 → 58
Calls
Call 1
Inputs
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)
(-.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (/.f64 b a)))
(*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7)))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))))))
(*.f64 -2 (/.f64 b a))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 2 (/.f64 b a))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 2 (/.f64 b a))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 2 (/.f64 b a)))))
Outputs
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)
(/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) a)
(-.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (/.f64 b a))
(-.f64 (/.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) a) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (/.f64 b a))
(-.f64 (*.f64 1/2 (/.f64 (/.f64 (*.f64 b b) a) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (-.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)))
(-.f64 (fma.f64 1/2 (*.f64 b (/.f64 b (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a)))))) (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (/.f64 b a))
(-.f64 (/.f64 (+.f64 (/.f64 (*.f64 b (*.f64 b 1/2)) a) (/.f64 (*.f64 a (*.f64 -4 c)) a)) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (/.f64 b a))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/2 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (/.f64 b a)))
(-.f64 (*.f64 1/2 (/.f64 (/.f64 (*.f64 b b) a) (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (-.f64 (fma.f64 1/8 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)) (/.f64 b a)) (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)))
(-.f64 (fma.f64 1/2 (*.f64 b (/.f64 b (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a)))))) (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (fma.f64 1/8 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)) (/.f64 b a)))
(-.f64 (/.f64 (+.f64 (/.f64 (*.f64 b (*.f64 b 1/2)) a) (/.f64 (*.f64 a (*.f64 -4 c)) a)) (sqrt.f64 (*.f64 a (*.f64 -4 c)))) (fma.f64 1/8 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 3)) (/.f64 b a)))
(*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))
(*.f64 1/2 (/.f64 (*.f64 -4 (*.f64 c a)) (*.f64 a b)))
(/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a (/.f64 b 1/2)))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/8)))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 -4 (*.f64 c a)) (*.f64 a b))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))))
(-.f64 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a (/.f64 b 1/2))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/8)))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 -4 (*.f64 c a)) (*.f64 a b)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (/.f64 (pow.f64 b 5) 1/16)))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (*.f64 (pow.f64 b 5) (/.f64 a 1/16)))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7)))) (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (fma.f64 5/128 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/8))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 -4 (*.f64 c a)) (*.f64 a b)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (/.f64 (pow.f64 b 5) 1/16)))) (fma.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))) (/.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) a) (/.f64 (pow.f64 b 7) 5/128))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (*.f64 (pow.f64 b 5) (/.f64 a 1/16)))) (fma.f64 5/128 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 8) (*.f64 a (pow.f64 b 7))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8)))))
(*.f64 -2 (/.f64 b a))
(*.f64 (/.f64 b a) -2)
(/.f64 b (/.f64 a -2))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 2 (/.f64 b a))))
(neg.f64 (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (*.f64 (/.f64 b a) 2)))
(neg.f64 (fma.f64 1/2 (/.f64 (*.f64 -4 (*.f64 c a)) (*.f64 a b)) (/.f64 (*.f64 b 2) a)))
(*.f64 -2 (+.f64 (/.f64 b a) (*.f64 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) 1/4)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 2 (/.f64 b a))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/8)) (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (*.f64 (/.f64 b a) 2)))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))) (fma.f64 1/2 (/.f64 (*.f64 -4 (*.f64 c a)) (*.f64 a b)) (/.f64 (*.f64 b 2) a)))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))) (fma.f64 (/.f64 b a) 2 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a (/.f64 b 1/2)))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 2 (/.f64 b a)))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/8)) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (*.f64 (/.f64 b a) 2))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))) (fma.f64 1/2 (/.f64 (*.f64 -4 (*.f64 c a)) (*.f64 a b)) (fma.f64 (/.f64 b a) 2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (/.f64 (pow.f64 b 5) 1/16))))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/8))) (fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -4 c)) (*.f64 a b)) (fma.f64 (/.f64 b a) 2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -4 c))) 6) (*.f64 (pow.f64 b 5) (/.f64 a 1/16))))))

prune160.0ms (2.3%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2113214
Fresh246
Picked011
Done011
Total2139222
Error
0.2b
Counts
222 → 9
Alt Table
StatusErrorProgram
45.5b
(*.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) (/.f64 1 (*.f64 a 2)))
34.3b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 a (*.f64 c -4)))) (cbrt.f64 (*.f64 a (*.f64 c -4))))) b) a) 2)
40.6b
(/.f64 (neg.f64 c) b)
34.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a) 2)
34.3b
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1 (*.f64 a 2)))
34.2b
(/.f64 1 (/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))
47.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))) b) a) 2)
45.5b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))) b) a) 2)
46.0b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 5157 to 3533 computations (31.5% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))
0.1b
(/.f64 1 (/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))
0.5b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
14.2b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series325.0ms (4.7%)

Counts
2 → 24
Calls

18 calls:

TimeVariablePointExpression
48.0ms
c
@inf
(/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))
42.0ms
a
@-inf
(/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))
37.0ms
a
@inf
(/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))
36.0ms
c
@-inf
(/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))
27.0ms
a
@-inf
(/.f64 1 (/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)))

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
328×rules-34-rev_binary64
154×add-sqr-sqrt_binary64
146×pow1_binary64
146×rules-40_binary64
146×rules-41_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify33.0ms (0.5%)

Algorithm
egg-herbie
Rules
497×rules-20_binary64
474×rules-12-rev_binary64
471×rules-15-rev_binary64
253×rules-14-rev_binary64
245×rules-13_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01061078
1400969
21963969
Stop Event
node limit
Counts
96 → 120
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a))
(-.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/2 (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (*.f64 1/2 (/.f64 b a))))
(*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (+.f64 (*.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))))))
(*.f64 -1 (/.f64 b a))
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a))))
(*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (+.f64 (*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (/.f64 (*.f64 a (pow.f64 b 2)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (+.f64 (*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (/.f64 (*.f64 a (pow.f64 b 2)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 5))))
(*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)))
(+.f64 (*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (/.f64 a b))
(-.f64 (+.f64 (*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (/.f64 a b)) (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4)) (pow.f64 b 5))) (+.f64 (*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (/.f64 a b))) (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))))
(*.f64 -1 (/.f64 a b))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))) (/.f64 a b))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4)) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))) (*.f64 5/64 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6)) (pow.f64 b 7)))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4)) (pow.f64 b 5))) (/.f64 a b)))
Outputs
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a))
(*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) a))
(/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (/.f64 a 1/2))
(-.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/2 (/.f64 b a)))
(fma.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (neg.f64 (*.f64 1/2 (/.f64 b a))))
(*.f64 1/2 (-.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) a) (/.f64 b a)))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 b a)))
(-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (*.f64 1/2 (/.f64 b a)))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 c (*.f64 -4 a)))))) (*.f64 1/2 (-.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) a))))
(-.f64 (*.f64 b (/.f64 b (*.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (/.f64 a 1/4)))) (*.f64 1/2 (-.f64 (/.f64 b a) (/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) a))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a)) (*.f64 1/4 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (*.f64 1/2 (/.f64 b a))))
(-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) a) (*.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))) (fma.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))) (*.f64 1/2 (/.f64 b a))))
(-.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) a) (*.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 c (*.f64 -4 a))))))) (fma.f64 1/2 (/.f64 b a) (*.f64 1/16 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 3))))))
(-.f64 (fma.f64 1/4 (/.f64 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) a) (/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (/.f64 a 1/2))) (fma.f64 1/16 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 3)) (/.f64 b (/.f64 a 1/2))))
(*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))
(*.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)))
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(fma.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (neg.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/16))))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 (pow.f64 b 3) (/.f64 a 1/16))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))))
(-.f64 (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/16)))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (*.f64 a (pow.f64 b 5))))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (*.f64 a (/.f64 (pow.f64 b 5) 1/32)))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 (pow.f64 b 3) (/.f64 a 1/16))))
(-.f64 (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (+.f64 (*.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7)))) (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3))))))
(-.f64 (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)))) (fma.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 8) (*.f64 a (pow.f64 b 7))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/16))))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (*.f64 a (pow.f64 b 5))))) (fma.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 8) (*.f64 a (pow.f64 b 7))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16)))))
(-.f64 (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (*.f64 a (/.f64 (pow.f64 b 5) 1/32)))) (fma.f64 5/256 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 8) (*.f64 a (pow.f64 b 7))) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 (pow.f64 b 3) (/.f64 a 1/16)))))
(*.f64 -1 (/.f64 b a))
(*.f64 (/.f64 b a) -1)
(/.f64 b (neg.f64 a))
(/.f64 (neg.f64 b) a)
(neg.f64 (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(neg.f64 (fma.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (/.f64 b a)))
(neg.f64 (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a)))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/16)) (fma.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (/.f64 b a)))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))) (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (/.f64 b a)))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 (pow.f64 b 3) (/.f64 a 1/16))) (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (/.f64 b a)))
(-.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (*.f64 a (pow.f64 b 3)))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5)))) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b))) (/.f64 b a))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (/.f64 (*.f64 a (pow.f64 b 3)) 1/16)) (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (*.f64 a (pow.f64 b 5))) (fma.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (*.f64 a b)) (/.f64 b a))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 a (/.f64 (pow.f64 b 3) 1/16))) (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (*.f64 a (pow.f64 b 5))) (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (/.f64 b a))))
(-.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (*.f64 (pow.f64 b 3) (/.f64 a 1/16))) (fma.f64 1/32 (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (*.f64 a (pow.f64 b 5))) (fma.f64 1/4 (/.f64 (*.f64 c (*.f64 -4 a)) (*.f64 a b)) (/.f64 b a))))
(*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a)))))
(*.f64 2 (/.f64 a (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
(*.f64 2 (+.f64 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))))
(*.f64 2 (fma.f64 a (/.f64 b (*.f64 c (*.f64 -4 a))) (/.f64 a (sqrt.f64 (*.f64 c (*.f64 -4 a))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (+.f64 (*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (/.f64 (*.f64 a (pow.f64 b 2)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))))
(fma.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (fma.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (/.f64 (*.f64 a (*.f64 b b)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3))))
(fma.f64 a (*.f64 b (/.f64 b (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 3))) (*.f64 2 (fma.f64 a (/.f64 b (*.f64 c (*.f64 -4 a))) (/.f64 a (sqrt.f64 (*.f64 c (*.f64 -4 a)))))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (+.f64 (*.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a))))) (/.f64 (*.f64 a (pow.f64 b 2)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 b 4)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 5))))
(-.f64 (fma.f64 2 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (fma.f64 2 (/.f64 a (sqrt.f64 (*.f64 -4 (*.f64 c a)))) (/.f64 (*.f64 a (*.f64 b b)) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 3)))) (*.f64 1/4 (*.f64 a (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 5)))))
(-.f64 (fma.f64 a (*.f64 b (/.f64 b (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 3))) (*.f64 2 (fma.f64 a (/.f64 b (*.f64 c (*.f64 -4 a))) (/.f64 a (sqrt.f64 (*.f64 c (*.f64 -4 a))))))) (*.f64 a (/.f64 (pow.f64 b 4) (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 5) 1/4))))
(*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)))
(/.f64 (*.f64 a b) (/.f64 (*.f64 c (*.f64 -4 a)) 4))
(*.f64 b (/.f64 a (/.f64 (*.f64 c (*.f64 -4 a)) 4)))
(+.f64 (*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (/.f64 a b))
(fma.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (/.f64 a b))
(fma.f64 4 (*.f64 b (/.f64 a (*.f64 c (*.f64 -4 a)))) (/.f64 a b))
(fma.f64 4 (*.f64 a (/.f64 b (*.f64 c (*.f64 -4 a)))) (/.f64 a b))
(-.f64 (+.f64 (*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (/.f64 a b)) (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))))
(-.f64 (fma.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (/.f64 a b)) (*.f64 1/4 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (pow.f64 b 3)))))
(-.f64 (fma.f64 4 (*.f64 b (/.f64 a (*.f64 c (*.f64 -4 a)))) (/.f64 a b)) (*.f64 (/.f64 (*.f64 c (*.f64 -4 a)) (pow.f64 b 3)) (*.f64 1/4 a)))
(-.f64 (fma.f64 4 (*.f64 a (/.f64 b (*.f64 c (*.f64 -4 a)))) (/.f64 a b)) (*.f64 a (/.f64 (*.f64 c (*.f64 -4 a)) (/.f64 (pow.f64 b 3) 1/4))))
(-.f64 (+.f64 (*.f64 1/8 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4)) (pow.f64 b 5))) (+.f64 (*.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2))) (/.f64 a b))) (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))))
(-.f64 (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 5))) (fma.f64 4 (/.f64 (*.f64 a b) (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (/.f64 a b))) (*.f64 1/4 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (pow.f64 b 3)))))
(-.f64 (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (pow.f64 b 5))) (fma.f64 4 (*.f64 b (/.f64 a (*.f64 c (*.f64 -4 a)))) (/.f64 a b))) (*.f64 (/.f64 (*.f64 c (*.f64 -4 a)) (pow.f64 b 3)) (*.f64 1/4 a)))
(-.f64 (fma.f64 4 (*.f64 a (/.f64 b (*.f64 c (*.f64 -4 a)))) (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (pow.f64 b 5))) (/.f64 a b))) (*.f64 a (/.f64 (*.f64 c (*.f64 -4 a)) (/.f64 (pow.f64 b 3) 1/4))))
(*.f64 -1 (/.f64 a b))
(/.f64 a (neg.f64 b))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))) (/.f64 a b))
(fma.f64 1/4 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (pow.f64 b 3))) (neg.f64 (/.f64 a b)))
(-.f64 (*.f64 (/.f64 (*.f64 c (*.f64 -4 a)) (pow.f64 b 3)) (*.f64 1/4 a)) (/.f64 a b))
(-.f64 (*.f64 a (/.f64 (*.f64 c (*.f64 -4 a)) (/.f64 (pow.f64 b 3) 1/4))) (/.f64 a b))
(-.f64 (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4)) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (*.f64 1/4 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (pow.f64 b 3)))) (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (*.f64 (/.f64 (*.f64 c (*.f64 -4 a)) (pow.f64 b 3)) (*.f64 1/4 a)) (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (*.f64 a (/.f64 (*.f64 c (*.f64 -4 a)) (/.f64 (pow.f64 b 3) 1/4))) (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (+.f64 (*.f64 1/4 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2)) (pow.f64 b 3))) (*.f64 5/64 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6)) (pow.f64 b 7)))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 a (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4)) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (fma.f64 1/4 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 2) (pow.f64 b 3))) (*.f64 5/64 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 6) (pow.f64 b 7))))) (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) 4) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (fma.f64 1/4 (*.f64 a (/.f64 (*.f64 c (*.f64 -4 a)) (pow.f64 b 3))) (*.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (/.f64 a (/.f64 (pow.f64 b 7) 5/64)))) (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (pow.f64 b 5))) (/.f64 a b)))
(-.f64 (fma.f64 5/64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 6) (/.f64 a (pow.f64 b 7))) (*.f64 a (/.f64 (*.f64 c (*.f64 -4 a)) (/.f64 (pow.f64 b 3) 1/4)))) (fma.f64 1/8 (*.f64 a (/.f64 (pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 4) (pow.f64 b 5))) (/.f64 a b)))

prune155.0ms (2.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2222224
Fresh156
Picked101
Done112
Total2258233
Error
0.2b
Counts
233 → 8
Alt Table
StatusErrorProgram
45.5b
(*.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) (/.f64 1 (*.f64 a 2)))
34.3b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 a (*.f64 c -4)))) (cbrt.f64 (*.f64 a (*.f64 c -4))))) b) a) 2)
47.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))) b) a) 2)
47.2b
(/.f64 1 (/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))) b)))
40.6b
(/.f64 (neg.f64 c) b)
34.2b
(/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a) 2)
45.5b
(/.f64 1 (/.f64 (*.f64 a 2) (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))) b)))
46.0b
(-.f64 (/.f64 c b) (/.f64 b a))
Compiler

Compiled 5518 to 3839 computations (30.4% saved)

regimes1.8s (26.6%)

Accuracy

Total 9.9b remaining (97.4%)

Threshold costs 0b (0%)

Counts
147 → 5
Compiler

Compiled 10780 to 7946 computations (26.3% saved)

bsearch150.0ms (2.2%)

Algorithm
binary-search
Calls

4 calls:

52.0ms
b
43.0ms
b
32.0ms
b
22.0ms
b
Steps
ItersPointRange
6.6e-22
∈ [
6.599747056875067e-22
,
5.554315795988415e-13
]
1.7e-46
∈ [
2.1227376748448865e-47
,
1.940649758097077e-46
]
6.2e-55
∈ [
7.597203000434052e-58
,
3.556640626292547e-53
]
-2.15e+105
∈ [
-9.888637842155317e+105
,
-4.943632541545772e+104
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03689
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 b -2150000000000000083690419259895400527725463227111497240051511683964300337512812128222177233987927780884480) (-.f64 (/.f64 c b) (/.f64 b a)) (if (<=.f64 b 8558165470020299/13803492693581127574869511724554050904902217944340773110325048447598592) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2)) (if (<=.f64 b 8741742960768907/51422017416287688817342786954917203280710495801049370729644032) (/.f64 (neg.f64 c) b) (if (<=.f64 b 1754580954436089/2658455991569831745807614120560689152) (/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a) 2) (/.f64 (neg.f64 c) b)))))
Outputs
(if (<=.f64 b -2150000000000000083690419259895400527725463227111497240051511683964300337512812128222177233987927780884480) (-.f64 (/.f64 c b) (/.f64 b a)) (if (<=.f64 b 8558165470020299/13803492693581127574869511724554050904902217944340773110325048447598592) (/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2)) (if (<=.f64 b 8741742960768907/51422017416287688817342786954917203280710495801049370729644032) (/.f64 (neg.f64 c) b) (if (<=.f64 b 1754580954436089/2658455991569831745807614120560689152) (/.f64 (/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) a) 2) (/.f64 (neg.f64 c) b)))))

end114.0ms (1.7%)

Stop Event
fuel
Compiler

Compiled 263 to 175 computations (33.5% saved)

Profiling

Loading profile data...