Details

Time bar (total: 15.6s)

analyze8.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
57.1%50%37.5%0%12.5%0%0%4
76.9%62.5%18.7%0%18.7%0%0%5
88%68.7%9.4%0%21.9%0%0%6
93.9%71.8%4.7%0%23.4%0%0%7
96.9%73.4%2.3%0%24.2%0%0%8
98.4%74.2%1.2%0%24.6%0%0%9
99.2%74.6%0.6%0%24.8%0%0%10
99.6%74.8%0.3%0%24.9%0%0%11
99.8%74.9%0.1%0%24.9%0%0%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample1.7s (10.6%)

Results
1.6s8256×body256valid
2.0ms18×body256infinite
Bogosity

preprocess94.0ms (0.6%)

Algorithm
egg-herbie
Rules
954×fma-def_binary64
722×fma-neg_binary64
150×cancel-sign-sub-inv_binary64
108×distribute-rgt-in_binary64
76×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
13314
27612
318612
43809
55459
68729
715339
824219
928029
1029139
1130399
1230459
1330459
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Outputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(+.f64 (*.f64 (fma.f64 (*.f64 3 x) x (neg.f64 (*.f64 x 4))) 3) 3)
(fma.f64 3 (*.f64 x (-.f64 (*.f64 3 x) 4)) 3)
(fma.f64 3 (*.f64 x (fma.f64 3 x -4)) 3)
(fma.f64 x (fma.f64 x 9 -12) 3)
Compiler

Compiled 15 to 12 computations (20% saved)

simplify82.0ms (0.5%)

Algorithm
egg-herbie
Rules
954×fma-def_binary64
722×fma-neg_binary64
150×cancel-sign-sub-inv_binary64
108×distribute-rgt-in_binary64
76×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01119
13314
27612
318612
43809
55459
68729
715339
824219
928029
1029139
1130399
1230459
1330459
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Outputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(+.f64 (*.f64 (fma.f64 (*.f64 3 x) x (neg.f64 (*.f64 x 4))) 3) 3)
(fma.f64 3 (*.f64 x (-.f64 (*.f64 3 x) 4)) 3)
(fma.f64 3 (*.f64 x (fma.f64 3 x -4)) 3)
(fma.f64 x (fma.f64 x 9 -12) 3)

eval1.0ms (0%)

Compiler

Compiled 21 to 16 computations (23.8% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(fma.f64 x (fma.f64 x 9 -12) 3)
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Compiler

Compiled 22 to 17 computations (22.7% saved)

localize21.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
0.2b
(*.f64 (*.f64 x 3) x)
Compiler

Compiled 49 to 35 computations (28.6% saved)

series5.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (*.f64 x 3) x)
1.0ms
x
@inf
(*.f64 (*.f64 x 3) x)
1.0ms
x
@0
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
1.0ms
x
@inf
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
1.0ms
x
@0
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))

rewrite130.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
707×fma-def_binary64
571×log-prod_binary64
400×fma-neg_binary64
343×pow-prod-down_binary64
303×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01139
125631
2335927
Stop Event
node limit
Counts
3 → 261
Calls
Call 1
Inputs
(*.f64 (*.f64 x 3) x)
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 3))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 x 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (*.f64 x 3))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (exp.f64 (fma.f64 x (fma.f64 x 3 -4) 1)) 2)) (fma.f64 x (fma.f64 x 3 -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (fma.f64 x (fma.f64 x 3 -4) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (fma.f64 x (fma.f64 x 3 -4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 3) 27) (+.f64 (pow.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 2) (-.f64 9 (*.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 2) 9) (fma.f64 3 (*.f64 x (fma.f64 x 3 -4)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3)) 3) (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) (-.f64 1 (*.f64 x (fma.f64 x 3 -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) -1) 3) (fma.f64 x (fma.f64 x 3 -4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3))) (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) (-.f64 1 (*.f64 x (fma.f64 x 3 -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) -1)) (fma.f64 x (fma.f64 x 3 -4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9 (pow.f64 (fma.f64 x (fma.f64 x 3 -4) 1) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 9 (pow.f64 (fma.f64 x (fma.f64 x 3 -4) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3) (fma.f64 x (fma.f64 x 3 -4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 3 (fma.f64 x (fma.f64 x 3 -4) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x (fma.f64 x 3 -4)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 3) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 3) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4))) 1 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4)))) 2) (cbrt.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4)))) (sqrt.f64 (*.f64 3 (*.f64 x (fma.f64 x 3 -4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2)) (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4)))) (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 3)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 3 -4)) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 3 -4)) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x -4 (*.f64 x 4)) (*.f64 x (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -4) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3 -4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3 -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3 -4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3 -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (fma.f64 x 3 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (fma.f64 x 3 -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) (/.f64 1 (*.f64 x (fma.f64 x 3 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (-.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2)) (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) (*.f64 x (fma.f64 x 3 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64))) (neg.f64 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4)))) (neg.f64 (*.f64 x (fma.f64 x 3 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (pow.f64 (*.f64 x -4) 3)) (+.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 2) (-.f64 (pow.f64 (*.f64 x -4) 2) (*.f64 (*.f64 x (*.f64 x 3)) (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3) (pow.f64 (fma.f64 x -4 (*.f64 x 4)) 3)) (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) (-.f64 (pow.f64 (fma.f64 x -4 (*.f64 x 4)) 2) (*.f64 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 x -4 (*.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 2) (pow.f64 (*.f64 x -4) 2)) (-.f64 (*.f64 x (*.f64 x 3)) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) (pow.f64 (fma.f64 x -4 (*.f64 x 4)) 2)) (-.f64 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) 1) (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) 1) (*.f64 x (fma.f64 x 3 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 x 3 -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2)) (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x 3 -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x 3)))) (pow.f64 (exp.f64 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) (*.f64 x 3)) (+.f64 1 (expm1.f64 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x 3)))) (+.f64 1 (expm1.f64 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x 3)))) (exp.f64 (*.f64 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x 3)))) (pow.f64 (exp.f64 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x 3 -4)))) (exp.f64 (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x -4 (*.f64 x 4))) (pow.f64 (exp.f64 x) (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x -4 (*.f64 x 4))) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 x 3 -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x -4)) (pow.f64 (exp.f64 x) (*.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x -4)) (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) -4) (+.f64 1 (expm1.f64 (*.f64 x (*.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 x (fma.f64 x 3 -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 x 3 -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x 3) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x 3) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x 3) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 x 3) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -4 (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 x 3 -4) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 x 3 -4) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 x 3 -4) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 x 3 -4) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 x 3 -4) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3) x (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3) x (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3) x (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 3) x (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x 3)) 1 (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x 3)) 1 (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x 3)) 1 (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 x 3)) 1 (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 4 (neg.f64 x) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 x 3 -4)) 1 (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 x 3 -4)) 1 (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 x 3 -4)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 x 3 -4)) 1 (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 x 3 -4)) 1 (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 x 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 x 3)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 x 3)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (*.f64 x 3)) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 x 3 -4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 x 3 -4)) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 x 3 -4)) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (fma.f64 x 3 -4) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -4 (*.f64 x 4)) (*.f64 x (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -4) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (fma.f64 x 3 -4) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (cbrt.f64 (*.f64 x (*.f64 x 3))) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (cbrt.f64 (*.f64 x (*.f64 x 3))) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (cbrt.f64 (*.f64 x (*.f64 x 3))) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 3))) 2) (cbrt.f64 (*.f64 x (*.f64 x 3))) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 3)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 3)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x 3)) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 3 -4) 1)) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 3 -4) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 3 -4) 1)) 2) (cbrt.f64 (fma.f64 x (fma.f64 x 3 -4) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (neg.f64 (cbrt.f64 (*.f64 x 4))) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) (*.f64 (cbrt.f64 (*.f64 x 3)) x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) (*.f64 (cbrt.f64 (*.f64 x 3)) x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) (*.f64 (cbrt.f64 (*.f64 x 3)) x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) (*.f64 (cbrt.f64 (*.f64 x 3)) x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 1) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x (*.f64 x 3))) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x (*.f64 x 3))) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x (*.f64 x 3))) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x (*.f64 x 3))) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 3)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 3)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x 3)) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 3 -4) 1)) (sqrt.f64 (fma.f64 x (fma.f64 x 3 -4) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 4)) (neg.f64 (sqrt.f64 (*.f64 x 4))) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 x 3)) x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 x 3)) x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 x 3)) x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 x 3)) x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -4 x (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 x (*.f64 x 3)) 3) (*.f64 (pow.f64 x 3) 64)) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 x 3 4)) (pow.f64 (*.f64 x (*.f64 x 3)) 2))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) (-.f64 1 (*.f64 x (fma.f64 x 3 -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) (/.f64 1 (*.f64 x (fma.f64 x 3 4))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) (/.f64 1 (*.f64 x (fma.f64 x 3 4))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) (/.f64 1 (*.f64 x (fma.f64 x 3 4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) (/.f64 1 (*.f64 x (fma.f64 x 3 4))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x (fma.f64 x 3 4)) (*.f64 x (fma.f64 x 3 -4))) (/.f64 1 (*.f64 x (fma.f64 x 3 4))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2) -1) (/.f64 1 (fma.f64 x (fma.f64 x 3 -4) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) 4 (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -4 (*.f64 x 4))) 2) (cbrt.f64 (fma.f64 x -4 (*.f64 x 4))) (*.f64 x (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x -4)) 2) (cbrt.f64 (*.f64 x -4)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -4 (*.f64 x 4))) (sqrt.f64 (fma.f64 x -4 (*.f64 x 4))) (*.f64 x (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -4)) (sqrt.f64 (*.f64 x -4)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 x 4))) (sqrt.f64 (*.f64 x 4)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 x 4) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (-.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (-.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (-.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (-.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (-.f64 (sqrt.f64 (*.f64 x (*.f64 x 3))) (sqrt.f64 (*.f64 x 4))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 x 4)) 2)) (cbrt.f64 (*.f64 x 4)) (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (*.f64 x 3)) 2)) (cbrt.f64 (*.f64 x 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (*.f64 x 3)) 2)) (cbrt.f64 (*.f64 x 3)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (*.f64 x 3)) 2)) (cbrt.f64 (*.f64 x 3)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (*.f64 x 3)) 2)) (cbrt.f64 (*.f64 x 3)) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 x 3))) (sqrt.f64 (*.f64 x 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 x 3))) (sqrt.f64 (*.f64 x 3)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 x 3))) (sqrt.f64 (*.f64 x 3)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 (*.f64 x 3))) (sqrt.f64 (*.f64 x 3)) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x 3) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))))

