Details

Time bar (total: 10.2s)

analyze295.0ms (2.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
0%0%93.6%0.1%0%6.2%0%7
6.7%6.2%87.4%0.1%0%6.2%0%8
11.1%10.1%81.1%0.1%0%8.6%0%9
18%15.6%71%0.1%0%13.3%0%10
25.9%22%63%0.1%0.8%14%0%11
35.5%29.1%52.9%0.1%1.6%16.4%0%12
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.1s (20.2%)

Results
752.0ms5537×body256valid
562.0ms1201×body2048valid
226.0ms409×body4096valid
223.0ms727×body1024valid
127.0ms1040×body256invalid
85.0ms382×body512valid
67.0ms547×body256infinite
Bogosity

preprocess46.0ms (0.5%)

Algorithm
egg-herbie
Rules
534×rational_best-simplify-126
534×rational_best-simplify-124
516×rational_best-simplify-61
516×rational_best-simplify-113
496×rational_best-simplify-65
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041204
1283204
21425188
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 4 (*.f64 b c))))) (*.f64 2 b))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 2 c))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 4 (*.f64 a b))))) (*.f64 2 a))
Outputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 4 c))))) (*.f64 a 2))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (neg.f64 (*.f64 a 2)))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 4 (*.f64 b c))))) (*.f64 2 b))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b (*.f64 4 c))))) (*.f64 b 2))
(/.f64 (-.f64 (neg.f64 a) (sqrt.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b c) -4)))) (*.f64 b 2))
(/.f64 (+.f64 a (sqrt.f64 (+.f64 (*.f64 a a) (*.f64 (*.f64 b c) -4)))) (*.f64 b -2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 c a))))) (*.f64 2 c))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 4 c))))) (*.f64 c 2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 c 2))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 c -2))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 4 (*.f64 a b))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 4 (*.f64 b a))))) (*.f64 a 2))
(/.f64 (+.f64 c (sqrt.f64 (+.f64 (*.f64 c c) (*.f64 (*.f64 b a) -4)))) (neg.f64 (*.f64 a 2)))
(/.f64 (+.f64 c (sqrt.f64 (+.f64 (*.f64 c c) (*.f64 (*.f64 b a) -4)))) (*.f64 a -2))
Compiler

Compiled 23 to 17 computations (26.1% saved)

simplify57.0ms (0.6%)

Algorithm
egg-herbie
Rules
1018×rational_best-simplify-96
964×rational_best-simplify-61
932×rational_best-simplify-65
878×rational_best-simplify-3
538×rational_best-simplify-62
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01751
18051
244847
3303147
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Outputs
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 a 2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a 2))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 a -2))

eval1.0ms (0%)

Compiler

Compiled 86 to 47 computations (45.3% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New415
Fresh101
Picked000
Done000
Total516
Error
37.4b
Counts
6 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
37.4b
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
Compiler

Compiled 19 to 13 computations (31.6% saved)

localize33.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
0.6b
(+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4))
1.2b
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4))))
25.3b
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))
Compiler

Compiled 69 to 31 computations (55.1% saved)

series15.0ms (0.1%)

Counts
4 → 96
Calls

36 calls:

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

rewrite141.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1076×rational_best-simplify-1
646×rational_best-simplify-113
414×rational_best-simplify-124
406×rational_best-simplify-127
402×rational_best-simplify-126
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016136
135136
2180136
31114136
47544136
Stop Event
node limit
Counts
4 → 52
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4))))
(+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 b (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 b) (+.f64 b (+.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b) 0) (/.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 b b)) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b)) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 -1 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (*.f64 c -4)) (*.f64 b (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 1 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4))))) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 b (neg.f64 b)) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 (*.f64 (*.f64 a (*.f64 c -4)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))) 0) (/.f64 (-.f64 (*.f64 b (*.f64 (*.f64 b b) b)) (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4)))))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 c (*.f64 a 4)) 0) (/.f64 (*.f64 (*.f64 a (*.f64 c -4)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0)) 0) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (-.f64 0 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))
()

simplify218.0ms (2.1%)

Algorithm
egg-herbie
Rules
810×rational_best-simplify-18
464×rational_best-simplify-62
438×rational_best-simplify-124
432×rational_best-simplify-126
422×rational_best-simplify-127
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02836448
113346324
278906312
Stop Event
node limit
Counts
148 → 168
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 -4) 5)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -1 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3)))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 -1/2 (/.f64 b a)) (+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3)))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a))))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 b a)))))
(*.f64 -1 (/.f64 c b))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a))))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 b a)))))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a))))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 b a)))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(*.f64 (sqrt.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (sqrt.f64 -1))
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(-.f64 b (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (neg.f64 b))
(-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)
(-.f64 0 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 -1 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(*.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(/.f64 (-.f64 (neg.f64 b) (+.f64 b (+.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) -2)
(/.f64 (-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))
(pow.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(neg.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b) 0) (/.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 b b)) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b)) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 -1 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b (neg.f64 b)))
(-.f64 0 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))
(*.f64 -1 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))
(*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) -1)
(/.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(/.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) -1)
(/.f64 (+.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) -2)
(/.f64 (-.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 1 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(neg.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))
(if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4))))) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 b (neg.f64 b)) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 (*.f64 (*.f64 a (*.f64 c -4)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))) 0) (/.f64 (-.f64 (*.f64 b (*.f64 (*.f64 b b) b)) (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4)))))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 c (*.f64 a 4)) 0) (/.f64 (*.f64 (*.f64 a (*.f64 c -4)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0)) 0) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (-.f64 0 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
Outputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 c (*.f64 -4 a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 -4) 5)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 5))) (/.f64 (pow.f64 b 6) (sqrt.f64 -1024))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))) (+.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 5))) (/.f64 (pow.f64 b 6) (sqrt.f64 -1024))))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) b))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 b (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (neg.f64 b))
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(+.f64 (neg.f64 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (-.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
(+.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (neg.f64 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (-.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) b) (-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) b))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 b (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) b))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 b (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 c (*.f64 -4 a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(+.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 4 (pow.f64 (pow.f64 (*.f64 c a) 2) 2)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))) (*.f64 1/2 (/.f64 (-.f64 (*.f64 16 (pow.f64 (*.f64 c a) 4)) (*.f64 (pow.f64 (*.f64 c a) 4) -4)) (pow.f64 b 7))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(*.f64 -1/2 (sqrt.f64 (*.f64 -4 (/.f64 c a))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 -1/2 (/.f64 b a)))
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 -4 (/.f64 c a)))) (*.f64 -1/2 (/.f64 b a)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3)))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3)))) (*.f64 -1/4 (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 -1/2 (/.f64 b a))))
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 -4 (/.f64 c a)))) (+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 (/.f64 (pow.f64 b 2) (sqrt.f64 -4)) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3))))))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 5)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 -1/2 (/.f64 b a)) (+.f64 (*.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3)))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))))
(+.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3)))) (*.f64 -1/4 (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 5)))) (*.f64 1/16 (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))) (*.f64 -1/2 (/.f64 b a))))
(+.f64 (+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 -4 (/.f64 c a)))) (*.f64 (/.f64 (pow.f64 b 2) (sqrt.f64 -4)) (*.f64 -1/4 (sqrt.f64 (/.f64 1 (*.f64 c (pow.f64 a 3))))))) (+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 (/.f64 (pow.f64 b 4) (sqrt.f64 -64)) (*.f64 1/16 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 5))))))))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (*.f64 -1 (/.f64 b a)) (/.f64 c b))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a))))
(+.f64 (*.f64 -1 (/.f64 b a)) (+.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)) (/.f64 c b)))
(+.f64 (/.f64 c b) (+.f64 (neg.f64 (/.f64 b a)) (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 b a)))))
(+.f64 (/.f64 c b) (+.f64 (+.f64 (*.f64 -1 (/.f64 b a)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))) (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (/.f64 c b) (+.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)) (+.f64 (neg.f64 (/.f64 b a)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 -1 (/.f64 c b)))
(+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -1 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)))))
(+.f64 (neg.f64 (/.f64 c b)) (+.f64 (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (+.f64 (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))) (+.f64 (*.f64 -1 (/.f64 c b)) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(+.f64 (*.f64 -1/4 (/.f64 (+.f64 (*.f64 4 (pow.f64 (pow.f64 (*.f64 c a) 2) 2)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (*.f64 a (pow.f64 b 7)))) (+.f64 (*.f64 -1 (/.f64 c b)) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))))
(+.f64 (neg.f64 (/.f64 c b)) (+.f64 (+.f64 (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))) (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))) (*.f64 -1/4 (/.f64 (-.f64 (*.f64 16 (pow.f64 (*.f64 c a) 4)) (*.f64 (pow.f64 (*.f64 c a) 4) -4)) (*.f64 a (pow.f64 b 7))))))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (*.f64 -1 (/.f64 b a)) (/.f64 c b))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a))))
(+.f64 (*.f64 -1 (/.f64 b a)) (+.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)) (/.f64 c b)))
(+.f64 (/.f64 c b) (+.f64 (neg.f64 (/.f64 b a)) (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 b a)))))
(+.f64 (/.f64 c b) (+.f64 (+.f64 (*.f64 -1 (/.f64 b a)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))) (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (/.f64 c b) (+.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)) (+.f64 (neg.f64 (/.f64 b a)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (*.f64 -1 (/.f64 b a)) (/.f64 c b))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a))))
(+.f64 (*.f64 -1 (/.f64 b a)) (+.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)) (/.f64 c b)))
(+.f64 (/.f64 c b) (+.f64 (neg.f64 (/.f64 b a)) (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)) (+.f64 (/.f64 c b) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (*.f64 -1 (/.f64 b a)))))
(+.f64 (/.f64 c b) (+.f64 (+.f64 (*.f64 -1 (/.f64 b a)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5)))) (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(+.f64 (/.f64 c b) (+.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)) (+.f64 (neg.f64 (/.f64 b a)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))))))
(+.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(-.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(*.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(*.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(*.f64 (sqrt.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (sqrt.f64 -1))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(pow.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 1)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(-.f64 b (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (neg.f64 b))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(-.f64 0 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(*.f64 -1 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(*.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(/.f64 (-.f64 (neg.f64 b) (+.f64 b (+.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) -2)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(/.f64 (-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(pow.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(neg.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b) 0) (/.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 b b)) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b)) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 -1 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b (neg.f64 b)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(-.f64 0 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(*.f64 -1 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) -1)
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(/.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(/.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) -1)
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(/.f64 (+.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) -2)
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(/.f64 (-.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 1 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(neg.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))
(if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4))))) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 (*.f64 b (neg.f64 b)) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 b (neg.f64 b)) 0) (*.f64 (/.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b b) b)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (neg.f64 (*.f64 b b)) 0) (*.f64 (/.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) b) (+.f64 b (/.f64 0 b))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (neg.f64 (*.f64 b b)) 0) (*.f64 1 (/.f64 (*.f64 b (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) b)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 (*.f64 (*.f64 a (*.f64 c -4)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))) 0) (/.f64 (-.f64 (*.f64 b (*.f64 (*.f64 b b) b)) (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4)))))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))) 0) (/.f64 (-.f64 (*.f64 (*.f64 b b) (*.f64 b b)) (*.f64 c (*.f64 a (*.f64 a (*.f64 -4 (*.f64 c -4)))))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))) 0) (/.f64 (-.f64 (*.f64 (*.f64 b b) (*.f64 b b)) (*.f64 c (*.f64 a (*.f64 a (*.f64 c 16))))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 c (*.f64 a 4)) 0) (/.f64 (*.f64 (*.f64 a (*.f64 c -4)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 c (*.f64 a 4)) 0) (/.f64 (*.f64 (*.f64 c (*.f64 a -4)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 c (*.f64 a 4)) 0) (/.f64 (*.f64 c (*.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (*.f64 a -4))) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 b b) 0) (*.f64 (/.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b b) b)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 b b) 0) (*.f64 (/.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) b) (+.f64 b (/.f64 0 b))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 b b) 0) (*.f64 1 (/.f64 (*.f64 b (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) b)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 0 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0)) 0) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (-.f64 0 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) 2) (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a 4)) (*.f64 b b)) 0) (/.f64 (pow.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) 2) (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))

