Details

Time bar (total: 27.2s)

analyze469.0ms (1.7%)

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
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.8s (10.2%)

Results
968.0ms5597×body256valid
672.0ms1110×body2048valid
353.0ms432×body4096valid
316.0ms1611×body256invalid
299.0ms743×body1024valid
140.0ms374×body512valid

preprocess216.0ms (0.8%)

Algorithm
egg-herbie
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 (fma.f64 b b (*.f64 -3 (*.f64 c a)))) 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 (sqrt.f64 (fma.f64 a a (*.f64 -3 (*.f64 b c)))) 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 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 c a)))) 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 (sqrt.f64 (fma.f64 c c (*.f64 -3 (*.f64 a b)))) c) (/.f64 1/3 a))
Compiler

Compiled 23 to 17 computations (26.1% saved)

simplify41.0ms (0.2%)

Algorithm
egg-herbie
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 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 -1/3 a))

eval1.0ms (0%)

Compiler

Compiled 35 to 22 computations (37.1% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 38 to 26 computations (31.6% saved)

localize25.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
1.3b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
1.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.2b
(*.f64 (*.f64 3 a) c)
0.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
0.2b
(*.f64 (*.f64 3 a) c)
1.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
1.3b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
23.5b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
Compiler

Compiled 69 to 35 computations (49.3% saved)

series29.0ms (0.1%)

Counts
4 → 92
Calls

33 calls:

TimeVariablePointExpression
6.0ms
b
@inf
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
2.0ms
b
@0
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
2.0ms
c
@inf
(*.f64 (*.f64 3 a) c)
1.0ms
c
@inf
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
1.0ms
a
@inf
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

rewrite74.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
75×egg-rr
52×egg-rr
49×egg-rr
31×egg-rr
Counts
4 → 207
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 3 a) c)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 0) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 1/2) (*.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (*.f64 0 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (*.f64 1/2 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) -1) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) (fabs.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (-.f64 0 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 0))) (+.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 0) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 0) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 1/2) (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 b b)) (-.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (cbrt.f64 (*.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (+.f64 (cbrt.f64 (neg.f64 b)) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (-.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (*.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (+.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 (neg.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (+.f64 (cbrt.f64 (*.f64 b b)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 b)))) (-.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 2)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 b (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 1 (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (neg.f64 (cbrt.f64 (*.f64 b b))) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 b) 1 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b -1 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 b)) (cbrt.f64 (*.f64 b b)) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (neg.f64 b)) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -3 (*.f64 a c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 0) (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (*.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 1/2) (*.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (*.f64 0 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (*.f64 1/2 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -3 (*.f64 a c)) (*.f64 (neg.f64 (*.f64 b b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (fma.f64 c (*.f64 3 a) (neg.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -3 (*.f64 a c)) (neg.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 2)) (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (+.f64 1/3 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2)) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (sqrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (fma.f64 c (*.f64 3 a) (neg.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (*.f64 b b)) (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (fma.f64 c (*.f64 3 a) (neg.f64 (*.f64 b b))))) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) -1) (*.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 b 4)) (+.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 a) c) 2)) (cbrt.f64 (*.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (*.f64 (*.f64 3 a) c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 0) (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c (*.f64 3 a) (neg.f64 (*.f64 b b)))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2) (*.f64 2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2) (+.f64 1/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (fma.f64 c (*.f64 3 a) (neg.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (fma.f64 c (*.f64 3 a) (neg.f64 (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b b (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b b) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 b) (neg.f64 b) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 b)) (*.f64 (cbrt.f64 (*.f64 b b)) (neg.f64 b)) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (*.f64 (cbrt.f64 (*.f64 b b)) b) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) 1 (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (neg.f64 (*.f64 a c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -3 (*.f64 a c))) (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 a) c) 2)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -3 (*.f64 a c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 c) (*.f64 3 a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 a) c) 2))) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 a) (neg.f64 c) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -3 a) (cbrt.f64 c)) (cbrt.f64 (*.f64 c c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (fma.f64 b b (*.f64 -3 (*.f64 a c))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (pow.f64 b 4)) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 b b)) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 b 4)) (cbrt.f64 (*.f64 b b)) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (*.f64 3 a) c) (*.f64 b b))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 3 a) c) 0) (*.f64 (*.f64 3 a) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3 a) c) (*.f64 (*.f64 (*.f64 3 a) c) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 3 a) c) 1/2) (*.f64 (*.f64 (*.f64 3 a) c) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (*.f64 3 a) c)) (*.f64 (*.f64 3 a) c))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3 a) c) (*.f64 0 (*.f64 (*.f64 3 a) c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (*.f64 3 a) c)) (*.f64 1/2 (*.f64 (*.f64 3 a) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3 a) c)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 a) c) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 a c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a c) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 3 a) c) 2)) (cbrt.f64 (*.f64 (*.f64 3 a) c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c 3) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c (cbrt.f64 (*.f64 3 a))) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 3 a) (cbrt.f64 c)) (cbrt.f64 (*.f64 c c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 3) (*.f64 (sqrt.f64 3) (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 3) (*.f64 (cbrt.f64 9) (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (*.f64 3 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 3 a)) (*.f64 (cbrt.f64 (*.f64 (*.f64 a a) 9)) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 c) (*.f64 (cbrt.f64 (*.f64 c c)) (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 3 a) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 3 a) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3 a) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 3 a) c) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 3 a) c) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 3 a) c)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 3 a) c) 3))))))

simplify492.0ms (1.8%)

Algorithm
egg-herbie
Counts
299 → 247
Calls
Call 1
Inputs
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)))
(*.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 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
Outputs
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (/.f64 (*.f64 c 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 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (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 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) 27/16 (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (neg.f64 b))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (fma.f64 (pow.f64 (*.f64 c a) 4) 81/16 (*.f64 (*.f64 -9/8 -9/8) (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)) (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5)))))
(*.f64 -2 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.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)))
(fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c 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))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) 27/16 (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (*.f64 -2 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (+.f64 (/.f64 (+.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 -1/2 (*.f64 (pow.f64 a 4) (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2))))) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (+.f64 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 4) (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 -3/2 (*.f64 c a))) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5))))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))
(*.f64 3 (*.f64 c a))

localize25.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
1.3b
(-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))
1.3b
(fma.f64 -3 (*.f64 a c) (*.f64 b b))
0.4b
(/.f64 -1/3 a)
0.2b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 -1/3 a))
0.4b
(/.f64 -1/3 a)
1.3b
(fma.f64 -3 (*.f64 a c) (*.f64 b b))
1.3b
(-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))
23.5b
(sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))
Compiler

Compiled 60 to 25 computations (58.3% saved)

series15.0ms (0.1%)

Counts
4 → 68
Calls

30 calls:

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

rewrite68.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
61×egg-rr
60×egg-rr
48×egg-rr
41×egg-rr
Counts
4 → 210
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))
(-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))
(fma.f64 -3 (*.f64 a c) (*.f64 b b))
(/.f64 -1/3 a)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 0) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (*.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 1/2 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (*.f64 0 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (fabs.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (pow.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 0) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 0) (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 1/2) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 1/2 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 0 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 b (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 b 0) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b))) (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 b b)) (+.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (cbrt.f64 (*.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (-.f64 (cbrt.f64 b) (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 2)) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 b b)) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (neg.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 b (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b 1 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 0) (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1/2) (*.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (*.f64 1/2 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 0 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (cbrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 2)) (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2)) (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (sqrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (+.f64 1/3 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (+.f64 1/3 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 0) (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2) (+.f64 1/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2) (*.f64 2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (*.f64 (cbrt.f64 (*.f64 b b)) b) (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 b 4)) (cbrt.f64 (*.f64 b b)) (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 b b)) (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 b) (neg.f64 b) (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (pow.f64 b 4)) (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b b (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -3) (*.f64 (cbrt.f64 9) (*.f64 a c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a c) -3 (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 (cbrt.f64 (*.f64 a c))) (cbrt.f64 (pow.f64 (*.f64 a c) 2)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 -3 c) a)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 -3 c) a) 2)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -3 c) a) 1 (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b b) (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) 1 (*.f64 (*.f64 -3 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 -3 c) a) (*.f64 b b))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1/3 a) 0) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1/3 a) 1/2) (*.f64 (/.f64 -1/3 a) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1/3 a) (*.f64 (/.f64 -1/3 a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 -1/3 a)) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (/.f64 -1/3 a)) (*.f64 1/2 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1/3 a) (*.f64 0 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 a)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (/.f64 a -1/3)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1/3 a) (/.f64 0 (/.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/3) (/.f64 (cbrt.f64 1/9) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/27 a)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) (cbrt.f64 (/.f64 1/9 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (cbrt.f64 (/.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 a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (cbrt.f64 (/.f64 -1/27 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 1/9) a) (cbrt.f64 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/27 (*.f64 a a))) (pow.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 (/.f64 (cbrt.f64 (/.f64 -1/27 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (/.f64 a -1/3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (neg.f64 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (/.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1/27 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/3 a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (cbrt.f64 -1/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (cbrt.f64 1/3)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 a)) (cbrt.f64 1/9)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/3) -1/3) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1/27 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (cbrt.f64 (/.f64 1/9 (*.f64 a a)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 (/.f64 1/9 (*.f64 a a)))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/27 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (/.f64 -1/27 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 (cbrt.f64 a)) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (/.f64 (/.f64 a -1/3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 3 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 -1/27 a))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 a -1/3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1/3 a)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1/3 a)) (+.f64 1 2))))) (#(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 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1/3 a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1/3 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -1/3 a) 3))))))

simplify397.0ms (1.5%)

Algorithm
egg-herbie
Counts
278 → 248
Calls
Call 1
Inputs
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)))
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))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/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 2 b)
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 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 2 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))) (*.f64 2 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/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)))))
(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 -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)))
Outputs
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (/.f64 (*.f64 c 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 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (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 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (neg.f64 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/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))))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 1/2 (fma.f64 81/16 (pow.f64 (*.f64 c a) 4) (*.f64 (pow.f64 (*.f64 c a) 4) (*.f64 -9/8 -9/8)))) (pow.f64 b 7)))))
(*.f64 2 b)
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(fma.f64 -3/2 (/.f64 (*.f64 c a) b) (*.f64 2 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 2 b)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (*.f64 2 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))) (*.f64 2 b))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 2 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 (/.f64 (*.f64 (pow.f64 a 4) (fma.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) 81/16 (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2))) b) 1/2 (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/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)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 (/.f64 (*.f64 (pow.f64 c 4) (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))) b) 1/2 (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))

eval193.0ms (0.7%)

Compiler

Compiled 11332 to 6317 computations (44.3% saved)

prune121.0ms (0.4%)

Pruning

36 alts after pruning (35 fresh and 1 done)

PrunedKeptTotal
New46035495
Fresh000
Picked101
Done011
Total46136497
Error
13.9b
Counts
497 → 36
Alt Table
Click to see full alt table
StatusErrorProgram
44.0b
(*.f64 (-.f64 b (cbrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2))) (/.f64 -1/3 a))
45.7b
(*.f64 (-.f64 b (pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2) 1/3)) (/.f64 -1/3 a))
47.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
44.0b
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2))) (*.f64 3 a))
57.7b
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
36.7b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 -1/3 (/.f64 1 a)))
37.7b
(*.f64 (-.f64 b (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 3))) (/.f64 -1/3 a))
46.3b
(*.f64 (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)) (/.f64 -1/3 a))
46.0b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
45.5b
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 -1 (/.f64 a 1/3)))
38.3b
(/.f64 (fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (neg.f64 b)) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (*.f64 3 a))
38.3b
(*.f64 (fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (/.f64 -1/3 a))
37.4b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 (/.f64 (cbrt.f64 (/.f64 -1/27 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2)))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 -1/3 a))
51.4b
(*.f64 (-.f64 b (sqrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
38.2b
(/.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (neg.f64 b)) (*.f64 3 a))
36.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
49.1b
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))) (/.f64 -1/3 a))
56.1b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 (cbrt.f64 (/.f64 -1/27 (*.f64 a a))) (pow.f64 a -1/3)))
38.3b
(*.f64 (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b) (/.f64 -1/3 a))
46.3b
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
57.7b
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
36.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 3 a))
45.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.0b
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
57.7b
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
44.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 (*.f64 3 a) (cbrt.f64 c)) (cbrt.f64 (*.f64 c c)))))) (*.f64 3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
38.2b
(*.f64 (-.f64 b (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 3)) (/.f64 -1/3 a))
51.4b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) (*.f64 3 a))
46.1b
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
37.0b
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3) (*.f64 3 a))
37.2b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 (cbrt.f64 b) (*.f64 (cbrt.f64 (*.f64 b b)) b) (*.f64 (*.f64 -3 c) a)))) (/.f64 -1/3 a))
46.0b
(/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 3 a))
47.2b
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
Compiler

Compiled 1376 to 952 computations (30.8% saved)

localize27.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
23.5b
(sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))
1.3b
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))
0.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 3 a))
0.1b
(fma.f64 c (*.f64 -3 a) (*.f64 b b))
0.1b
(fma.f64 c (*.f64 -3 a) (*.f64 b b))
0.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 3 a))
1.3b
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))
23.5b
(sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))
Compiler

Compiled 64 to 31 computations (51.6% saved)

series22.0ms (0.1%)

Counts
4 → 84
Calls

36 calls:

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

rewrite90.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
109×egg-rr
61×egg-rr
52×egg-rr
52×egg-rr
Counts
4 → 274
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 3 a))
(fma.f64 c (*.f64 -3 a) (*.f64 b b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 0) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 1/2 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 0 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (fabs.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (-.f64 0 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 0))) (+.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 0) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (pow.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (*.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/2) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 0) (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (-.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (*.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (+.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 (neg.f64 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 b b)) (-.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (cbrt.f64 (*.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (+.f64 (cbrt.f64 (neg.f64 b)) (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (+.f64 (cbrt.f64 (*.f64 b b)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 b)))) (-.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (neg.f64 (cbrt.f64 (*.f64 b b))) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b -1 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 b)) (cbrt.f64 (*.f64 b b)) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (neg.f64 b)) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 b) 1 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 1 (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 1/2) (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 0) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/3 a) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 (/.f64 1/3 a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/3 a) (neg.f64 b)) (*.f64 (/.f64 1/3 a) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))) (*.f64 1/2 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) (*.f64 0 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (/.f64 1/3 a)) (*.f64 (neg.f64 b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 b) (/.f64 1/3 a)) (*.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 -3 a)) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 3 a)) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 3 a)) (/.f64 b (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2)) (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) a) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 27)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 a) (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) (/.f64 1/3 a)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 -1/3 a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) a) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 27)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2)) (cbrt.f64 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) 1/3) (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 1/3) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 a)) (/.f64 1 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 (/.f64 1/3 a))) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 1/3) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (sqrt.f64 1/3)) (*.f64 (sqrt.f64 3) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 1/3)) (*.f64 (cbrt.f64 9) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2))) (*.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 (*.f64 a a) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (sqrt.f64 1/3)) 1) (*.f64 (sqrt.f64 3) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 1/3)) 1) (*.f64 (cbrt.f64 9) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 -3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 1/3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 (/.f64 1/3 a))) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) a) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 27)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2))) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2)) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2)) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (cbrt.f64 (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2)) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b))) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/3 a)) (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (sqrt.f64 1/3))) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 1/3))) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2))) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2))) (cbrt.f64 (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 2))) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 (/.f64 1/3 a))) 1) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (sqrt.f64 1/3)) (/.f64 1 a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 1/3)) (/.f64 1 a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 1 a)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2)) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) a) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 a (cbrt.f64 -3))) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 (*.f64 -27 a))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 (*.f64 (*.f64 a a) 9))) (cbrt.f64 (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 (*.f64 3 a))) (neg.f64 (cbrt.f64 (*.f64 (*.f64 a a) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (*.f64 a a) -27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 a)) (cbrt.f64 a)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 1/3) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (*.f64 (sqrt.f64 3) a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 a)) (cbrt.f64 (*.f64 (*.f64 a a) 27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) -1) (*.f64 -3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (*.f64 a (cbrt.f64 3))) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 (*.f64 27 a))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 (/.f64 1/3 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 3 a))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 3 a))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 (/.f64 1/3 a))) 1) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) (cbrt.f64 9)) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) -1) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) (cbrt.f64 3)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) (neg.f64 (sqrt.f64 3))) (neg.f64 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a) (sqrt.f64 3)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (cbrt.f64 (/.f64 1/3 a)))) (neg.f64 (cbrt.f64 (*.f64 (*.f64 a a) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (/.f64 -1/3 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (/.f64 -1/3 a)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 c -3) a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 1/2) (*.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 0) (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (*.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 1/2 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (*.f64 0 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 c -3) a) (neg.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (+.f64 1/3 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3/2)) (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (sqrt.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (+.f64 1/3 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 0) (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 2)) (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (cbrt.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3/2) (*.f64 2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3/2) (+.f64 1/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (*.f64 (cbrt.f64 (*.f64 b b)) b) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 b b)) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b b (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 b) (neg.f64 b) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 b)) (*.f64 (cbrt.f64 (*.f64 b b)) (neg.f64 b)) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 c) (*.f64 (cbrt.f64 (*.f64 c c)) (*.f64 -3 a)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c a) -3 (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c (cbrt.f64 (*.f64 -3 a))) (cbrt.f64 (*.f64 (*.f64 a a) 9)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 c -3) a)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 c -3) a) 2)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c -3) a (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 b 4)) (cbrt.f64 (*.f64 b b)) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (pow.f64 b 4)) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) 1 (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b b) (*.f64 (*.f64 c -3) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 c -3) a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 c -3) a) 1 (*.f64 b b))))))