simplify204.0ms (1.3%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
638×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
017327
136315
264304
3133264
4318264
5890264
61377264
71843264
81952264
92086264
102255264
112500264
122817264
133189264
143645264
154232264
164942264
175802264
186226264
196542264
206846264
216924264
226960264
Stop Event
node limit
Counts
297 → 276
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
Outputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(fma.f64 x -12 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x 9 -12)
0.1b
(fma.f64 x (fma.f64 x 9 -12) 3)
Compiler

Compiled 16 to 12 computations (25% saved)

series58.0ms (0.4%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
56.0ms
x
@0
(fma.f64 x (fma.f64 x 9 -12) 3)
0.0ms
x
@inf
(fma.f64 x (fma.f64 x 9 -12) 3)
0.0ms
x
@-inf
(fma.f64 x (fma.f64 x 9 -12) 3)
0.0ms
x
@-inf
(fma.f64 x 9 -12)
0.0ms
x
@0
(fma.f64 x 9 -12)

rewrite62.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
607×pow1_binary64
568×add-log-exp_binary64
568×log1p-expm1-u_binary64
568×expm1-log1p-u_binary64
559×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
114214
2149514
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(fma.f64 x (fma.f64 x 9 -12) 3)
(fma.f64 x 9 -12)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 x (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 9 -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x (fma.f64 x 9 -12) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2) (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 9 -12)) 3) 27) (+.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) (*.f64 x (fma.f64 x 9 -12))) (-.f64 9 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) (*.f64 x (fma.f64 x 9 -12))) 9) (-.f64 (*.f64 x (fma.f64 x 9 -12)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -12 (*.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 9) 1) -12)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x 9 -12)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 9 -12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 9 -12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 9 -12)) (pow.f64 (cbrt.f64 (fma.f64 x 9 -12)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 9 -12)) 2) (cbrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 9 -12)) (sqrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x 9) 3) -1728) (+.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) (-.f64 144 (*.f64 (*.f64 x 9) -12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 9 -12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 9 -12) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 9 -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 9 -12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 9 -12) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 9 -12)))))))

simplify159.0ms (1%)

Algorithm
egg-herbie
Rules
778×sqr-pow_binary64
540×cube-prod_binary64
537×fabs-mul_binary64
532×associate-*l*_binary64
494×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
016180
135168
256156
388144
4194144
5521144
61793144
73129144
83334144
93546144
103766144
114081144
124483144
134994144
145563144
156251144
167088144
177478144
187770144
Stop Event
node limit
Counts
66 → 56
Calls
Call 1
Inputs
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
-12
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
Outputs
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 9 (*.f64 x x)))
(fma.f64 9 (*.f64 x x) (*.f64 -12 x))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 9 (*.f64 x x)))
(fma.f64 9 (*.f64 x x) (*.f64 -12 x))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
-12
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)

eval217.0ms (1.4%)

Compiler

Compiled 6424 to 5004 computations (22.1% saved)

prune46.0ms (0.3%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New32210332
Fresh000
Picked101
Done011
Total32311334
Error
0b
Counts
334 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.1b
(fma.f64 x (/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12)) 3)
42.4b
(*.f64 9 (pow.f64 x 2))
42.4b
(*.f64 x (*.f64 x 9))
20.9b
(+.f64 (*.f64 -12 x) 3)
21.1b
3
0.8b
(pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2)
0.1b
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
20.9b
(*.f64 3 (+.f64 (*.f64 x -4) 1))
0.1b
(fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)
Compiler

Compiled 194 to 155 computations (20.1% saved)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
Compiler

Compiled 21 to 16 computations (23.8% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
0.0ms
x
@0
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
0.0ms
x
@-inf
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)

rewrite54.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
814×pow1_binary64
764×add-log-exp_binary64
764×log1p-expm1-u_binary64
764×expm1-log1p-u_binary64
752×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
089
11749
220069
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 x (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 9 -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x (fma.f64 x 9 -12) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2) (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 9 -12)) 3) 27) (+.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) (*.f64 x (fma.f64 x 9 -12))) (-.f64 9 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) (*.f64 x (fma.f64 x 9 -12))) 9) (-.f64 (*.f64 x (fma.f64 x 9 -12)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))))

simplify163.0ms (1%)

Algorithm
egg-herbie
Rules
778×sqr-pow_binary64
540×cube-prod_binary64
535×associate-*l*_binary64
531×fabs-mul_binary64
513×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
013126
128114
249112
39390
420390
554990
6183490
7315890
8336490
9357790
10379790
11411190
12451390
13502690
14559390
15628190
16711890
17751090
18779690
Stop Event
node limit
Counts
33 → 30
Calls
Call 1
Inputs
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
Outputs
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(fma.f64 -12 x (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(fma.f64 -12 x (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 9 (*.f64 x x)))
(fma.f64 9 (*.f64 x x) (*.f64 -12 x))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(fma.f64 -12 x (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(fma.f64 -12 x (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 9 (*.f64 x x)))
(fma.f64 9 (*.f64 x x) (*.f64 -12 x))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(fma.f64 -12 x (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 9 (*.f64 x x)))
(fma.f64 -12 x (fma.f64 9 (*.f64 x x) 3))
(fma.f64 -12 x (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (*.f64 x 9))
Compiler

Compiled 11 to 7 computations (36.4% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 x (*.f64 x 9))
0.0ms
x
@0
(*.f64 x (*.f64 x 9))
0.0ms
x
@-inf
(*.f64 x (*.f64 x 9))

rewrite96.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
445×pow1_binary64
429×add-sqr-sqrt_binary64
422×*-un-lft-identity_binary64
413×add-log-exp_binary64
413×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11027
211417
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 x (*.f64 x 9))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9))) (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 9)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (*.f64 x 9))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 x 9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (*.f64 x 9)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (*.f64 x 9))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (*.f64 x 9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 x 9)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (*.f64 x 9)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 x 9))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 x 9))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 x 3))))))))

simplify175.0ms (1.1%)

Algorithm
egg-herbie
Rules
1082×sqr-pow_binary64
617×cube-prod_binary64
554×fabs-mul_binary64
523×pow-sqr_binary64
441×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11284
22384
34484
410584
533184
6125084
7212384
8228784
9247084
10267884
11297384
12336484
13384784
14441584
15509984
16593484
17633084
18661884
19689484
20696684
21700284
22794384
Stop Event
node limit
Counts
26 → 16
Calls
Call 1
Inputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
Outputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 3 (+.f64 (*.f64 x -4) 1))
Compiler

Compiled 20 to 16 computations (20% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 3 (+.f64 (*.f64 x -4) 1))
0.0ms
x
@inf
(*.f64 3 (+.f64 (*.f64 x -4) 1))
0.0ms
x
@-inf
(*.f64 3 (+.f64 (*.f64 x -4) 1))

rewrite66.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
762×pow1_binary64
713×log1p-expm1-u_binary64
713×expm1-log1p-u_binary64
712×add-log-exp_binary64
701×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
088
11707
219877
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 3 (+.f64 (*.f64 x -4) 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 x -12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x -12) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x -12) 3) 27) (+.f64 (*.f64 (*.f64 x -12) (*.f64 x -12)) (-.f64 9 (*.f64 (*.f64 x -12) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x -12) (*.f64 x -12)) 9) (-.f64 (*.f64 x -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (*.f64 (pow.f64 x 3) -64)) 3) (+.f64 (*.f64 (*.f64 x x) 16) (-.f64 1 (*.f64 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (*.f64 x x) 16) -1) 3) (fma.f64 x -4 -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 1 (*.f64 (pow.f64 x 3) -64))) (+.f64 (*.f64 (*.f64 x x) 16) (-.f64 1 (*.f64 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 (*.f64 (*.f64 x x) 16) -1)) (fma.f64 x -4 -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 3 (*.f64 x -12)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 3 (*.f64 x -12)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 3 (*.f64 x -12))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 3 (*.f64 x -12))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 3 (*.f64 x -12)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 3 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 3 (*.f64 x -12)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 3 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 3 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 3 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x -4) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -4) 3 3)))))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0754
1954
21054
Stop Event
saturated
Counts
34 → 27
Calls
Call 1
Inputs
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
Outputs
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)

localize118.0ms (0.8%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 x 2)
0.2b
(*.f64 9 (pow.f64 x 2))
Compiler

Compiled 12 to 9 computations (25% saved)

series2.0ms (0%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(pow.f64 x 2)
0.0ms
x
@inf
(pow.f64 x 2)
0.0ms
x
@0
(*.f64 9 (pow.f64 x 2))
0.0ms
x
@inf
(*.f64 9 (pow.f64 x 2))
0.0ms
x
@-inf
(*.f64 9 (pow.f64 x 2))

rewrite48.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
475×pow1_binary64
463×add-sqr-sqrt_binary64
454×*-un-lft-identity_binary64
443×add-log-exp_binary64
442×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
112511
2126811
Stop Event
node limit
Counts
2 → 27
Calls
Call 1
Inputs
(*.f64 9 (pow.f64 x 2))
(pow.f64 x 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 9 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 9 (*.f64 x x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 9 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 x 4) 81))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 9) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 9 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 9 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 9 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 9 (*.f64 x x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 x)))))))

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
27 → 27
Calls
Call 1
Inputs
Outputs

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x 3 -4)
0.1b
(fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)
0.1b
(*.f64 x (fma.f64 x 3 -4))
Compiler