eval102.0ms (1%)

Compiler

Compiled 5000 to 3076 computations (38.5% saved)

prune37.0ms (0.4%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New15513168
Fresh000
Picked011
Done000
Total15514169
Error
4.0b
Counts
169 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
37.7b
(/.f64 (if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
40.2b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
44.6b
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
46.9b
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
51.5b
(/.f64 (+.f64 b (sqrt.f64 (if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4))))) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
37.4b
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
57.8b
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
48.2b
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
53.3b
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 -1/2 (/.f64 b a)))
47.0b
(+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
43.1b
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
53.1b
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
40.7b
(neg.f64 (/.f64 c b))
43.0b
(neg.f64 (/.f64 b a))
Compiler

Compiled 607 to 397 computations (34.6% saved)

localize112.0ms (1.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))
1.2b
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
16.4b
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
25.3b
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
Compiler

Compiled 245 to 133 computations (45.7% saved)

series6.0ms (0.1%)

Counts
4 → 96
Calls

36 calls:

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

rewrite117.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
876×rational_best-simplify-1
692×rational_best-simplify-18
684×rational_best-simplify-20
628×rational_best-simplify-113
398×rational_best-simplify-111
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015192
136192
2170192
31050192
47069192
Stop Event
node limit
Counts
4 → 52
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (sqrt.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))))
((#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 b (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b) 0) (/.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 b b)) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b)) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (neg.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (*.f64 c -4)) (neg.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 1 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 a c) 4) (*.f64 (*.f64 a c) 4)) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (*.f64 b b)) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4)) 0) (/.f64 (-.f64 (*.f64 b (*.f64 (*.f64 b b) b)) (*.f64 (*.f64 (*.f64 a c) 4) (*.f64 (*.f64 a c) 4))) (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) 0)) 0) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))))

simplify195.0ms (1.9%)

Algorithm
egg-herbie
Rules
920×rational_best-simplify-1
704×rational_best-simplify-52
612×rational_best-simplify-21
604×rational_best-simplify-18
592×rational_best-simplify-20
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02406782
111206630
265916630
Stop Event
node limit
Counts
148 → 155
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 -4) 5)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 -1 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(*.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (sqrt.f64 -1))
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(pow.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(-.f64 b (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (neg.f64 b))
(-.f64 0 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 -1 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(/.f64 (+.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) -2)
(/.f64 (-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))
(pow.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(neg.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b) 0) (/.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 b b)) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b)) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (neg.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4))
(-.f64 (*.f64 a (*.f64 c -4)) (neg.f64 (*.f64 b b)))
(-.f64 0 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))
(*.f64 -1 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))
(*.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) -1)
(/.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(/.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) -1)
(/.f64 (+.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) -2)
(/.f64 (-.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 1 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(neg.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))
(if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 a c) 4) (*.f64 (*.f64 a c) 4)) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (neg.f64 (*.f64 b b)) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4)) 0) (/.f64 (-.f64 (*.f64 b (*.f64 (*.f64 b b) b)) (*.f64 (*.f64 (*.f64 a c) 4) (*.f64 (*.f64 a c) 4))) (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) 0)) 0) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
Outputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 c (*.f64 -4 a)))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (-.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))) 1/8)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))) 1/8)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 5) (pow.f64 a 5)))) (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 -4) 5)))) (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(+.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 5))) (/.f64 (pow.f64 b 6) (sqrt.f64 -1024))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (-.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))) 1/8)) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 5))) (/.f64 (pow.f64 b 6) (sqrt.f64 -1024))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 5))) (/.f64 (pow.f64 b 6) (sqrt.f64 -1024)))) (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))) 1/8))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(+.f64 (neg.f64 b) (*.f64 2 (/.f64 (*.f64 c a) b)))
(-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(+.f64 (neg.f64 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) b)
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (-.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
(+.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (neg.f64 b) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (-.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) b))
(+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) b) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
b
(+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b))))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 b (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 b (*.f64 -2 (/.f64 (*.f64 c a) b)))))
(+.f64 b (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 c (*.f64 -4 a)))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b)
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 b (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(+.f64 b (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (-.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))) 1/8)) b))
(+.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))) (+.f64 b (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 4 (pow.f64 (pow.f64 (*.f64 c a) 2) 2)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7))) (*.f64 2 (/.f64 (*.f64 c a) b))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))) (*.f64 (/.f64 (+.f64 (*.f64 4 (pow.f64 (*.f64 c a) 4)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)) -1/2))
(+.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 (/.f64 (+.f64 (*.f64 4 (pow.f64 (*.f64 c a) 4)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)) -1/2)))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2))))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 c (*.f64 -4 a)))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b)
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 b (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(+.f64 b (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (-.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))) 1/8)) b))
(+.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))) (+.f64 b (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 4 (pow.f64 (pow.f64 (*.f64 c a) 2) 2)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7))) (*.f64 2 (/.f64 (*.f64 c a) b))))
(-.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))) (*.f64 (/.f64 (+.f64 (*.f64 4 (pow.f64 (*.f64 c a) 4)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)) -1/2))
(+.f64 (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (-.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 (/.f64 (+.f64 (*.f64 4 (pow.f64 (*.f64 c a) 4)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)) -1/2)))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2)) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 b 2))))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(*.f64 -4 (*.f64 c a))
(*.f64 c (*.f64 -4 a))
(*.f64 (*.f64 c a) -4)
(*.f64 c (*.f64 a -4))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 -4 a)))
(+.f64 (pow.f64 b 2) (*.f64 (*.f64 c a) -4))
(+.f64 (pow.f64 b 2) (*.f64 c (*.f64 a -4)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(-.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(*.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(*.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (sqrt.f64 -1))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(pow.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 1)
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (-.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (+.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))) -1))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))))
(if (!=.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 -1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(-.f64 b (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (neg.f64 b))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(-.f64 0 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(*.f64 -1 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) -1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(/.f64 (+.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) -2)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(/.f64 (-.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 1 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(pow.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 1)
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(neg.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b) 0) (/.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (*.f64 b b)) (-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) b)) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (-.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (neg.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(if (!=.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (/.f64 (-.f64 (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) 0) (*.f64 (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) (-.f64 (neg.f64 b) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(-.f64 (*.f64 a (*.f64 c -4)) (neg.f64 (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(-.f64 0 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(*.f64 -1 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(*.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) -1)
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(/.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(/.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) -1)
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(/.f64 (+.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) -2)
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(/.f64 (-.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (-.f64 1 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(pow.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) 1)
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(neg.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 a c) 4) (*.f64 (*.f64 a c) 4)) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (*.f64 c a) (*.f64 (*.f64 (*.f64 c a) 4) 4)) (*.f64 (*.f64 b b) (*.f64 b b))) (-.f64 (*.f64 c (*.f64 a -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (-.f64 (*.f64 (*.f64 c a) -4) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 (*.f64 c (*.f64 4 a)) (*.f64 c (*.f64 4 a))) (*.f64 b (*.f64 b (*.f64 b b)))) (-.f64 (*.f64 (*.f64 c a) -4) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(if (!=.f64 (-.f64 (*.f64 c (*.f64 a -4)) (*.f64 b b)) 0) (/.f64 (+.f64 (*.f64 b (*.f64 b (*.f64 b b))) (*.f64 (*.f64 c (*.f64 4 a)) (*.f64 c (*.f64 a -4)))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 4 a)))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (neg.f64 (*.f64 b b)) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 c (*.f64 a -4)) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (*.f64 c (*.f64 a -4))) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 (*.f64 c a) -4) 0) (/.f64 (*.f64 (*.f64 (*.f64 c a) -4) (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (*.f64 (*.f64 c a) -4)) (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(if (!=.f64 (*.f64 c (*.f64 a -4)) 0) (/.f64 (*.f64 c (*.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (*.f64 a -4))) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4)) 0) (/.f64 (-.f64 (*.f64 b (*.f64 (*.f64 b b) b)) (*.f64 (*.f64 (*.f64 a c) 4) (*.f64 (*.f64 a c) 4))) (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) 4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(if (!=.f64 (*.f64 (*.f64 c a) 4) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (*.f64 c (*.f64 a -4))) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 c (*.f64 4 a)) 0) (/.f64 (*.f64 (*.f64 (*.f64 c a) -4) (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))) (*.f64 (*.f64 c a) -4)) (+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4)))
(if (!=.f64 (*.f64 c (*.f64 4 a)) 0) (/.f64 (*.f64 c (*.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (*.f64 a -4))) (*.f64 c (*.f64 a -4))) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 0 0) (/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) 0)) 0) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))
(if (!=.f64 (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b)) 0) (/.f64 (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (-.f64 (*.f64 (*.f64 a c) 4) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 c a) 4))
(+.f64 (*.f64 b b) (*.f64 (*.f64 c a) -4))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))

localize5.0ms (0%)

Compiler

Compiled 12 to 5 computations (58.3% saved)

localize10.0ms (0.1%)

Compiler

Compiled 23 to 11 computations (52.2% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (/.f64 c a) -4)
10.2b
(sqrt.f64 (*.f64 (/.f64 c a) -4))
Compiler

Compiled 29 to 16 computations (44.8% saved)

series7.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

rewrite70.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1252×rational_best-simplify-61
1144×rational_best-simplify-3
738×rational_best-simplify-62
678×rational_best-simplify-53
618×rational_best-simplify-56
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0930
12230
29230
356130
4376330
Stop Event
node limit
Counts
2 → 2
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 c a) -4))
(*.f64 (/.f64 c a) -4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -4) (sqrt.f64 (/.f64 c a)))))))
()

