Details

Time bar (total: 6.2s)

analyze1.0s (16.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%93.6%6.4%7
6.2%87.4%6.4%8
10.1%81.1%8.7%9
15.6%71%13.4%10
22%63%15%11
29.1%52.9%18.1%12
33.8%45.6%20.5%13
38.8%38.9%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.3s (37.5%)

Results
739.0ms5368×body128valid
630.0ms1129×body2048valid
357.0ms801×body1024valid
290.0ms420×body4096valid
136.0ms1041×body128invalid
122.0ms350×body512valid
43.0ms188×body256valid

preprocess26.0ms (0.4%)

Algorithm
egg-herbie
Rules
269×rule-/*abc-*b/ac_binary64
245×rule-/ab-*+aa/1/2b_binary64
222×rule-*a/cb-/a/bc_binary64
190×rule-*a-bc-*nega-cb_binary64
188×rule-a-*a1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034104
124796
2112288
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 3 b) c)))) (*.f64 3 b))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 c) a)))) (*.f64 3 c))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 3 a) b)))) (*.f64 3 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a c)))) b) (*.f64 3 a))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -3))) b) (/.f64 1/3 a))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 (*.f64 3 b) c)))) (*.f64 3 b))
(/.f64 (+.f64 (neg.f64 a) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 c (*.f64 b 3))))) (*.f64 b 3))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 c (*.f64 b 3)))) a) (*.f64 b 3))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a a (*.f64 (*.f64 b c) -3))) a) (/.f64 1/3 b))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 c) a)))) (*.f64 3 c))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 3 c))))) (*.f64 3 c))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 a c)))) b) (*.f64 3 c))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -3))) b) (/.f64 1/3 c))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 (*.f64 3 a) b)))) (*.f64 3 a))
(/.f64 (+.f64 (neg.f64 c) (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 3 a))))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 c c) (*.f64 b (*.f64 3 a)))) c) (*.f64 3 a))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 c c (*.f64 (*.f64 b a) -3))) c) (/.f64 1/3 a))
Compiler

Compiled 20 to 14 computations (30% saved)

simplify26.0ms (0.4%)

Algorithm
egg-herbie
Rules
395×rule-/ab-*+aa/1/2b_binary64
354×rule-a-*a1_binary64
354×rule-a--a0_binary64
354×rule-a-+a0_binary64
351×rule-a-/a1_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01326
18924
237022
3204722
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a (*.f64 c 3)))) b) (*.f64 3 a))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -3))) b) (/.f64 1/3 a))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (/.f64 1/3 a))

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 75 computations (32.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
0.8b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
1.9b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
23.9b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series27.0ms (0.4%)

Counts
4 → 96
Calls

36 calls:

TimeVariablePointExpression
3.0ms
a
@0
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
2.0ms
b
@inf
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.0ms
a
@inf
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.0ms
c
@inf
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
1.0ms
b
@0
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))

rewrite49.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
161×add-sqr-sqrt_binary64
154×pow1_binary64
154×rules-30_binary64
154×rules-31_binary64
154×rules-32_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify45.0ms (0.7%)

Algorithm
egg-herbie
Rules
288×rule-a-*a1_binary64
288×rule-a--a0_binary64
288×rule-a-+a0_binary64
288×rule-a-/a1_binary64
283×rule-/ab-*+aa/1/2b_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01762439
113502383
Stop Event
node limit
Counts
273 → 259
Calls
Call 1
Inputs
(sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 5))))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(*.f64 -1 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))
(+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 -1 b))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 -1 b)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 -1 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 -2 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b)))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2))) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 a 2) (pow.f64 b 3))) 2))) b)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
(+.f64 (*.f64 -1/3 (/.f64 b a)) (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)))
(+.f64 (*.f64 -1/3 (/.f64 b a)) (+.f64 (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)) (*.f64 1/6 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))))))
(+.f64 (*.f64 -1/3 (/.f64 b a)) (+.f64 (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)) (+.f64 (*.f64 -1/24 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3)))) (*.f64 1/6 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))))))))
(*.f64 -1/2 (/.f64 c b))
(+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
(*.f64 -2/3 (/.f64 b a))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (+.f64 (*.f64 1/2 (/.f64 c b)) (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 1/2 (/.f64 c b)) (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
(*.f64 -1/2 (/.f64 c b))
(+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2))) b)) (+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
(*.f64 -1/2 (/.f64 c b))
(+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 a 2) (pow.f64 b 3))) 2))) (*.f64 a b))) (+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
Outputs
(sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))
(sqrt.f64 (*.f64 a (*.f64 -3 c)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))
(fma.f64 1/2 (*.f64 b (/.f64 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))) (sqrt.f64 (*.f64 a (*.f64 -3 c))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (fma.f64 1/2 (*.f64 b (/.f64 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))) (sqrt.f64 (*.f64 a (*.f64 -3 c)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 5))))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 5))))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 5))) (fma.f64 1/2 (*.f64 b (/.f64 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))) (sqrt.f64 (*.f64 a (*.f64 -3 c))))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.f64 -3/2 (*.f64 a (/.f64 c b)) b)
(fma.f64 -3/2 (*.f64 c (/.f64 a b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) b))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) b)))
(*.f64 -1 b)
(*.f64 b -1)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -1))
(fma.f64 3/2 (*.f64 c (/.f64 a b)) (neg.f64 b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (*.f64 b -1)))
(fma.f64 3/2 (*.f64 c (/.f64 a b)) (fma.f64 9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (neg.f64 b)))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
(fma.f64 27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (*.f64 b -1))))
(fma.f64 27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) (fma.f64 3/2 (*.f64 c (/.f64 a b)) (fma.f64 9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (neg.f64 b))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.f64 -3/2 (*.f64 a (/.f64 c b)) b)
(fma.f64 -3/2 (*.f64 c (/.f64 a b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) b))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.f64 -3/2 (*.f64 a (/.f64 c b)) b)
(fma.f64 -3/2 (*.f64 c (/.f64 a b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) b))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) b)))
(sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))
(sqrt.f64 (*.f64 a (*.f64 -3 c)))
(+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 -1 b))
(+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 b -1))
(+.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) (neg.f64 b))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 -1 b)))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 b -1)))
(+.f64 (neg.f64 b) (fma.f64 1/2 (*.f64 b (/.f64 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))) (sqrt.f64 (*.f64 a (*.f64 -3 c)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 -1 b))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))) (+.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) (*.f64 b -1))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (+.f64 (neg.f64 b) (fma.f64 1/2 (*.f64 b (/.f64 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))) (sqrt.f64 (*.f64 a (*.f64 -3 c))))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (*.f64 a (/.f64 c b)))
(*.f64 -3/2 (*.f64 c (/.f64 a b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (*.f64 -3/2 (*.f64 a (/.f64 c b))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (*.f64 -3/2 (*.f64 c (/.f64 a b))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (*.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a a))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7)) (fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5)))))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 c c) (*.f64 -9/8 (*.f64 a a))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7)) (fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (*.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5)))))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -2))
(fma.f64 3/2 (*.f64 c (/.f64 a b)) (*.f64 b -2))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b)))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (*.f64 b -2)))
(fma.f64 3/2 (*.f64 c (/.f64 a b)) (fma.f64 9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (*.f64 b -2)))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b))))
(fma.f64 27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (*.f64 b -2))))
(fma.f64 27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) (fma.f64 3/2 (*.f64 c (/.f64 a b)) (fma.f64 9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (*.f64 b -2))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (*.f64 a (/.f64 c b)))
(*.f64 -3/2 (*.f64 c (/.f64 a b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (*.f64 -3/2 (*.f64 a (/.f64 c b))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (*.f64 -3/2 (*.f64 c (/.f64 a b))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (*.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2))) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -1/2 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (*.f64 -9/8 (/.f64 (*.f64 c c) (pow.f64 b 3))) 2)) (/.f64 (pow.f64 a 4) b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5)))))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (fma.f64 -1/2 (*.f64 (pow.f64 a 4) (/.f64 (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (*.f64 -9/8 (/.f64 (*.f64 c c) (pow.f64 b 3))) 2)) b)) (*.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5)))))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (*.f64 a (/.f64 c b)))
(*.f64 -3/2 (*.f64 c (/.f64 a b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (*.f64 -3/2 (*.f64 a (/.f64 c b))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (*.f64 -3/2 (*.f64 c (/.f64 a b))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (*.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 a 2) (pow.f64 b 3))) 2))) b)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(fma.f64 -9/8 (*.f64 (*.f64 a a) (/.f64 (*.f64 c c) (pow.f64 b 3))) (fma.f64 -1/2 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6)) (pow.f64 (*.f64 -9/8 (/.f64 (*.f64 a a) (pow.f64 b 3))) 2)) (/.f64 (pow.f64 c 4) b)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5)))))))
(fma.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a (/.f64 a (pow.f64 b 3)))) (fma.f64 -1/2 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 a a)) (pow.f64 b 3)) 2)) (/.f64 (pow.f64 c 4) b)) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) (*.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5)))))))
(*.f64 -3 (*.f64 c a))
(*.f64 c (*.f64 -3 a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(*.f64 -3 (*.f64 c a))
(*.f64 c (*.f64 -3 a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(*.f64 -3 (*.f64 c a))
(*.f64 c (*.f64 -3 a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(*.f64 -3 (*.f64 c a))
(*.f64 c (*.f64 -3 a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(*.f64 -3 (*.f64 c a))
(*.f64 c (*.f64 -3 a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 b b) (*.f64 c (*.f64 -3 a)))
(+.f64 (*.f64 b b) (*.f64 a (*.f64 -3 c)))
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) a))
(+.f64 (*.f64 -1/3 (/.f64 b a)) (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)))
(fma.f64 -1/3 (/.f64 b a) (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)))
(/.f64 (+.f64 (*.f64 b -1/3) (*.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 1/3)) a)
(+.f64 (*.f64 -1/3 (/.f64 b a)) (+.f64 (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)) (*.f64 1/6 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))))))
(fma.f64 -1/3 (/.f64 b a) (fma.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a) (*.f64 1/6 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))))))))
(fma.f64 -1/3 (/.f64 b a) (fma.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) a) (/.f64 (*.f64 (*.f64 b (/.f64 b a)) 1/6) (sqrt.f64 (*.f64 a (*.f64 -3 c))))))
(+.f64 (*.f64 -1/3 (/.f64 b a)) (+.f64 (*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a)) (+.f64 (*.f64 -1/24 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3)))) (*.f64 1/6 (/.f64 (pow.f64 b 2) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))))))))
(fma.f64 -1/3 (/.f64 b a) (fma.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a) (fma.f64 -1/24 (/.f64 (pow.f64 b 4) (*.f64 a (pow.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) 3))) (*.f64 1/6 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a))))))))))
(fma.f64 -1/3 (/.f64 b a) (fma.f64 1/3 (/.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) a) (fma.f64 -1/24 (/.f64 (/.f64 (pow.f64 b 4) a) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (/.f64 (*.f64 (*.f64 b (/.f64 b a)) 1/6) (sqrt.f64 (*.f64 a (*.f64 -3 c)))))))
(*.f64 -1/2 (/.f64 c b))
(+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))
(fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))
(fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3))))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7)))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a a))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7))) (fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/6 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 c c) (*.f64 -9/8 (*.f64 a a))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (*.f64 a (pow.f64 b 7))) (fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))))
(*.f64 -2/3 (/.f64 b a))
(*.f64 (/.f64 b a) -2/3)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (+.f64 (*.f64 1/2 (/.f64 c b)) (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(fma.f64 -2/3 (/.f64 b a) (fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) 3/8)))
(fma.f64 -2/3 (/.f64 b a) (fma.f64 1/2 (/.f64 c b) (*.f64 a (*.f64 3/8 (/.f64 (*.f64 c c) (pow.f64 b 3))))))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 1/2 (/.f64 c b)) (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
(fma.f64 -2/3 (/.f64 b a) (fma.f64 9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)) 3/8))))
(fma.f64 -2/3 (/.f64 b a) (fma.f64 9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 1/2 (/.f64 c b) (*.f64 a (*.f64 3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))))
(*.f64 -1/2 (/.f64 c b))
(+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))
(fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))
(fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3))))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2))) b)) (+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
(fma.f64 -1/6 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (*.f64 -9/8 (/.f64 (*.f64 c c) (pow.f64 b 3))) 2)) (/.f64 (pow.f64 a 3) b)) (fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))))
(fma.f64 -1/6 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (*.f64 -9/8 (/.f64 (*.f64 c c) (pow.f64 b 3))) 2)) (/.f64 (pow.f64 a 3) b)) (fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))))
(*.f64 -1/2 (/.f64 c b))
(+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))
(fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))
(fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))
(+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3)))))
(fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3))))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 a 2) (pow.f64 b 3))) 2))) (*.f64 a b))) (+.f64 (*.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/2 (/.f64 c b)) (*.f64 -3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))))))
(fma.f64 -1/6 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6)) (pow.f64 (*.f64 -9/8 (/.f64 (*.f64 a a) (pow.f64 b 3))) 2)) (/.f64 (pow.f64 c 4) (*.f64 a b))) (fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 -3/8 (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 b 3))))))
(fma.f64 -1/6 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 a a)) (pow.f64 b 3)) 2)) (/.f64 (pow.f64 c 4) (*.f64 a b))) (fma.f64 -9/16 (*.f64 (*.f64 a a) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))))

prune228.0ms (3.7%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New24811259
Fresh011
Picked011
Done000
Total24813261
Error
6.0b
Counts
261 → 13
Alt Table
StatusErrorProgram
34.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (/.f64 1/3 a))
40.7b
(*.f64 -1/2 (/.f64 c b))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))) 3/2))) (*.f64 3 a))
44.9b
(/.f64 (*.f64 -3/2 (*.f64 c (/.f64 a b))) (*.f64 3 a))
34.9b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))))))) (*.f64 3 a))
48.1b
(/.f64 (+.f64 (neg.f64 b) (fma.f64 3/2 (*.f64 c (/.f64 a b)) (neg.f64 b))) (*.f64 3 a))
48.0b
(fma.f64 -2/3 (/.f64 b a) (*.f64 1/2 (/.f64 c b)))
47.7b
(/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 3 a))
43.2b
(*.f64 (/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) b) 3) (/.f64 1 a))
41.5b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
34.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
55.2b
(/.f64 (+.f64 (neg.f64 b) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) b)) (*.f64 3 a))
45.2b
(fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))
Compiler

Compiled 7457 to 4308 computations (42.2% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 1/3 a)
1.0b
(fma.f64 b b (*.f64 c (*.f64 a -3)))
1.9b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b)
23.9b
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))

series12.0ms (0.2%)

Counts
4 → 76
Calls

30 calls:

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

rewrite65.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
301×rule-*aa-fabs*aa_binary64
240×rule-nega--0a_binary64
240×rule-nega-/a-1_binary64
240×rule-nega-*a-1_binary64
141×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify53.0ms (0.9%)

Algorithm
egg-herbie
Rules
651×rule-a--a0_binary64
651×rule-a-+a0_binary64
639×rule-a-/a1_binary64
272×fma-def_binary64
200×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01141672
18631606
236481606
Stop Event
node limit
Counts
231 → 210
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (sqrt.f64 (*.f64 -3 (*.f64 c a))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (sqrt.f64 (*.f64 -3 (*.f64 c a)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (sqrt.f64 (*.f64 -3 (*.f64 c a))))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(*.f64 -1 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 -2 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b)))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 a 2) (pow.f64 b 3))) 2))) b)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2))) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
Outputs
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(sqrt.f64 (*.f64 a (*.f64 -3 c)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (sqrt.f64 (*.f64 -3 (*.f64 c a))))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (sqrt.f64 (*.f64 -3 (*.f64 c a))))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (sqrt.f64 (*.f64 a (*.f64 -3 c))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (sqrt.f64 (*.f64 -3 (*.f64 c a)))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (sqrt.f64 (*.f64 -3 (*.f64 c a)))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (sqrt.f64 (*.f64 a (*.f64 -3 c)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (sqrt.f64 (*.f64 -3 (*.f64 c a))))))
(fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 5)) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (sqrt.f64 (*.f64 -3 (*.f64 c a))))))
(fma.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 5)) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (sqrt.f64 (*.f64 a (*.f64 -3 c))))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.f64 -3/2 (*.f64 a (/.f64 c b)) b)
(fma.f64 -3/2 (/.f64 a (/.f64 b c)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) b))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -3/2 (/.f64 a (/.f64 b c)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) b)))
(fma.f64 -3/2 (/.f64 a (/.f64 b c)) (fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) b)))
(*.f64 -1 b)
(*.f64 b -1)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -1))
(fma.f64 (/.f64 a (/.f64 b c)) 3/2 (neg.f64 b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b)))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 b -1)))
(fma.f64 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) 9/8 (fma.f64 (/.f64 a (/.f64 b c)) 3/2 (neg.f64 b)))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -1 b))))
(fma.f64 27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 b -1))))
(fma.f64 (/.f64 a (/.f64 b c)) 3/2 (fma.f64 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) 27/16 (fma.f64 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) 9/8 (neg.f64 b))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.f64 -3/2 (*.f64 a (/.f64 c b)) b)
(fma.f64 -3/2 (/.f64 a (/.f64 b c)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) b))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -3/2 (/.f64 a (/.f64 b c)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) b)))
(fma.f64 -3/2 (/.f64 a (/.f64 b c)) (fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.f64 -3/2 (*.f64 a (/.f64 c b)) b)
(fma.f64 -3/2 (/.f64 a (/.f64 b c)) b)
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) b))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -3/2 (/.f64 a (/.f64 b c)) b))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) b)))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) b)))
(fma.f64 -3/2 (/.f64 a (/.f64 b c)) (fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) b)))
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(sqrt.f64 (*.f64 a (*.f64 -3 c)))
(+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))
(+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 b -1))
(fma.f64 b -1 (sqrt.f64 (*.f64 a (*.f64 -3 c))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 b -1)))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (fma.f64 b -1 (sqrt.f64 (*.f64 a (*.f64 -3 c)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 b -1))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (fma.f64 b -1 (sqrt.f64 (*.f64 a (*.f64 -3 c))))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 -3/2 (/.f64 b (*.f64 c a)))
(*.f64 a (*.f64 -3/2 (/.f64 c b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (/.f64 -3/2 (/.f64 b (*.f64 c a))))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (*.f64 a (*.f64 -3/2 (/.f64 c b))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) (*.f64 a (*.f64 -3/2 (/.f64 c b)))))
(+.f64 (*.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (pow.f64 c 2) (pow.f64 a 2))) 2) (*.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)))) (pow.f64 b 7))) (+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(fma.f64 -1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -9/8 (*.f64 (*.f64 c c) (*.f64 a a))) 2) (*.f64 (pow.f64 c 4) (*.f64 81/16 (pow.f64 a 4)))) (pow.f64 b 7)) (fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5)))))))
(fma.f64 -1/2 (/.f64 (fma.f64 81/16 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 (*.f64 (*.f64 c c) (*.f64 -9/8 (*.f64 a a))) 2)) (pow.f64 b 7)) (fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) (*.f64 a (*.f64 -3/2 (/.f64 c b))))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -2))
(fma.f64 b -2 (*.f64 a (*.f64 3/2 (/.f64 c b))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b)))
(fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 b -2)))
(fma.f64 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) 9/8 (fma.f64 b -2 (*.f64 a (*.f64 3/2 (/.f64 c b)))))
(+.f64 (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -2 b))))
(fma.f64 27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))) (fma.f64 3/2 (*.f64 a (/.f64 c b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (*.f64 b -2))))
(fma.f64 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) 27/16 (fma.f64 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) 9/8 (fma.f64 b -2 (*.f64 a (*.f64 3/2 (/.f64 c b))))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 -3/2 (/.f64 b (*.f64 c a)))
(*.f64 a (*.f64 -3/2 (/.f64 c b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (/.f64 -3/2 (/.f64 b (*.f64 c a))))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (*.f64 a (*.f64 -3/2 (/.f64 c b))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) (*.f64 a (*.f64 -3/2 (/.f64 c b)))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 c 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 a 2) (pow.f64 b 3))) 2))) b)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -1/2 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6)) (pow.f64 (*.f64 -9/8 (/.f64 (*.f64 a a) (pow.f64 b 3))) 2)) (/.f64 (pow.f64 c 4) b)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5)))))))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -1/2 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 a 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 a a) (/.f64 (pow.f64 b 3) -9/8)) 2)) (/.f64 (pow.f64 c 4) b)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) (*.f64 a (*.f64 -3/2 (/.f64 c b))))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 -3/2 (/.f64 b (*.f64 c a)))
(*.f64 a (*.f64 -3/2 (/.f64 c b)))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 -3/2 (/.f64 (*.f64 c a) b)))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (/.f64 -3/2 (/.f64 b (*.f64 c a))))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (*.f64 a (*.f64 -3/2 (/.f64 c b))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5))))))
(fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5))) (*.f64 a (*.f64 -3/2 (/.f64 c b)))))
(+.f64 (*.f64 -9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))) (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2))) b)) (*.f64 -27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))
(fma.f64 -9/8 (/.f64 (*.f64 (*.f64 c c) (*.f64 a a)) (pow.f64 b 3)) (fma.f64 -3/2 (*.f64 a (/.f64 c b)) (fma.f64 -1/2 (*.f64 (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 -9/8 (/.f64 (pow.f64 b 3) (*.f64 c c))) 2)) (/.f64 (pow.f64 a 4) b)) (*.f64 -27/16 (*.f64 (pow.f64 a 3) (/.f64 (pow.f64 c 3) (pow.f64 b 5)))))))
(fma.f64 -3/2 (/.f64 a (/.f64 b c)) (fma.f64 -9/8 (/.f64 (*.f64 a (*.f64 (*.f64 c c) a)) (pow.f64 b 3)) (fma.f64 -1/2 (*.f64 (pow.f64 a 4) (/.f64 (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 c c) (/.f64 (pow.f64 b 3) -9/8)) 2)) b)) (*.f64 -27/16 (*.f64 (pow.f64 c 3) (/.f64 (pow.f64 a 3) (pow.f64 b 5)))))))
(*.f64 -3 (*.f64 c a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(*.f64 a (*.f64 -3 c))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(+.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))

prune186.0ms (3%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New2055210
Fresh11011
Picked101
Done011
Total20716223
Error
6.0b
Counts
223 → 16
Alt Table
StatusErrorProgram
40.7b
(*.f64 -1/2 (/.f64 c b))
31.5b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2) (/.f64 1/3 a))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))) 3/2))) (*.f64 3 a))
44.9b
(/.f64 (*.f64 -3/2 (*.f64 c (/.f64 a b))) (*.f64 3 a))
48.0b
(fma.f64 -2/3 (/.f64 b a) (*.f64 1/2 (/.f64 c b)))
47.7b
(/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 3 a))
43.6b
(*.f64 (*.f64 a (*.f64 -3/2 (/.f64 c b))) (/.f64 1/3 a))
55.1b
(*.f64 (-.f64 (fma.f64 -3/2 (/.f64 a (/.f64 b c)) b) b) (/.f64 1/3 a))
43.2b
(*.f64 (/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) b) 3) (/.f64 1 a))
41.5b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
34.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
48.1b
(*.f64 (fma.f64 b -2 (*.f64 a (*.f64 3/2 (/.f64 c b)))) (/.f64 1/3 a))
34.9b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))))))) (*.f64 3 a))
34.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (*.f64 1/3 (/.f64 1 a)))
55.2b
(/.f64 (+.f64 (neg.f64 b) (fma.f64 -3/2 (*.f64 c (/.f64 a b)) b)) (*.f64 3 a))
45.2b
(fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))
Compiler

Compiled 5393 to 3551 computations (34.2% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
0.4b
(/.f64 1/3 a)
0.8b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)
12.6b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series56.0ms (0.9%)

Counts
3 → 16
Calls

24 calls:

TimeVariablePointExpression
5.0ms
c
@-inf
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
5.0ms
c
@0
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
5.0ms
c
@inf
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
4.0ms
a
@-inf
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
4.0ms
a
@inf
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)

rewrite68.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
292×rule-*aa-fabs*aa_binary64
232×rule-nega--0a_binary64
232×rule-nega-/a-1_binary64
232×rule-nega-*a-1_binary64
139×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify35.0ms (0.6%)

Algorithm
egg-herbie
Rules
479×rule-/ab-*+aa/1/2b_binary64
456×rule-a-*a1_binary64
456×rule-a--a0_binary64
456×rule-a-+a0_binary64
448×rule-a-/a1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
087597
1640550
22531550
Stop Event
node limit
Counts
164 → 130
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))))
(*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 8)) (pow.f64 (*.f64 -1/8 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4)) 2)) (pow.f64 b 7))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))))))
(*.f64 -2 b)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (*.f64 -2 b))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (*.f64 -2 b)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 -2 b))))
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))
(+.f64 (*.f64 (-.f64 (*.f64 3/4 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (pow.f64 b 2)) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(+.f64 (*.f64 (-.f64 (*.f64 3/4 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (pow.f64 b 2)) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (+.f64 (*.f64 (pow.f64 b 3) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (sqrt.f64 (*.f64 -3 (*.f64 c a))))))) (*.f64 -1 b))))
Outputs
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(sqrt.f64 (*.f64 a (*.f64 -3 c)))
(+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))
(fma.f64 -1 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (fma.f64 -1 b (sqrt.f64 (*.f64 a (*.f64 -3 c)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))))
(fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 3)) (fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))))
(fma.f64 1/2 (/.f64 (*.f64 b b) (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (fma.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 3)) (fma.f64 -1 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))))
(*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) 1/2) b)
(/.f64 (*.f64 a (*.f64 -3 c)) (/.f64 b 1/2))
(*.f64 1/2 (/.f64 (*.f64 a (*.f64 -3 c)) b))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))))
(fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))))
(fma.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4) (pow.f64 b 3)) (/.f64 (*.f64 a (*.f64 -3 c)) (/.f64 b 1/2)))
(fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -3 c)) b) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4) (pow.f64 b 3))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3)))))
(fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5)) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3)))))
(fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -3 c)) b) (fma.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4) (pow.f64 b 3)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 6) (/.f64 (pow.f64 b 5) 1/16))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (+.f64 (*.f64 -1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 8)) (pow.f64 (*.f64 -1/8 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4)) 2)) (pow.f64 b 7))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))))))
(fma.f64 1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b) (fma.f64 -1/2 (/.f64 (fma.f64 1/16 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 8) (pow.f64 (*.f64 -1/8 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4)) 2)) (pow.f64 b 7)) (fma.f64 1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5)) (*.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))))))
(fma.f64 1/2 (/.f64 (*.f64 a (*.f64 -3 c)) b) (fma.f64 -1/2 (/.f64 (fma.f64 1/16 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 8) (pow.f64 (*.f64 -1/8 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4)) 2)) (pow.f64 b 7)) (fma.f64 -1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4) (pow.f64 b 3)) (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 6) (/.f64 (pow.f64 b 5) 1/16)))))
(*.f64 -2 b)
(*.f64 b -2)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (*.f64 -2 b))
(fma.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b) (*.f64 b -2))
(fma.f64 b -2 (*.f64 (/.f64 (*.f64 a (*.f64 -3 c)) b) -1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (*.f64 -2 b)))
(fma.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3)) (fma.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b) (*.f64 b -2)))
(fma.f64 (/.f64 (*.f64 a (*.f64 -3 c)) b) -1/2 (fma.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4) (pow.f64 b 3)) 1/8 (*.f64 b -2)))
(fma.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4) (pow.f64 b 3)) 1/8 (fma.f64 b -2 (*.f64 (/.f64 (*.f64 a (*.f64 -3 c)) b) -1/2)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5))) (*.f64 -2 b))))
(fma.f64 1/8 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 4) (pow.f64 b 3)) (fma.f64 -1/2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) b) (fma.f64 -1/16 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 6) (pow.f64 b 5)) (*.f64 b -2))))
(fma.f64 (/.f64 (*.f64 a (*.f64 -3 c)) b) -1/2 (fma.f64 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 4) (pow.f64 b 3)) 1/8 (fma.f64 b -2 (/.f64 (pow.f64 (sqrt.f64 (*.f64 a (*.f64 -3 c))) 6) (/.f64 (pow.f64 b 5) -1/16)))))
(sqrt.f64 (*.f64 -3 (*.f64 c a)))
(sqrt.f64 (*.f64 a (*.f64 -3 c)))
(+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b))
(fma.f64 -1 b (sqrt.f64 (*.f64 a (*.f64 -3 c))))
(+.f64 (*.f64 (-.f64 (*.f64 3/4 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (pow.f64 b 2)) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(fma.f64 (-.f64 (/.f64 3/4 (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (*.f64 b b) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(fma.f64 (*.f64 b b) (-.f64 (/.f64 3/4 (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 a (*.f64 -3 c)))))) 2)) (fma.f64 -1 b (sqrt.f64 (*.f64 a (*.f64 -3 c)))))
(+.f64 (*.f64 (-.f64 (*.f64 3/4 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (pow.f64 b 2)) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (+.f64 (*.f64 (pow.f64 b 3) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (*.f64 -1/2 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a))))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (sqrt.f64 (*.f64 -3 (*.f64 c a))))))) (*.f64 -1 b))))
(fma.f64 (-.f64 (/.f64 3/4 (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 -3 (*.f64 c a)))))) 2)) (*.f64 b b) (+.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 -1 b)))
(fma.f64 (*.f64 b b) (-.f64 (/.f64 3/4 (sqrt.f64 (*.f64 a (*.f64 -3 c)))) (pow.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (sqrt.f64 (*.f64 a (*.f64 -3 c)))))) 2)) (fma.f64 -1 b (sqrt.f64 (*.f64 a (*.f64 -3 c)))))

prune139.0ms (2.2%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1622164
Fresh41014
Picked011
Done011
Total16614180
Error
0.2b
Counts
180 → 14
Alt Table
StatusErrorProgram
40.7b
(*.f64 -1/2 (/.f64 c b))
31.5b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2) (/.f64 1/3 a))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))) 3/2))) (*.f64 3 a))
44.9b
(/.f64 (*.f64 -3/2 (*.f64 c (/.f64 a b))) (*.f64 3 a))
43.2b
(*.f64 (/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) b) 3) (/.f64 1 a))
41.5b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
34.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
45.7b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -3)))) b)) 2) (/.f64 1/3 a))
45.8b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 a -3)) (sqrt.f64 c))) b)) 2) (/.f64 1/3 a))
48.1b
(*.f64 (fma.f64 b -2 (*.f64 a (*.f64 3/2 (/.f64 c b)))) (/.f64 1/3 a))
34.9b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))))))) (*.f64 3 a))
47.7b
(/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 3 a))
34.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (*.f64 1/3 (/.f64 1 a)))
45.2b
(fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))
Compiler

Compiled 4749 to 3433 computations (27.7% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 1/3 (/.f64 1 a))
1.0b
(fma.f64 b b (*.f64 c (*.f64 a -3)))
1.9b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b)
23.9b
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
a
@0
(*.f64 1/3 (/.f64 1 a))
0.0ms
a
@inf
(*.f64 1/3 (/.f64 1 a))
0.0ms
a
@-inf
(*.f64 1/3 (/.f64 1 a))

rewrite31.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
607×rules-30_binary64
607×rules-31_binary64
607×rules-32_binary64
607×rules-33_binary64
558×rules-27_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify23.0ms (0.4%)

Algorithm
egg-herbie
Rules
280×rule-*b-ac--*ab*bc_binary64
255×rule-/-abc--/ac/bc_binary64
205×rule-+a-bc-+b-ac_binary64
181×rule-*a-bc-*nega-cb_binary64
173×rule-/ab-*+aa/1/2b_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0448
12748
28748
330748
4143148
Stop Event
node limit
Counts
46 → 34
Calls
Call 1
Inputs
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
Outputs
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)
(/.f64 1/3 a)

prune161.0ms (2.6%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New2100210
Fresh01111
Picked011
Done022
Total21014224
Error
0.2b
Counts
224 → 14
Alt Table
StatusErrorProgram
40.7b
(*.f64 -1/2 (/.f64 c b))
31.5b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2) (/.f64 1/3 a))
41.8b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))) 3/2))) (*.f64 3 a))
44.9b
(/.f64 (*.f64 -3/2 (*.f64 c (/.f64 a b))) (*.f64 3 a))
43.2b
(*.f64 (/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) b) 3) (/.f64 1 a))
41.5b
(*.f64 1/3 (/.f64 (sqrt.f64 (neg.f64 (*.f64 3 (*.f64 c a)))) a))
34.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
45.7b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -3)))) b)) 2) (/.f64 1/3 a))
45.8b
(*.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 a -3)) (sqrt.f64 c))) b)) 2) (/.f64 1/3 a))
48.1b
(*.f64 (fma.f64 b -2 (*.f64 a (*.f64 3/2 (/.f64 c b)))) (/.f64 1/3 a))
34.9b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a)))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 b b) (*.f64 3 (*.f64 c a))))))) (*.f64 3 a))
47.7b
(/.f64 (+.f64 (neg.f64 b) (neg.f64 b)) (*.f64 3 a))
34.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (*.f64 1/3 (/.f64 1 a)))
45.2b
(fma.f64 -1/2 (/.f64 c b) (*.f64 a (*.f64 -3/8 (/.f64 (*.f64 c c) (pow.f64 b 3)))))
Compiler

Compiled 5473 to 3716 computations (32.1% saved)

regimes1.1s (17.2%)

Accuracy

Total -53.4b remaining (-505.6%)

Threshold costs -53.4b (-505.6%)

Counts
74 → 3
Compiler

Compiled 1268 to 782 computations (38.3% saved)

bsearch338.0ms (5.4%)

Algorithm
binary-search
Calls

2 calls:

281.0ms
b
56.0ms
b
Steps
ItersPointRange
6.5e-18
∈ [
6.492184870391664e-18
,
1.5279166211136432e-14
]
-3.5e+152
∈ [
-1.3288899578003665e+156
,
-3.4621860890441446e+152
]
Compiler

Compiled 578 to 419 computations (27.5% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03065
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 b -349999999999999981299619709475567412636749174758536760746825232213187044626699217561156140144611668304793384316062770151616854812531005478560753858379776) (/.f64 (fma.f64 3/2 (*.f64 c (/.f64 a b)) (*.f64 b -2)) (*.f64 3 a)) (if (<=.f64 b 8437482395119095/1298074214633706907132624082305024) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)) (*.f64 -1/2 (/.f64 c b))))
Outputs
(if (<=.f64 b -349999999999999981299619709475567412636749174758536760746825232213187044626699217561156140144611668304793384316062770151616854812531005478560753858379776) (/.f64 (fma.f64 3/2 (*.f64 c (/.f64 a b)) (*.f64 b -2)) (*.f64 3 a)) (if (<=.f64 b 8437482395119095/1298074214633706907132624082305024) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)) (*.f64 -1/2 (/.f64 c b))))

end178.0ms (2.9%)

Stop Event
fuel
Compiler

Compiled 316 to 195 computations (38.3% saved)

Profiling

Loading profile data...