Compiled 23 to 17 computations (26.1% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 x (fma.f64 x 3 -4))
1.0ms
x
@-inf
(*.f64 x (fma.f64 x 3 -4))
0.0ms
x
@inf
(*.f64 x (fma.f64 x 3 -4))
0.0ms
x
@inf
(fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)
0.0ms
x
@-inf
(fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
657×pow1_binary64
610×add-log-exp_binary64
610×log1p-expm1-u_binary64
610×expm1-log1p-u_binary64
600×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0725
114325
2160725
Stop Event
node limit
Counts
3 → 58
Calls
Call 1
Inputs
(*.f64 x (fma.f64 x 3 -4))
(fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)
(fma.f64 x 3 -4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 3) x) (*.f64 -4 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 x 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x (fma.f64 x 3 -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 x 3 -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 x 3 -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 x 3 -4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 x 3 -4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (fma.f64 x 3 -4) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 x 3 -4) 3) (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 x 3 -4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 x 3 -4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)) 2) (cbrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)) (sqrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (fma.f64 x 3 -4)) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)) 3) 27) (+.f64 (*.f64 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)) (*.f64 x (*.f64 (fma.f64 x 3 -4) 3))) (-.f64 9 (*.f64 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)) (*.f64 x (*.f64 (fma.f64 x 3 -4) 3))) 9) (-.f64 (*.f64 x (*.f64 (fma.f64 x 3 -4) 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -4 (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 3) -4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x 3) 1) -4)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x 3 -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 3 -4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 3 -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 3 -4)) (pow.f64 (cbrt.f64 (fma.f64 x 3 -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 3 -4)) 2) (cbrt.f64 (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 3 -4)) (sqrt.f64 (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x 3) 3) -64) (+.f64 (*.f64 (*.f64 x 3) (*.f64 x 3)) (-.f64 16 (*.f64 (*.f64 x 3) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x 3) (*.f64 x 3)) 16) (-.f64 (*.f64 x 3) -4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 3 -4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 3 -4) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 3 -4)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 3 -4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 3 -4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 3 -4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 3 -4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 3 -4)))))))

simplify190.0ms (1.2%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
632×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
020297
143285
271256
3131234
4307234
5871234
61340234
71806234
81915234
92047234
102219234
112462234
122779234
133149234
143604234
154189234
164899234
175757234
186183234
196495234
206799234
216879234
226913234
Stop Event
node limit
Counts
94 → 77
Calls
Call 1
Inputs
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
-4
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(*.f64 3 x)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(*.f64 3 x)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
(-.f64 (*.f64 3 x) 4)
Outputs
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 x 3))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 x (*.f64 x 3))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 -4 x))
(fma.f64 -4 x (*.f64 3 (*.f64 x x)))
(*.f64 x (fma.f64 x 3 -4))
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(fma.f64 x -12 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
-4
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(*.f64 3 x)
(*.f64 x 3)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(*.f64 3 x)
(*.f64 x 3)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)
(-.f64 (*.f64 3 x) 4)
(fma.f64 3 x -4)
(fma.f64 x 3 -4)

eval54.0ms (0.3%)

Compiler

Compiled 1846 to 1439 computations (22% saved)

prune58.0ms (0.4%)

Pruning

12 alts after pruning (8 fresh and 4 done)

PrunedKeptTotal
New1716177
Fresh325
Picked101
Done145
Total17612188
Error
0b
Counts
188 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
42.4b
(*.f64 x (*.f64 x 9))
42.4b
(*.f64 9 (*.f64 x x))
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.1b
(fma.f64 x (/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12)) 3)
20.9b
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
20.9b
(+.f64 (*.f64 x -12) 3)
61.6b
(*.f64 -12 x)
21.1b
3
0.1b
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
20.9b
(*.f64 3 (+.f64 (*.f64 x -4) 1))
42.4b
(pow.f64 (*.f64 x 3) 2)
Compiler

Compiled 169 to 135 computations (20.1% saved)

localize44.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12)) 3)
0.2b
(/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12))
0.3b
(*.f64 (*.f64 x 9) (*.f64 x 9))
Compiler

Compiled 63 to 49 computations (22.2% saved)

series9.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
x
@0
(/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12))
1.0ms
x
@inf
(/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12))
1.0ms
x
@0
(*.f64 (*.f64 x 9) (*.f64 x 9))
1.0ms
x
@inf
(*.f64 (*.f64 x 9) (*.f64 x 9))
1.0ms
x
@-inf
(/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12))

rewrite184.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
617×log-prod_binary64
339×fma-def_binary64
337×pow2_binary64
302×prod-diff_binary64
251×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01245
128021
2367921
Stop Event
node limit
Counts
3 → 244
Calls
Call 1
Inputs
(*.f64 (*.f64 x 9) (*.f64 x 9))
(/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12))
(fma.f64 x (/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12)) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 81 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 81 x))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 81 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 81 x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (*.f64 81 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 x (*.f64 81 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 9) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 81 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x 9) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x 9) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x 9) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (*.f64 81 x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (*.f64 81 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x 9) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (*.f64 81 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (*.f64 81 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 x 9))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x 9)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 x 9))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -12 (*.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x 9 -12) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (sqrt.f64 (/.f64 144 (fma.f64 x 9 12))) (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x 9 -12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 x (*.f64 81 x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) 2) (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x 1) (/.f64 (*.f64 81 x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) 1) (/.f64 9 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x (*.f64 81 x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 9 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x (*.f64 81 x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 9 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 (pow.f64 x 3) 729 1728)) (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 x (*.f64 81 x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) 2) (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x 1) (/.f64 (*.f64 81 x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) 1) (/.f64 9 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x (*.f64 81 x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 9 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x (*.f64 81 x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 9 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 (pow.f64 x 3) 729 1728)) (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 x (*.f64 81 x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) 2) (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x 1) (/.f64 (*.f64 81 x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) 1) (/.f64 9 (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x (*.f64 81 x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 9 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x (*.f64 81 x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 9 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 (pow.f64 x 3) 729 1728)) (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (pow.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 x (*.f64 81 x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) 2) (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x 1) (/.f64 (*.f64 81 x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) 1) (/.f64 9 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x (*.f64 81 x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 9 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x (*.f64 81 x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 9 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 (pow.f64 x 3) 729 1728)) (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 x (*.f64 81 x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 x (*.f64 81 x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) 2) (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x 1) (/.f64 (*.f64 81 x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) 1) (/.f64 9 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x (*.f64 81 x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 9 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x (*.f64 81 x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 9 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 (pow.f64 x 3) 729 1728)) (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728))))) (fma.f64 (neg.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)) (*.f64 (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 (pow.f64 x 3) 729 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x 9 -12))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x 9 -12)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x 9 -12)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x 9 -12)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 9) 12)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (/.f64 144 (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x 9 -12))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (*.f64 81 x) -144) (/.f64 1 (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 9 -12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 9 -12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 9 -12)) (pow.f64 (cbrt.f64 (fma.f64 x 9 -12)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x 9 -12)) 2) (cbrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 81 x) -144)) 2) (*.f64 (cbrt.f64 (fma.f64 x (*.f64 81 x) -144)) (/.f64 1 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 9 -12)) (sqrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (*.f64 81 x) -144)) (*.f64 (sqrt.f64 (fma.f64 x (*.f64 81 x) -144)) (/.f64 1 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x (*.f64 81 x) -144)) (/.f64 1 (neg.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x 9 12)) (fma.f64 x (*.f64 81 x) -144))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (fma.f64 x (*.f64 81 x) -144) (cbrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (fma.f64 x (*.f64 81 x) -144) (sqrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 81 x) -144)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x (*.f64 81 x) -144)) 1) (/.f64 (sqrt.f64 (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 81 x) -144)) 2) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (cbrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 x (*.f64 81 x) -144)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (sqrt.f64 (fma.f64 x (*.f64 81 x) -144)) (cbrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 81 x) -144)) 2) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (cbrt.f64 (fma.f64 x (*.f64 81 x) -144)) (sqrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x (*.f64 81 x) -144) (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 -12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x (*.f64 81 x) -144) (fma.f64 (pow.f64 x 3) 729 1728)) (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 9 -12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 9 -12) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 9 -12) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 9 -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 9 -12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x 9 -12)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 x (*.f64 81 x) -144) 3) (pow.f64 (fma.f64 x 9 12) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (fma.f64 x 9 -12)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 x (*.f64 81 x) -144) (neg.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 9 -12) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x 9 -12))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 x (*.f64 81 x) -144) 3) (pow.f64 (fma.f64 x 9 12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x 9 -12)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 9 -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 9 x -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 9) 1 -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (*.f64 81 x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 9)) (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (*.f64 x 9)) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 81 x)) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (sqrt.f64 x)) (*.f64 3 (sqrt.f64 x)) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) 2) (cbrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (*.f64 x 9))) 3 -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2)) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (sqrt.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x 1) (/.f64 (*.f64 81 x) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) 1) (/.f64 9 (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x (*.f64 81 x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 9 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x (*.f64 81 x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 x 9) 4)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 x 9)) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 9 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 x (*.f64 81 x) -144)) (fma.f64 x 9 -12) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x (*.f64 81 x)) (fma.f64 (pow.f64 x 3) 729 1728)) (fma.f64 x (*.f64 81 x) (fma.f64 x -108 144)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9 (sqrt.f64 x)) (sqrt.f64 x) -12)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 x (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 9 -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (fma.f64 x 9 -12) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2) (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 9 -12)) 3) 27) (+.f64 (pow.f64 (*.f64 x (fma.f64 x 9 -12)) 2) (-.f64 9 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 x 9 -12)) 2) 9) (fma.f64 x (fma.f64 x 9 -12) -3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (fma.f64 x 9 -12) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 1))))))

simplify210.0ms (1.3%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
639×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
018264
138252
263240
3105228
4248228
5716228
61073228
71514228
81618228
91750228
101919228
112162228
122477228
132849228
143308228
153897228
164605228
175465228
185893228
196207228
206515228
216593228
226627228
Stop Event
node limit
Counts
280 → 259
Calls
Call 1
Inputs
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
-12
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
Outputs
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
-12
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(fma.f64 x -12 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)

localize5.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 9 (*.f64 x x))
Compiler

Compiled 11 to 5 computations (54.5% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 9 (*.f64 x x))
0.0ms
x
@inf
(*.f64 9 (*.f64 x x))
0.0ms
x
@-inf
(*.f64 9 (*.f64 x x))