simplify64.0ms (0.6%)

Algorithm
egg-herbie
Rules
1264×rational_best-simplify-61
1146×rational_best-simplify-3
738×rational_best-simplify-62
678×rational_best-simplify-53
618×rational_best-simplify-56
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012346
123346
292346
3561346
43762346
Stop Event
node limit
Counts
26 → 4
Calls
Call 1
Inputs
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (/.f64 c a)))
Outputs
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 -4 (/.f64 c a))
(*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 -4 (/.f64 c a)))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (/.f64 c a)))
(sqrt.f64 (*.f64 -4 (/.f64 c a)))

localize47.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))
1.2b
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
14.5b
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b)
25.3b
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
Compiler

Compiled 155 to 83 computations (46.5% saved)

series2.0ms (0%)

Counts
1 → 20
Calls

9 calls:

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

rewrite101.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
850×rational_best-simplify-1
690×rational_best-simplify-18
678×rational_best-simplify-20
630×rational_best-simplify-113
432×rational_best-simplify-111
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01547
13547
216847
3105347
4718347
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))))))

simplify51.0ms (0.5%)

Algorithm
egg-herbie
Rules
612×rational_best-simplify-126
608×rational_best-simplify-124
538×rational_best-simplify-65
538×rational_best-simplify-61
486×rational_best-simplify-113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0961571
13121521
215691437
Stop Event
node limit
Counts
23 → 43
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(*.f64 2 b)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))
(if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))
(if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))
Outputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b)
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)
(+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 b (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 (pow.f64 c 3) (pow.f64 a 3)))) (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 -4) 3)))) (+.f64 b (+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))))))
(+.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4)))) (+.f64 (sqrt.f64 (*.f64 (*.f64 c a) -4)) b)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (sqrt.f64 -64)))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (+.f64 b (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (+.f64 b (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 (*.f64 c a) 3))) (/.f64 (pow.f64 b 4) (sqrt.f64 -64))))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (*.f64 c a))) (/.f64 (pow.f64 b 2) (sqrt.f64 -4))))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b)))
(*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(+.f64 (*.f64 b 2) (+.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b))) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(*.f64 2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(*.f64 2 (-.f64 (/.f64 (*.f64 c a) b) (neg.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(-.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 2 (-.f64 (neg.f64 (/.f64 (*.f64 c a) b)) (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -2 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 4 (pow.f64 (pow.f64 (*.f64 c a) 2) 2)) (*.f64 16 (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7))))
(+.f64 (+.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 16 (pow.f64 (*.f64 c a) 4)) (*.f64 (pow.f64 (*.f64 c a) 4) -4)) (pow.f64 b 7))) (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(+.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 c a) b) (neg.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))) (+.f64 (*.f64 4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (*.f64 c a) 4) 20) (pow.f64 b 7)))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b)))
(*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(+.f64 (*.f64 b 2) (+.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b))) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(*.f64 2 b)
(*.f64 b 2)
(+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b)))
(*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)))
(+.f64 (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))))
(+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))))
(+.f64 (+.f64 (*.f64 b 2) (*.f64 -2 (/.f64 (*.f64 c a) b))) (+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(+.f64 (*.f64 b 2) (+.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))) (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))) (+.f64 (*.f64 2 (-.f64 b (/.f64 (*.f64 c a) b))) (*.f64 -4 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)))))
(if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))
(if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b))
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b)
(if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))
(if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))))) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b))
(if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b))
(if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b)) 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b))

eval1.1s (10.4%)

Compiler

Compiled 53800 to 30774 computations (42.8% saved)

prune344.0ms (3.4%)

Pruning

15 alts after pruning (11 fresh and 4 done)

PrunedKeptTotal
New7924796
Fresh178
Picked101
Done145
Total79515810
Error
4.0b
Counts
810 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
43.5b
(/.f64 (if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
37.8b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
49.2b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
50.1b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
44.6b
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
46.9b
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
37.4b
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
57.8b
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
48.2b
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
53.3b
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 -1/2 (/.f64 b a)))
47.0b
(+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
43.1b
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
53.1b
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
40.7b
(neg.f64 (/.f64 c b))
43.0b
(neg.f64 (/.f64 b a))
Compiler

Compiled 746 to 473 computations (36.6% saved)

localize68.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))
1.2b
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
16.4b
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
25.3b
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
Compiler

Compiled 218 to 118 computations (45.9% saved)

localize5.0ms (0%)

Compiler

Compiled 12 to 5 computations (58.3% saved)

localize23.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
6.8b
(/.f64 (*.f64 c a) b)
9.6b
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
Compiler

Compiled 37 to 16 computations (56.8% saved)

series7.0ms (0.1%)

Counts
2 → 36
Calls

18 calls:

TimeVariablePointExpression
2.0ms
c
@-inf
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
1.0ms
c
@inf
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
1.0ms
c
@0
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
0.0ms
a
@0
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
0.0ms
b
@inf
(/.f64 (*.f64 c a) b)

rewrite87.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
962×rational_best-simplify-113
454×rational_best-simplify-3
450×rational_best-simplify-126
450×rational_best-simplify-124
442×rational_best-simplify-127
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01244
13344
218844
3123244
Stop Event
node limit
Counts
2 → 0
Calls
Call 1
Inputs
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
(/.f64 (*.f64 c a) b)
Outputs
()
()

simplify65.0ms (0.6%)