simplify528.0ms (1.9%)

Algorithm
egg-herbie
Counts
358 → 333
Calls
Call 1
Inputs
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)))
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))))
(*.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 -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 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))))))
(*.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))))))
(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 -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)))
Outputs
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (/.f64 (*.f64 c 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 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (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 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) 27/16 (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (neg.f64 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (fma.f64 81/16 (pow.f64 (*.f64 c a) 4) (*.f64 (*.f64 -9/8 -9/8) (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)) (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5)))))
(*.f64 -2 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.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)))
(fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c 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))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) 27/16 (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (*.f64 -2 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (+.f64 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 4) (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 -3/2 (*.f64 c a))) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (+.f64 (/.f64 (+.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 -1/2 (*.f64 (pow.f64 a 4) (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2))))) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5))))
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 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 (*.f64 -3/8 (*.f64 (*.f64 c c) 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)))))
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) 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))))))
(fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) -9/16 (fma.f64 -1/6 (/.f64 (fma.f64 81/16 (pow.f64 (*.f64 c a) 4) (*.f64 (*.f64 -9/8 -9/8) (pow.f64 (*.f64 c a) 4))) (*.f64 a (pow.f64 b 7))) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3)))))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 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 (/.f64 b a) -2/3 (fma.f64 1/2 (/.f64 c b) (/.f64 (*.f64 3/8 (*.f64 (*.f64 c c) 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))))))
(fma.f64 -2/3 (/.f64 b a) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) 9/16 (fma.f64 1/2 (/.f64 c b) (/.f64 (*.f64 3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3)))))
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 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 (*.f64 -3/8 (*.f64 (*.f64 c c) 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)))))
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) 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))))))
(fma.f64 -1/6 (/.f64 (*.f64 (pow.f64 c 4) (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 a b)) (fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3)))))
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 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 (*.f64 -3/8 (*.f64 (*.f64 c c) 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)))))
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) 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))))))
(fma.f64 -1/6 (/.f64 (*.f64 (pow.f64 a 3) (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2))) b) (fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3)))))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(/.f64 -1/3 a)
0.4b
(/.f64 -1/3 a)
Compiler

Compiled 19 to 10 computations (47.4% saved)

rewrite0.0ms (0%)

Counts
0 → 0

simplify45.0ms (0.2%)

Algorithm
egg-herbie
Counts
0 → 0
Calls
Call 1
Inputs
Outputs

localize18.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
6.1b
(/.f64 (*.f64 c a) b)
3.9b
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
0.2b
(*.f64 3/2 (/.f64 (*.f64 c a) b))
0.0b
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
0.0b
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
0.2b
(*.f64 3/2 (/.f64 (*.f64 c a) b))
3.9b
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
6.1b
(/.f64 (*.f64 c a) b)
Compiler

Compiled 56 to 27 computations (51.8% saved)

series18.0ms (0.1%)

Counts
4 → 45
Calls

36 calls:

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

rewrite86.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
81×egg-rr
57×egg-rr
53×egg-rr
48×egg-rr
Counts
4 → 239
Calls
Call 1
Inputs
(/.f64 (*.f64 c a) b)
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 c a) b) (*.f64 (/.f64 (*.f64 c a) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 c a) b) 0) (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 c a) b) (*.f64 0 (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 c a) b)) (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 b)) (neg.f64 (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 c a) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (/.f64 c b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) (cbrt.f64 (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 c a)) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c (cbrt.f64 b)) (/.f64 a (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c (/.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a (cbrt.f64 b)) (/.f64 c (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c a)) (/.f64 (cbrt.f64 (pow.f64 (*.f64 c a) 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (*.f64 c a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b -1/3) (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) 1) (*.f64 (cbrt.f64 (*.f64 b b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 c a) b)) (cbrt.f64 (pow.f64 (*.f64 c a) 2))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) (cbrt.f64 (neg.f64 (*.f64 c a)))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) (cbrt.f64 (*.f64 c a))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 b -1/3) (*.f64 c a)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 c (cbrt.f64 b)) a) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 a (cbrt.f64 b)) c) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (/.f64 c (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 c a))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 c a)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c (/.f64 a (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 c a) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 c a) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 c a) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 c a) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 c a) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (/.f64 (*.f64 c a) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 c a) b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 0) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/3 a) (*.f64 -2 b)) (*.f64 (/.f64 1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (*.f64 (/.f64 1/3 a) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (*.f64 0 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -2 b) (/.f64 1/3 a)) (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 1/3 a)) (*.f64 (*.f64 -2 b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 -3 a)) (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (/.f64 1 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/3 a))) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2)) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) a) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 27)) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 a) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (*.f64 (*.f64 a a) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 27)) (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2))) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 1/3))) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 1/3)) (/.f64 1 a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3)) (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2))) (*.f64 (cbrt.f64 a) (cbrt.f64 (*.f64 (*.f64 a a) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 1/3)) 1) (*.f64 (cbrt.f64 9) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (sqrt.f64 1/3)) 1) (*.f64 (sqrt.f64 3) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (sqrt.f64 1/3)) (*.f64 a (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 1/3)) (*.f64 a (cbrt.f64 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) 1) (*.f64 (cbrt.f64 (*.f64 a a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/3 a))) 1) (*.f64 (cbrt.f64 (*.f64 (*.f64 a a) 9)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (*.f64 -3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/3 a))) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2))) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2)) (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2)) (cbrt.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))) (cbrt.f64 (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2)) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (sqrt.f64 1/3))) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) a) (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/3 a)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2))) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2))) (cbrt.f64 (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3)) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (sqrt.f64 1/3)) (/.f64 1 a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2)) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (*.f64 (*.f64 a a) 9))) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/3 a))) 1) (cbrt.f64 (*.f64 (*.f64 a a) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/3 a)))) (neg.f64 (cbrt.f64 (*.f64 (*.f64 a a) 9))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 -3 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 0) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 0 (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 c a) b) (sqrt.f64 3/2)) (sqrt.f64 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 c a) b) (cbrt.f64 3/2)) (cbrt.f64 9/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (cbrt.f64 (/.f64 (*.f64 c a) b))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 3/2) (*.f64 (sqrt.f64 3/2) (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 3/2) (*.f64 (cbrt.f64 9/4) (/.f64 (*.f64 c a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 c a) b)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) b) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 27/8 b)) (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) (/.f64 3/2 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3/2 (*.f64 c a)) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (*.f64 3/2 (*.f64 c a)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 27/8 b)) (*.f64 c a)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (/.f64 (*.f64 c a) (cbrt.f64 b))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) b) 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) 3/2) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 (*.f64 c a))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) 3/2)) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 c a)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) 3/2)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (/.f64 (*.f64 c a) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (/.f64 (neg.f64 b) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3) (*.f64 2 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 c a)) 3) (*.f64 (neg.f64 b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) 3) (*.f64 (cbrt.f64 (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) 3/2) (*.f64 (cbrt.f64 (*.f64 b b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 c a)) (*.f64 2 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (/.f64 (*.f64 c a) (cbrt.f64 b))) (*.f64 2 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (neg.f64 (*.f64 c a))) (*.f64 2 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) 1) (*.f64 (cbrt.f64 (*.f64 b b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2 b) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 0) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 0 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 2 b) -1) (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) -1) (*.f64 (*.f64 2 b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2)) (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (-.f64 (cbrt.f64 (*.f64 4 (*.f64 b b))) (cbrt.f64 (/.f64 (*.f64 (*.f64 -2 b) (*.f64 3/2 (*.f64 c a))) b)))) (+.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 4 (*.f64 b b))) (-.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 -2 b) (*.f64 3/2 (*.f64 c a))) b)))) (+.f64 (cbrt.f64 (*.f64 -2 b)) (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -2 b)) (cbrt.f64 (*.f64 4 (*.f64 b b))) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -2 b) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 c a) b) 3/2 (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 b (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b -2 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b (cbrt.f64 -2)) (cbrt.f64 4) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 2 b) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (*.f64 b b))) (cbrt.f64 (*.f64 -2 b)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -2) (*.f64 (cbrt.f64 4) b) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 b) 1 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 (*.f64 b b) -8)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c a) (/.f64 3/2 b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 3/2) (*.f64 (sqrt.f64 3/2) (/.f64 (*.f64 c a) b)) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 1 b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 3/2) (*.f64 (cbrt.f64 9/4) (/.f64 (*.f64 c a) b)) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (*.f64 c a) b) (cbrt.f64 3/2)) (cbrt.f64 9/4) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 c a) b)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) 3/2) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3/2 (cbrt.f64 (/.f64 (*.f64 c a) b))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) b) 2)) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (*.f64 c a) b) (sqrt.f64 3/2)) (sqrt.f64 3/2) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 1 (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 27/8 b)) (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b))) (*.f64 -2 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -8 b)) (cbrt.f64 (*.f64 b b)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))))

simplify256.0ms (0.9%)

Algorithm
egg-herbie
Counts
284 → 246
Calls
Call 1
Inputs
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 -2 b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 -2 b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 -2 b)
(*.f64 -2 b)
Outputs
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2 b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 -2 b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 -2 b)
(*.f64 -2 b)

localize25.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
1.3b
(-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))
0.4b
(/.f64 -1/3 a)
0.2b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 -1/3 a))
0.1b
(fma.f64 (*.f64 -3 a) c (*.f64 b b))
0.2b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 -1/3 a))
0.4b
(/.f64 -1/3 a)
1.3b
(-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))
23.5b
(sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))
Compiler

Compiled 60 to 30 computations (50% saved)

series15.0ms (0.1%)

Counts
3 → 48
Calls

27 calls:

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

rewrite76.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
78×egg-rr
51×egg-rr
41×egg-rr
Counts
3 → 170
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))
(-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 -1/3 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 0) (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (*.f64 0 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (*.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 0) (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)) (*.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1/2) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 0) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (*.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (*.f64 1/2 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 b (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 b 0) (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b))) (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 b b)) (+.f64 (cbrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (cbrt.f64 (*.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))) (-.f64 (cbrt.f64 b) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 b b)) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (cbrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (neg.f64 (cbrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 b (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b 1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 b -1/3) a) (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))) (/.f64 (*.f64 b -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (/.f64 (*.f64 b -1/3) a)) (*.f64 1 (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 1/2) (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 0) (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 b -1/3) a) 1) (*.f64 (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) (*.f64 0 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))) (*.f64 1/2 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))) (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (/.f64 a -1/3)) (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 b -1/3) a) (/.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 (cbrt.f64 a) -1/3)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) (*.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 2)) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/3 a) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))) (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 (/.f64 -1/3 a))) (cbrt.f64 (/.f64 1/9 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 a)) (cbrt.f64 (/.f64 -1/27 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)) (/.f64 -1/3 a)) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/27 (*.f64 a a))) (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 2)) (*.f64 (/.f64 -1/3 a) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 -1/3 a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 a) (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1/3) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 (cbrt.f64 a) -1/3)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (neg.f64 (/.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1/3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 (cbrt.f64 a) -1/3)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 a)) -1/3) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 2)) (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 (/.f64 -1/27 a))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/27 a)) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1/3) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 (cbrt.f64 a) -1/3)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (cbrt.f64 (/.f64 -1/27 (*.f64 a a)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (*.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (*.f64 (cbrt.f64 (/.f64 1/9 (*.f64 a a))) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1/3) (cbrt.f64 a)) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 (cbrt.f64 a) -1/3)) (cbrt.f64 a)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 (cbrt.f64 a) -1/3)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 (cbrt.f64 a) -1/3))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1/3 (/.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1/3 a) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 -1/3 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 1/3) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) b) (/.f64 1/3 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (/.f64 -1/3 a) (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/3 a) b (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))))))))

simplify330.0ms (1.2%)

Algorithm
egg-herbie
Counts
218 → 224
Calls
Call 1
Inputs
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)))
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))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/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 2 b)
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 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 2 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))) (*.f64 2 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/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 -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 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 a 3) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)) (+.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
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (/.f64 (*.f64 c 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 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (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 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (neg.f64 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/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))))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 1/2 (fma.f64 81/16 (pow.f64 (*.f64 c a) 4) (*.f64 (*.f64 -9/8 -9/8) (pow.f64 (*.f64 c a) 4)))) (pow.f64 b 7)))))
(*.f64 2 b)
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(fma.f64 -3/2 (/.f64 (*.f64 c a) b) (*.f64 2 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 2 b)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (*.f64 2 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))) (*.f64 2 b))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 2 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 (/.f64 (*.f64 (pow.f64 a 4) (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2))) b) 1/2 (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/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)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 (/.f64 (*.f64 (pow.f64 c 4) (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))) b) 1/2 (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))))
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 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 (*.f64 -3/8 (*.f64 (*.f64 c c) 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)))))
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) 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))))))
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/6 (/.f64 (fma.f64 81/16 (pow.f64 (*.f64 c a) 4) (*.f64 (*.f64 -9/8 -9/8) (pow.f64 (*.f64 c a) 4))) (*.f64 a (pow.f64 b 7))) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3)))))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 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 3/8 (*.f64 (*.f64 c c) 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))))))
(fma.f64 -2/3 (/.f64 b a) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) 9/16 (fma.f64 1/2 (/.f64 c b) (/.f64 (*.f64 3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3)))))
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 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 (*.f64 -3/8 (*.f64 (*.f64 c c) 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)))))
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) 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 a 3) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)) (+.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 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (+.f64 (/.f64 (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 a 3) (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2)))) (*.f64 -1/2 c)) b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3))))
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 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 (*.f64 -3/8 (*.f64 (*.f64 c c) 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)))))
(fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) 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))))))
(fma.f64 -1/6 (/.f64 (*.f64 (pow.f64 c 4) (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 a b)) (fma.f64 -9/16 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b 5)) (fma.f64 -1/2 (/.f64 c b) (/.f64 (*.f64 -3/8 (*.f64 (*.f64 c c) a)) (pow.f64 b 3)))))

localize37.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)
0.3b
(cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b))
0.2b
(*.f64 -3 (*.f64 a c))
0.2b
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3) (*.f64 3 a))
0.5b
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)
1.3b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)
1.5b
(fma.f64 b b (*.f64 -3 (*.f64 a c)))
23.5b
(sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))
Compiler

Compiled 91 to 47 computations (48.4% saved)

series89.0ms (0.3%)

Counts
4 → 68
Calls

36 calls:

TimeVariablePointExpression
19.0ms
a
@0
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)
16.0ms
c
@0
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)
12.0ms
b
@-inf
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)
9.0ms
c
@inf
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)
7.0ms
a
@inf
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)