rewrite57.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
429×pow1_binary64
416×add-sqr-sqrt_binary64
408×*-un-lft-identity_binary64
400×add-log-exp_binary64
400×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11037
211487
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 9 (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 9 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 9) (*.f64 x x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 9) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 9) (*.f64 x x))) (cbrt.f64 (pow.f64 (exp.f64 9) (*.f64 x x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 9) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 9 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 9 (*.f64 x x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 9 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 81 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 9) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 9 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 9 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 9 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 x 3))))))))

simplify185.0ms (1.2%)

Algorithm
egg-herbie
Rules
1082×sqr-pow_binary64
617×cube-prod_binary64
554×fabs-mul_binary64
523×pow-sqr_binary64
441×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11284
22384
34484
410584
533184
6125084
7212384
8228784
9247084
10267884
11297384
12336484
13384784
14441584
15509984
16593484
17633084
18661884
19689484
20696684
21700284
22794384
Stop Event
node limit
Counts
26 → 16
Calls
Call 1
Inputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
Outputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x -12) 3)
Compiler

Compiled 12 to 9 computations (25% saved)

series4.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(+.f64 (*.f64 x -12) 3)
1.0ms
x
@0
(+.f64 (*.f64 x -12) 3)
1.0ms
x
@inf
(+.f64 (*.f64 x -12) 3)

rewrite89.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
635×pow1_binary64
598×add-log-exp_binary64
598×log1p-expm1-u_binary64
598×expm1-log1p-u_binary64
589×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065
11325
215685
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(+.f64 (*.f64 x -12) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x -12 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 x -12) 2) (fma.f64 x -12 -3)) (/.f64 9 (fma.f64 x -12 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -12 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x -12 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x -12 3)) (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) (cbrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 27 (*.f64 -1728 (pow.f64 x 3))) (/.f64 1 (+.f64 (pow.f64 (*.f64 x -12) 2) (-.f64 9 (*.f64 x -36)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 x -12) 2) -9) (/.f64 1 (fma.f64 x -12 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x -12) 2) (-.f64 9 (*.f64 x -36))) (+.f64 27 (*.f64 -1728 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x -12 -3) (+.f64 (pow.f64 (*.f64 x -12) 2) -9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 27 (*.f64 -1728 (pow.f64 x 3))) (+.f64 (pow.f64 (*.f64 x -12) 2) (-.f64 9 (*.f64 x -36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 27 (*.f64 -1728 (pow.f64 x 3))) (+.f64 9 (-.f64 (pow.f64 (*.f64 x -12) 2) (*.f64 x -36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x -12) 2) -9) (fma.f64 x -12 -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 27 (*.f64 -1728 (pow.f64 x 3)))) (neg.f64 (+.f64 (pow.f64 (*.f64 x -12) 2) (-.f64 9 (*.f64 x -36)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x -12) 2) -9)) (neg.f64 (fma.f64 x -12 -3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 9 (pow.f64 (*.f64 x -12) 2)) (-.f64 3 (*.f64 x -12)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x -12 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -12 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x -12 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x -12 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x -12 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -12 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -12 x 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x -12)) 2) (cbrt.f64 (*.f64 x -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -12)) (sqrt.f64 (*.f64 x -12)) 3)))))

simplify19.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0754
1954
21054
Stop Event
saturated
Counts
44 → 36
Calls
Call 1
Inputs
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
Outputs
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)

localize8.0s (51.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (+.f64 3 (*.f64 x -12)))
0.0b
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
0.0b
(+.f64 3 (*.f64 x -12))
Compiler

Compiled 29 to 24 computations (17.2% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(+.f64 3 (*.f64 x -12))
0.0ms
x
@inf
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
0.0ms
x
@0
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
0.0ms
x
@inf
(+.f64 3 (*.f64 x -12))
0.0ms
x
@-inf
(+.f64 3 (*.f64 x -12))

rewrite115.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
568×unpow-prod-down_binary64
440×prod-diff_binary64
388×fma-def_binary64
362×log-prod_binary64
231×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0921
120917
2284715
Stop Event
node limit
Counts
3 → 268
Calls
Call 1
Inputs
(+.f64 3 (*.f64 x -12))
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
(+.f64 1 (+.f64 3 (*.f64 x -12)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 x -12 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 x -12 4) 3) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2)) (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 9 (+.f64 3 (*.f64 12 x))) (/.f64 (*.f64 (*.f64 x x) 144) (+.f64 3 (*.f64 12 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -12 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x -12 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x -12 3)) (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) (cbrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) -1728 27) (/.f64 1 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) -1728 27) (pow.f64 (/.f64 1 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (pow.f64 (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (/.f64 1 (+.f64 3 (*.f64 12 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (pow.f64 (/.f64 1 (+.f64 3 (*.f64 12 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) (-.f64 (sqrt.f64 (fma.f64 x -12 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 x -12 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x -12 3))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x -12 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 1) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x -12 3))) 2) 3) (cbrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 x -12 3) (cbrt.f64 (fma.f64 x -12 3))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 x -12 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 x -12 3) 2) (sqrt.f64 (fma.f64 x -12 3))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 x -12 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2)) (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 x -12 3) 2) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9) (fma.f64 (pow.f64 x 3) -1728 27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 3 (*.f64 12 x)) (-.f64 9 (*.f64 (*.f64 x x) 144))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (-.f64 1 (*.f64 (fma.f64 x -12 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) -1728 27) (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) -1728 27) (fma.f64 (*.f64 x x) 144 (-.f64 9 (*.f64 -36 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (+.f64 (fma.f64 x -12 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (+.f64 3 (*.f64 12 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1)) (neg.f64 (+.f64 (fma.f64 x -12 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x 3) -1728 27)) (neg.f64 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 9 (*.f64 (*.f64 x x) 144))) (neg.f64 (+.f64 3 (*.f64 12 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 2) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 x -12 2) 2) (fma.f64 x -12 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 2) 2)) (-.f64 1 (fma.f64 x -12 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x x) 144 -9) (fma.f64 x -12 -3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x -12 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -12 3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x -12 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -12 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2)) (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (fma.f64 x -12 3) 2) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9) (fma.f64 (pow.f64 x 3) -1728 27)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 3 (*.f64 12 x)) (-.f64 9 (*.f64 (*.f64 x x) 144))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x -12 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x -12 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x -12 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (*.f64 (fma.f64 x -12 3) (fma.f64 x -12 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (fma.f64 x -12 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (fma.f64 x -12 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (fma.f64 x -12 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -12 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -12 x 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -12) 1 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x -12 3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -12 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -12 4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -12 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x -12 4) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x -12 4)) (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) (cbrt.f64 (fma.f64 x -12 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) (*.f64 (cbrt.f64 (fma.f64 x -12 4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x -12)) (cbrt.f64 (*.f64 (*.f64 x x) 144)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 144)) (cbrt.f64 (*.f64 x -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x -12 3)) (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) (cbrt.f64 (fma.f64 x -12 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 4)) (sqrt.f64 (fma.f64 x -12 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 4)) (*.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -12)) (sqrt.f64 (*.f64 x -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (fma.f64 x -12 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 x 3) -1728 27) (/.f64 1 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3)) (/.f64 1 (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (/.f64 1 (+.f64 3 (*.f64 12 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2)) (/.f64 1 (-.f64 -2 (*.f64 x -12))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 2)) 2) (cbrt.f64 (fma.f64 x -12 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 2)) (sqrt.f64 (fma.f64 x -12 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) (-.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 3)) 1) (-.f64 (sqrt.f64 (fma.f64 x -12 3)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -12 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -12 (sqrt.f64 x)) (sqrt.f64 x) 3)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 x -12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x -12 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 x -12 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 x -12 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x -12 4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x -12 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 x -12 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x -12 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 4 (fma.f64 x -12 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x -12 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x -12 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x -12 3)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x -12 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -12 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x -12 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x -12 3)) (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) (cbrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) -1728 27) (/.f64 1 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 x 3) -1728 27) (pow.f64 (/.f64 1 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (pow.f64 (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (/.f64 1 (+.f64 3 (*.f64 12 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (pow.f64 (/.f64 1 (+.f64 3 (*.f64 12 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) (-.f64 (sqrt.f64 (fma.f64 x -12 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 x -12 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x -12 3))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x -12 3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 1) (pow.f64 (-.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x -12 3))) 2) 3) (cbrt.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 x -12 3) (cbrt.f64 (fma.f64 x -12 3))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 x -12 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 x -12 3) 2) (sqrt.f64 (fma.f64 x -12 3))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 x -12 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2)) (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 x -12 3) 2) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9) (fma.f64 (pow.f64 x 3) -1728 27)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 3 (*.f64 12 x)) (-.f64 9 (*.f64 (*.f64 x x) 144))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (-.f64 1 (*.f64 (fma.f64 x -12 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) -1728 27) (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) -1728 27) (fma.f64 (*.f64 x x) 144 (-.f64 9 (*.f64 -36 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (+.f64 (fma.f64 x -12 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (+.f64 3 (*.f64 12 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1)) (neg.f64 (+.f64 (fma.f64 x -12 3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 x 3) -1728 27)) (neg.f64 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 9 (*.f64 (*.f64 x x) 144))) (neg.f64 (+.f64 3 (*.f64 12 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 2) 3)) (+.f64 1 (-.f64 (pow.f64 (fma.f64 x -12 2) 2) (fma.f64 x -12 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 2) 2)) (-.f64 1 (fma.f64 x -12 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x x) 144 -9) (fma.f64 x -12 -3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x -12 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -12 3) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x -12 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -12 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2)) (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (fma.f64 x -12 3) 2) (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9) (fma.f64 (pow.f64 x 3) -1728 27)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 3 (*.f64 12 x)) (-.f64 9 (*.f64 (*.f64 x x) 144))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x -12 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x -12 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x -12 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (*.f64 (fma.f64 x -12 3) (fma.f64 x -12 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (fma.f64 x -12 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (fma.f64 x -12 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (fma.f64 x -12 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -12 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -12 x 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -12) 1 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x -12 3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -12 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -12 4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -12 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x -12 4) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x -12 4)) (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) (cbrt.f64 (fma.f64 x -12 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) (*.f64 (cbrt.f64 (fma.f64 x -12 4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x -12)) (cbrt.f64 (*.f64 (*.f64 x x) 144)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 144)) (cbrt.f64 (*.f64 x -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x -12 3)) (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) (cbrt.f64 (fma.f64 x -12 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 4)) (sqrt.f64 (fma.f64 x -12 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 4)) (*.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -12)) (sqrt.f64 (*.f64 x -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (fma.f64 x -12 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 x 3) -1728 27) (/.f64 1 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3)) (/.f64 1 (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (/.f64 1 (+.f64 3 (*.f64 12 x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2)) (/.f64 1 (-.f64 -2 (*.f64 x -12))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 2)) 2) (cbrt.f64 (fma.f64 x -12 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 2)) (sqrt.f64 (fma.f64 x -12 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) (-.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 3)) 1) (-.f64 (sqrt.f64 (fma.f64 x -12 3)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -12 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -12 (sqrt.f64 x)) (sqrt.f64 x) 3)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 x -12 3) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 -2 (*.f64 x -12))) (/.f64 (pow.f64 (fma.f64 x -12 3) 2) (-.f64 -2 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x -12 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x -12 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x -12 4)) (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) (cbrt.f64 (fma.f64 x -12 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) (*.f64 (cbrt.f64 (fma.f64 x -12 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 2) (pow.f64 (*.f64 (cbrt.f64 (fma.f64 x -12 4)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -12 4)) (sqrt.f64 (fma.f64 x -12 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -12 4)) (*.f64 (sqrt.f64 (fma.f64 x -12 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x -12 4)) (pow.f64 (*.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3)) (/.f64 1 (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3)) (pow.f64 (/.f64 1 (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2)) (/.f64 1 (-.f64 -2 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2)) (pow.f64 (/.f64 1 (-.f64 -2 (*.f64 x -12))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 x -12 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x -12 4))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 x -12 4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x -12 4))) 2) 3) (cbrt.f64 (fma.f64 x -12 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 x -12 4) (cbrt.f64 (fma.f64 x -12 4))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 x -12 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 x -12 4) 2) (sqrt.f64 (fma.f64 x -12 4))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 x -12 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1) (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 -2 (*.f64 x -12)) (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3)) (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3)) (+.f64 (pow.f64 (fma.f64 x -12 3) 2) (-.f64 -2 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2)) (-.f64 -2 (*.f64 x -12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3))) (neg.f64 (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2))) (neg.f64 (-.f64 -2 (*.f64 x -12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 64 (*.f64 (pow.f64 x 3) -1728)) (+.f64 16 (-.f64 (*.f64 (*.f64 x x) 144) (*.f64 4 (*.f64 x -12)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x -12 3) 2) 1) (fma.f64 x -12 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 16 (*.f64 (*.f64 x x) 144)) (-.f64 4 (*.f64 x -12)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3)) 1) (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2)) 1) (-.f64 -2 (*.f64 x -12)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x -12 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -12 4) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x -12 4)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x -12 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x -12 4) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (fma.f64 x -12 3) (fma.f64 x -12 2) 1) (+.f64 1 (pow.f64 (fma.f64 x -12 3) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 -2 (*.f64 x -12)) (-.f64 1 (pow.f64 (fma.f64 x -12 3) 2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x -12 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x -12 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x -12 4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x -12 4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x -12 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x -12 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (fma.f64 x -12 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (fma.f64 x -12 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -12 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -12 x 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x -12) 1 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x -12 3) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -12 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (fma.f64 x -12 3) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x -12)) (cbrt.f64 (*.f64 (*.f64 x x) 144)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 144)) (cbrt.f64 (*.f64 x -12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x -12 3)) (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -12 3)) 2) (cbrt.f64 (fma.f64 x -12 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) -12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -12)) (sqrt.f64 (*.f64 x -12)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -12 3)) (sqrt.f64 (fma.f64 x -12 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) -12) 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) (+.f64 (fma.f64 x -12 3) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (pow.f64 x 3) -1728 27) (/.f64 1 (fma.f64 (*.f64 x -12) (fma.f64 x -12 -3) 9)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (fma.f64 x -12 4) 2) -1) (/.f64 1 (+.f64 (fma.f64 x -12 3) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (fma.f64 x -12 3) 2) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 9 (*.f64 (*.f64 x x) 144)) (/.f64 1 (+.f64 3 (*.f64 12 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (fma.f64 x -12 3) 2)) 2) (cbrt.f64 (+.f64 (fma.f64 x -12 3) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (fma.f64 x -12 3) 2)) (sqrt.f64 (+.f64 (fma.f64 x -12 3) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) (-.f64 (sqrt.f64 (fma.f64 x -12 4)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -12 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 4)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -12 (sqrt.f64 x)) (sqrt.f64 x) 4)))))