Algorithm
egg-herbie
Rules
1278×rational_best-simplify-61
1144×rational_best-simplify-3
744×rational_best-simplify-62
678×rational_best-simplify-53
618×rational_best-simplify-56
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
07468
117396
288396
3558396
43787396
Stop Event
node limit
Counts
36 → 2
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
Outputs
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))
(*.f64 -1 (/.f64 c b))
(neg.f64 (/.f64 c b))

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)
0.1b
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
15.7b
(sqrt.f64 (*.f64 c (*.f64 a -4)))
Compiler

Compiled 45 to 29 computations (35.6% saved)

series14.0ms (0.1%)

Counts
3 → 28
Calls

24 calls:

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

rewrite103.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1260×rational_best-simplify-52
914×rational_best-simplify-1
640×rational_best-simplify-21
640×rational_best-simplify-18
634×rational_best-simplify-113
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01475
13475
216075
392975
4638275
Stop Event
node limit
Counts
3 → 65
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 c (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)))) (#(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) (*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 c)) (*.f64 -1 (sqrt.f64 (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 c a)))))) (#(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 (*.f64 c -4)) (*.f64 -1 (neg.f64 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c -4)) (neg.f64 (neg.f64 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 a -4))) (neg.f64 (sqrt.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 c (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 c a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) (neg.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sqrt.f64 (*.f64 a -4))) (neg.f64 (sqrt.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 a -4)))) (sqrt.f64 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sqrt.f64 (*.f64 c -4))) (neg.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sqrt.f64 (*.f64 c a))) (neg.f64 (sqrt.f64 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 c)) (sqrt.f64 -4)) (neg.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 c)) (sqrt.f64 a)) (neg.f64 (sqrt.f64 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 1 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))))) (sqrt.f64 (*.f64 c (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) 1 (sqrt.f64 (*.f64 c (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 -1 0) (sqrt.f64 (*.f64 c (*.f64 a -4))) (sqrt.f64 (*.f64 c (*.f64 a -4))))))))
()
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 b (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 b b))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (-.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) 0) (/.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 -1 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))))))

simplify85.0ms (0.8%)

Algorithm
egg-herbie
Rules
1112×rational_best-simplify-96
1000×rational_best-simplify-61
916×rational_best-simplify-65
914×rational_best-simplify-3
604×rational_best-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541915
16521915
235341915
Stop Event
node limit
Counts
93 → 77
Calls
Call 1
Inputs
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
b
b
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(+.f64 0 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))
(*.f64 (sqrt.f64 c) (*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 a -4)))))
(*.f64 (sqrt.f64 c) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 a -4)))))
(*.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 a -4))))
(*.f64 (neg.f64 (sqrt.f64 c)) (*.f64 -1 (sqrt.f64 (*.f64 a -4))))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 c a)))
(*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))
(*.f64 (sqrt.f64 (*.f64 c -4)) (*.f64 -1 (neg.f64 (sqrt.f64 a))))
(*.f64 (sqrt.f64 (*.f64 c -4)) (neg.f64 (neg.f64 (sqrt.f64 a))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a -4))) (neg.f64 (sqrt.f64 c)))
(*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))
(*.f64 1 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 c a))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 -1 (sqrt.f64 (*.f64 a -4))) (neg.f64 (sqrt.f64 c)))
(*.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 a -4)))) (sqrt.f64 c))
(*.f64 (*.f64 -1 (sqrt.f64 (*.f64 c -4))) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 -1 (sqrt.f64 (*.f64 c a))) (neg.f64 (sqrt.f64 -4)))
(*.f64 (*.f64 -1 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 c)) (sqrt.f64 -4)) (neg.f64 (sqrt.f64 a)))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 c)) (sqrt.f64 a)) (neg.f64 (sqrt.f64 -4)))
(/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -2)
(/.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 1 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))))) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0)
(if (!=.f64 0 0) 1 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(if (!=.f64 -1 0) (sqrt.f64 (*.f64 c (*.f64 a -4))) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (neg.f64 b))
(-.f64 b (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 0)
(-.f64 0 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))
(*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)
(*.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))
(*.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1)
(*.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1)
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 b b))) -2)
(/.f64 (-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (-.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))
(pow.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)
(neg.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))
(if (!=.f64 (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) 0) (/.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 0 0) 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(if (!=.f64 -1 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
Outputs
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
b
b
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(+.f64 0 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 c) (*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 c) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 c)) (*.f64 -1 (sqrt.f64 (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 c a)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c -4)) (*.f64 -1 (neg.f64 (sqrt.f64 a))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c -4)) (neg.f64 (neg.f64 (sqrt.f64 a))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a -4))) (neg.f64 (sqrt.f64 c)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 1 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 c a))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) (neg.f64 (sqrt.f64 a)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (*.f64 -1 (sqrt.f64 (*.f64 a -4))) (neg.f64 (sqrt.f64 c)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 a -4)))) (sqrt.f64 c))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (*.f64 -1 (sqrt.f64 (*.f64 c -4))) (neg.f64 (sqrt.f64 a)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (*.f64 -1 (sqrt.f64 (*.f64 c a))) (neg.f64 (sqrt.f64 -4)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (*.f64 -1 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 c)) (sqrt.f64 -4)) (neg.f64 (sqrt.f64 a)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 c)) (sqrt.f64 a)) (neg.f64 (sqrt.f64 -4)))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) -2)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 1 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))))) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4)))) (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0)
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 0 0) 1 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 -1 0) (sqrt.f64 (*.f64 c (*.f64 a -4))) (sqrt.f64 (*.f64 c (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (neg.f64 b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(-.f64 b (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 0)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(-.f64 0 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) -1)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 b b))) -2)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (-.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(pow.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 1)
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(neg.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 a -4)) (*.f64 c (*.f64 a -4))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b) 0) (/.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) (sqrt.f64 (*.f64 c (*.f64 a -4)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 0 0) 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 -1 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))
(+.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))

localize55.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.2b
(+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
13.3b
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) b)
15.7b
(sqrt.f64 (*.f64 (*.f64 c a) -4))
25.3b
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
Compiler

Compiled 161 to 85 computations (47.2% saved)

series3.0ms (0%)

Counts
2 → 14
Calls

15 calls:

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

rewrite126.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1082×rational_best-simplify-52
710×rational_best-simplify-1
574×rational_best-simplify-21
570×rational_best-simplify-18
560×rational_best-simplify-20
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
13152
214352
385752
4587052
Stop Event
node limit
Counts
2 → 26
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (*.f64 c a) -4))
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 c (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c a)) (neg.f64 (neg.f64 (sqrt.f64 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 c a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)))) (#(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 a) (sqrt.f64 (*.f64 c -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 c a))) (neg.f64 (sqrt.f64 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 c a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 a -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))))))
((#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 b 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b)) 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))))))

simplify110.0ms (1.1%)

Algorithm
egg-herbie
Rules
910×rational_best-simplify-53
774×rational_best-simplify-52
568×rational_best-simplify-113
488×rational_best-simplify-1
456×rational_best-simplify-111
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
071900
1229868
21105868
36466868
Stop Event
node limit
Counts
40 → 42
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
b
b
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(+.f64 0 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(*.f64 (sqrt.f64 (*.f64 c a)) (neg.f64 (neg.f64 (sqrt.f64 -4))))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 c a)))
(*.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 c a)))))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c a))) (neg.f64 (sqrt.f64 -4)))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 c a))))
(*.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c))
(*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 a -4))))
(*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))
(/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(if (!=.f64 b 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))
(if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))
(if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b)) 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))
Outputs
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 c a))) b)
(+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
b
b
(+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(+.f64 0 (sqrt.f64 (*.f64 c (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 0)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c a)) (neg.f64 (neg.f64 (sqrt.f64 -4))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 c a)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 c a)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -4)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c a))) (neg.f64 (sqrt.f64 -4)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 c a))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 a -4))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 c -4))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))) -1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(pow.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 a -4)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(sqrt.f64 (*.f64 c (*.f64 a -4)))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 b 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))
(if (!=.f64 b 0) (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) b))
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) b)
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) b)
(if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))
(if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))) 0) (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) b))
(if (!=.f64 (*.f64 b (-.f64 b (*.f64 b (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))))) 0) (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) b))
(if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b)) 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)) b))
(if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) b)) 0) (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) b))
(if (!=.f64 (*.f64 b (-.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) b)) 0) (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) b))

eval504.0ms (5%)

Compiler

Compiled 36047 to 20886 computations (42.1% saved)

prune207.0ms (2%)

Pruning

17 alts after pruning (9 fresh and 8 done)

PrunedKeptTotal
New6275632
Fresh246
Picked011
Done178
Total63017647
Error
0.1b
Counts
647 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
49.2b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
50.1b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
53.6b
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a)) b) (*.f64 a -2))
51.5b
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c)) b) (*.f64 a -2))
44.6b
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
46.9b
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
37.4b
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
57.8b
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
48.2b
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
47.1b
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
59.0b
(/.f64 b (*.f64 a -2))
53.3b
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
47.0b
(+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
43.1b
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
53.1b
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
40.7b
(neg.f64 (/.f64 c b))
43.0b
(neg.f64 (/.f64 b a))
Compiler

Compiled 489 to 340 computations (30.5% saved)

localize44.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
Compiler

Compiled 24 to 7 computations (70.8% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
b
@inf
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
0.0ms
b
@0
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
0.0ms
c
@0
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
0.0ms
a
@-inf
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
0.0ms
a
@0
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))