rewrite78.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
62×egg-rr
53×egg-rr
53×egg-rr
40×egg-rr
Counts
4 → 208
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))
(fma.f64 b b (*.f64 -3 (*.f64 a c)))
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)
(pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (*.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 0 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -3 (*.f64 a c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1/2) (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0) (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 1/2 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 0 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2)) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (+.f64 1/3 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (+.f64 1/3 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0) (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2/3) (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (*.f64 (pow.f64 b 2/3) b) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -3 a) (cbrt.f64 c)) (pow.f64 c 2/3) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -3 (*.f64 a c))) (pow.f64 (*.f64 -3 (*.f64 a c)) 2/3) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 -3 (*.f64 a c)) 2/3) (cbrt.f64 (*.f64 -3 (*.f64 a c))) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 a c) (cbrt.f64 -3)) (cbrt.f64 9) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -3) (*.f64 (cbrt.f64 9) (*.f64 a c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c (*.f64 -3 a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 -3 (*.f64 a c))) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -27 (*.f64 a c))) (pow.f64 (*.f64 a c) 2/3) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 a c)) (*.f64 (pow.f64 (*.f64 a c) 2/3) -3) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a c) -3 (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 a) c (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 -3 c) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b b (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) 1 (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 b 2/3) (cbrt.f64 (pow.f64 b 4)) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 b 4)) (pow.f64 b 2/3) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b b) (*.f64 -3 (*.f64 a c)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -3 (*.f64 a c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 (*.f64 a c)) 1 (*.f64 b b))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1/2) (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 0) (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (cbrt.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (+.f64 (pow.f64 b 2/3) (cbrt.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))) (-.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (neg.f64 (pow.f64 b 2/3)) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 b)) (pow.f64 b 2/3) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1 (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1/2) (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 0) (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (*.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (cbrt.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (+.f64 (pow.f64 b 2/3) (cbrt.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))) (-.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (cbrt.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3) (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (neg.f64 (pow.f64 b 2/3)) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 b)) (pow.f64 b 2/3) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 b) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1 (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))))

simplify384.0ms (1.4%)

Algorithm
egg-herbie
Counts
276 → 194
Calls
Call 1
Inputs
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)))
(*.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 -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))))))
Outputs
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (/.f64 (*.f64 c 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 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (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 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) 27/16 (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (neg.f64 b))))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(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)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 -3 (*.f64 c a) (*.f64 b b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (fma.f64 (pow.f64 (*.f64 c a) 4) 81/16 (*.f64 (*.f64 -9/8 -9/8) (pow.f64 (*.f64 c a) 4))) (pow.f64 b 7)) (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5)))))
(*.f64 -2 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b))
(fma.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)))
(fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c 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))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) 27/16 (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (*.f64 -2 b))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (+.f64 (/.f64 (+.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 -1/2 (*.f64 (pow.f64 a 4) (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2))))) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5))))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.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)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 -3/2 (*.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)))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c 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 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (+.f64 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 c 4) (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 -3/2 (*.f64 c a))) b) (/.f64 (*.f64 -27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5))))

eval560.0ms (2.1%)

Compiler

Compiled 25273 to 14905 computations (41% saved)

prune205.0ms (0.8%)

Pruning

38 alts after pruning (36 fresh and 2 done)

PrunedKeptTotal
New1092271119
Fresh21930
Picked101
Done325
Total1117381155
Error
6.5b
Counts
1155 → 38
Alt Table
Click to see full alt table
StatusErrorProgram
36.9b
(*.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 27)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) a))
45.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.3b
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
45.7b
(/.f64 (+.f64 (*.f64 3/2 (*.f64 c (/.f64 a b))) (*.f64 -2 b)) (*.f64 3 a))
46.0b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
38.4b
(/.f64 (*.f64 -1/2 c) b)
58.2b
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
45.5b
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
46.2b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b))) 3) (*.f64 3 a))
57.7b
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
36.6b
(-.f64 (/.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 3 a)) (/.f64 b (*.f64 3 a)))
47.2b
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
46.0b
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
57.7b
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
37.0b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2)) (cbrt.f64 (*.f64 3 a)))
38.3b
(*.f64 (fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (/.f64 -1/3 a))
58.1b
(*.f64 1/2 (/.f64 c b))
38.2b
(fma.f64 b (/.f64 -1/3 a) (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))))
38.6b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))) 3) (*.f64 3 a))
38.2b
(*.f64 (-.f64 b (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 3)) (/.f64 -1/3 a))
45.7b
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
36.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
49.1b
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))) (/.f64 -1/3 a))
38.4b
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3) b)) 3) (*.f64 3 a))
36.6b
(*.f64 1/3 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a))
45.5b
(/.f64 (*.f64 -2/3 b) a)
36.6b
(*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) (/.f64 1 a))
45.5b
(*.f64 -2/3 (/.f64 b a))
57.7b
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
44.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 (*.f64 3 a) (cbrt.f64 c)) (cbrt.f64 (*.f64 c c)))))) (*.f64 3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
45.7b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 -2 b)) 3) (*.f64 3 a))
46.1b
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
46.3b
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
47.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
46.3b
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
56.6b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))
46.6b
(/.f64 (fma.f64 (*.f64 b (cbrt.f64 -2)) (cbrt.f64 4) (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (*.f64 3 a))
Compiler

Compiled 1346 to 961 computations (28.6% saved)

localize27.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
1.2b
(+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))
0.4b
(/.f64 -1/3 a)
0.2b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
0.2b
(*.f64 (*.f64 -3 c) a)
0.4b
(/.f64 -1/3 a)
1.2b
(+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))
1.3b
(-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))))
23.5b
(sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))
Compiler

Compiled 69 to 37 computations (46.4% saved)

series12.0ms (0%)

Counts
3 → 68
Calls

27 calls:

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

rewrite57.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
69×egg-rr
48×egg-rr
40×egg-rr
Counts
3 → 157
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))
(-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))))
(+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 0 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (*.f64 1/2 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (fabs.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 0) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 1/2) (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 0) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (*.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (*.f64 1/2 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 b (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 b 0) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))) (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 b b)) (+.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (cbrt.f64 (*.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (-.f64 (cbrt.f64 b) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2)) (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 b b)) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 b (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b 1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b b) (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1/2) (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0) (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 0 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (*.f64 1/2 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2)) (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (+.f64 1/3 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (+.f64 1/3 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 b 4)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 -3 (*.f64 c a)) 2)) (cbrt.f64 (*.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))))) (+.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (*.f64 -3 (*.f64 c a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 -3 (*.f64 c a)) 2)) (-.f64 (cbrt.f64 (pow.f64 b 4)) (cbrt.f64 (*.f64 (*.f64 -3 (*.f64 c a)) (*.f64 b b))))) (+.f64 (cbrt.f64 (*.f64 -3 (*.f64 c a))) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 0) (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2)) (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2) (+.f64 1/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3/2) (*.f64 2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b b (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (pow.f64 b 4)) (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 a (*.f64 -3 c) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -3 (*.f64 c a))) (cbrt.f64 (pow.f64 (*.f64 -3 (*.f64 c a)) 2)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -3 (*.f64 c a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -3 c)) (*.f64 (cbrt.f64 (*.f64 (*.f64 c c) 9)) a) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 a) (*.f64 (cbrt.f64 (*.f64 a a)) (*.f64 -3 c)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a -3) c (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 c (*.f64 a -3) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 -3 (*.f64 c a)) 2)) (cbrt.f64 (*.f64 -3 (*.f64 c a))) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 a (cbrt.f64 (*.f64 -3 c))) (cbrt.f64 (*.f64 (*.f64 c c) 9)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 c a) -3 (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -3) (*.f64 (cbrt.f64 9) (*.f64 c a)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -3 c) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 3 (*.f64 c a)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 b) (*.f64 (cbrt.f64 (*.f64 b b)) b) (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 b) (neg.f64 b) (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 b b)) (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 b 4)) (cbrt.f64 (*.f64 b b)) (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 b b) (*.f64 -3 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -3 (*.f64 c a)) (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -3 (*.f64 c a)) 1 (*.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 b b) 1 (*.f64 -3 (*.f64 c a)))))))

simplify381.0ms (1.4%)

Algorithm
egg-herbie
Counts
225 → 195
Calls
Call 1
Inputs
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)))
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))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/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 2 b)
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 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 2 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))) (*.f64 2 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/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 3/2 (/.f64 (*.f64 c a) b))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(+.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/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)))))
(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 -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)))
Outputs
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
b
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)
(fma.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))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.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)))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 (/.f64 (*.f64 c a) b) -3/2 (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) b)))
(*.f64 -1 b)
(neg.f64 b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -1 b))
(fma.f64 3/2 (/.f64 (*.f64 c 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 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (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 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (neg.f64 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/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))))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (/.f64 (*.f64 1/2 (fma.f64 81/16 (pow.f64 (*.f64 c a) 4) (*.f64 (pow.f64 (*.f64 c a) 4) (*.f64 -9/8 -9/8)))) (pow.f64 b 7)))))
(*.f64 2 b)
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b))
(fma.f64 -3/2 (/.f64 (*.f64 c a) b) (*.f64 2 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 2 b)))
(fma.f64 -9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (*.f64 2 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))) (*.f64 2 b))))
(fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 -27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 2 b))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/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)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 (/.f64 (*.f64 (pow.f64 c 4) (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))) b) 1/2 (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))))
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))
(+.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 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))))
(+.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/2 (/.f64 (*.f64 (pow.f64 a 4) (+.f64 (pow.f64 (*.f64 -9/8 (/.f64 (pow.f64 c 2) (pow.f64 b 3))) 2) (*.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6))))) b)))))
(fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (fma.f64 (/.f64 (*.f64 c a) b) 3/2 (fma.f64 (/.f64 (*.f64 (pow.f64 a 4) (fma.f64 81/16 (/.f64 (pow.f64 c 4) (pow.f64 b 6)) (pow.f64 (/.f64 (*.f64 -9/8 (*.f64 c c)) (pow.f64 b 3)) 2))) b) 1/2 (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3)))))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(*.f64 -3 (*.f64 c a))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(pow.f64 b 2)
(*.f64 b b)
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))
(+.f64 (pow.f64 b 2) (*.f64 -3 (*.f64 c a)))
(fma.f64 (*.f64 -3 c) a (*.f64 b b))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(*.f64 -2/3 (/.f64 b a))
0.4b
(*.f64 -2/3 (/.f64 b a))
Compiler

Compiled 14 to 7 computations (50% saved)

series4.0ms (0%)

Counts
1 → 0
Calls

6 calls:

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

rewrite72.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
84×egg-rr
Counts
1 → 84
Calls
Call 1
Inputs
(*.f64 -2/3 (/.f64 b a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 -2/3 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -2/3 b) a) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 2/3 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -2/3) (*.f64 (cbrt.f64 4/9) (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 4/9) (/.f64 b a)) (cbrt.f64 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -2/3) (pow.f64 a 2/3)) (/.f64 (*.f64 (cbrt.f64 4/9) b) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -2/3) a) (*.f64 (cbrt.f64 4/9) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 -2/3 b)) (pow.f64 a 2/3)) (/.f64 (pow.f64 (*.f64 -2/3 b) 2/3) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 -2/3 b)) a) (pow.f64 (*.f64 -2/3 b) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 -2/3 b)) -1) (/.f64 (pow.f64 (*.f64 -2/3 b) 2/3) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -2/3 b) a)) (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2/3) (cbrt.f64 (/.f64 (*.f64 -2/3 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b a) (cbrt.f64 -2/3)) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -8/27 b) a)) (pow.f64 (/.f64 b a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 b a)) (*.f64 (pow.f64 (/.f64 b a) 2/3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 b a) 2/3) -2/3) (cbrt.f64 (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4/9) (*.f64 (/.f64 b a) (cbrt.f64 -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 b a) 2/3) (cbrt.f64 (/.f64 (*.f64 -8/27 b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -8/27 b)) (/.f64 (pow.f64 b 2/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 -8/27 b)) -1) (/.f64 (neg.f64 (pow.f64 b 2/3)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -2/3 a)) (/.f64 (*.f64 (cbrt.f64 4/9) b) (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 -8/27 b)) (pow.f64 a 2/3)) (/.f64 (pow.f64 b 2/3) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b (/.f64 -2/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2/3 a) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -2/3 b)) (/.f64 (pow.f64 (*.f64 -2/3 b) 2/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -8/27 a)) (*.f64 b (pow.f64 a -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b (pow.f64 a -2/3)) (cbrt.f64 (/.f64 -8/27 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2/3 (/.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b a) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2/3 (cbrt.f64 a)) (/.f64 b (neg.f64 (pow.f64 a 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (cbrt.f64 (neg.f64 a))) (/.f64 -2/3 (neg.f64 (pow.f64 a 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (cbrt.f64 a)) (/.f64 -2/3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 2/3) (/.f64 (*.f64 (cbrt.f64 4/9) b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 b) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 -2/3 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2/3 b) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b (cbrt.f64 (/.f64 -8/27 a))) (pow.f64 a -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 b) (neg.f64 (/.f64 -2/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2/3 (pow.f64 a 2/3)) (/.f64 b (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (/.f64 (*.f64 -2/3 b) (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -2/3) (*.f64 b (cbrt.f64 (/.f64 -8/27 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 2/3 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 2/3 b) a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (neg.f64 (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 -2/3 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -2/3 b) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 -8/27 b)) a) (pow.f64 b 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b (cbrt.f64 (/.f64 -8/27 a))) (cbrt.f64 (pow.f64 a 2/3))) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 b)) (*.f64 (pow.f64 (/.f64 b a) 2/3) -2/3)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 b (*.f64 1 (/.f64 a -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2) (*.f64 b (cbrt.f64 (/.f64 -8/27 a))))) (cbrt.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2) (*.f64 2/3 b))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (*.f64 b (cbrt.f64 (/.f64 -8/27 a))) (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2))) (cbrt.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (*.f64 2/3 b) (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2/3) (cbrt.f64 (*.f64 -2/3 b))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -8/27 a)) b) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2/3 (*.f64 b (pow.f64 a -2/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -2/3 b)) (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 b (cbrt.f64 a)) -3/2) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (cbrt.f64 (/.f64 -8/27 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 b) (*.f64 (pow.f64 (/.f64 b a) 2/3) -2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b (cbrt.f64 (/.f64 -8/27 a))) (cbrt.f64 a)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -2/3 b) (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2/3 b) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2/3 b) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2/3 b) (cbrt.f64 a)) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 b) (/.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 b (/.f64 a -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -2/3 b) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 b) (*.f64 1 (/.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b a) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2/3 b) a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (pow.f64 a -2/3)) (/.f64 (cbrt.f64 a) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (cbrt.f64 -2/3) (cbrt.f64 (neg.f64 b))) 3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (cbrt.f64 (*.f64 -2/3 b))) 3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (cbrt.f64 (neg.f64 b)) (cbrt.f64 -2/3)) 3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2) (*.f64 -2/3 b))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 -2/3 b) 3) (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (*.f64 -2/3 b) (pow.f64 (/.f64 (*.f64 -2/3 b) a) 2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -2/3 b) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 -2/3 b) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 2/3 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 3))))))

simplify47.0ms (0.2%)

Algorithm
egg-herbie
Counts
84 → 84
Calls
Call 1
Inputs
Outputs

localize14.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
10.5b
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
6.1b
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
0.4b
(/.f64 -1/3 a)
0.2b
(*.f64 3/2 (*.f64 c a))
0.2b
(*.f64 3/2 (*.f64 c a))
0.4b
(/.f64 -1/3 a)
6.1b
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
10.5b
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
Compiler

Compiled 37 to 19 computations (48.6% saved)

series11.0ms (0%)

Counts
3 → 72
Calls

24 calls:

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