simplify23.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010162
113162
215162
Stop Event
saturated
Counts
304 → 185
Calls
Call 1
Inputs
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
(+.f64 3 (*.f64 -12 x))
4
(+.f64 (*.f64 -12 x) 4)
(+.f64 (*.f64 -12 x) 4)
(+.f64 (*.f64 -12 x) 4)
(*.f64 -12 x)
(+.f64 4 (*.f64 -12 x))
(+.f64 4 (*.f64 -12 x))
(+.f64 4 (*.f64 -12 x))
(*.f64 -12 x)
(+.f64 4 (*.f64 -12 x))
(+.f64 4 (*.f64 -12 x))
(+.f64 4 (*.f64 -12 x))
Outputs
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(*.f64 -12 x)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
(+.f64 3 (*.f64 -12 x))
(fma.f64 -12 x 3)
4
(+.f64 (*.f64 -12 x) 4)
(fma.f64 -12 x 4)
(+.f64 (*.f64 -12 x) 4)
(fma.f64 -12 x 4)
(+.f64 (*.f64 -12 x) 4)
(fma.f64 -12 x 4)
(*.f64 -12 x)
(+.f64 4 (*.f64 -12 x))
(fma.f64 -12 x 4)
(+.f64 4 (*.f64 -12 x))
(fma.f64 -12 x 4)
(+.f64 4 (*.f64 -12 x))
(fma.f64 -12 x 4)
(*.f64 -12 x)
(+.f64 4 (*.f64 -12 x))
(fma.f64 -12 x 4)
(+.f64 4 (*.f64 -12 x))
(fma.f64 -12 x 4)
(+.f64 4 (*.f64 -12 x))
(fma.f64 -12 x 4)

eval401.0ms (2.6%)

Compiler

Compiled 13015 to 10652 computations (18.2% saved)

prune86.0ms (0.6%)

Pruning

12 alts after pruning (4 fresh and 8 done)

PrunedKeptTotal
New4933496
Fresh213
Picked011
Done178
Total49612508
Error
0b
Counts
508 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
42.4b
(*.f64 x (*.f64 x 9))
42.4b
(*.f64 9 (*.f64 x x))
0.2b
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)
20.9b
(+.f64 (*.f64 x -12) 3)
20.9b
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
61.6b
(*.f64 -12 x)
42.4b
(pow.f64 (*.f64 x 3) 2)
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.1b
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
20.9b
(*.f64 3 (+.f64 (*.f64 x -4) 1))
21.1b
3
Compiler

Compiled 102 to 81 computations (20.6% saved)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4))
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.2b
(*.f64 3 (*.f64 x x))
Compiler

Compiled 49 to 30 computations (38.8% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 3 (*.f64 x x))
0.0ms
x
@inf
(*.f64 3 (*.f64 x x))
0.0ms
x
@inf
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.0ms
x
@-inf
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
0.0ms
x
@0
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))