rewrite47.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
550×rational_best-simplify-126
550×rational_best-simplify-124
526×rational_best-simplify-96
516×rational_best-simplify-117
506×rational_best-simplify-61
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01023
13419
221119
3141419
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (/.f64 b a)) (neg.f64 (/.f64 c b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 c b) (/.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 c b) (/.f64 b a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 b a) (/.f64 c b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 b a) (/.f64 c b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 b a) (/.f64 c b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 c b) (/.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 b a) (/.f64 c b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 (/.f64 c b) (/.f64 b a)) (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (-.f64 1 (-.f64 (/.f64 c b) (/.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 b a) (/.f64 c b)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (/.f64 b a) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (/.f64 c b) (/.f64 c b)) (*.f64 (/.f64 b a) (/.f64 b a))) (+.f64 (/.f64 b a) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (/.f64 b a) 0) (/.f64 (*.f64 (/.f64 b a) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 b a)) (-.f64 (/.f64 c b) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (/.f64 b a)) 0) (/.f64 (*.f64 (/.f64 b a) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 b a)) (-.f64 (/.f64 c b) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (/.f64 b a)) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (/.f64 b a) (/.f64 b a)) (*.f64 (/.f64 c b) (/.f64 c b))) (-.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (/.f64 c b)) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0)) (-.f64 (/.f64 c b) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (-.f64 (/.f64 b a) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))))))

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
720×rational_best-simplify-96
712×rational_best-simplify-117
710×rational_best-simplify-111
646×rational_best-simplify-61
642×rational_best-simplify-113
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069953
1374953
22408953
Stop Event
node limit
Counts
55 → 23
Calls
Call 1
Inputs
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(*.f64 -1 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (neg.f64 (/.f64 b a)) (neg.f64 (/.f64 c b)))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (-.f64 (/.f64 c b) (/.f64 b a)) 0)
(-.f64 0 (-.f64 (/.f64 b a) (/.f64 c b)))
(*.f64 -1 (-.f64 (/.f64 b a) (/.f64 c b)))
(*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) -1)
(/.f64 (-.f64 (/.f64 c b) (/.f64 b a)) 1)
(/.f64 (-.f64 (/.f64 b a) (/.f64 c b)) -1)
(/.f64 (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b))) -2)
(/.f64 (-.f64 (-.f64 (/.f64 c b) (/.f64 b a)) (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (-.f64 1 (-.f64 (/.f64 c b) (/.f64 b a))))
(neg.f64 (-.f64 (/.f64 b a) (/.f64 c b)))
(if (!=.f64 (+.f64 (/.f64 b a) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (/.f64 c b) (/.f64 c b)) (*.f64 (/.f64 b a) (/.f64 b a))) (+.f64 (/.f64 b a) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))
(if (!=.f64 (/.f64 b a) 0) (/.f64 (*.f64 (/.f64 b a) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 b a)) (-.f64 (/.f64 c b) (/.f64 b a)))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(if (!=.f64 (neg.f64 (/.f64 b a)) 0) (/.f64 (*.f64 (/.f64 b a) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 b a)) (-.f64 (/.f64 c b) (/.f64 b a)))
(if (!=.f64 (-.f64 (neg.f64 (/.f64 b a)) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (/.f64 b a) (/.f64 b a)) (*.f64 (/.f64 c b) (/.f64 c b))) (-.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))
(if (!=.f64 (neg.f64 (/.f64 c b)) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(if (!=.f64 (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0)) (-.f64 (/.f64 c b) (/.f64 b a)))
(if (!=.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (-.f64 (/.f64 b a) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))
Outputs
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(*.f64 -1 (/.f64 b a))
(neg.f64 (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 c b)
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (/.f64 c b) (*.f64 -1 (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (neg.f64 (/.f64 b a)) (neg.f64 (/.f64 c b)))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 (-.f64 (/.f64 c b) (/.f64 b a)) 0)
(-.f64 (/.f64 c b) (/.f64 b a))
(-.f64 0 (-.f64 (/.f64 b a) (/.f64 c b)))
(-.f64 (/.f64 c b) (/.f64 b a))
(*.f64 -1 (-.f64 (/.f64 b a) (/.f64 c b)))
(-.f64 (/.f64 c b) (/.f64 b a))
(*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) -1)
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 (-.f64 (/.f64 c b) (/.f64 b a)) 1)
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 (-.f64 (/.f64 b a) (/.f64 c b)) -1)
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b))) -2)
(-.f64 (/.f64 c b) (/.f64 b a))
(/.f64 (-.f64 (-.f64 (/.f64 c b) (/.f64 b a)) (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (-.f64 1 (-.f64 (/.f64 c b) (/.f64 b a))))
(-.f64 (/.f64 c b) (/.f64 b a))
(neg.f64 (-.f64 (/.f64 b a) (/.f64 c b)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (+.f64 (/.f64 b a) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (/.f64 c b) (/.f64 c b)) (*.f64 (/.f64 b a) (/.f64 b a))) (+.f64 (/.f64 b a) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (/.f64 b a) 0) (/.f64 (*.f64 (/.f64 b a) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 b a)) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (neg.f64 (/.f64 b a)) 0) (/.f64 (*.f64 (/.f64 b a) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 b a)) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (-.f64 (neg.f64 (/.f64 b a)) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (/.f64 b a) (/.f64 b a)) (*.f64 (/.f64 c b) (/.f64 c b))) (-.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (neg.f64 (/.f64 c b)) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) 0) (/.f64 (-.f64 0 (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (+.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0)) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))
(if (!=.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) (/.f64 (-.f64 (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) 0) (*.f64 (-.f64 (/.f64 b a) (/.f64 c b)) (-.f64 (/.f64 b a) (/.f64 c b)))) (-.f64 (/.f64 b a) (/.f64 c b))) (-.f64 (/.f64 c b) (/.f64 b a)))
(-.f64 (/.f64 c b) (/.f64 b a))

localize6.0ms (0.1%)

Compiler

Compiled 14 to 9 computations (35.7% saved)

localize54.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -4 (*.f64 a c))
0.2b
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
15.7b
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
Compiler

Compiled 34 to 19 computations (44.1% saved)

series4.0ms (0%)

Counts
3 → 24
Calls

18 calls:

TimeVariablePointExpression
0.0ms
c
@inf
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
0.0ms
c
@0
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
0.0ms
c
@-inf
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
0.0ms
a
@0
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
0.0ms
a
@inf
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))

rewrite92.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1364×rational_best-simplify-61
1176×rational_best-simplify-52
814×rational_best-simplify-53
756×rational_best-simplify-56
664×rational_best-simplify-113
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01259
12959
211959
368059
4455859
Stop Event
node limit
Counts
3 → 26
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 -4 (*.f64 a c)))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
(*.f64 -4 (*.f64 a c))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 -4 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)))) (#(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) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a c)) (sqrt.f64 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 a c)) (neg.f64 (neg.f64 (sqrt.f64 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 -4 c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 -4 c)) (sqrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 -4 c)) (neg.f64 (neg.f64 (sqrt.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 -4 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 a c))) (neg.f64 (sqrt.f64 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 -4 c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 -4 a)) (sqrt.f64 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 -4 c))) (neg.f64 (sqrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 -4 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))))))
()
((#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 a 4) c))))))

simplify99.0ms (1%)

Algorithm
egg-herbie
Rules
1316×rational_best-simplify-3
1016×rational_best-simplify-61
652×rational_best-simplify-113
532×rational_best-simplify-53
508×rational_best-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
061750
1189750
2896750
35018750
Stop Event
node limit
Counts
50 → 28
Calls
Call 1
Inputs
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 0)
(+.f64 0 (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(-.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))
(*.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)
(*.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 a c)))
(*.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 a c)))))
(*.f64 (sqrt.f64 (*.f64 a c)) (sqrt.f64 -4))
(*.f64 (sqrt.f64 (*.f64 a c)) (neg.f64 (neg.f64 (sqrt.f64 -4))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))) -1)
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 -4 c)))
(*.f64 (sqrt.f64 (*.f64 -4 c)) (sqrt.f64 a))
(*.f64 (sqrt.f64 (*.f64 -4 c)) (neg.f64 (neg.f64 (sqrt.f64 a))))
(*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 -4 a)))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 a c))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a c))) (neg.f64 (sqrt.f64 -4)))
(*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 -4 c))))
(*.f64 (sqrt.f64 (*.f64 -4 a)) (sqrt.f64 c))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 -4 c))) (neg.f64 (sqrt.f64 a)))
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 -4 a))))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))) -1)
(pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))
(neg.f64 (*.f64 (*.f64 a 4) c))
Outputs
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(*.f64 -4 (*.f64 c a))
(+.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 0)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(+.f64 0 (sqrt.f64 (*.f64 -4 (*.f64 a c))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(-.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 0)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 -4) (sqrt.f64 (*.f64 a c)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 (*.f64 a c)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 (*.f64 a c)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 (*.f64 a c)) (neg.f64 (neg.f64 (sqrt.f64 -4))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))) -1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 -4 c)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 (*.f64 -4 c)) (sqrt.f64 a))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 (*.f64 -4 c)) (neg.f64 (neg.f64 (sqrt.f64 a))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 -4 a)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 (*.f64 a c))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 a c))) (neg.f64 (sqrt.f64 -4)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (neg.f64 (sqrt.f64 a)) (neg.f64 (sqrt.f64 (*.f64 -4 c))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (sqrt.f64 (*.f64 -4 a)) (sqrt.f64 c))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 -4 c))) (neg.f64 (sqrt.f64 a)))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 (*.f64 -4 a))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(/.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))) -1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(pow.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) 1)
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c)))))
(sqrt.f64 (*.f64 -4 (*.f64 c a)))
(neg.f64 (*.f64 (*.f64 a 4) c))
(*.f64 -4 (*.f64 c a))