rewrite66.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
111×egg-rr
65×egg-rr
40×egg-rr
Counts
3 → 216
Calls
Call 1
Inputs
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (*.f64 c a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) (*.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 0) (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) (*.f64 0 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (cbrt.f64 (/.f64 -1/3 a))) (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/3 a) (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)) (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) -1/2) (/.f64 1 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (cbrt.f64 a)) (cbrt.f64 (/.f64 -1/27 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (/.f64 (/.f64 -1/3 a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (*.f64 b a)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (*.f64 c a) -1/2)) (/.f64 1 (neg.f64 (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b)) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a)) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 1 (/.f64 (*.f64 b a) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (*.f64 c a) -1/2)) 1) (neg.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 b)) (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (cbrt.f64 (*.f64 b a))) (pow.f64 (cbrt.f64 (*.f64 b a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (cbrt.f64 b)) (*.f64 (cbrt.f64 (*.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (*.f64 b a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 c a) -1/2)) (neg.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (cbrt.f64 (/.f64 -1/27 a))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2)) (cbrt.f64 (*.f64 (*.f64 c a) -1/2))) (cbrt.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 c a) -1/2) 1) (*.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (cbrt.f64 a)) -1/3) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (/.f64 -1/3 a)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/27 a)) (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 c a) -1/2)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 2))) (cbrt.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 (*.f64 c a) -1/2)) (/.f64 1 b)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a)) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b)) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (cbrt.f64 (/.f64 -1/27 (*.f64 a a)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (/.f64 -1/3 a))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (/.f64 -1/3 a))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 a)) (cbrt.f64 a)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b)) (cbrt.f64 a)) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b)) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 b)) (cbrt.f64 b)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a)) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a)) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b (cbrt.f64 a))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (neg.f64 (*.f64 b a)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (*.f64 b a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (neg.f64 (/.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (neg.f64 (/.f64 (*.f64 b a) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (neg.f64 (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 0) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 0 (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 b)) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 c) (/.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) (/.f64 3/2 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 c) (cbrt.f64 b)) (/.f64 a (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 27/8 b)) (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 (/.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) (cbrt.f64 (/.f64 27/8 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (*.f64 3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b -1/3) (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) b) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (/.f64 (neg.f64 b) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (neg.f64 (/.f64 b 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 b -1/3) (*.f64 3/2 (*.f64 c a))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 27/8 b)) (*.f64 c a)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) 3/2) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 c) (cbrt.f64 b)) a) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (*.f64 -3/2 (*.f64 c a)))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (*.f64 3/2 (*.f64 c a)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3/2 c) (/.f64 a (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) (cbrt.f64 (/.f64 27/8 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (/.f64 (*.f64 c a) b)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2) (*.f64 b b)))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2) (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3/2 (*.f64 c a)) (*.f64 (*.f64 3/2 (*.f64 c a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3/2 (*.f64 c a)) 0) (*.f64 3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3/2 (*.f64 c a)) (*.f64 0 (*.f64 3/2 (*.f64 c a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 3/2 (*.f64 c a))) (*.f64 3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 -3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 c) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2)) (cbrt.f64 (*.f64 3/2 (*.f64 c a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (*.f64 3/2 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) (cbrt.f64 3/2)) (cbrt.f64 9/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) (sqrt.f64 3/2)) (sqrt.f64 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 a) c)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (cbrt.f64 (*.f64 c a))) (cbrt.f64 (pow.f64 (*.f64 c a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 3/2) (*.f64 (cbrt.f64 9/4) (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 3/2) (*.f64 (sqrt.f64 3/2) (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c (*.f64 a 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c a)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c a) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (*.f64 c a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (*.f64 c a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 -3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 c a)) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 c) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3/2 (neg.f64 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 3/2 c) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 c a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 1 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3/2 (*.f64 c a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 3))))))

simplify353.0ms (1.3%)

Algorithm
egg-herbie
Counts
288 → 218
Calls
Call 1
Inputs
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
Outputs
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)

localize39.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
4.0b
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a))
0.2b
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
0.2b
(*.f64 -3/2 (*.f64 c a))
0.0b
(+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))
0.2b
(*.f64 -3/2 (*.f64 c a))
0.2b
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
4.0b
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a))
6.1b
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
Compiler

Compiled 74 to 43 computations (41.9% saved)

series24.0ms (0.1%)

Counts
4 → 108
Calls

33 calls:

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

rewrite108.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
80×egg-rr
55×egg-rr
45×egg-rr
37×egg-rr
Counts
4 → 217
Calls
Call 1
Inputs
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a))
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
(*.f64 -3/2 (*.f64 c a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 0) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) (*.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) (*.f64 0 (/.f64 (*.f64 (*.f64 -3/2 c) a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 b)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 c) (/.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 b)) (/.f64 a (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) (/.f64 -3/2 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) (cbrt.f64 (/.f64 -27/8 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3/2 (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -27/8 b)) (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b -1/3) (/.f64 (*.f64 (*.f64 -3/2 c) a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) b) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 -3/2 c) a)) (/.f64 (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 c) a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (*.f64 (*.f64 -3/2 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 b -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) (cbrt.f64 b)) (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 c) a) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (/.f64 (neg.f64 b) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (neg.f64 (/.f64 b -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 a) (+.f64 b b)) (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (*.f64 (/.f64 1 a) (+.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 b b) a) (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a) (/.f64 (+.f64 b b) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 0) (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (*.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 1 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (/.f64 (+.f64 b b) a)) (*.f64 1 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a)) (*.f64 1 (/.f64 (+.f64 b b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))) (*.f64 1 (*.f64 (/.f64 1 a) (+.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)) (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (*.f64 0 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 1 a) (+.f64 b b)) 1) (*.f64 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 b b) a) 1) (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a) 1) (*.f64 (/.f64 (+.f64 b b) a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) 1) (*.f64 (*.f64 (/.f64 1 a) (+.f64 b b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 a)) (cbrt.f64 (pow.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) 2)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 2)) (cbrt.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 a -3) (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)))) (cbrt.f64 (pow.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (*.f64 (cbrt.f64 (pow.f64 a -2)) (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 (pow.f64 a -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a)) (neg.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 a) (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (cbrt.f64 a)) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 (pow.f64 a -2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b) (*.f64 (/.f64 1 a) (+.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 b b) (/.f64 1 a) (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 a) (+.f64 b b) (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) (/.f64 1 a) (/.f64 (+.f64 b b) a))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 0) (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) (*.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (/.f64 (+.f64 b b) a)) (*.f64 -1/3 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a)) (*.f64 -1/3 (/.f64 (+.f64 b b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)) (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) (*.f64 0 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 1 a) (+.f64 b b)) -1/3) (*.f64 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 b b) a) -1/3) (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) b) a) -1/3) (*.f64 (/.f64 (+.f64 b b) a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) -1/3) (*.f64 (*.f64 (/.f64 1 a) (+.f64 b b)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 3) (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)) (cbrt.f64 (/.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 2) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 -1/3)) (/.f64 (/.f64 1 a) (cbrt.f64 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 a) (cbrt.f64 -1/3)) (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (sqrt.f64 3))) (/.f64 1 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 2)) (cbrt.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 2)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (/.f64 (/.f64 1 a) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/3) (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 -3)) (cbrt.f64 (/.f64 1 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (/.f64 1 (*.f64 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (sqrt.f64 3))) (sqrt.f64 (sqrt.f64 3))) (sqrt.f64 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (sqrt.f64 3))) (cbrt.f64 (sqrt.f64 3))) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a) (neg.f64 (sqrt.f64 3))) (neg.f64 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a) (cbrt.f64 9)) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a) (cbrt.f64 -3)) (neg.f64 (cbrt.f64 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 -3)) (cbrt.f64 3)) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 9)) (cbrt.f64 -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 -3)) (cbrt.f64 (cbrt.f64 9))) (pow.f64 (cbrt.f64 (cbrt.f64 9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (sqrt.f64 3)))) (neg.f64 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 -3))) (neg.f64 (cbrt.f64 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 -3)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (sqrt.f64 3))) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (*.f64 -3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (*.f64 a -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (sqrt.f64 3))) 1) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) (cbrt.f64 -3)) 1) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (/.f64 (*.f64 -3 a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (/.f64 (*.f64 a -3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (/.f64 (*.f64 -3 a) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (/.f64 (*.f64 a -3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (*.f64 -3 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) (cbrt.f64 a)) (*.f64 -3 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (neg.f64 (*.f64 -3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 -2 b)) (neg.f64 (*.f64 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) a) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1 a) (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (+.f64 b b)) -1/3) a) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 -3/2 c) a) 0) (*.f64 (*.f64 -3/2 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -3/2 c) a) (*.f64 (*.f64 (*.f64 -3/2 c) a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (*.f64 -3/2 c) a)) (*.f64 (*.f64 -3/2 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -3/2 c) a) (*.f64 0 (*.f64 (*.f64 -3/2 c) a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -3/2) (*.f64 (cbrt.f64 9/4) (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 c a)) (*.f64 (cbrt.f64 (pow.f64 (*.f64 c a) 2)) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 c) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 -3/2 c) a)) (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (*.f64 -3/2 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2)) (cbrt.f64 (*.f64 (*.f64 -3/2 c) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) (cbrt.f64 -3/2)) (cbrt.f64 9/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 a) c)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 (cbrt.f64 (*.f64 c a))) (cbrt.f64 (pow.f64 (*.f64 c a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c (*.f64 a -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3/2 (*.f64 c a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 -3/2 c) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 c) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (neg.f64 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 c a)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 c) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 3/2 (*.f64 c a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 c) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 c) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 c) a) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 1 -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 -3/2 c) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 -3/2 c) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 -3/2 c) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 -3/2 c) a)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 -3/2 c) a)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 -3/2 c) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (*.f64 -3/2 c) a) 3) 1))))))

simplify820.0ms (3%)

Algorithm
egg-herbie
Counts
325 → 230
Calls
Call 1
Inputs
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 c b))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 2 (/.f64 b a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 2 (/.f64 b a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 2 (/.f64 b a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 -3/2 (/.f64 c b))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 -3/2 (/.f64 c b))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 2 (/.f64 b a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 -3/2 (/.f64 c b))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 -3/2 (/.f64 c b))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
Outputs
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 2 (/.f64 b a))
(/.f64 (+.f64 b b) a)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 2 (/.f64 b a))
(/.f64 (+.f64 b b) a)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 2 (/.f64 b a))
(/.f64 (+.f64 b b) a)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 2 (/.f64 b a))
(/.f64 (+.f64 b b) a)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(+.f64 (*.f64 -3/2 (/.f64 c b)) (*.f64 2 (/.f64 b a)))
(fma.f64 -3/2 (/.f64 c b) (/.f64 (+.f64 b b) a))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))

localize33.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
4.0b
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)
0.2b
(pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3)
0.0b
(fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))
0.4b
(/.f64 1/3 a)
4.0b
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))
6.1b
(/.f64 (*.f64 c a) b)
28.9b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))
Compiler

Compiled 81 to 43 computations (46.9% saved)

series21.0ms (0.1%)

Counts
3 → 72
Calls

21 calls:

TimeVariablePointExpression
3.0ms
a
@-inf
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))
2.0ms
a
@inf
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))
1.0ms
b
@-inf
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))
1.0ms
b
@inf
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))
1.0ms
c
@-inf
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))

rewrite108.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
78×egg-rr
78×egg-rr
75×egg-rr
Counts
3 → 231
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))
(/.f64 1/3 a)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a)) (/.f64 (*.f64 -2 b) (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -2 b) (*.f64 3 a)) (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 0) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (*.f64 0 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a))) (*.f64 1 (/.f64 (*.f64 -2 b) (*.f64 3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a)) 1) (*.f64 (/.f64 (*.f64 -2 b) (*.f64 3 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 a)) (/.f64 1/3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (+.f64 2 1/3))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (cbrt.f64 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (*.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2/3) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/3 a) (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/3 a))) (pow.f64 (/.f64 1/3 a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 a) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2) (/.f64 1/3 a))) (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (cbrt.f64 (pow.f64 a 2/3))) (pow.f64 (cbrt.f64 (pow.f64 a 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/27 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1 a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 a)) 1/3) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3)) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/3) (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/27 a)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 (pow.f64 a 2/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (cbrt.f64 a)) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (cbrt.f64 a)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (neg.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a))) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) 3) (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -1/3 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 1/3 a) (/.f64 (*.f64 -2 b) (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 (*.f64 -2 b) (*.f64 3 a)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a)) (/.f64 (*.f64 -2 b) (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -2 b) (*.f64 3 a)) (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 0) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (*.f64 0 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a))) (*.f64 1 (/.f64 (*.f64 -2 b) (*.f64 3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 3 a)) 1) (*.f64 (/.f64 (*.f64 -2 b) (*.f64 3 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 a)) (/.f64 1/3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) (+.f64 2 1/3))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (cbrt.f64 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (*.f64 (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2/3) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/3 a) (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (pow.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/3 a))) (pow.f64 (/.f64 1/3 a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 a) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2) (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2) (/.f64 1/3 a))) (cbrt.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (cbrt.f64 (pow.f64 a 2/3))) (pow.f64 (cbrt.f64 (pow.f64 a 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3) (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 (/.f64 1/27 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1 a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (cbrt.f64 a)) 1/3) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3)) (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/3) (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/27 a)) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 (pow.f64 a 2/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) (cbrt.f64 a)) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a)) (cbrt.f64 a)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))) (neg.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (cbrt.f64 a))) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) 3) (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -1/3 (/.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) -1/3) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) 1/3) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 1/3 a) (/.f64 (*.f64 -2 b) (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 (*.f64 -2 b) (*.f64 3 a)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/3 a) (*.f64 (/.f64 1/3 a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/3 a) 0) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/3 a) (*.f64 0 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 1/3 a)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 a)) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/3 a) (/.f64 0 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 3 a)) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (pow.f64 (/.f64 1/3 a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1/3 a) 2/3) (cbrt.f64 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/3) (/.f64 (sqrt.f64 1/3) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 1/3) (cbrt.f64 a)) (/.f64 (sqrt.f64 1/3) (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/3) (/.f64 (cbrt.f64 1/9) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 (/.f64 1/9 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (/.f64 1/3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/27 a)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) -1) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 1/9) a) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 a) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 a) (neg.f64 (sqrt.f64 3))) (neg.f64 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 a) (cbrt.f64 9)) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 a) -1) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (/.f64 1/27 a)) (cbrt.f64 (pow.f64 a 2/3))) (pow.f64 (cbrt.f64 (pow.f64 a 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (neg.f64 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (*.f64 3 a) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 3 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 a -1/3) (*.f64 3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/3 (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 1/27 a)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (sqrt.f64 1/3)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (cbrt.f64 1/3)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (cbrt.f64 1/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 1/3 a) 2/3) (cbrt.f64 -1/3)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/3 a)) (cbrt.f64 1/9)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (sqrt.f64 1/3) (cbrt.f64 a)) (sqrt.f64 1/3)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/3) 1/3) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/3) (/.f64 (sqrt.f64 1/3) (pow.f64 a 2/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (cbrt.f64 (/.f64 1/9 (*.f64 a a)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (pow.f64 (/.f64 1/3 a) 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (cbrt.f64 (/.f64 1/9 (*.f64 a a)))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (pow.f64 (/.f64 1/3 a) 2/3)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (sqrt.f64 1/3) a) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (/.f64 1 a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1/27 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 (cbrt.f64 a)) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 a) (sqrt.f64 3)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 a) (cbrt.f64 3)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (/.f64 1/27 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 1/27 a))) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/3 a)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/3 a)) (+.f64 1 2))))) (#(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 (pow.f64 (/.f64 1/3 a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -1/3 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1/3 a) -1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1/3 a) 3))))))

simplify408.0ms (1.5%)

Algorithm
egg-herbie
Counts
303 → 163
Calls
Call 1
Inputs
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b)) (*.f64 2 (/.f64 (*.f64 (cbrt.f64 -1/27) b) a)))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b)) (*.f64 2 (/.f64 (*.f64 (cbrt.f64 -1/27) b) a)))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b)) (*.f64 2 (/.f64 (*.f64 (cbrt.f64 -1/27) b) a)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 1/2 (/.f64 c b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.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 1/2 (/.f64 c b)))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
Outputs
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b))
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b)) (*.f64 2 (/.f64 (*.f64 (cbrt.f64 -1/27) b) a)))
(fma.f64 -3/2 (/.f64 (*.f64 c -1/3) b) (/.f64 (*.f64 (*.f64 2 b) -1/3) a))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b)) (*.f64 2 (/.f64 (*.f64 (cbrt.f64 -1/27) b) a)))
(fma.f64 -3/2 (/.f64 (*.f64 c -1/3) b) (/.f64 (*.f64 (*.f64 2 b) -1/3) a))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 c (cbrt.f64 -1/27)) b)) (*.f64 2 (/.f64 (*.f64 (cbrt.f64 -1/27) b) a)))
(fma.f64 -3/2 (/.f64 (*.f64 c -1/3) b) (/.f64 (*.f64 (*.f64 2 b) -1/3) a))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(fma.f64 -2/3 (/.f64 b a) (/.f64 (*.f64 1/2 c) b))