rewrite94.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
686×fma-def_binary64
557×log-prod_binary64
398×fma-neg_binary64
336×pow-prod-down_binary64
299×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01139
125631
2337527
Stop Event
node limit
Counts
3 → 249
Calls
Call 1
Inputs
(*.f64 3 (*.f64 x x))
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
(-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 2)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (*.f64 x x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 3 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9 (pow.f64 x 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 27 (pow.f64 x 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 9 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 27 (pow.f64 x 6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 2 (log.f64 x) (log1p.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 2)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 3 (*.f64 x (fma.f64 3 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (exp.f64 (fma.f64 x (fma.f64 3 x -4) 1)) 2)) (fma.f64 x (fma.f64 3 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (fma.f64 x (fma.f64 3 x -4) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 3) (fma.f64 x (fma.f64 3 x -4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 3) 27) (+.f64 (pow.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 2) (-.f64 9 (*.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 2) 9) (fma.f64 3 (*.f64 x (fma.f64 3 x -4)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 3)) 3) (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) (-.f64 1 (*.f64 x (fma.f64 3 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) -1) 3) (fma.f64 x (fma.f64 3 x -4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 1 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 3))) (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) (-.f64 1 (*.f64 x (fma.f64 3 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 3 (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) -1)) (fma.f64 x (fma.f64 3 x -4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 9 (pow.f64 (fma.f64 x (fma.f64 3 x -4) 1) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 9 (pow.f64 (fma.f64 x (fma.f64 3 x -4) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 3) (fma.f64 x (fma.f64 3 x -4) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 3 (fma.f64 x (fma.f64 3 x -4) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x (fma.f64 3 x -4)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 3 x -4)) 3 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 3) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 3) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4))) 1 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4)))) 2) (cbrt.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4)))) (sqrt.f64 (*.f64 3 (*.f64 x (fma.f64 3 x -4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2)) (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (sqrt.f64 (*.f64 x (fma.f64 3 x -4)))) (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 3)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 3 (*.f64 x x)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 3 x -4)) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 3 x -4)) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 3 x -4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 3 x -4)) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 3 x -4)) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (fma.f64 3 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x -4 (*.f64 x 4)) (*.f64 x (fma.f64 3 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -4) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 3 x -4))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (fma.f64 3 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 3 x -4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (fma.f64 3 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (fma.f64 3 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (fma.f64 3 x -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (fma.f64 3 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 3 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (sqrt.f64 (*.f64 x (fma.f64 3 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) (/.f64 1 (*.f64 x (fma.f64 3 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (sqrt.f64 3) (*.f64 2 (sqrt.f64 x))) (-.f64 (*.f64 x (sqrt.f64 3)) (*.f64 2 (sqrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4))) (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 x (fma.f64 3 x 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) (*.f64 x (fma.f64 3 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3)))) (neg.f64 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16))) (neg.f64 (*.f64 x (fma.f64 3 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 27 (pow.f64 x 6) (pow.f64 (*.f64 x -4) 3)) (fma.f64 9 (pow.f64 x 4) (-.f64 (pow.f64 (*.f64 x -4) 2) (*.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 3) (pow.f64 (fma.f64 x -4 (*.f64 x 4)) 3)) (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) (-.f64 (pow.f64 (fma.f64 x -4 (*.f64 x 4)) 2) (*.f64 (*.f64 x (fma.f64 3 x -4)) (fma.f64 x -4 (*.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (pow.f64 (*.f64 x -4) 2)) (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) (pow.f64 (fma.f64 x -4 (*.f64 x 4)) 2)) (-.f64 (*.f64 x (fma.f64 3 x -4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) 1) (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) 1) (*.f64 x (fma.f64 3 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (fma.f64 3 x -4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4))) (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 x (fma.f64 3 x 4)) (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) (fma.f64 3 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 3 x -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x x)))) (pow.f64 (exp.f64 4) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 3) (*.f64 x x)) (+.f64 1 (expm1.f64 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x x)))) (+.f64 1 (expm1.f64 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x x)))) (exp.f64 (*.f64 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x x)))) (pow.f64 (exp.f64 x) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 3 x -4)))) (exp.f64 (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x -4 (*.f64 x 4))) (pow.f64 (exp.f64 x) (fma.f64 3 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x -4 (*.f64 x 4))) (+.f64 1 (expm1.f64 (*.f64 x (fma.f64 3 x -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x -4)) (pow.f64 (exp.f64 3) (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x -4)) (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) -4) (+.f64 1 (expm1.f64 (*.f64 3 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x (fma.f64 3 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (*.f64 x (fma.f64 3 x -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x (fma.f64 3 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x (fma.f64 3 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 x (fma.f64 3 x -4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 3 (*.f64 x x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -4 (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 3 x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 3 x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 3 x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (*.f64 3 x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 3 x -4) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 3 x -4) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 3 x -4) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 3 x -4) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (fma.f64 3 x -4) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 3 (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x x)) 1 (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x x)) 1 (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x x)) 1 (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 x x)) 1 (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 4 (neg.f64 x) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 3 x -4)) 1 (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 3 x -4)) 1 (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 3 x -4)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 3 x -4)) 1 (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (fma.f64 3 x -4)) 1 (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x x)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x x)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x x)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 3 (*.f64 x x)) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 3 x -4)) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 3 x -4)) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 3 x -4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 3 x -4)) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (fma.f64 3 x -4)) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x (fma.f64 3 x -4) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -4 (*.f64 x 4)) (*.f64 x (fma.f64 3 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -4) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (fma.f64 3 x -4) 1) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 2) (*.f64 (cbrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x x))) (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x x))) (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x x))) (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 3 (*.f64 x x))) (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (cbrt.f64 (*.f64 3 (*.f64 x x))) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (cbrt.f64 (*.f64 3 (*.f64 x x))) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (cbrt.f64 (*.f64 3 (*.f64 x x))) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 9 (pow.f64 x 4))) (cbrt.f64 (*.f64 3 (*.f64 x x))) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x (fma.f64 3 x -4) 1)) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 3 x -4) 1)) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 3 x -4) 1)) 2) (cbrt.f64 (fma.f64 x (fma.f64 3 x -4) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (neg.f64 (cbrt.f64 (*.f64 x 4))) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (*.f64 (pow.f64 (cbrt.f64 x) 2) 3) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (*.f64 (pow.f64 (cbrt.f64 x) 2) 3) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (*.f64 (pow.f64 (cbrt.f64 x) 2) 3) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (*.f64 (pow.f64 (cbrt.f64 x) 2) 3) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) (*.f64 (sqrt.f64 (*.f64 x (fma.f64 3 x -4))) 1) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 3)) (*.f64 x (sqrt.f64 3)) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 3)) (*.f64 x (sqrt.f64 3)) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 3)) (*.f64 x (sqrt.f64 3)) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 3)) (*.f64 x (sqrt.f64 3)) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x (fma.f64 3 x -4) 1)) (sqrt.f64 (fma.f64 x (fma.f64 3 x -4) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 2 (sqrt.f64 x)) (neg.f64 (*.f64 2 (sqrt.f64 x))) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -4 x (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4)))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4)))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4)))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 27 (pow.f64 x 6)) (*.f64 64 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 x 4) (*.f64 x (fma.f64 3 x 4)) (*.f64 9 (pow.f64 x 4)))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) (-.f64 1 (*.f64 x (fma.f64 3 x -4))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) (/.f64 1 (*.f64 x (fma.f64 3 x 4))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) (/.f64 1 (*.f64 x (fma.f64 3 x 4))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) (/.f64 1 (*.f64 x (fma.f64 3 x 4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) (/.f64 1 (*.f64 x (fma.f64 3 x 4))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 9 (pow.f64 x 4)) (*.f64 (*.f64 x x) 16)) (/.f64 1 (*.f64 x (fma.f64 3 x 4))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 3 x -4)) 2) -1) (/.f64 1 (fma.f64 x (fma.f64 3 x -4) -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) 4 (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x) x (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x) x (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x) x (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 x) x (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 x -4 (*.f64 x 4))) 2) (cbrt.f64 (fma.f64 x -4 (*.f64 x 4))) (*.f64 x (fma.f64 3 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x -4)) 2) (cbrt.f64 (*.f64 x -4)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -4 (*.f64 x 4))) (sqrt.f64 (fma.f64 x -4 (*.f64 x 4))) (*.f64 x (fma.f64 3 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -4)) (sqrt.f64 (*.f64 x -4)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 x 4) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (sqrt.f64 3) (*.f64 2 (sqrt.f64 x))) (-.f64 (*.f64 x (sqrt.f64 3)) (*.f64 2 (sqrt.f64 x))) (fma.f64 x -4 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (sqrt.f64 3) (*.f64 2 (sqrt.f64 x))) (-.f64 (*.f64 x (sqrt.f64 3)) (*.f64 2 (sqrt.f64 x))) (fma.f64 (*.f64 x -4) 1 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (sqrt.f64 3) (*.f64 2 (sqrt.f64 x))) (-.f64 (*.f64 x (sqrt.f64 3)) (*.f64 2 (sqrt.f64 x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 x 4))) (pow.f64 (cbrt.f64 (*.f64 x 4)) 2) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (sqrt.f64 3) (*.f64 2 (sqrt.f64 x))) (-.f64 (*.f64 x (sqrt.f64 3)) (*.f64 2 (sqrt.f64 x))) (*.f64 (fma.f64 x -4 (*.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x (sqrt.f64 3) (*.f64 2 (sqrt.f64 x))) (-.f64 (*.f64 x (sqrt.f64 3)) (*.f64 2 (sqrt.f64 x))) (+.f64 (fma.f64 x -4 (*.f64 x 4)) (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 x 4)) 2)) (cbrt.f64 (*.f64 x 4)) (*.f64 3 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 (cbrt.f64 x) x)) (pow.f64 (cbrt.f64 x) 2) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 (cbrt.f64 x) x)) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 (cbrt.f64 x) x)) (pow.f64 (cbrt.f64 x) 2) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (*.f64 (cbrt.f64 x) x)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) 1) x (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) 1) x (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) 1) x (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) 1) x (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 x -4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 x -4 (fma.f64 x -4 (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 3 x) (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 x 4) (fma.f64 x -4 (*.f64 x 4)))))))))

simplify220.0ms (1.4%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
638×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
017327
136315
264304
3133264
4318264
5890264
61377264
71843264
81952264
92086264
102255264
112500264
122817264
133189264
143645264
154232264
164942264
175802264
186226264
196542264
206846264
216924264
226960264
Stop Event
node limit
Counts
285 → 263
Calls
Call 1
Inputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (pow.f64 x 2))
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 -4 x)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(*.f64 3 (pow.f64 x 2))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
Outputs
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(fma.f64 x -12 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (+.f64 -12 (*.f64 x 9)))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(fma.f64 x -12 (fma.f64 x (*.f64 x 9) 3))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 -4 x)
(*.f64 x -4)
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(*.f64 3 (pow.f64 x 2))
(*.f64 3 (*.f64 x x))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))
(+.f64 (*.f64 3 (pow.f64 x 2)) (*.f64 -4 x))
(fma.f64 3 (*.f64 x x) (*.f64 x -4))
(*.f64 x (+.f64 (*.f64 3 x) -4))
(*.f64 x (fma.f64 3 x -4))

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (*.f64 x 3) 2)
Compiler

Compiled 12 to 9 computations (25% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(pow.f64 (*.f64 x 3) 2)
1.0ms
x
@-inf
(pow.f64 (*.f64 x 3) 2)
1.0ms
x
@inf
(pow.f64 (*.f64 x 3) 2)

rewrite63.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
476×pow1_binary64
464×add-sqr-sqrt_binary64
455×*-un-lft-identity_binary64
442×add-log-exp_binary64
441×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11277
213077
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(pow.f64 (*.f64 x 3) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 9 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 3 (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 x (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 3) (*.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 9 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 9 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 9 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) 9)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x 3) 4)) (pow.f64 (cbrt.f64 (*.f64 x 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) (cbrt.f64 (pow.f64 (*.f64 x 3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 x 3)) 2) (*.f64 (cbrt.f64 (*.f64 x 3)) (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 x 3)) (*.f64 (sqrt.f64 (*.f64 x 3)) (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 3) (sqrt.f64 (*.f64 x 3))) (sqrt.f64 (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 3) x) 3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 3) 3) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 3) (pow.f64 (cbrt.f64 (*.f64 x 3)) 2)) (cbrt.f64 (*.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 x 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 9 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 9 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 9 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 9 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 x 3))))))))

simplify190.0ms (1.2%)