localize151.0ms (1.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
15.7b
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) b)
25.3b
(sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
25.3b
(sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))
25.4b
(/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4)))
Compiler

Compiled 454 to 252 computations (44.5% saved)

series9.0ms (0.1%)

Counts
3 → 108
Calls

27 calls:

TimeVariablePointExpression
3.0ms
c
@inf
(sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
0.0ms
a
@0
(sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
0.0ms
b
@inf
(sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
0.0ms
a
@-inf
(sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
0.0ms
c
@-inf
(sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
874×rational_best-simplify-3
852×rational_best-simplify-111
804×rational_best-simplify-110
676×rational_best-simplify-61
666×rational_best-simplify-65
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027301
166301
2316301
32107137
Stop Event
node limit
Counts
3 → 8
Calls
Call 1
Inputs
(/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4)))
(sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (/.f64 (*.f64 (*.f64 c (*.f64 a -4)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (*.f64 c (*.f64 a -4))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))))))
((#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b))))))

simplify97.0ms (1%)

Algorithm
egg-herbie
Rules
1100×rational_best-simplify-3
988×rational_best-simplify-61
956×rational_best-simplify-65
524×rational_best-simplify-53
510×rational_best-simplify-62
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0443370
11403280
26973280
339743280
Stop Event
node limit
Counts
116 → 27
Calls
Call 1
Inputs
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(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)))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
b
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
b
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(if (!=.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (/.f64 (*.f64 (*.f64 c (*.f64 a -4)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (*.f64 c (*.f64 a -4))))
(-.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) 0)
(*.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(*.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) -1)
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) -1)
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b))
Outputs
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(*.f64 -4 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))
(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)))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
b
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
b
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 4 (*.f64 c a)) 0) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))) (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a))))))
(+.f64 b (sqrt.f64 (+.f64 (pow.f64 b 2) (*.f64 -4 (*.f64 c a)))))
(if (!=.f64 (*.f64 c (*.f64 a -4)) 0) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))) (/.f64 (*.f64 (*.f64 c (*.f64 a -4)) (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) (*.f64 c (*.f64 a -4))))
(if (!=.f64 (*.f64 -4 (*.f64 c a)) 0) (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)) (/.f64 (*.f64 (*.f64 -4 (*.f64 c a)) (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b))) (*.f64 -4 (*.f64 c a))))
(/.f64 (*.f64 c (*.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)) (*.f64 -4 a))) (*.f64 -4 (*.f64 c a)))
(/.f64 (/.f64 (*.f64 a (*.f64 -4 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4))))) c) (/.f64 (*.f64 -4 a) c))
(/.f64 (/.f64 (*.f64 a (*.f64 -4 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))) c) (/.f64 (*.f64 -4 a) c))
(-.f64 0 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))) 0)
(sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))
(*.f64 -1 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))
(*.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) -1)
(sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))
(/.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) -1)
(sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))
(neg.f64 (neg.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))))
(sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4))))
(if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 c (*.f64 a -4)))))) b))
(if (!=.f64 b 0) (+.f64 b (sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b)))) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b))))) b))
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 -4 (*.f64 c a)) (*.f64 b b))))) b)
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 4)))))) b)
(/.f64 (*.f64 b (+.f64 b (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 c (*.f64 a 4)))))) b)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a)) b)
0.0b
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a)) b) (*.f64 a -2))
0.1b
(*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))
0.2b
(sqrt.f64 (*.f64 c -4))
Compiler

Compiled 49 to 30 computations (38.8% saved)

series8.0ms (0.1%)

Counts
4 → 28
Calls

27 calls:

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

rewrite123.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1304×rational_best-simplify-52
920×rational_best-simplify-1
674×rational_best-simplify-113
650×rational_best-simplify-21
646×rational_best-simplify-18
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01586
13586
215686
393686
4649986
Stop Event
node limit
Counts
4 → 57
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 c -4))
(*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a)) b) (*.f64 a -2))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a)) b)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 c -4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 c -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 c -4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 c -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c) (sqrt.f64 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 c) (neg.f64 (neg.f64 (sqrt.f64 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -4) (sqrt.f64 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 c)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 c (*.f64 -4 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) 0) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (neg.f64 (sqrt.f64 a)) 0) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 1 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 c (*.f64 -4 a)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) 1 (sqrt.f64 (*.f64 c (*.f64 -4 a))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 -1 0) (sqrt.f64 (*.f64 c (*.f64 -4 a))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))))))
()
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 b (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 b b))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))) (-.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) 0) (/.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b)) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 0 0) 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 -1 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))))))

simplify77.0ms (0.8%)

Algorithm
egg-herbie
Rules
1154×rational_best-simplify-96
1006×rational_best-simplify-61
936×rational_best-simplify-65
744×rational_best-simplify-3
560×rational_best-simplify-53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01371683
16701683
238781683
Stop Event
node limit
Counts
85 → 71
Calls
Call 1
Inputs
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
b
b
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 (sqrt.f64 (*.f64 c -4)) 0)
(+.f64 0 (sqrt.f64 (*.f64 c -4)))
(-.f64 (sqrt.f64 (*.f64 c -4)) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c -4))))
(*.f64 (sqrt.f64 (*.f64 c -4)) 1)
(*.f64 (sqrt.f64 c) (sqrt.f64 -4))
(*.f64 (sqrt.f64 c) (neg.f64 (neg.f64 (sqrt.f64 -4))))
(*.f64 (sqrt.f64 -4) (sqrt.f64 c))
(*.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 c))))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c -4))))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) -1)
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 -4)))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 c)))
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) -1)
(pow.f64 (sqrt.f64 (*.f64 c -4)) 1)
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0)
(+.f64 0 (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(-.f64 (*.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) 0) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(-.f64 (*.f64 (neg.f64 (sqrt.f64 a)) 0) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 1)
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) -1)
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) -2)
(/.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 1 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(sqrt.f64 (*.f64 c (*.f64 -4 a)))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0)
(if (!=.f64 0 0) 1 (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(if (!=.f64 -1 0) (sqrt.f64 (*.f64 c (*.f64 -4 a))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (neg.f64 b))
(-.f64 b (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 0)
(-.f64 0 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))
(*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)
(*.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))
(*.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) -1)
(*.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) -1)
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 b b))) -2)
(/.f64 (-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))) (-.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)))
(pow.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)
(neg.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))
(if (!=.f64 (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) 0) (/.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b)) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 0 0) 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(if (!=.f64 -1 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
Outputs
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (/.f64 b a))
(*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(*.f64 -1/2 (/.f64 b a))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 c a)) (sqrt.f64 -4))))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
b
b
(*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 b (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
b
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 c a)) (sqrt.f64 -4)) b)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(+.f64 (sqrt.f64 (*.f64 c -4)) 0)
(sqrt.f64 (*.f64 c -4))
(+.f64 0 (sqrt.f64 (*.f64 c -4)))
(sqrt.f64 (*.f64 c -4))
(-.f64 (sqrt.f64 (*.f64 c -4)) 0)
(sqrt.f64 (*.f64 c -4))
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c -4))))
(sqrt.f64 (*.f64 c -4))
(*.f64 (sqrt.f64 (*.f64 c -4)) 1)
(sqrt.f64 (*.f64 c -4))
(*.f64 (sqrt.f64 c) (sqrt.f64 -4))
(sqrt.f64 (*.f64 c -4))
(*.f64 (sqrt.f64 c) (neg.f64 (neg.f64 (sqrt.f64 -4))))
(sqrt.f64 (*.f64 c -4))
(*.f64 (sqrt.f64 -4) (sqrt.f64 c))
(sqrt.f64 (*.f64 c -4))
(*.f64 (sqrt.f64 -4) (neg.f64 (neg.f64 (sqrt.f64 c))))
(sqrt.f64 (*.f64 c -4))
(*.f64 -1 (neg.f64 (sqrt.f64 (*.f64 c -4))))
(sqrt.f64 (*.f64 c -4))
(*.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) -1)
(sqrt.f64 (*.f64 c -4))
(*.f64 (neg.f64 (sqrt.f64 c)) (neg.f64 (sqrt.f64 -4)))
(sqrt.f64 (*.f64 c -4))
(*.f64 (neg.f64 (sqrt.f64 -4)) (neg.f64 (sqrt.f64 c)))
(sqrt.f64 (*.f64 c -4))
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) -1)
(sqrt.f64 (*.f64 c -4))
(pow.f64 (sqrt.f64 (*.f64 c -4)) 1)
(sqrt.f64 (*.f64 c -4))
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))))
(sqrt.f64 (*.f64 c -4))
(+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0)
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(+.f64 0 (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0)
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 0 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 (*.f64 (neg.f64 (sqrt.f64 (*.f64 c -4))) 0) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 (*.f64 (neg.f64 (sqrt.f64 a)) 0) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 1)
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) -1)
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) -2)
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(/.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 1 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(pow.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 1)
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(neg.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(sqrt.f64 (*.f64 c (*.f64 -4 a)))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a)))) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0)
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 0 0) 1 (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(if (!=.f64 -1 0) (sqrt.f64 (*.f64 c (*.f64 -4 a))) (sqrt.f64 (*.f64 c (*.f64 -4 a))))
(sqrt.f64 (*.f64 (*.f64 a c) -4))
(sqrt.f64 (*.f64 a (*.f64 c -4)))
(-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (neg.f64 b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(-.f64 b (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 0)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(-.f64 0 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) -1)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(*.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) -1)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 b b))) -2)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(/.f64 (-.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))) (-.f64 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(pow.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 1)
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(neg.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) 0) (/.f64 (-.f64 (*.f64 b b) (sqrt.f64 (*.f64 (*.f64 c (*.f64 -4 a)) (*.f64 c (*.f64 -4 a))))) (-.f64 b (sqrt.f64 (*.f64 c (*.f64 -4 a))))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (neg.f64 b) 0) (/.f64 (*.f64 b (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) 0) (/.f64 (*.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b)) (sqrt.f64 (*.f64 c (*.f64 -4 a)))) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b) 0) (/.f64 (*.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b)) (-.f64 (neg.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a)))) b)) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 0 0) 1 (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))
(if (!=.f64 -1 0) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b) (+.f64 (sqrt.f64 (*.f64 c (*.f64 -4 a))) b))
(+.f64 b (sqrt.f64 (*.f64 (*.f64 a c) -4)))
(+.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))