eval359.0ms (1.3%)

Compiler

Compiled 19982 to 11575 computations (42.1% saved)

prune278.0ms (1%)

Pruning

59 alts after pruning (55 fresh and 4 done)

PrunedKeptTotal
New1022381060
Fresh141731
Picked101
Done246
Total1039591098
Error
6.5b
Counts
1098 → 59
Alt Table
Click to see full alt table
StatusErrorProgram
46.0b
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
45.5b
(/.f64 (/.f64 b a) -3/2)
45.5b
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
46.4b
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
47.7b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (cbrt.f64 (/.f64 -1/27 a)) (cbrt.f64 (*.f64 a a))))
36.9b
(*.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 27)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) a))
55.8b
(cbrt.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 3))
45.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.0b
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
46.3b
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
55.7b
(*.f64 (cbrt.f64 (/.f64 (*.f64 -8/27 b) a)) (pow.f64 (/.f64 b a) 2/3))
47.2b
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
45.1b
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
45.7b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 -2/3 b) a)) 3)
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (*.f64 1/3 (/.f64 -1 a)))
55.7b
(/.f64 (*.f64 (cbrt.f64 b) (*.f64 (pow.f64 (/.f64 b a) 2/3) -2/3)) (cbrt.f64 a))
38.4b
(/.f64 (*.f64 -1/2 c) b)
46.0b
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (/.f64 -1/3 a))
58.2b
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
58.1b
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
45.1b
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
36.6b
(-.f64 (/.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 3 a)) (/.f64 b (*.f64 3 a)))
57.7b
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
45.1b
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (/.f64 -1/3 a))
58.1b
(/.f64 (*.f64 1/2 c) b)
55.1b
(*.f64 (cbrt.f64 (/.f64 -8/27 a)) (*.f64 b (pow.f64 a -2/3)))
49.1b
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))) (/.f64 -1/3 a))
37.0b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2)) (cbrt.f64 (*.f64 3 a)))
38.2b
(fma.f64 b (/.f64 -1/3 a) (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))))
38.6b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))) 3) (*.f64 3 a))
51.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 27/8 b)) (*.f64 c a)) (cbrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
47.9b
(*.f64 (/.f64 (cbrt.f64 (*.f64 -2/3 b)) a) (pow.f64 (*.f64 -2/3 b) 2/3))
57.7b
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
38.2b
(*.f64 (-.f64 b (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 3)) (/.f64 -1/3 a))
45.0b
(*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))
46.2b
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
55.2b
(*.f64 (pow.f64 a -1/3) (/.f64 (*.f64 -2/3 b) (pow.f64 a 2/3)))
45.4b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) 3)
38.4b
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3) b)) 3) (*.f64 3 a))
36.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
45.7b
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
38.3b
(*.f64 (fma.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 b b)) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (/.f64 -1/3 a))
46.0b
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
45.5b
(*.f64 b (/.f64 -2/3 a))
36.6b
(*.f64 1/3 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a))
43.3b
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
45.5b
(/.f64 (*.f64 -2/3 b) a)
36.6b
(*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) (/.f64 1 a))
46.3b
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
43.2b
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
45.5b
(*.f64 -2/3 (/.f64 b a))
57.7b
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (/.f64 -1 a) 3))
45.7b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 -2 b)) 3) (*.f64 3 a))
45.5b
(/.f64 b (/.f64 a -2/3))
46.3b
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1 (/.f64 a 1/3)))
47.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
Compiler

Compiled 1893 to 1362 computations (28.1% saved)

localize31.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
1.2b
(+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))
0.2b
(/.f64 (/.f64 -1 a) 3)
0.2b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (/.f64 -1 a) 3))
0.2b
(*.f64 (*.f64 -3 c) a)
0.2b
(/.f64 (/.f64 -1 a) 3)
1.2b
(+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))
1.3b
(-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b))))
23.5b
(sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))
Compiler

Compiled 77 to 44 computations (42.9% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite79.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
96×egg-rr
Counts
1 → 96
Calls
Call 1
Inputs
(/.f64 (/.f64 -1 a) 3)
Outputs
((#(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 (/.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 (neg.f64 (pow.f64 a -1/3)) (*.f64 (pow.f64 a -2/3) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 1/3)) (*.f64 (/.f64 1 a) (sqrt.f64 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/3) (*.f64 (/.f64 1 a) (cbrt.f64 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 a -1/3)) (sqrt.f64 1/3)) (*.f64 (pow.f64 a -2/3) (sqrt.f64 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) (pow.f64 (/.f64 -1/3 a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 1/3) (*.f64 (/.f64 -1 a) (sqrt.f64 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/3) (*.f64 (/.f64 -1 a) (cbrt.f64 1/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 a) (sqrt.f64 1/3)) (neg.f64 (sqrt.f64 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -2/3) (sqrt.f64 1/3)) (*.f64 (neg.f64 (pow.f64 a -1/3)) (sqrt.f64 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a -2/3) 1/3) (neg.f64 (pow.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 a) (sqrt.f64 1/3)) (sqrt.f64 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 a) (cbrt.f64 1/9)) (cbrt.f64 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 a) (cbrt.f64 1/9)) (cbrt.f64 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/3 a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 a) (cbrt.f64 1/3)) (cbrt.f64 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (*.f64 0 (cbrt.f64 (/.f64 -1/3 a))))) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (+.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (*.f64 0 (cbrt.f64 (/.f64 1/3 a))))) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 -1/3 a)) 0))) (-.f64 (cbrt.f64 (/.f64 -1/3 a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1/3 a)) (pow.f64 (*.f64 3 a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 1 a) (cbrt.f64 1/3))) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (neg.f64 (pow.f64 a -1/3)) (cbrt.f64 (cbrt.f64 3))) 3) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (pow.f64 a -1/3)) (cbrt.f64 -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/3) (pow.f64 (/.f64 -1/3 a) 2/3)) (cbrt.f64 -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (sqrt.f64 1/3)) (neg.f64 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/3 a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 -1 a) (cbrt.f64 1/3)) (cbrt.f64 (cbrt.f64 9))) (cbrt.f64 (pow.f64 9 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 -1 a) (sqrt.f64 1/3)) (sqrt.f64 (sqrt.f64 3))) (sqrt.f64 (sqrt.f64 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 1/3)) (*.f64 (sqrt.f64 3) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1/3) (*.f64 (cbrt.f64 9) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 a -1/3) (*.f64 -3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3 a) (pow.f64 (*.f64 3 a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1 a) (sqrt.f64 1/3)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1 a) (cbrt.f64 1/3)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (neg.f64 (pow.f64 a -1/3))) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) -1) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sqrt.f64 1/3)) (/.f64 1 a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 a)) (pow.f64 a -2/3)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/3) (/.f64 -1 a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (/.f64 1 a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (pow.f64 a -1/3)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (/.f64 -1 a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/3 (neg.f64 (pow.f64 a -1/3))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (neg.f64 (pow.f64 a -1/3)) (sqrt.f64 1/3)) (pow.f64 a -2/3)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/3) -1/3) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 a -1/3)) (pow.f64 (/.f64 -1/3 a) 2/3)) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (/.f64 -1/3 a) 2/3)) (cbrt.f64 (*.f64 3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 a -1/3)) (*.f64 (pow.f64 a -2/3) (sqrt.f64 1/3))) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 a -1/3)) 1/3) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 a -2/3) 1/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -2/3) 1/3) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1 a) (cbrt.f64 1/9)) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 1 a) (cbrt.f64 3)) (cbrt.f64 -9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 (cbrt.f64 (neg.f64 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 (cbrt.f64 a)) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 (cbrt.f64 a)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 -1 a) (sqrt.f64 1/3)) (cbrt.f64 (sqrt.f64 3))) (cbrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 27 a) -1/3)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 a -1/3)) (*.f64 3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 a) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (*.f64 3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 -3 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 a) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 a -1/3) 1/3)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (neg.f64 (pow.f64 a -1/3)) (cbrt.f64 (sqrt.f64 3))) 3) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (/.f64 -1/3 (pow.f64 a 2/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (neg.f64 (*.f64 (pow.f64 a -2/3) 1/3))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (*.f64 (pow.f64 a -1/3) -1/3)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (*.f64 (neg.f64 (pow.f64 a -1/3)) 1/3)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (*.f64 1/3 (neg.f64 (pow.f64 a -1/3)))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (/.f64 -1/3 (cbrt.f64 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (/.f64 1/3 (cbrt.f64 (neg.f64 a)))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (*.f64 -1/3 (pow.f64 a -1/3))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (neg.f64 (pow.f64 (*.f64 27 a) -1/3))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (neg.f64 a))))) (#(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 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -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 neg.f64 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (pow.f64 a -2/3) -1/3) (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -1/3 a) 3))))))

simplify130.0ms (0.5%)

Algorithm
egg-herbie
Counts
108 → 96
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)

localize6.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 a -2/3)
0.2b
(/.f64 b (/.f64 a -2/3))
0.2b
(/.f64 b (/.f64 a -2/3))
0.3b
(/.f64 a -2/3)
Compiler

Compiled 14 to 9 computations (35.7% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite56.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
80×egg-rr
46×egg-rr
Counts
2 → 126
Calls
Call 1
Inputs
(/.f64 a -2/3)
(/.f64 b (/.f64 a -2/3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a -3/2) (*.f64 (*.f64 a -3/2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 a -3/2) 0) (*.f64 a -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a -3/2) (*.f64 0 (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 a -3/2)) (*.f64 a -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 a 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 a) (*.f64 (pow.f64 a 2/3) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -3/2) (*.f64 a (cbrt.f64 9/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (cbrt.f64 9/4)) (cbrt.f64 -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 a 2/3) -3/2) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a 3/2)) (neg.f64 (pow.f64 (*.f64 a -3/2) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (cbrt.f64 -3/2)) (cbrt.f64 9/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a -3/2)) (pow.f64 (*.f64 a -3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 a -3/2) 2/3) (cbrt.f64 (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3/2 a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 a) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a -3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 a 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a 3/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (cbrt.f64 -3/2)) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (*.f64 a -3/2) 2/3) (cbrt.f64 (neg.f64 a))) (cbrt.f64 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (*.f64 a -3/2) 2/3) (cbrt.f64 a)) (cbrt.f64 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -3/2) a) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 a -3/2)) (pow.f64 a 2/3)) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 a)) (pow.f64 (*.f64 a -3/2) 2/3)) (cbrt.f64 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 a) (pow.f64 (*.f64 a -3/2) 2/3)) (cbrt.f64 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a (cbrt.f64 -3/2)) 1) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (cbrt.f64 9/4)) (cbrt.f64 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a (cbrt.f64 -3/2)) (cbrt.f64 (cbrt.f64 4/9))) (pow.f64 (cbrt.f64 (cbrt.f64 4/9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 a (cbrt.f64 -3/2)) 1) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 a) (cbrt.f64 -2/3)) (neg.f64 (cbrt.f64 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 a) (sqrt.f64 2/3)) (sqrt.f64 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 a (cbrt.f64 -3/2))) (neg.f64 (cbrt.f64 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 a -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 a) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a -3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 a) 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a 3/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 a -1) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 a -3/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 a -3/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a -3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 a 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 a -3/2) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 b (*.f64 a -3/2)) (*.f64 (/.f64 b (*.f64 a -3/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 b (*.f64 a -3/2)) 0) (/.f64 b (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 b (*.f64 a -3/2)) (*.f64 0 (/.f64 b (*.f64 a -3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 b (*.f64 a -3/2))) (/.f64 b (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 a 3/2)) (/.f64 b (*.f64 a 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 b (*.f64 a 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 b (*.f64 a -3/2))) (pow.f64 (/.f64 b (*.f64 a -3/2)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b (cbrt.f64 (/.f64 -2/3 a))) (pow.f64 (cbrt.f64 (*.f64 a -3/2)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 b (*.f64 a -3/2)) 2/3) (cbrt.f64 (/.f64 b (*.f64 a -3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 b) (*.f64 (pow.f64 b 2/3) (/.f64 -2/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 b) (/.f64 2/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 b) a) (*.f64 (pow.f64 b 2/3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b (/.f64 -2/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -2/3 a) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 b a) (cbrt.f64 -2/3)) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 b -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -2/3 a)) (/.f64 b (pow.f64 (*.f64 a -3/2) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 b 2/3) (/.f64 -2/3 a)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 b -2/3) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4/9) (*.f64 (/.f64 b a) (cbrt.f64 -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (pow.f64 (*.f64 a -3/2) 2/3)) (cbrt.f64 (/.f64 -2/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 2/3 a) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 b 2/3) -2/3) (/.f64 (cbrt.f64 b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (neg.f64 a)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 b (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b a) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (*.f64 a -3/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2/3 (/.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2/3 (/.f64 b (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 b a) -1) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 b (*.f64 a 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b (*.f64 a 3/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b (cbrt.f64 (/.f64 -2/3 a))) (cbrt.f64 (pow.f64 (*.f64 a -3/2) 2/3))) (pow.f64 (cbrt.f64 (pow.f64 (*.f64 a -3/2) 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b (cbrt.f64 a)) (*.f64 (pow.f64 a 2/3) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 b (cbrt.f64 a)) 1) (*.f64 (pow.f64 a 2/3) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 b) (*.f64 a 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 b (*.f64 a -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b -2/3) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b (cbrt.f64 (/.f64 -2/3 a))) (pow.f64 (*.f64 a -3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2/3 (/.f64 b (cbrt.f64 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2/3 (neg.f64 b)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 b (*.f64 a -3/2))) (pow.f64 b 2/3)) (pow.f64 (*.f64 a -3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -2/3 a)) b) (pow.f64 (*.f64 a -3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 b (*.f64 a -3/2)) 2/3) (cbrt.f64 b)) (cbrt.f64 (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 b (*.f64 a -3/2)) 2/3) (cbrt.f64 (neg.f64 b))) (cbrt.f64 (*.f64 a 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 b) (*.f64 (pow.f64 b 2/3) -2/3)) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 b 2/3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 b (cbrt.f64 a)) -2/3) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 b) -2/3) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 b) (pow.f64 (/.f64 b (*.f64 a -3/2)) 2/3)) (cbrt.f64 (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 b)) (pow.f64 (/.f64 b (*.f64 a -3/2)) 2/3)) (cbrt.f64 (*.f64 a 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b (pow.f64 (*.f64 a -3/2) 2/3)) (cbrt.f64 (*.f64 a -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 b -2/3) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 b (cbrt.f64 (/.f64 -2/3 a))) 1) (pow.f64 (*.f64 a -3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 b a) (cbrt.f64 -3/2)) (cbrt.f64 9/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 b) (cbrt.f64 (*.f64 a -3/2))) (neg.f64 (pow.f64 (*.f64 a -3/2) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b -2/3) (cbrt.f64 a)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b -2/3) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b -2/3) (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 b (cbrt.f64 (/.f64 -2/3 a))) 1) (pow.f64 (*.f64 a -3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b (cbrt.f64 -3/2)) (*.f64 a (cbrt.f64 9/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b -1) (*.f64 a 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 b -2/3)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 b (cbrt.f64 (/.f64 -2/3 a)))) (neg.f64 (pow.f64 (*.f64 a -3/2) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 b a) -1) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b (neg.f64 a)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 b a)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b a) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b (*.f64 a -3/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cbrt.f64 b) a) (pow.f64 b 2/3)) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 b (*.f64 a 3/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 b (neg.f64 a)) -1) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 b a) (cbrt.f64 3/2)) (cbrt.f64 -9/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 b (*.f64 a -3/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 b (*.f64 a -3/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 b (*.f64 a -3/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 b (*.f64 a 3/2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 2/3 (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 b (*.f64 a 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 b (*.f64 a -3/2)) 3))))))