Algorithm
egg-herbie
Rules
1082×sqr-pow_binary64
617×cube-prod_binary64
554×fabs-mul_binary64
523×pow-sqr_binary64
441×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11284
22384
34484
410584
533184
6125084
7212384
8228784
9247084
10267884
11297384
12336484
13384784
14441584
15509984
16593484
17633084
18661884
19689484
20696684
21700284
22794384
Stop Event
node limit
Counts
34 → 24
Calls
Call 1
Inputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (pow.f64 x 2))
Outputs
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))
(*.f64 9 (pow.f64 x 2))
(*.f64 9 (*.f64 x x))
(*.f64 x (*.f64 9 x))

localize41.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)
0.2b
(/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12))
0.2b
(*.f64 81 (*.f64 x x))
Compiler

Compiled 59 to 39 computations (33.9% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 81 (*.f64 x x))
0.0ms
x
@-inf
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)
0.0ms
x
@inf
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)
0.0ms
x
@inf
(*.f64 81 (*.f64 x x))
0.0ms
x
@0
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)

rewrite169.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
653×log-prod_binary64
349×fma-def_binary64
311×prod-diff_binary64
262×fma-neg_binary64
251×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01441
131721
2405821
Stop Event
node limit
Counts
3 → 239
Calls
Call 1
Inputs
(*.f64 81 (*.f64 x x))
(/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12))
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 81 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 81) (*.f64 x x))) (cbrt.f64 (pow.f64 (exp.f64 81) (*.f64 x x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 81) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 81) (*.f64 x x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 81) (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 81 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 81 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 9) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 531441 (pow.f64 (*.f64 x x) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 6561 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 81) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 81 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 531441 (pow.f64 (*.f64 x x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 81 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 81 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 2 (log.f64 x) (log1p.f64 80)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 2 (log.f64 x) (log1p.f64 80)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -12 (*.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x 9 -12) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (sqrt.f64 (/.f64 144 (fma.f64 x 9 12))) (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x 9 -12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 81 (*.f64 x x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) 1) (/.f64 x (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 (*.f64 x x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 (*.f64 x x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 729 (pow.f64 x 3) 1728)) (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x 9 12))) 144 (*.f64 (/.f64 1 (fma.f64 x 9 12)) 144)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 81 (*.f64 x x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) 1) (/.f64 x (fma.f64 x 9 12)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 (*.f64 x x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 (*.f64 x x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 729 (pow.f64 x 3) 1728)) (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1))) (fma.f64 (neg.f64 (/.f64 144 (fma.f64 x 9 12))) 1 (*.f64 (/.f64 144 (fma.f64 x 9 12)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 81 (*.f64 x x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) 1) (/.f64 x (fma.f64 x 9 12)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 (*.f64 x x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 (*.f64 x x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 729 (pow.f64 x 3) 1728)) (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))))))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (*.f64 (cbrt.f64 (/.f64 144 (fma.f64 x 9 12))) (cbrt.f64 (/.f64 144 (fma.f64 x 9 12)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 81 (*.f64 x x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) 1) (/.f64 x (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 (*.f64 x x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 (*.f64 x x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 729 (pow.f64 x 3) 1728)) (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728))))) (fma.f64 (neg.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144))) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)) (*.f64 (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (/.f64 144 (fma.f64 729 (pow.f64 x 3) 1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 81 (*.f64 x x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) 1) (/.f64 x (fma.f64 x 9 12)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 (*.f64 x x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 (*.f64 x x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 729 (pow.f64 x 3) 1728)) (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 -12) (neg.f64 (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144))))) (fma.f64 (neg.f64 (fma.f64 x 9 -12)) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (fma.f64 x 9 -12) (/.f64 144 (fma.f64 81 (*.f64 x x) -144)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x 9 -12))) (cbrt.f64 (exp.f64 (fma.f64 x 9 -12))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x 9 -12)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x 9 -12)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x 9 -12)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 9) 12)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (/.f64 144 (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x 9 -12))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 81 (*.f64 x x) -144) (/.f64 1 (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x 9 -12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x 9 -12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x 9 -12)) (cbrt.f64 (pow.f64 (fma.f64 x 9 -12) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x 9 -12) 2)) (cbrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 81 (*.f64 x x) -144)) 2) (*.f64 (cbrt.f64 (fma.f64 81 (*.f64 x x) -144)) (/.f64 1 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x 9 -12)) (sqrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 81 (*.f64 x x) -144)) (*.f64 (sqrt.f64 (fma.f64 81 (*.f64 x x) -144)) (/.f64 1 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 81 (*.f64 x x) -144)) (/.f64 1 (neg.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x 9 12)) (fma.f64 81 (*.f64 x x) -144))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (fma.f64 81 (*.f64 x x) -144) (cbrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (fma.f64 81 (*.f64 x x) -144) (sqrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 81 (*.f64 x x) -144)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 81 (*.f64 x x) -144)) 1) (/.f64 (sqrt.f64 (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 81 (*.f64 x x) -144)) 2) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (cbrt.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (fma.f64 81 (*.f64 x x) -144)) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (sqrt.f64 (fma.f64 81 (*.f64 x x) -144)) (cbrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 81 (*.f64 x x) -144)) 2) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (cbrt.f64 (fma.f64 81 (*.f64 x x) -144)) (sqrt.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 81 (*.f64 x x) -144) (fma.f64 729 (pow.f64 x 3) 1728)) (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 81 (*.f64 x x) -144) (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 -12))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x 9 -12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x 9 -12) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x 9 -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x 9 -12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x 9 -12)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (fma.f64 81 (*.f64 x x) -144) 3) (pow.f64 (fma.f64 x 9 12) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (fma.f64 x 9 -12)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 81 (*.f64 x x) -144) (neg.f64 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x 9 -12) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x 9 -12))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 81 (*.f64 x x) -144) 3) (pow.f64 (fma.f64 x 9 12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x 9 -12)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 9 -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 81 (*.f64 x x)) (/.f64 1 (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 9 x -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 9) 1 -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (*.f64 x 9)) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 9)) (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 3 (sqrt.f64 x)) (*.f64 3 (sqrt.f64 x)) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 9) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12))))) (cbrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2)) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 81 x)) (sqrt.f64 x) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (sqrt.f64 (*.f64 81 (/.f64 (*.f64 x x) (fma.f64 x 9 12)))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) 1) (/.f64 81 (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) 1) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x 9) 1) (/.f64 (*.f64 x 9) (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 81 x) 1) (/.f64 x (fma.f64 x 9 12)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 81 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 81 (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 81 (*.f64 x x)) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x 9) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 (*.f64 x 9) (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 81 x) (pow.f64 (cbrt.f64 (fma.f64 x 9 12)) 2)) (/.f64 x (cbrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 81 (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 81 (*.f64 x x)) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (*.f64 6561 (pow.f64 x 4))) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (pow.f64 (cbrt.f64 (*.f64 x 9)) 2) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 (*.f64 x 9) (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 81 x) (sqrt.f64 (fma.f64 x 9 12))) (/.f64 x (sqrt.f64 (fma.f64 x 9 12))) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 729 (pow.f64 x 3) 1728)) (fma.f64 81 (*.f64 x x) (fma.f64 x -108 144)) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 81 (*.f64 x x)) (fma.f64 81 (*.f64 x x) -144)) (fma.f64 x 9 -12) (neg.f64 (/.f64 144 (fma.f64 x 9 12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) -12)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 9 (sqrt.f64 x)) (sqrt.f64 x) -12)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 3 (*.f64 x (fma.f64 x 9 -12)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (fma.f64 x 9 -12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 1) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3))) (cbrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x (fma.f64 x 9 -12) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (fma.f64 x 9 -12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2) (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 x (fma.f64 x 9 -12)) 3) 27) (fma.f64 (*.f64 x (fma.f64 x 9 -12)) (*.f64 x (fma.f64 x 9 -12)) (-.f64 9 (*.f64 (*.f64 x (fma.f64 x 9 -12)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 x (fma.f64 x 9 -12)) (*.f64 x (fma.f64 x 9 -12)) -9) (fma.f64 x (fma.f64 x 9 -12) -3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (fma.f64 x 9 -12) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (fma.f64 x 9 -12) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (fma.f64 x 9 -12) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 1))))))

simplify222.0ms (1.4%)

Algorithm
egg-herbie
Rules
2020×unswap-sqr_binary64
1080×sqr-pow_binary64
639×fabs-mul_binary64
612×pow-sqr_binary64
610×cube-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
018264
138252
263240
3105228
4248228
5716228
61073228
71514228
81618228
91750228
101919228
112162228
122477228
132849228
143308228
153897228
164605228
175465228
185893228
196207228
206515228
216593228
226627228
Stop Event
node limit
Counts
275 → 254
Calls
Call 1
Inputs
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (pow.f64 x 2))
-12
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(*.f64 9 x)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
(-.f64 (*.f64 9 x) 12)
3
(+.f64 (*.f64 -12 x) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(*.f64 9 (pow.f64 x 2))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
Outputs
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
(*.f64 81 (pow.f64 x 2))
(*.f64 81 (*.f64 x x))
-12
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(*.f64 9 x)
(*.f64 x 9)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
(-.f64 (*.f64 9 x) 12)
(fma.f64 9 x -12)
(fma.f64 x 9 -12)
3
(+.f64 (*.f64 -12 x) 3)
(fma.f64 -12 x 3)
(fma.f64 x -12 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(*.f64 9 (pow.f64 x 2))
(*.f64 (*.f64 x x) 9)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) (*.f64 9 (pow.f64 x 2)))
(fma.f64 -12 x (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (*.f64 (*.f64 x x) 9))
(*.f64 x (fma.f64 x 9 -12))
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)
(+.f64 (*.f64 -12 x) (+.f64 3 (*.f64 9 (pow.f64 x 2))))
(+.f64 (fma.f64 -12 x 3) (*.f64 (*.f64 x x) 9))
(fma.f64 x -12 (fma.f64 (*.f64 x x) 9 3))
(+.f64 3 (*.f64 x (fma.f64 x 9 -12)))
(fma.f64 x (fma.f64 x 9 -12) 3)

eval544.0ms (3.5%)

Compiler

Compiled 15596 to 12074 computations (22.6% saved)