eval92.0ms (0.9%)

Compiler

Compiled 7100 to 4158 computations (41.4% saved)

prune47.0ms (0.5%)

Pruning

19 alts after pruning (8 fresh and 11 done)

PrunedKeptTotal
New1925197
Fresh134
Picked101
Done11112
Total19519214
Error
0.1b
Counts
214 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
49.2b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
50.1b
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
44.6b
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
46.9b
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
37.4b
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
57.8b
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
53.9b
(/.f64 (*.f64 (sqrt.f64 (*.f64 -4 c)) (sqrt.f64 a)) (*.f64 a -2))
51.9b
(/.f64 (*.f64 (sqrt.f64 (*.f64 -4 a)) (sqrt.f64 c)) (*.f64 a -2))
48.2b
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
47.1b
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
58.2b
(/.f64 c b)
59.0b
(/.f64 b (*.f64 a -2))
43.1b
(-.f64 (/.f64 c b) (/.f64 b a))
53.3b
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
47.0b
(+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
53.1b
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
40.7b
(neg.f64 (/.f64 c b))
43.0b
(neg.f64 (/.f64 b a))
Compiler

Compiled 336 to 224 computations (33.3% saved)

regimes352.0ms (3.5%)

Counts
29 → 5
Calls
Call 1
Inputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
(neg.f64 (/.f64 c b))
(/.f64 b (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 -1/2 (/.f64 b a)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (+.f64 b (sqrt.f64 (if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4))))) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (*.f64 (sqrt.f64 (*.f64 -4 a)) (sqrt.f64 c)) (*.f64 a -2))
(/.f64 (*.f64 (sqrt.f64 (*.f64 -4 c)) (sqrt.f64 a)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c)) b) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a)) b) (*.f64 a -2))
(+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (if (!=.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) 0) (/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (sqrt.f64 (if (!=.f64 (*.f64 b b) 0) (/.f64 (*.f64 (*.f64 b b) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))) (*.f64 b b)) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
Outputs
(neg.f64 (/.f64 c b))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3))))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
Calls

4 calls:

131.0ms
c
101.0ms
a
69.0ms
b
36.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Results
ErrorSegmentsBranch
26.6b8a
9.8b5b
27.5b10c
16.7b5(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Compiler

Compiled 675 to 369 computations (45.3% saved)

bsearch114.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
4.945950242497465e+81
4.9772586726339586e+82
36.0ms
-4.04293906851121e-101
-6.28010283379035e-111
34.0ms
-2.010687836588009e-32
-2.854391193576537e-37
28.0ms
-0.10643976492839737
-0.010644059474585204
Results
46.0ms372×body256valid
22.0ms57×body1024valid
16.0ms31×body2048valid
11.0ms96×body256invalid
11.0ms36×body512valid
1.0ms11×body256infinite
Compiler

Compiled 1121 to 797 computations (28.9% saved)

regimes451.0ms (4.4%)

Counts
25 → 5
Calls
Call 1
Inputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
(neg.f64 (/.f64 c b))
(/.f64 b (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 -1/2 (/.f64 b a)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (*.f64 (*.f64 c a) -4)))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (if (!=.f64 b 0) (/.f64 (*.f64 b (+.f64 b (sqrt.f64 (if (!=.f64 (*.f64 (*.f64 a c) 4) 0) (/.f64 (*.f64 a (*.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))) (*.f64 c -4))) (*.f64 a (*.f64 c -4))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4))))))) b) (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (+.f64 b (sqrt.f64 (if (!=.f64 (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b)) 0) (/.f64 (-.f64 (*.f64 a (*.f64 c (*.f64 -4 (*.f64 a (*.f64 c -4))))) (*.f64 b (*.f64 (*.f64 b b) b))) (-.f64 (*.f64 a (*.f64 c -4)) (*.f64 b b))) (+.f64 (*.f64 b b) (*.f64 a (*.f64 c -4)))))) (*.f64 a -2))
(/.f64 (*.f64 (sqrt.f64 (*.f64 -4 a)) (sqrt.f64 c)) (*.f64 a -2))
(/.f64 (*.f64 (sqrt.f64 (*.f64 -4 c)) (sqrt.f64 a)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 a -4)) (sqrt.f64 c)) b) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a)) b) (*.f64 a -2))
Outputs
(neg.f64 (/.f64 c b))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(neg.f64 (/.f64 c b))
(/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
Calls

4 calls:

150.0ms
c
142.0ms
b
117.0ms
a
30.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Results
ErrorSegmentsBranch
26.6b8a
9.8b5b
27.5b10c
16.7b5(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
Compiler

Compiled 457 to 252 computations (44.9% saved)

bsearch119.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
4.945950242497465e+81
4.9772586726339586e+82
36.0ms
-4.04293906851121e-101
-6.28010283379035e-111
38.0ms
-5.345702365347225e-68
-2.8723011016822807e-83
26.0ms
-0.10643976492839737
-0.010644059474585204
Results
53.0ms381×body256valid
20.0ms58×body1024valid
13.0ms31×body2048valid
12.0ms101×body256invalid
10.0ms42×body512valid
4.0ms18×body256infinite
Compiler

Compiled 940 to 665 computations (29.3% saved)

regimes166.0ms (1.6%)

Counts
15 → 3
Calls
Call 1
Inputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
(neg.f64 (/.f64 c b))
(/.f64 b (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
(+.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (*.f64 -1/2 (/.f64 b a)))
(+.f64 (*.f64 -1/2 (/.f64 b a)) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))))
Outputs
(neg.f64 (/.f64 c b))
(/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
Calls

3 calls:

83.0ms
c
55.0ms
a
25.0ms
b
Results
ErrorSegmentsBranch
32.8b6a
13.6b3b
32.7b10c
Compiler

Compiled 166 to 83 computations (50% saved)

bsearch57.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
3.270991444105547e-127
1.7498099394020951e-124
34.0ms
-4.04293906851121e-101
-6.28010283379035e-111
Results
33.0ms251×body256valid
8.0ms73×body256invalid
8.0ms20×body1024valid
2.0ms12×body512valid
2.0msbody2048valid
Compiler

Compiled 482 to 351 computations (27.2% saved)

regimes125.0ms (1.2%)

Counts
12 → 3
Calls
Call 1
Inputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
(neg.f64 (/.f64 c b))
(/.f64 b (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
Outputs
(neg.f64 (/.f64 c b))
(/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
Calls

3 calls:

55.0ms
c
46.0ms
a
20.0ms
b
Results
ErrorSegmentsBranch
33.0b6a
13.8b3b
33.9b8c
Compiler

Compiled 126 to 59 computations (53.2% saved)

bsearch61.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
3.270991444105547e-127
1.7498099394020951e-124
36.0ms
-4.04293906851121e-101
-6.28010283379035e-111
Results
37.0ms249×body256valid
10.0ms83×body256invalid
6.0ms21×body1024valid
3.0ms15×body512valid
1.0msbody2048valid
Compiler

Compiled 446 to 333 computations (25.3% saved)

regimes109.0ms (1.1%)

Counts
11 → 3
Calls
Call 1
Inputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
(neg.f64 (/.f64 c b))
(/.f64 b (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
Outputs
(neg.f64 (/.f64 c b))
(*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4)))
(-.f64 (/.f64 c b) (/.f64 b a))
Calls

3 calls:

59.0ms
c
28.0ms
a
20.0ms
b
Results
ErrorSegmentsBranch
35.4b3a
17.9b3b
34.0b8c
Compiler

Compiled 116 to 52 computations (55.2% saved)

bsearch51.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
3.270991444105547e-127
1.7498099394020951e-124
30.0ms
-1.0729655492700542e-154
-1.301498929657502e-171
Results
34.0ms273×body256valid
10.0ms81×body256invalid
2.0msbody1024valid
2.0msbody512valid
Compiler

Compiled 410 to 315 computations (23.2% saved)

regimes68.0ms (0.7%)

Counts
10 → 2
Calls
Call 1
Inputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
(neg.f64 (/.f64 c b))
(/.f64 b (*.f64 a -2))
(-.f64 (/.f64 c b) (/.f64 b a))
(+.f64 (neg.f64 (/.f64 b a)) (/.f64 c b))
(/.f64 (+.f64 b (neg.f64 b)) (*.f64 a -2))
(/.f64 (*.f64 2 (/.f64 (*.f64 c a) b)) (*.f64 a -2))
(/.f64 (+.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 b 2)) (*.f64 a -2))
(if (!=.f64 (/.f64 c b) 0) (/.f64 (*.f64 (/.f64 c b) (-.f64 (/.f64 c b) (/.f64 b a))) (/.f64 c b)) (-.f64 (/.f64 c b) (/.f64 b a)))
Outputs
(neg.f64 (/.f64 c b))
(neg.f64 (/.f64 b a))
Calls

3 calls:

30.0ms
c
20.0ms
a
10.0ms
b
Results
ErrorSegmentsBranch
36.3b3a
21.1b2b
36.5b5c
Compiler

Compiled 108 to 46 computations (57.4% saved)

bsearch30.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
30.0ms
-2.317877048155529e-228
-1.9403519495660557e-244
Results
20.0ms158×body256valid
8.0ms68×body256invalid
0.0msbody512valid
Compiler

Compiled 186 to 139 computations (25.3% saved)

regimes12.0ms (0.1%)

Accuracy

Total -23.6b remaining (-60.9%)

Threshold costs -23.6b (-60.9%)

Counts
2 → 2
Calls
Call 1
Inputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
Outputs
(/.f64 c b)
(neg.f64 (/.f64 b a))
Calls

3 calls:

5.0ms
b
3.0ms
c
3.0ms
a
Results
ErrorSegmentsBranch
43.0b1a
38.8b2b
43.0b1c
Compiler

Compiled 22 to 15 computations (31.8% saved)

bsearch4.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
4.0ms
-4.745531480417742e+37
-4.415583811789211e+37
Results
1.0msbody2048valid
1.0msbody256valid
1.0msbody1024valid
0.0msbody4096valid
0.0msbody512valid
Compiler

Compiled 41 to 30 computations (26.8% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089672
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 b -3602879701896397/288230376151711744) (neg.f64 (/.f64 c b)) (if (<=.f64 b -1915619426082361/2993155353253689176481146537402947624255349848014848) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (if (<=.f64 b -6304320991423117/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)))) (if (<=.f64 b 49000000000000000565928364967025195667396821918058166132283919805092815954126045184) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))))
(if (<=.f64 b -3170534137668829/288230376151711744) (neg.f64 (/.f64 c b)) (if (<=.f64 b -1495190925144637/4271974071841820164790043412339104229205409044713305539894083215644439451561281100045924173873152) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (if (<=.f64 b -378259259485387/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (neg.f64 (/.f64 c b)) (if (<=.f64 b 42000000000000000485081455686021596286340133072621285256243359832936699389250895872) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))))
(if (<=.f64 b -6304320991423117/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (neg.f64 (/.f64 c b)) (if (<=.f64 b 4096532826647573/23817051317718446589520242536874132581700120107002038199303870846751188192899823151552628349788604516295066307994130118526061826166445047808) (/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))
(if (<=.f64 b -2364120371783669/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (neg.f64 (/.f64 c b)) (if (<=.f64 b 4096532826647573/23817051317718446589520242536874132581700120107002038199303870846751188192899823151552628349788604516295066307994130118526061826166445047808) (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))
(if (<=.f64 b -2995016580338375/483067190377157293086918986366498418037365916213304374832154406431439892786195053067024220822740322245307952003937772147170634832630373456967863584183385093587122601852928) (neg.f64 (/.f64 c b)) (if (<=.f64 b 3048582568667961/762145642166990290864647761179972242614403843424065222377723867096038022172794340849684107193235344521442121855812163792833978437326241529856) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (-.f64 (/.f64 c b) (/.f64 b a))))
(if (<=.f64 b -4132137262574107/1921924308174003258872616370050369756495810455948672905389542244035233680030523317234537010836564833497229828911284598430510768810573374275010933992099815720970170092183271059798176857571621225553914820586983072295508566795439261982531741155133337002515103744) (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 b a)))
(if (<=.f64 b -44999999999999996153544530833428185088) (/.f64 c b) (neg.f64 (/.f64 b a)))
(/.f64 c b)
Outputs
(if (<=.f64 b -3602879701896397/288230376151711744) (neg.f64 (/.f64 c b)) (if (<=.f64 b -1915619426082361/2993155353253689176481146537402947624255349848014848) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (if (<=.f64 b -6304320991423117/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (+.f64 (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 (*.f64 a (pow.f64 c 2)) (pow.f64 b 3)))) (if (<=.f64 b 49000000000000000565928364967025195667396821918058166132283919805092815954126045184) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))))
(if (<=.f64 b -3170534137668829/288230376151711744) (neg.f64 (/.f64 c b)) (if (<=.f64 b -1495190925144637/4271974071841820164790043412339104229205409044713305539894083215644439451561281100045924173873152) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (if (<=.f64 b -378259259485387/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (neg.f64 (/.f64 c b)) (if (<=.f64 b 42000000000000000485081455686021596286340133072621285256243359832936699389250895872) (/.f64 (+.f64 b (sqrt.f64 (+.f64 (*.f64 b b) (*.f64 (*.f64 a c) -4)))) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))))
(if (<=.f64 b -6304320991423117/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (neg.f64 (/.f64 c b)) (if (<=.f64 b 4096532826647573/23817051317718446589520242536874132581700120107002038199303870846751188192899823151552628349788604516295066307994130118526061826166445047808) (/.f64 (+.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))
(if (<=.f64 b -2364120371783669/157608024785577916849116160400574455220318957081861786671793173616982887085988842445657065019539662563226511961227264) (neg.f64 (/.f64 c b)) (if (<=.f64 b 4096532826647573/23817051317718446589520242536874132581700120107002038199303870846751188192899823151552628349788604516295066307994130118526061826166445047808) (/.f64 (sqrt.f64 (*.f64 -4 (*.f64 a c))) (*.f64 a -2)) (-.f64 (/.f64 c b) (/.f64 b a))))
(if (<=.f64 b -2995016580338375/483067190377157293086918986366498418037365916213304374832154406431439892786195053067024220822740322245307952003937772147170634832630373456967863584183385093587122601852928) (neg.f64 (/.f64 c b)) (if (<=.f64 b 3048582568667961/762145642166990290864647761179972242614403843424065222377723867096038022172794340849684107193235344521442121855812163792833978437326241529856) (*.f64 -1/2 (sqrt.f64 (*.f64 (/.f64 c a) -4))) (-.f64 (/.f64 c b) (/.f64 b a))))
(if (<=.f64 b -4132137262574107/1921924308174003258872616370050369756495810455948672905389542244035233680030523317234537010836564833497229828911284598430510768810573374275010933992099815720970170092183271059798176857571621225553914820586983072295508566795439261982531741155133337002515103744) (neg.f64 (/.f64 c b)) (neg.f64 (/.f64 b a)))
(if (<=.f64 b -44999999999999996153544530833428185088) (/.f64 c b) (neg.f64 (/.f64 b a)))
(/.f64 c b)
Compiler

Compiled 274 to 165 computations (39.8% saved)

soundness548.0ms (5.4%)

Algorithm
egg-herbie
Rules
1018×rational_best-simplify-96
1018×rational_best-simplify-96
1018×rational_best-simplify-96
1018×rational_best-simplify-96
964×rational_best-simplify-61
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01751
18051
244847
3303147
02836448
113346324
278906312
01751
18051
244847
3303147
01751
18051
244847
3303147
02836448
113346324
278906312
01751
18051
244847
3303147
02836448
113346324
278906312
069953
1374953
22408953
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 843 to 459 computations (45.6% saved)

end111.0ms (1.1%)

Compiler

Compiled 253 to 118 computations (53.4% saved)

Profiling

Loading profile data...