simplify178.0ms (0.7%)

Algorithm
egg-herbie
Counts
162 → 127
Calls
Call 1
Inputs
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
Outputs
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -3/2 a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)

localize15.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
10.5b
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
6.1b
(/.f64 (*.f64 c (*.f64 a 3/2)) b)
0.4b
(/.f64 -1/3 a)
0.2b
(*.f64 c (*.f64 a 3/2))
0.2b
(*.f64 c (*.f64 a 3/2))
0.4b
(/.f64 -1/3 a)
6.1b
(/.f64 (*.f64 c (*.f64 a 3/2)) b)
10.5b
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
Compiler

Compiled 37 to 23 computations (37.8% saved)

series6.0ms (0%)

Counts
3 → 96
Calls

24 calls:

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

rewrite60.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
111×egg-rr
64×egg-rr
39×egg-rr
Counts
3 → 214
Calls
Call 1
Inputs
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
(/.f64 (*.f64 c (*.f64 a 3/2)) b)
(*.f64 c (*.f64 a 3/2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 0) (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) (*.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))) (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) (*.f64 0 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 a)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2)) (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (cbrt.f64 (/.f64 -1/3 a))) (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/3 a) (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)) (/.f64 (*.f64 (*.f64 c a) 3/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) -1/2) (/.f64 1 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (cbrt.f64 a)) (cbrt.f64 (/.f64 -1/27 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) (/.f64 (/.f64 -1/3 a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 (/.f64 -1/3 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (*.f64 b a)) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (*.f64 c a)) -1/2) (/.f64 1 (neg.f64 (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2))) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 1 (/.f64 (*.f64 b a) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) (/.f64 -1/3 a)) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (neg.f64 (*.f64 c a)) -1/2) 1) (neg.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 b)) (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (cbrt.f64 b)) (*.f64 (cbrt.f64 (*.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (cbrt.f64 (*.f64 b a))) (pow.f64 (cbrt.f64 (*.f64 b a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2))) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 (*.f64 b a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (*.f64 c a)) -1/2) (neg.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (cbrt.f64 (/.f64 -1/27 a))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 c a) -1/2) 1) (*.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) (/.f64 -1/3 a)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/3 a) (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2)) (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2)) (cbrt.f64 (*.f64 (*.f64 c a) -1/2))) (cbrt.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2)) (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (cbrt.f64 a)) -1/3) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (neg.f64 (*.f64 c a)) -1/2) (/.f64 1 b)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/27 a)) (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)) (/.f64 -1/3 a))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)) (/.f64 -1/3 a))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (cbrt.f64 (/.f64 -1/27 (*.f64 a a)))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)) (/.f64 (*.f64 (*.f64 c a) 3/2) b))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2)) (/.f64 (*.f64 (*.f64 c a) 3/2) b))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 c a) -1/2)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2))) (cbrt.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 (/.f64 -1/3 a) (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2))) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 b)) (cbrt.f64 b)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b (cbrt.f64 a))) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 a)) (cbrt.f64 a)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2))) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2))) (cbrt.f64 a)) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (neg.f64 (*.f64 b a)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (*.f64 b a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (neg.f64 (/.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (neg.f64 (/.f64 (*.f64 b a) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (/.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (neg.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2))) b))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1/3 a) (/.f64 (*.f64 (*.f64 c a) 3/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1/3 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (neg.f64 (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 a -1/2)) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 c a) (/.f64 b -1/2)) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 c a) (/.f64 (*.f64 b a) -1/2)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 0) (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (*.f64 0 (/.f64 (*.f64 (*.f64 c a) 3/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 b)) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) (/.f64 3/2 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c (/.f64 (*.f64 a 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) (cbrt.f64 (/.f64 27/8 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 c (cbrt.f64 b)) (/.f64 (*.f64 a 3/2) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (cbrt.f64 (/.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a 3/2) (cbrt.f64 b)) (/.f64 c (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a 3/2) (/.f64 c b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (*.f64 (*.f64 c a) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b -1/3) (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 c a) b) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 b)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3/2) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 b -1/3) (*.f64 (*.f64 c a) 3/2)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 c (cbrt.f64 b)) (*.f64 a 3/2)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 c a) (cbrt.f64 b)) 3/2) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)) (cbrt.f64 (*.f64 (*.f64 c a) 3/2))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2)) (cbrt.f64 (*.f64 -3/2 (*.f64 c a)))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 a 3/2) (cbrt.f64 b)) c) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c (/.f64 (*.f64 a 3/2) (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) (cbrt.f64 (/.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2) (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2) (*.f64 b b)))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 2))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 a 3/2) (/.f64 c (cbrt.f64 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) (cbrt.f64 (/.f64 27/8 (*.f64 b b)))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (/.f64 (neg.f64 b) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 c a)) (neg.f64 (/.f64 b 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 c a) 3/2) 0) (*.f64 (*.f64 c a) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 c a) 3/2) (*.f64 (*.f64 (*.f64 c a) 3/2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (*.f64 c a) 3/2)) (*.f64 (*.f64 c a) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 c a) 3/2) (*.f64 0 (*.f64 (*.f64 c a) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 -3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 c (*.f64 a 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a 3/2) c)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2)) (cbrt.f64 (*.f64 (*.f64 c a) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a 3/2) (cbrt.f64 c)) (cbrt.f64 (*.f64 c c)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c 3/2) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c (cbrt.f64 (*.f64 a 3/2))) (cbrt.f64 (*.f64 (*.f64 a a) 9/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) (sqrt.f64 3/2)) (sqrt.f64 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) (cbrt.f64 3/2)) (cbrt.f64 9/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 c) (*.f64 (cbrt.f64 (*.f64 c c)) (*.f64 a 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (*.f64 3/2 c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 a 3/2)) (*.f64 (cbrt.f64 (*.f64 (*.f64 a a) 9/4)) c))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 c a) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 c a) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3/2 (*.f64 c a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 -3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 c) (*.f64 -3/2 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 c a)) -3/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 a) (neg.f64 c))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (*.f64 c a)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 1 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 c a) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 c a) 3/2)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 c a) 3/2) 3))))))

simplify566.0ms (2.1%)

Algorithm
egg-herbie
Counts
310 → 218
Calls
Call 1
Inputs
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
Outputs
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))
(*.f64 3/2 (*.f64 c a))

localize33.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.4b
(*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b)))
0.3b
(*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)))
0.2b
(*.f64 (/.f64 1 a) (+.f64 b b))
0.2b
(*.f64 (*.f64 -3/2 c) a)
0.3b
(*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)))
0.4b
(*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b)))
6.1b
(/.f64 (*.f64 (*.f64 -3/2 c) a) b)
10.5b
(*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))
Compiler

Compiled 93 to 57 computations (38.7% saved)

series11.0ms (0%)

Counts
4 → 132
Calls

33 calls:

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

rewrite70.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
80×egg-rr
67×egg-rr
63×egg-rr
48×egg-rr
Counts
4 → 258
Calls
Call 1
Inputs
(*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))
(/.f64 (*.f64 (*.f64 -3/2 c) a) b)
(*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b)))
(*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 -3/2 c) b) 0) (/.f64 (*.f64 -3/2 c) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 c) b) (*.f64 (/.f64 (*.f64 -3/2 c) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 -3/2 c) b)) (/.f64 (*.f64 -3/2 c) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 c) b) (*.f64 0 (/.f64 (*.f64 -3/2 c) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 (*.f64 a b))) (/.f64 (*.f64 -3/2 (*.f64 c a)) (neg.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) b) 2)) (cbrt.f64 (/.f64 (*.f64 -3/2 c) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 a) (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (*.f64 (cbrt.f64 (pow.f64 a -2)) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 -3/2 c) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 a)) (*.f64 (/.f64 1 b) (cbrt.f64 (pow.f64 a -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) b) 2)) (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 a) (cbrt.f64 b)) (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 -3/2 c) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) a) (/.f64 (cbrt.f64 (pow.f64 (*.f64 -3/2 (*.f64 c a)) 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -3/2 a) (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 c) a) (/.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (cbrt.f64 a)) (cbrt.f64 (pow.f64 a -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 c) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (cbrt.f64 (pow.f64 a -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 c) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 1 (neg.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 c) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 1 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b))) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 c) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 c) (cbrt.f64 (neg.f64 b))) (pow.f64 (cbrt.f64 (neg.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (cbrt.f64 (neg.f64 a))) (pow.f64 (cbrt.f64 (neg.f64 a)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (cbrt.f64 a)) (cbrt.f64 (cbrt.f64 (*.f64 a a)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 a a))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 (*.f64 a b))) (pow.f64 (cbrt.f64 (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 a)) (*.f64 (cbrt.f64 (*.f64 a a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 b)) (cbrt.f64 (cbrt.f64 (*.f64 b b)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 b b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 (*.f64 a b) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 c (/.f64 b -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (cbrt.f64 a))) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 c) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 c) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 c) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (cbrt.f64 a)) (neg.f64 (cbrt.f64 (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (cbrt.f64 (pow.f64 a -2))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (cbrt.f64 a)) 1) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 a (cbrt.f64 b))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 c) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 c) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 (*.f64 a b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (neg.f64 (*.f64 a b)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (*.f64 a b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 (neg.f64 (*.f64 a b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3/2) (neg.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 -3/2 c) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (/.f64 (*.f64 -3/2 c) b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 -3/2 c) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1 a) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 c a) 3/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 c) b) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) a))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 -3/2 c) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (neg.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) b) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 0) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 0 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 b)) (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 c a) 3/2) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 a (cbrt.f64 b)) (/.f64 (*.f64 -3/2 c) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (/.f64 (*.f64 -3/2 c) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (cbrt.f64 (/.f64 (pow.f64 (*.f64 -3/2 (*.f64 c a)) 2) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 -3/2 (*.f64 c a)) 2)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -27/8 b)) (/.f64 (*.f64 c a) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -3/2 (/.f64 (*.f64 c a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 c) (cbrt.f64 b)) (/.f64 a (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 c) (/.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 b) (*.f64 -3/2 (*.f64 c a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 2)) (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 b -1/3) (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 c a) 3/2) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) (cbrt.f64 (neg.f64 b))) (pow.f64 (cbrt.f64 (neg.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 b)) (cbrt.f64 (cbrt.f64 (*.f64 b b)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 b b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 b)) 1) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 c a) (/.f64 b -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (cbrt.f64 b))) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 3) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/3 (/.f64 b a)) (*.f64 -1/3 (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 b a) -1/3) (*.f64 (/.f64 b a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1/3 a) b) (*.f64 (/.f64 -1/3 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 -1/3 (/.f64 b a))) (*.f64 1 (*.f64 -1/3 (/.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 (/.f64 -1/3 a) b)) (*.f64 1 (*.f64 (/.f64 -1/3 a) b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 b (/.f64 -1/3 a))) (*.f64 1 (*.f64 b (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 (/.f64 b a) -1/3)) (*.f64 1 (*.f64 (/.f64 b a) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 0) (/.f64 (*.f64 -1/3 (+.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) (*.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (/.f64 -1/3 a)) (*.f64 b (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/3 (/.f64 b a)) 1) (*.f64 (*.f64 -1/3 (/.f64 b a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 -1/3 a) b) 1) (*.f64 (*.f64 (/.f64 -1/3 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 b (/.f64 -1/3 a)) 1) (*.f64 (*.f64 b (/.f64 -1/3 a)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (/.f64 b a) -1/3) 1) (*.f64 (*.f64 (/.f64 b a) -1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)) (/.f64 (*.f64 -1/3 (+.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) (*.f64 0 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 b b) a)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 b b) a) 2)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/3) (*.f64 (cbrt.f64 1/9) (/.f64 (+.f64 b b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 (+.f64 b b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 b b) a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 2)) (cbrt.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 b b) a) (cbrt.f64 -1/3)) (cbrt.f64 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/3 (+.f64 b b)) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 -1/3 (+.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a))) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (+.f64 b b) a))) (cbrt.f64 (pow.f64 (/.f64 (+.f64 b b) a) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/3 a) (cbrt.f64 (+.f64 b b))) (cbrt.f64 (*.f64 4 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) (+.f64 b b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b b) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/3 a) 2) b)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 -1/3 (+.f64 b b)) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 b (*.f64 (/.f64 -1/3 a) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 b a) (+.f64 -1/3 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 -1/3 (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 -1/3 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 b (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (/.f64 b a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (+.f64 b b)) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 b b) (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -1/3 (+.f64 b b))) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1 a) (*.f64 -1/3 (+.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 -1/3 (+.f64 b b)) (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/3 (+.f64 b b)) a) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/3 (/.f64 b a) (*.f64 -1/3 (/.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 b (/.f64 -1/3 a) (*.f64 b (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 b a) -1/3 (*.f64 (/.f64 b a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1/3 a) b (*.f64 (/.f64 -1/3 a) b))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 0) (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) (*.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))) (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) (*.f64 0 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/3) (*.f64 (cbrt.f64 1/9) (/.f64 (*.f64 -3/2 c) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 2)) (cbrt.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/3 (*.f64 -3/2 c)) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 -3/2 c) b) (cbrt.f64 -1/3)) (cbrt.f64 1/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 a) (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)))) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) b) 2)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 (*.f64 -3/2 c) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 c) b) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/3 a) (cbrt.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/3 (cbrt.f64 (/.f64 (*.f64 -3/2 c) b))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) b) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c))) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) (/.f64 1 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c))) (cbrt.f64 b)) (neg.f64 (cbrt.f64 (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c))) (cbrt.f64 (neg.f64 b))) (pow.f64 (cbrt.f64 (neg.f64 b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) (cbrt.f64 a)) (*.f64 (cbrt.f64 (*.f64 a a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) (cbrt.f64 (*.f64 a b))) (pow.f64 (cbrt.f64 (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (*.f64 -3/2 c)) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c))) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c))) -1) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c))) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c))) (neg.f64 (cbrt.f64 b))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) a) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) b) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) (*.f64 a (cbrt.f64 b))) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a))) 1) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (cbrt.f64 a)) (cbrt.f64 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (cbrt.f64 (*.f64 a a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 c)) 1) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 c)) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 c)) (cbrt.f64 (*.f64 b b))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/3 (*.f64 -3/2 c)) (cbrt.f64 b)) (cbrt.f64 (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (/.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (*.f64 a b) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 c) (/.f64 b -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 c)))) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -1/3 (*.f64 -3/2 (*.f64 c a)))) (neg.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 c a) 3/2) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1 a) (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) (/.f64 (*.f64 (*.f64 c a) 3/2) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 -1/3 (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 -1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 -3/2 c) (/.f64 b -1/3)) 3))))))

simplify641.0ms (2.4%)

Algorithm
egg-herbie
Counts
390 → 263
Calls
Call 1
Inputs
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 c b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 -2/3 (/.f64 b a))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
(*.f64 1/2 (/.f64 c b))
Outputs
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 c b))
(/.f64 (*.f64 -3/2 c) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -3/2 (/.f64 (*.f64 c a) b))
(/.f64 (*.f64 -3/2 (*.f64 c a)) b)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 1/2 c) b)

localize24.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3)
0.6b
(cbrt.f64 (/.f64 -1/3 a))
0.4b
(/.f64 -1/3 a)
0.2b
(*.f64 3/2 (*.f64 c a))
0.6b
(cbrt.f64 (/.f64 -1/3 a))
0.7b
(pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3)
6.1b
(/.f64 (*.f64 3/2 (*.f64 c a)) b)
10.5b
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
Compiler

Compiled 51 to 31 computations (39.2% saved)