prune71.0ms (0.5%)

Pruning

13 alts after pruning (3 fresh and 10 done)

PrunedKeptTotal
New5392541
Fresh011
Picked011
Done1910
Total54013553
Error
0b
Counts
553 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
42.4b
(*.f64 x (*.f64 x 9))
42.4b
(*.f64 9 (*.f64 x x))
0.2b
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)
20.9b
(+.f64 (*.f64 x -12) 3)
20.9b
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
42.4b
(*.f64 (*.f64 x 3) (*.f64 x 3))
61.6b
(*.f64 -12 x)
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
42.4b
(*.f64 (*.f64 (*.f64 x 3) x) 3)
0.1b
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
0.1b
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
20.9b
(*.f64 3 (+.f64 (*.f64 x -4) 1))
21.1b
3
Compiler

Compiled 112 to 88 computations (21.4% saved)

regimes68.0ms (0.4%)

Counts
23 → 1
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x -12) 3)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) 3)
(*.f64 (*.f64 x 3) (*.f64 x 3))
(*.f64 (*.f64 (*.f64 x 3) x) 3)
(*.f64 3 (+.f64 (*.f64 x -4) 1))
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(pow.f64 (*.f64 x 3) 2)
(pow.f64 (*.f64 x 3) 2)
(*.f64 9 (pow.f64 x 2))
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
(fma.f64 x (/.f64 (-.f64 (*.f64 81 (*.f64 x x)) 144) (-.f64 (*.f64 x 9) -12)) 3)
(fma.f64 x (/.f64 (-.f64 (*.f64 (*.f64 x 9) (*.f64 x 9)) 144) (-.f64 (*.f64 x 9) -12)) 3)
(fma.f64 x (fma.f64 x 9 -12) 3)
(fma.f64 (*.f64 x (fma.f64 x 3 -4)) 3 3)
(pow.f64 (sqrt.f64 (fma.f64 x (fma.f64 x 9 -12) 3)) 2)
Outputs
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
Calls

7 calls:

12.0ms
x
12.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1)
12.0ms
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
11.0ms
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
5.0ms
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
0.1b1(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
0.1b1(+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1)
0.1b1(+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1)
0.1b1(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
0.1b1(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
Compiler

Compiled 240 to 181 computations (24.6% saved)

regimes32.0ms (0.2%)

Counts
17 → 1
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x -12) 3)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) 3)
(*.f64 (*.f64 x 3) (*.f64 x 3))
(*.f64 (*.f64 (*.f64 x 3) x) 3)
(*.f64 3 (+.f64 (*.f64 x -4) 1))
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(pow.f64 (*.f64 x 3) 2)
(pow.f64 (*.f64 x 3) 2)
(*.f64 9 (pow.f64 x 2))
Outputs
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Calls

4 calls:

10.0ms
x
10.0ms
(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
4.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1)
4.0ms
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
0.1b1(+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1)
0.1b1(-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4))
Compiler

Compiled 136 to 103 computations (24.3% saved)

regimes10.0ms (0.1%)

Counts
13 → 1
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x -12) 3)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) 3)
(*.f64 (*.f64 x 3) (*.f64 x 3))
(*.f64 (*.f64 (*.f64 x 3) x) 3)
(*.f64 3 (+.f64 (*.f64 x -4) 1))
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
Outputs
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
Calls

1 calls:

7.0ms
x
Results
ErrorSegmentsBranch
0.1b1x
Compiler

Compiled 72 to 54 computations (25% saved)

regimes23.0ms (0.1%)

Counts
12 → 3
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x -12) 3)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) 3)
(*.f64 (*.f64 x 3) (*.f64 x 3))
(*.f64 (*.f64 (*.f64 x 3) x) 3)
(*.f64 3 (+.f64 (*.f64 x -4) 1))
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
Outputs
(*.f64 x (*.f64 x 9))
(-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1)
(*.f64 x (*.f64 x 9))
Calls

1 calls:

19.0ms
x
Results
ErrorSegmentsBranch
1.8b3x
Compiler

Compiled 59 to 45 computations (23.7% saved)

bsearch33.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
2.8330110878476473e-5
31.687445991257423
16.0ms
-7.14774476372642
-0.003182395706114424
Compiler

Compiled 18 to 14 computations (22.2% saved)

regimes21.0ms (0.1%)

Counts
11 → 3
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x -12) 3)
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 -12 x) 3)
(*.f64 (*.f64 x 3) (*.f64 x 3))
(*.f64 (*.f64 (*.f64 x 3) x) 3)
(*.f64 3 (+.f64 (*.f64 x -4) 1))
Outputs
(*.f64 x (*.f64 x 9))
(+.f64 (*.f64 x -12) 3)
(*.f64 x (*.f64 x 9))
Calls

1 calls:

19.0ms
x
Results
ErrorSegmentsBranch
1.8b3x
Compiler

Compiled 50 to 37 computations (26% saved)

bsearch33.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
2.8330110878476473e-5
31.687445991257423
16.0ms
-7.14774476372642
-0.003182395706114424
Compiler

Compiled 18 to 14 computations (22.2% saved)

regimes15.0ms (0.1%)

Counts
6 → 3
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x -12) 3)
Outputs
(*.f64 9 (*.f64 x x))
(+.f64 (*.f64 x -12) 3)
(*.f64 9 (*.f64 x x))
Calls

1 calls:

14.0ms
x
Results
ErrorSegmentsBranch
1.8b3x
Compiler

Compiled 19 to 14 computations (26.3% saved)

bsearch32.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
2.8330110878476473e-5
31.687445991257423
16.0ms
-7.14774476372642
-0.003182395706114424
Compiler

Compiled 18 to 14 computations (22.2% saved)

regimes13.0ms (0.1%)

Counts
5 → 3
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
(*.f64 9 (*.f64 x x))
Outputs
(*.f64 9 (*.f64 x x))
3
(*.f64 9 (*.f64 x x))
Calls

1 calls:

12.0ms
x
Results
ErrorSegmentsBranch
2.4b3x
Compiler

Compiled 14 to 10 computations (28.6% saved)

bsearch35.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
2.8330110878476473e-5
31.687445991257423
16.0ms
-7.14774476372642
-0.003182395706114424
Compiler

Compiled 18 to 14 computations (22.2% saved)

regimes5.0ms (0%)

Accuracy

Total -40.7b remaining (-193.2%)

Threshold costs -40.7b (-193.2%)

Counts
4 → 1
Calls
Call 1
Inputs
3
3
3
(*.f64 -12 x)
Outputs
3
Calls

1 calls:

4.0ms
x
Results
ErrorSegmentsBranch
21.1b1x
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
10×+-commutative_binary64
sub-neg_binary64
cancel-sign-sub-inv_binary64
distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043182
171182
286182
390182
492182
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 x (*.f64 x 9)) (if (<=.f64 x 4180786439640563/147573952589676412928) (-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1) (*.f64 x (*.f64 x 9))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 x (*.f64 x 9)) (if (<=.f64 x 4180786439640563/147573952589676412928) (+.f64 (*.f64 x -12) 3) (*.f64 x (*.f64 x 9))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 9 (*.f64 x x)) (if (<=.f64 x 4180786439640563/147573952589676412928) (+.f64 (*.f64 x -12) 3) (*.f64 9 (*.f64 x x))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 9 (*.f64 x x)) (if (<=.f64 x 4180786439640563/147573952589676412928) 3 (*.f64 9 (*.f64 x x))))
3
Outputs
(fma.f64 x (-.f64 (*.f64 9 x) 12) 3)
(fma.f64 x (+.f64 (*.f64 x 9) -12) 3)
(*.f64 3 (+.f64 (-.f64 (*.f64 (*.f64 x 3) x) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 x (*.f64 x 3)) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 (+.f64 (*.f64 x (*.f64 x 3)) (*.f64 x -4)) 1))
(*.f64 3 (+.f64 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4)) 1))
(*.f64 3 (+.f64 1 (-.f64 (*.f64 3 (*.f64 x x)) (*.f64 x 4))))
(*.f64 3 (+.f64 1 (+.f64 (*.f64 3 (*.f64 x x)) (*.f64 x -4))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 x (*.f64 x 9)) (if (<=.f64 x 4180786439640563/147573952589676412928) (-.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) 1) (*.f64 x (*.f64 x 9))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 x (*.f64 x 9)) (if (<=.f64 x 4180786439640563/147573952589676412928) (+.f64 (+.f64 1 (+.f64 3 (*.f64 x -12))) -1) (*.f64 x (*.f64 x 9))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 x (*.f64 x 9)) (if (<=.f64 x 4180786439640563/147573952589676412928) (+.f64 (*.f64 x -12) 3) (*.f64 x (*.f64 x 9))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 x (*.f64 x 9)) (if (<=.f64 x 4180786439640563/147573952589676412928) (+.f64 3 (*.f64 x -12)) (*.f64 x (*.f64 x 9))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 9 (*.f64 x x)) (if (<=.f64 x 4180786439640563/147573952589676412928) (+.f64 (*.f64 x -12) 3) (*.f64 9 (*.f64 x x))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 9 (*.f64 x x)) (if (<=.f64 x 4180786439640563/147573952589676412928) (+.f64 3 (*.f64 x -12)) (*.f64 9 (*.f64 x x))))
(if (<=.f64 x -4023822581807215/562949953421312) (*.f64 9 (*.f64 x x)) (if (<=.f64 x 4180786439640563/147573952589676412928) 3 (*.f64 9 (*.f64 x x))))
3
Compiler

Compiled 135 to 98 computations (27.4% saved)

soundness179.0ms (1.1%)

Algorithm
egg-herbie
Rules
954×fma-def_binary64
722×fma-neg_binary64
150×cancel-sign-sub-inv_binary64
108×distribute-rgt-in_binary64
76×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01119
13314
27612
318612
43809
55459
68729
715339
824219
928029
1029139
1130399
1230459
1330459
Stop Event
saturated
Compiler

Compiled 185 to 151 computations (18.4% saved)

end71.0ms (0.5%)

Compiler

Compiled 128 to 89 computations (30.5% saved)

Profiling

Loading profile data...