series57.0ms (0.2%)

Counts
3 → 36
Calls

15 calls:

TimeVariablePointExpression
37.0ms
b
@inf
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
4.0ms
c
@0
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
3.0ms
a
@-inf
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
3.0ms
b
@0
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
2.0ms
a
@0
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))

rewrite65.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
105×egg-rr
66×egg-rr
35×egg-rr
Counts
3 → 206
Calls
Call 1
Inputs
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
(pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3)
(cbrt.f64 (/.f64 -1/3 a))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 0) (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) (*.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))) (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) (*.f64 0 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) b) (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))) (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (*.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2/3) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 2/3) (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (/.f64 -1/3 a) 2/3)) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1/3 a) (cbrt.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (/.f64 (/.f64 -1/3 a) (pow.f64 b 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (cbrt.f64 (/.f64 -1/3 a))) (pow.f64 (/.f64 -1/3 a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) b) (/.f64 1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (/.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (*.f64 (cbrt.f64 (/.f64 -1/3 a)) (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (/.f64 1 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) (/.f64 1 (neg.f64 (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 a -3)) (/.f64 -1 b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (/.f64 1 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (/.f64 1 (*.f64 (neg.f64 b) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) (/.f64 1 (neg.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (/.f64 1 (neg.f64 (neg.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 c a) (*.f64 a -3)) (/.f64 b 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) 1) (neg.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) 1) (neg.f64 (neg.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) 1) (neg.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) 1) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) 1) (*.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) 1) (*.f64 (neg.f64 b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (cbrt.f64 b)) (cbrt.f64 (pow.f64 b 2/3))) (pow.f64 (cbrt.f64 (pow.f64 b 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) b) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) b) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 a -3)) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (cbrt.f64 b)) (pow.f64 b 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) (neg.f64 (*.f64 b a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 (neg.f64 b) (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) (neg.f64 (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (neg.f64 (neg.f64 (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (/.f64 1 b)) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) (/.f64 1 b)) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cbrt.f64 1/9) (cbrt.f64 a)) (*.f64 (cbrt.f64 (/.f64 -1/3 a)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/9) (*.f64 (cbrt.f64 (/.f64 -1/3 a)) (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) (cbrt.f64 b)) (/.f64 -1/3 a)) (pow.f64 b 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) (pow.f64 b 2/3))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (*.f64 a -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/3 (pow.f64 a 2/3)) (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/27 a)) (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 -3/2 (*.f64 c a))) (*.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2/3) (/.f64 -1/3 a))) (cbrt.f64 (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 3/2 (*.f64 c a))) (*.f64 (pow.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) 2/3) (/.f64 -1/3 a))) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/3) (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (/.f64 (*.f64 3/2 (*.f64 c a)) b))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a)) (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 2/3)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) b) 1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 a -3)) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) b) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (cbrt.f64 b)) 1) (pow.f64 b 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) -1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (pow.f64 b 2/3)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 a -3)) (cbrt.f64 b)) (neg.f64 (pow.f64 b 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (*.f64 a -3)) 1) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) b) (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) b) (cbrt.f64 a)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) b) -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (cbrt.f64 b)) (cbrt.f64 b)) (cbrt.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (cbrt.f64 b)) 1) (pow.f64 b 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) b) (cbrt.f64 (neg.f64 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) b) -1) a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) b) (cbrt.f64 a)) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) b) 1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (neg.f64 (*.f64 b a)) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (*.f64 b a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -3/2 (*.f64 c a)) (/.f64 (*.f64 (neg.f64 b) (neg.f64 a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (neg.f64 (*.f64 b a)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (cbrt.f64 b))) (neg.f64 (pow.f64 b 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) (neg.f64 (*.f64 (neg.f64 b) (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) -1/3) (neg.f64 (neg.f64 (neg.f64 (*.f64 a b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1/3 a) (/.f64 (*.f64 3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) (*.f64 b a)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1/3 a) 0) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1/3 a) (*.f64 (/.f64 -1/3 a) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 -1/3 a)) (/.f64 -1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1/3 a) (*.f64 0 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 a -3)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1/3 a) (/.f64 0 (*.f64 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 a)) (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/3) (/.f64 (cbrt.f64 1/9) a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3)) (pow.f64 (/.f64 -1/3 a) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.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 a) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) (pow.f64 (/.f64 -1/3 a) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (/.f64 -1 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (/.f64 -1/3 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/3 (pow.f64 a 2/3)) (pow.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/27 a)) (pow.f64 (cbrt.f64 a) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 a) -3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (cbrt.f64 -1/3)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3)) (pow.f64 (/.f64 -1/3 a) 2/3))) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (/.f64 -1/27 a)) (cbrt.f64 (pow.f64 a 2/3))) (pow.f64 (cbrt.f64 (pow.f64 a 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (neg.f64 a) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 a -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 a 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (/.f64 (*.f64 a -3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 (pow.f64 a 2/3)) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1/27 a)) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/3 a)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1/3 (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (cbrt.f64 1/9) (cbrt.f64 a)) (cbrt.f64 (/.f64 -1/3 a))) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/9) (cbrt.f64 (/.f64 -1/3 a))) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 a -1/3) -1/3) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 a) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 1/3) (/.f64 -1 a)) (sqrt.f64 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (/.f64 -1 a)) (cbrt.f64 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1/3 (pow.f64 a 2/3)) 1) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/27 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) (pow.f64 (/.f64 -1/3 a) 2/3)) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (/.f64 -1/27 a)) 1) (pow.f64 a 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1/3 -1) (neg.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 -1/3 (pow.f64 a 2/3)) 1) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 -1/3 (pow.f64 a 2/3)) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/3 (cbrt.f64 a)) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 -1/3 (pow.f64 a 2/3))) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 -1/27 a))) (neg.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1/3 a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a -3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1/3 a)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1/3 a) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1/3 a)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1/3 a) (+.f64 1/3 2/3))))) (#(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 neg.f64 (/.f64 1/3 a))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1/3 a) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1/3 (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1 a) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1/3 a) -1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -1/3 a) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 a)) 0) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 -1/3 a)) (*.f64 (cbrt.f64 (/.f64 -1/3 a)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (cbrt.f64 (/.f64 -1/3 a))) (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 -1/3 a)) (*.f64 0 (cbrt.f64 (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 -1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/3) (pow.f64 a -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/3) (neg.f64 (pow.f64 a -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) (+.f64 2 1/3))) (cbrt.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a)))) (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3)) (pow.f64 (/.f64 -1/3 a) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3)) (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 a -1/3) (cbrt.f64 -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))) (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (cbrt.f64 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 -1/3)) (cbrt.f64 (/.f64 (cbrt.f64 1/9) a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 a -1/3)) (cbrt.f64 (/.f64 -1/3 (pow.f64 a 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (cbrt.f64 -1/3)) (cbrt.f64 (pow.f64 (/.f64 -1/3 a) 2/3))) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (cbrt.f64 (*.f64 a -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1/3 (pow.f64 a 2/3))) (cbrt.f64 (cbrt.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 -1/3) (cbrt.f64 a))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 1/3) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/3) 1) (cbrt.f64 (neg.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 -1/3) (cbrt.f64 (cbrt.f64 a))) (cbrt.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/27 a))) (cbrt.f64 (pow.f64 a 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1/3 a) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (cbrt.f64 (/.f64 1/3 a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 a)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (cbrt.f64 -1/3) (cbrt.f64 (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cbrt.f64 (/.f64 1/3 a)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 -1/3 a))))))

simplify250.0ms (0.9%)

Algorithm
egg-herbie
Counts
242 → 208
Calls
Call 1
Inputs
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
(*.f64 -1/2 (/.f64 c b))
Outputs
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 -1/2 (/.f64 c b))
(/.f64 (*.f64 -1/2 c) b)

eval536.0ms (2%)

Compiler

Compiled 23655 to 14479 computations (38.8% saved)

prune271.0ms (1%)

Pruning

61 alts after pruning (56 fresh and 5 done)

PrunedKeptTotal
New1212211233
Fresh153550
Picked101
Done358
Total1231611292
Error
6.5b
Counts
1292 → 61
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(/.f64 (/.f64 b a) -3/2)
52.0b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (cbrt.f64 (/.f64 -1/3 a))))
46.0b
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
45.4b
(*.f64 (*.f64 2 b) (/.f64 (/.f64 -1 a) 3))
55.8b
(cbrt.f64 (pow.f64 (/.f64 b (*.f64 a -3/2)) 3))
45.5b
(*.f64 (/.f64 -2/3 a) b)
45.5b
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
47.7b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (cbrt.f64 (/.f64 -1/27 a)) (cbrt.f64 (*.f64 a a))))
46.4b
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 c a) (/.f64 b -3/2)))))
45.1b
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
47.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
45.7b
(/.f64 b (pow.f64 (cbrt.f64 (*.f64 a -3/2)) 3))
47.1b
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3))
46.0b
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
45.1b
(*.f64 (*.f64 c (/.f64 (*.f64 a 3/2) b)) (/.f64 -1/3 a))
45.1b
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
46.3b
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
47.2b
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (*.f64 1/3 (/.f64 -1 a)))
58.2b
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
58.1b
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
36.6b
(-.f64 (/.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 3 a)) (/.f64 b (*.f64 3 a)))
46.4b
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
57.7b
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
46.4b
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))) 3) 3))
58.1b
(/.f64 (*.f64 1/2 c) b)
45.2b
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
55.1b
(*.f64 (cbrt.f64 (/.f64 -8/27 a)) (*.f64 b (pow.f64 a -2/3)))
49.1b
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))) (/.f64 -1/3 a))
37.0b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2)) (cbrt.f64 (*.f64 3 a)))
38.2b
(fma.f64 b (/.f64 -1/3 a) (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))))
51.1b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 27/8 b)) (*.f64 c a)) (cbrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
47.9b
(*.f64 (/.f64 (cbrt.f64 (*.f64 -2/3 b)) a) (pow.f64 (*.f64 -2/3 b) 2/3))
43.2b
(/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)
57.7b
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
38.2b
(*.f64 (-.f64 b (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 3)) (/.f64 -1/3 a))
55.2b
(*.f64 (pow.f64 a -1/3) (/.f64 (*.f64 -2/3 b) (pow.f64 a 2/3)))
46.2b
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
43.2b
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
45.4b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) 3)
38.4b
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3) b)) 3) (*.f64 3 a))
36.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
45.7b
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
45.5b
(/.f64 (*.f64 -2/3 b) a)
38.3b
(*.f64 (fma.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 b b)) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (/.f64 -1/3 a))
45.7b
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 -3/2 (/.f64 c b))))
36.6b
(*.f64 1/3 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a))
43.3b
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
43.5b
(*.f64 (*.f64 (*.f64 a 3/2) (/.f64 c b)) (/.f64 -1/3 a))
36.6b
(*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) (/.f64 1 a))
46.3b
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
45.5b
(*.f64 -2/3 (/.f64 b a))
57.7b
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
45.4b
(/.f64 b (*.f64 -3/2 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (/.f64 -1 a) 3))
45.7b
(/.f64 (pow.f64 (cbrt.f64 (*.f64 -2 b)) 3) (*.f64 3 a))
55.8b
(/.f64 b (*.f64 (pow.f64 (*.f64 a -3/2) 2/3) (cbrt.f64 (*.f64 a -3/2))))
46.3b
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
36.6b
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1 (/.f64 a 1/3)))
38.4b
(/.f64 (*.f64 -1/2 c) b)
Compiler

Compiled 994 to 723 computations (27.3% saved)

regimes3.4s (12.4%)

Counts
123 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
(/.f64 (*.f64 1/2 c) b)
(*.f64 b (/.f64 -2/3 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (/.f64 a -2/3))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
(*.f64 (*.f64 2 b) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(*.f64 (*.f64 c (/.f64 (*.f64 a 3/2) b)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(*.f64 (*.f64 (*.f64 a 3/2) (/.f64 c b)) (/.f64 -1/3 a))
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (*.f64 c (/.f64 a b))) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 -3/2 (/.f64 c b))))
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 c a) (/.f64 b -3/2)))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (*.f64 1/3 (/.f64 -1 a)))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (/.f64 -1 a) 3))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1 (/.f64 a 1/3)))
(cbrt.f64 (pow.f64 (/.f64 b (*.f64 a -3/2)) 3))
(/.f64 b (pow.f64 (cbrt.f64 (*.f64 a -3/2)) 3))
(cbrt.f64 (pow.f64 (/.f64 (*.f64 -2/3 b) a) 3))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 -2/3 b) a)) 3)
(*.f64 (cbrt.f64 (/.f64 -8/27 a)) (*.f64 b (pow.f64 a -2/3)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 -2 b)) 3) (*.f64 3 a))
(*.f64 (pow.f64 a -1/3) (/.f64 (*.f64 -2/3 b) (pow.f64 a 2/3)))
(/.f64 b (*.f64 (pow.f64 (*.f64 a -3/2) 2/3) (cbrt.f64 (*.f64 a -3/2))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 -8/27 b) a)) (pow.f64 (/.f64 b a) 2/3))
(*.f64 (/.f64 (cbrt.f64 (*.f64 -2/3 b)) a) (pow.f64 (*.f64 -2/3 b) 2/3))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))) 3)
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (cbrt.f64 (/.f64 -1/3 a)) 3))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b))) 3) (*.f64 3 a))
(*.f64 1/3 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) a))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b)))) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 (cbrt.f64 (/.f64 27/8 b)) (*.f64 c a)) (cbrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
(*.f64 (*.f64 (-.f64 b (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) -1/3) (/.f64 1 a))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 -1/3 (/.f64 1 a)))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 -1 (/.f64 a 1/3)))
(-.f64 (/.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) (*.f64 3 a)) (/.f64 b (*.f64 3 a)))
(/.f64 (*.f64 (cbrt.f64 b) (*.f64 (pow.f64 (/.f64 b a) 2/3) -2/3)) (cbrt.f64 a))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (*.f64 -2 b)) (/.f64 1/3 a)) 3))
(*.f64 (-.f64 b (cbrt.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2))) (/.f64 -1/3 a))
(/.f64 (fma.f64 (*.f64 b (cbrt.f64 -2)) (cbrt.f64 4) (/.f64 (*.f64 3/2 (*.f64 c a)) b)) (*.f64 3 a))
(*.f64 (-.f64 b (pow.f64 (pow.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) 3/2) 1/3)) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (cbrt.f64 (pow.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))) 3/2))) (*.f64 3 a))
(fma.f64 b (/.f64 -1/3 a) (neg.f64 (*.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b))) (/.f64 -1/3 a))))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (cbrt.f64 (/.f64 -1/27 a)) (cbrt.f64 (*.f64 a a))))
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))) (/.f64 -1/3 a))
(*.f64 (fma.f64 3/2 (/.f64 (*.f64 c a) b) (/.f64 (*.f64 9/8 (pow.f64 (*.f64 c a) 2)) (pow.f64 b 3))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (*.f64 (pow.f64 (/.f64 -1/3 a) 2/3) (cbrt.f64 (/.f64 -1/3 a))))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 (*.f64 3 a) (cbrt.f64 c)) (cbrt.f64 (*.f64 c c)))))) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/3 a))) 3) 3))
(*.f64 (-.f64 b (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 a) c (*.f64 b b)))) 3)) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) 3))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) 3)) (/.f64 -1/3 a))
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c)))) b)) 3) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 (cbrt.f64 b) (*.f64 (cbrt.f64 (*.f64 b b)) b) (*.f64 (*.f64 -3 c) a)))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 (cbrt.f64 (/.f64 -1/27 (*.f64 a a))) (pow.f64 a -1/3)))
(*.f64 (fma.f64 (cbrt.f64 b) (cbrt.f64 (*.f64 b b)) (neg.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))))) (/.f64 -1/3 a))
(/.f64 (fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 (neg.f64 b)) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (*.f64 3 a))
(*.f64 (fma.f64 (cbrt.f64 (*.f64 b b)) (cbrt.f64 b) (neg.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (/.f64 -1/3 a))
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) (pow.f64 (cbrt.f64 (*.f64 3 a)) -2)) (cbrt.f64 (*.f64 3 a)))
(/.f64 (pow.f64 (cbrt.f64 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b)))) 3) b)) 3) (*.f64 3 a))
(*.f64 (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (cbrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))) b) (/.f64 -1/3 a))
(/.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (sqrt.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (neg.f64 b)) (*.f64 3 a))
(*.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 27)) (/.f64 (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 c (*.f64 -3 a) (*.f64 b b))) b) 2)) a))
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 (/.f64 (cbrt.f64 (/.f64 -1/27 a)) (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 a)) 2) 2)))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b)) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 -3 c) a (*.f64 b b))) b) 2/3)))) 3) (*.f64 3 a))
Outputs
(/.f64 b (*.f64 -3/2 a))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 -1/2 c) b)
Calls

6 calls:

740.0ms
a
723.0ms
(*.f64 3 a)
722.0ms
(*.f64 3 a)
593.0ms
c
268.0ms
b
Results
ErrorSegmentsBranch
30.5b9a
9.6b3b
29.8b7c
14.4b5(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
30.5b9(*.f64 3 a)
30.5b9(*.f64 3 a)
Compiler

Compiled 1782 to 1032 computations (42.1% saved)

bsearch218.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
167.0ms
1.5515325274639553e-62
8.543944040611161e-60
49.0ms
-1.133766264405728e+95
-6.599312018985653e+94
Compiler

Compiled 398 to 295 computations (25.9% saved)

regimes1.4s (5.3%)

Counts
68 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
(/.f64 (*.f64 1/2 c) b)
(*.f64 b (/.f64 -2/3 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (/.f64 a -2/3))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
(*.f64 (*.f64 2 b) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(*.f64 (*.f64 c (/.f64 (*.f64 a 3/2) b)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(*.f64 (*.f64 (*.f64 a 3/2) (/.f64 c b)) (/.f64 -1/3 a))
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (*.f64 c (/.f64 a b))) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 -3/2 (/.f64 c b))))
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 c a) (/.f64 b -3/2)))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (*.f64 1/3 (/.f64 -1 a)))
Outputs
(/.f64 b (*.f64 -3/2 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
(/.f64 (*.f64 -1/2 c) b)
Calls

6 calls:

355.0ms
c
273.0ms
a
268.0ms
(*.f64 3 a)
238.0ms
(*.f64 3 a)
169.0ms
b
Results
ErrorSegmentsBranch
31.5b6a
9.6b3b
29.8b7c
14.4b5(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
31.5b6(*.f64 3 a)
31.5b6(*.f64 3 a)
Compiler

Compiled 808 to 466 computations (42.3% saved)

bsearch273.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
235.0ms
1.5515325274639553e-62
8.543944040611161e-60
38.0ms
-1.133766264405728e+95
-6.599312018985653e+94
Compiler

Compiled 386 to 283 computations (26.7% saved)

regimes1.2s (4.3%)

Counts
66 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
(/.f64 (*.f64 1/2 c) b)
(*.f64 b (/.f64 -2/3 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (/.f64 a -2/3))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
(*.f64 (*.f64 2 b) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(*.f64 (*.f64 c (/.f64 (*.f64 a 3/2) b)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(*.f64 (*.f64 (*.f64 a 3/2) (/.f64 c b)) (/.f64 -1/3 a))
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (*.f64 c (/.f64 a b))) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 -3/2 (/.f64 c b))))
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 c a) (/.f64 b -3/2)))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
Outputs
(/.f64 b (*.f64 -3/2 a))
(*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a))
(/.f64 (*.f64 -1/2 c) b)
Calls

5 calls:

327.0ms
(*.f64 3 a)
241.0ms
(*.f64 3 a)
241.0ms
c
215.0ms
a
116.0ms
b
Results
ErrorSegmentsBranch
31.6b6a
9.7b3b
29.8b7c
31.6b6(*.f64 3 a)
31.6b6(*.f64 3 a)
Compiler

Compiled 753 to 432 computations (42.6% saved)

bsearch293.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
224.0ms
1.5515325274639553e-62
8.543944040611161e-60
69.0ms
-1.133766264405728e+95
-6.599312018985653e+94
Compiler

Compiled 374 to 271 computations (27.5% saved)

regimes1.9s (7%)

Counts
65 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
(/.f64 (*.f64 1/2 c) b)
(*.f64 b (/.f64 -2/3 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (/.f64 a -2/3))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
(*.f64 (*.f64 2 b) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(*.f64 (*.f64 c (/.f64 (*.f64 a 3/2) b)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(*.f64 (*.f64 (*.f64 a 3/2) (/.f64 c b)) (/.f64 -1/3 a))
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (*.f64 c (/.f64 a b))) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 -3/2 (/.f64 c b))))
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 c a) (/.f64 b -3/2)))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3))
Outputs
(/.f64 b (*.f64 -3/2 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 -1/2 c) b)
Calls

5 calls:

634.0ms
a
442.0ms
(*.f64 3 a)
417.0ms
(*.f64 3 a)
291.0ms
c
108.0ms
b
Results
ErrorSegmentsBranch
32.3b12a
11.9b3b
32.2b8c
32.3b12(*.f64 3 a)
32.3b12(*.f64 3 a)
Compiler

Compiled 737 to 423 computations (42.6% saved)

bsearch310.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
157.0ms
1.5515325274639553e-62
8.543944040611161e-60
152.0ms
-1.642125064659531e-24
-4.154917729409299e-36
Compiler

Compiled 512 to 397 computations (22.5% saved)

regimes2.2s (8.1%)

Counts
64 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
(/.f64 (*.f64 1/2 c) b)
(*.f64 b (/.f64 -2/3 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (/.f64 a -2/3))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
(*.f64 (*.f64 2 b) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(*.f64 (*.f64 c (/.f64 (*.f64 a 3/2) b)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(*.f64 (*.f64 (*.f64 a 3/2) (/.f64 c b)) (/.f64 -1/3 a))
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (*.f64 c (/.f64 a b))) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 -3/2 (/.f64 c b))))
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 c a) (/.f64 b -3/2)))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) (*.f64 3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (*.f64 3 a))
Outputs
(/.f64 b (*.f64 -3/2 a))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a))
(/.f64 (*.f64 -1/2 c) b)
Calls

5 calls:

560.0ms
(*.f64 3 a)
538.0ms
a
507.0ms
(*.f64 3 a)
376.0ms
c
192.0ms
b
Results
ErrorSegmentsBranch
32.3b12a
11.9b3b
32.2b8c
32.3b12(*.f64 3 a)
32.3b12(*.f64 3 a)
Compiler

Compiled 723 to 414 computations (42.7% saved)

bsearch309.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
168.0ms
1.5515325274639553e-62
8.543944040611161e-60
140.0ms
-1.642125064659531e-24
-4.154917729409299e-36
Compiler

Compiled 476 to 361 computations (24.2% saved)

regimes975.0ms (3.6%)

Counts
61 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
(/.f64 (*.f64 1/2 c) b)
(*.f64 b (/.f64 -2/3 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (/.f64 a -2/3))
(/.f64 (*.f64 -1/2 c) b)
(*.f64 1/2 (/.f64 c b))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 -2/3 (/.f64 b a))
(*.f64 (*.f64 -2/3 b) (/.f64 1 a))
(/.f64 (*.f64 (*.f64 -3/2 c) -1/3) b)
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (*.f64 2 b) (/.f64 -1/3 a))
(/.f64 (*.f64 -2 b) (*.f64 3 a))
(*.f64 (-.f64 b b) (/.f64 -1/3 a))
(*.f64 (*.f64 2 b) (/.f64 (/.f64 -1 a) 3))
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/2) b) a)
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 b a))
(*.f64 (*.f64 c (/.f64 (*.f64 a 3/2) b)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(/.f64 (/.f64 (*.f64 (*.f64 -3/2 (*.f64 c a)) 1/3) a) b)
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(*.f64 (*.f64 (*.f64 a 3/2) (/.f64 c b)) (/.f64 -1/3 a))
(*.f64 -1/3 (/.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) a))
(*.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (/.f64 -1/3 a))
(/.f64 (*.f64 c a) (/.f64 (/.f64 (*.f64 b a) -1/3) 3/2))
(*.f64 (*.f64 (*.f64 3/2 c) (/.f64 a b)) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (*.f64 c a)) (/.f64 (/.f64 -1/3 a) b))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(*.f64 (/.f64 (*.f64 c (*.f64 a 3/2)) b) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 (*.f64 c a) -1/3) a) (/.f64 b 3/2))
(/.f64 (*.f64 (/.f64 -1/3 a) (*.f64 c a)) (/.f64 b 3/2))
(/.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 1/2 (/.f64 c b)))
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
(*.f64 (/.f64 (*.f64 3/2 (*.f64 c a)) b) (/.f64 -1/3 a))
(*.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (/.f64 -1/3 a))
(/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) b) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (*.f64 c (/.f64 a b))) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (/.f64 (*.f64 c a) (/.f64 b 3/2)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 2 b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (*.f64 -2 b)) (*.f64 3 a))
(*.f64 (-.f64 b (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (neg.f64 (/.f64 1/3 a)))
(/.f64 (+.f64 (neg.f64 b) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) b)) (*.f64 3 a))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 -3/2 (/.f64 c b))))
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 (*.f64 -3/2 c) a) b)) (/.f64 1 a)) -3)
(/.f64 (*.f64 (+.f64 (*.f64 2 b) (/.f64 (*.f64 -3/2 (*.f64 c a)) b)) (/.f64 1 a)) -3)
(+.f64 (*.f64 -2/3 (/.f64 b a)) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 c a) (/.f64 b -3/2)))))
(+.f64 (*.f64 -1/3 (*.f64 (/.f64 1 a) (+.f64 b b))) (*.f64 -1/3 (*.f64 (/.f64 1 a) (/.f64 (*.f64 (*.f64 -3/2 c) a) b))))
(*.f64 (-.f64 b (sqrt.f64 (*.f64 b b))) (/.f64 -1/3 a))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 b b))) (*.f64 3 a))
Outputs
(/.f64 b (*.f64 -3/2 a))
(/.f64 (*.f64 -1/2 c) b)
Calls

5 calls:

258.0ms
(*.f64 3 a)
228.0ms
c
210.0ms
(*.f64 3 a)
190.0ms
a
68.0ms
b
Results
ErrorSegmentsBranch
36.1b5a
21.3b2b
34.2b7c
36.1b5(*.f64 3 a)
36.1b5(*.f64 3 a)
Compiler

Compiled 686 to 393 computations (42.7% saved)

bsearch52.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
52.0ms
2.7668325536441838e-188
5.061338822047233e-187
Compiler

Compiled 152 to 117 computations (23% saved)

regimes26.0ms (0.1%)

Counts
8 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
(/.f64 (*.f64 1/2 c) b)
(*.f64 b (/.f64 -2/3 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (/.f64 a -2/3))
Outputs
(/.f64 b (*.f64 -3/2 a))
(/.f64 (*.f64 1/2 c) b)
Calls

3 calls:

11.0ms
b
7.0ms
c
6.0ms
a
Results
ErrorSegmentsBranch
45.4b1a
41.2b2b
45.4b1c
Compiler

Compiled 55 to 36 computations (34.5% saved)

bsearch196.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
196.0ms
9.156418112846731e-27
7.518352745457624e-25
Compiler

Compiled 152 to 117 computations (23% saved)

regimes15.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(/.f64 (/.f64 b a) -3/2)
Outputs
(/.f64 b (*.f64 -3/2 a))
Calls

3 calls:

5.0ms
b
4.0ms
c
4.0ms
a
Results
ErrorSegmentsBranch
45.4b1a
45.4b1b
45.4b1c
Compiler

Compiled 35 to 24 computations (31.4% saved)

regimes12.0ms (0%)

Accuracy

Total -0.1b remaining (-0.1%)

Threshold costs -0.1b (-0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 (/.f64 -2/3 a) b)
(/.f64 (*.f64 -2/3 b) a)
Outputs
(/.f64 (*.f64 -2/3 b) a)
Calls

3 calls:

4.0ms
b
4.0ms
c
3.0ms
a
Results
ErrorSegmentsBranch
45.5b1a
45.5b1b
45.5b1c
Compiler

Compiled 25 to 18 computations (28% saved)

simplify112.0ms (0.4%)

Algorithm
egg-herbie
Stop Event
fuel
Calls
Call 1
Inputs
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (/.f64 -1 a) 3)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -6285626241832747/1496577676626844588240573268701473812127674924007424) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -6285626241832747/1496577676626844588240573268701473812127674924007424) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b 4389399446348979/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (/.f64 b (*.f64 -3/2 a)) (/.f64 (*.f64 -1/2 c) b))
(if (<=.f64 b 8166776806102523/10889035741470030830827987437816582766592) (/.f64 b (*.f64 -3/2 a)) (/.f64 (*.f64 1/2 c) b))
(/.f64 b (*.f64 -3/2 a))
(/.f64 (*.f64 -2/3 b) a)
(*.f64 (/.f64 -2/3 a) b)
Outputs
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 (/.f64 -1 a) 3)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 -3 a) c)))) (/.f64 -1/3 a)) (/.f64 (*.f64 c -1/2) b)))
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 -3 a) c)))) (/.f64 -1/3 a)) (/.f64 (*.f64 c -1/2) b)))
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (+.f64 (*.f64 (*.f64 -3 c) a) (*.f64 b b)))) (/.f64 -1/3 a)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -65999999999999999852307280154645199824313749220942390393237468789529044624821769116385997225984) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (hypot.f64 b (sqrt.f64 (*.f64 (*.f64 -3 a) c)))) (/.f64 -1/3 a)) (/.f64 (*.f64 c -1/2) b)))
(if (<=.f64 b -6285626241832747/1496577676626844588240573268701473812127674924007424) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 (/.f64 -1 a) 3)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -6285626241832747/1496577676626844588240573268701473812127674924007424) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (*.f64 (*.f64 -3 a) c))) (/.f64 -1/3 a)) (/.f64 (*.f64 c -1/2) b)))
(if (<=.f64 b -6285626241832747/1496577676626844588240573268701473812127674924007424) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (*.f64 -3 (*.f64 c a)))) (/.f64 -1/3 a)) (/.f64 (*.f64 -1/2 c) b)))
(if (<=.f64 b -6285626241832747/1496577676626844588240573268701473812127674924007424) (/.f64 b (*.f64 -3/2 a)) (if (<=.f64 b 7225426368408531/463168356949264781694283940034751631413079938662562256157830336031652518559744) (*.f64 (-.f64 b (sqrt.f64 (*.f64 (*.f64 -3 a) c))) (/.f64 -1/3 a)) (/.f64 (*.f64 c -1/2) b)))
(if (<=.f64 b 4389399446348979/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (/.f64 b (*.f64 -3/2 a)) (/.f64 (*.f64 -1/2 c) b))
(if (<=.f64 b 4389399446348979/156764265941034957982331212844852467344711417043899710759469297619722251722129607859661177881884230709880082871203965476543290384119266386721367084105368877945996036265148061460008137163052639879920877568) (/.f64 b (*.f64 -3/2 a)) (/.f64 (*.f64 c -1/2) b))
(if (<=.f64 b 8166776806102523/10889035741470030830827987437816582766592) (/.f64 b (*.f64 -3/2 a)) (/.f64 (*.f64 1/2 c) b))
(if (<=.f64 b 8166776806102523/10889035741470030830827987437816582766592) (/.f64 b (*.f64 -3/2 a)) (/.f64 (*.f64 c 1/2) b))
(/.f64 b (*.f64 -3/2 a))
(/.f64 (*.f64 -2/3 b) a)
(/.f64 b (*.f64 -3/2 a))
(*.f64 (/.f64 -2/3 a) b)
(/.f64 b (*.f64 -3/2 a))
Compiler

Compiled 240 to 168 computations (30% saved)

soundness0.0ms (0%)

end151.0ms (0.6%)

Compiler

Compiled 213 to 138 computations (35.2% saved)

Profiling

Loading profile data...