Details

Time bar (total: 2.0s)

analyze164.0ms (8.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
12.5%87.4%0.1%6
50%50%0.1%7
62.4%37.5%0.1%8
76.1%23.8%0.1%9
81.8%18.1%0.1%10
87.7%12.2%0.1%11
90.7%9.2%0.1%12
93.7%6.2%0.1%13
95.3%4.6%0.1%14
Compiler

Compiled 22 to 13 computations (40.9% saved)

sample962.0ms (48.1%)

Results
949.0ms8256×body128valid
Compiler

Compiled 44 to 26 computations (40.9% saved)

preprocess50.0ms (2.5%)

Algorithm
egg-herbie
Rules
968×fma-def_binary64
834×fma-neg_binary64
302×cancel-sign-sub-inv_binary64
287×div-sub_binary64
232×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01652
14448
210248
321748
446248
588948
6147748
7247648
8435148
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
(/.f64 (-.f64 (*.f64 y y) (*.f64 (*.f64 x 4) x)) (+.f64 (*.f64 y y) (*.f64 (*.f64 x 4) x)))
Outputs
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y 4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
(/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
(/.f64 (fma.f64 x x (*.f64 (*.f64 y y) -4)) (fma.f64 x x (*.f64 y (*.f64 y 4))))
(/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))
(/.f64 (fma.f64 (*.f64 y y) -4 (*.f64 x x)) (fma.f64 4 (*.f64 y y) (*.f64 x x)))
(/.f64 (-.f64 (*.f64 y y) (*.f64 (*.f64 x 4) x)) (+.f64 (*.f64 y y) (*.f64 (*.f64 x 4) x)))
(/.f64 (fma.f64 y y (neg.f64 (*.f64 x (*.f64 x 4)))) (fma.f64 y y (*.f64 x (*.f64 x 4))))
(/.f64 (fma.f64 y y (*.f64 x (*.f64 x -4))) (fma.f64 x (*.f64 x 4) (*.f64 y y)))
(/.f64 (fma.f64 x (*.f64 x -4) (*.f64 y y)) (fma.f64 x (*.f64 x 4) (*.f64 y y)))
(/.f64 (fma.f64 x (*.f64 x -4) (*.f64 y y)) (fma.f64 (*.f64 x x) 4 (*.f64 y y)))
Compiler

Compiled 21 to 12 computations (42.9% saved)

simplify34.0ms (1.7%)

Algorithm
egg-herbie
Rules
620×fma-def_binary64
456×cancel-sign-sub-inv_binary64
430×times-frac_binary64
358×div-sub_binary64
252×distribute-frac-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
12424
25624
311424
424024
545724
672324
798724
8160724
9374524
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Outputs
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
(/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y 4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
(/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 4 (*.f64 y y) (*.f64 x x)))
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4))))

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
30.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
30.8b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Compiler

Compiled 80 to 45 computations (43.8% saved)

localize7.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
4.1b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))
30.2b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))

series7.0ms (0.3%)

Counts
2 → 48
Calls

12 calls:

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

rewrite75.0ms (3.7%)

Algorithm
batch-egg-rewrite
Rules
450×fma-def_binary64
230×fma-neg_binary64
208×expm1-udef_binary64
208×log1p-udef_binary64
169×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01039
123735
2340935
Stop Event
node limit
Counts
2 → 213
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x)) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x)) (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (*.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))) (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))) 2) (cbrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (*.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))) (sqrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (/.f64 1 (fma.f64 y (*.f64 y -4) (neg.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))) (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 2))) (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) 1) (/.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (fma.f64 x x (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) 1) (/.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (fma.f64 x x (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 2))) (cbrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 2))) (/.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (/.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (fma.f64 x x (*.f64 y (*.f64 y -4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 y (*.f64 y -4) (neg.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 3) (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x)) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x))) (cbrt.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x)))) (cbrt.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x))) (sqrt.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 2))) (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (/.f64 (*.f64 x x) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x 1) (/.f64 x (fma.f64 x x (*.f64 y (*.f64 y 4)))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) 1) (/.f64 (pow.f64 (cbrt.f64 x) 2) (fma.f64 x x (*.f64 y (*.f64 y 4)))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 2))) (/.f64 x (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 2))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (/.f64 x (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 x x) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))) (neg.f64 (/.f64 y (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 y -4)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (-.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4)) (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3)) (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (fma.f64 x x (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 y (*.f64 y -4) (neg.f64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (neg.f64 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y -4)) 3)) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (*.f64 y (*.f64 y -4)) (*.f64 y (*.f64 y -4))) (*.f64 (*.f64 x x) (*.f64 y (*.f64 y -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 3) (pow.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2) (-.f64 (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) (*.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 4) (*.f64 (*.f64 y (*.f64 y -4)) (*.f64 y (*.f64 y -4)))) (-.f64 (*.f64 x x) (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))) (-.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) 1) (fma.f64 x x (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) 2))) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4))))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x x))) (pow.f64 (exp.f64 y) (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) x) (+.f64 1 (expm1.f64 (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 x x))) (+.f64 1 (expm1.f64 (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x x))) (exp.f64 (*.f64 y (*.f64 y -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) x) (/.f64 1 (pow.f64 (exp.f64 y) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x x))) (/.f64 1 (pow.f64 (exp.f64 y) (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))))) (exp.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) (exp.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) (+.f64 1 (expm1.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y (*.f64 y -4))) (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 y) (*.f64 y 4))) (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 y (*.f64 y -4))) (+.f64 1 (expm1.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 y) (*.f64 y 4))) (+.f64 1 (expm1.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y (*.f64 y -4) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y 4) (neg.f64 y) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 1 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 1 (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 1 (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 1 (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x x (*.f64 y (*.f64 y -4))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x x (*.f64 y (*.f64 y -4))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y (*.f64 y -4)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) 2)) (cbrt.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 x 4)) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 x 4)) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 x 4)) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 x 4)) (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (hypot.f64 x (sqrt.f64 (*.f64 y (*.f64 y -4)))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) x) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) x) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) x) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) x) (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (*.f64 y 4))) (neg.f64 (sqrt.f64 (*.f64 y (*.f64 y 4)))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 y) (*.f64 y 4) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 y 4)) (fma.f64 x x (*.f64 y (*.f64 y 4))) (pow.f64 x 4))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (/.f64 1 (fma.f64 x x (*.f64 y (*.f64 y 4)))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y -4) y (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) (cbrt.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))) (cbrt.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 y -4))) (cbrt.f64 (*.f64 y (*.f64 y -4)))) (cbrt.f64 (*.f64 y (*.f64 y -4))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) (sqrt.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (*.f64 y -4))) (sqrt.f64 (*.f64 y (*.f64 y -4))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 y (*.f64 y 4)))) (sqrt.f64 (*.f64 y (*.f64 y 4))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 y (*.f64 y 4)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (-.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (-.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (-.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (-.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (-.f64 x (sqrt.f64 (*.f64 y (*.f64 y 4)))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2)) (cbrt.f64 (*.f64 y (*.f64 y 4))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) (fma.f64 x x (*.f64 y (*.f64 y -4))) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)) (fma.f64 (*.f64 y (*.f64 y -4)) 1 (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 y 4)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 y 4))) 2) (*.f64 y (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)) (*.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2)) (+.f64 (pow.f64 x 6) (pow.f64 (*.f64 y (*.f64 y 4)) 3))) (fma.f64 (*.f64 y (*.f64 y 4)) (-.f64 (*.f64 y (*.f64 y 4)) (*.f64 x x)) (pow.f64 x 4)) (+.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -4) 1) y (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -4) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 y -4) (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 y (*.f64 y -4) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 y (*.f64 y 4)) (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))) 1))))))

simplify36.0ms (1.8%)

Algorithm
egg-herbie
Rules
499×associate-*l/_binary64
445×associate-*r/_binary64
368×fma-def_binary64
319×associate-/r/_binary64
311×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046807
1121753
2346741
31380723
Stop Event
node limit
Counts
261 → 232
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (+.f64 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)))))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (+.f64 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)))))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (+.f64 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)))))
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(*.f64 -4 (pow.f64 y 2))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(pow.f64 x 2)
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(*.f64 -4 (pow.f64 y 2))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(*.f64 -4 (pow.f64 y 2))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
Outputs
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1)
(fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1)
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1)
(fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1) (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))))
(-.f64 (*.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y))) (fma.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) 1))
(fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) (-.f64 -1 (*.f64 (/.f64 1/8 (pow.f64 y 4)) (pow.f64 x 4))))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8 -1))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (/.f64 (*.f64 1/32 (pow.f64 x 6)) (pow.f64 y 6))) (fma.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) 1))
(+.f64 (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1)) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8 -1)))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -8 (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 1)
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4))) (*.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1))
(fma.f64 (/.f64 32 (pow.f64 x 4)) (pow.f64 y 4) (fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (+.f64 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4))) (fma.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6))))))
(-.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (fma.f64 8 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 (*.f64 (pow.f64 y 6) 128) (pow.f64 x 6))))
(+.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 (*.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) -128)))
(fma.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) -128 (fma.f64 (/.f64 32 (pow.f64 x 4)) (pow.f64 y 4) (fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -8 (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 1)
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4))) (*.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1))
(fma.f64 (/.f64 32 (pow.f64 x 4)) (pow.f64 y 4) (fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (+.f64 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4))) (fma.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6))))))
(-.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (fma.f64 8 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 (*.f64 (pow.f64 y 6) 128) (pow.f64 x 6))))
(+.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 (*.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) -128)))
(fma.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) -128 (fma.f64 (/.f64 32 (pow.f64 x 4)) (pow.f64 y 4) (fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (*.f64 -8 (/.f64 (*.f64 y y) (*.f64 x x))))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 1)
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4))) (*.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1))
(fma.f64 (/.f64 32 (pow.f64 x 4)) (pow.f64 y 4) (fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1))
(-.f64 (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))) (+.f64 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)))))
(+.f64 1 (-.f64 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4))) (fma.f64 8 (/.f64 (*.f64 y y) (*.f64 x x)) (*.f64 128 (/.f64 (pow.f64 y 6) (pow.f64 x 6))))))
(-.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (fma.f64 8 (*.f64 (/.f64 y x) (/.f64 y x)) (/.f64 (*.f64 (pow.f64 y 6) 128) (pow.f64 x 6))))
(+.f64 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1) (fma.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8 (*.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) -128)))
(fma.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) -128 (fma.f64 (/.f64 32 (pow.f64 x 4)) (pow.f64 y 4) (fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)))
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1)
(fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1)
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1)
(fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1) (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))))
(-.f64 (*.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y))) (fma.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) 1))
(fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) (-.f64 -1 (*.f64 (/.f64 1/8 (pow.f64 y 4)) (pow.f64 x 4))))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8 -1))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (/.f64 (*.f64 1/32 (pow.f64 x 6)) (pow.f64 y 6))) (fma.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) 1))
(+.f64 (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1)) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8 -1)))
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1)
(fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1)
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1)
(fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1)
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1) (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))))
(-.f64 (*.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y))) (fma.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) 1))
(fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) (-.f64 -1 (*.f64 (/.f64 1/8 (pow.f64 y 4)) (pow.f64 x 4))))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8 -1))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)))) (+.f64 1 (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (/.f64 (*.f64 1/32 (pow.f64 x 6)) (pow.f64 y 6))) (fma.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) 1))
(+.f64 (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1)) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) (fma.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1/8 -1)))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 (*.f64 -4 y) y)
(*.f64 y (*.f64 y -4))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(pow.f64 x 2)
(*.f64 x x)
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(pow.f64 x 2)
(*.f64 x x)
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(pow.f64 x 2)
(*.f64 x x)
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 (*.f64 -4 y) y)
(*.f64 y (*.f64 y -4))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 (*.f64 -4 y) y)
(*.f64 y (*.f64 y -4))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))
(-.f64 (pow.f64 x 2) (*.f64 4 (pow.f64 y 2)))
(-.f64 (*.f64 x x) (*.f64 (*.f64 y y) 4))
(fma.f64 x x (*.f64 (*.f64 -4 y) y))
(fma.f64 x x (*.f64 y (*.f64 y -4)))

prune163.0ms (8.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2302232
Fresh000
Picked011
Done000
Total2303233
Error
0b
Counts
233 → 3
Alt Table
StatusErrorProgram
32.4b
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
30.8b
-1
30.8b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Compiler

Compiled 7497 to 4464 computations (40.5% saved)

localize0.0ms (0%)

prune5.0ms (0.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done011
Total033
Error
0b
Counts
3 → 3
Alt Table
StatusErrorProgram
32.4b
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
30.8b
-1
30.8b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Compiler

Compiled 48 to 29 computations (39.6% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -8 (/.f64 y x))
0.1b
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)

series9.0ms (0.5%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(*.f64 -8 (/.f64 y x))
1.0ms
y
@inf
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
1.0ms
y
@-inf
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
1.0ms
y
@0
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
1.0ms
x
@inf
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)

rewrite46.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
800×pow1_binary64
742×log1p-expm1-u_binary64
742×expm1-log1p-u_binary64
79×add-sqr-sqrt_binary64
76×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0821
116120
2196120
Stop Event
node limit
Counts
2 → 45
Calls
Call 1
Inputs
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
(*.f64 -8 (/.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))) (pow.f64 (cbrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))) 2) (cbrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))) (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 3) 1) (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) (*.f64 (pow.f64 (/.f64 y x) 2) -8)) (-.f64 1 (*.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) (*.f64 (pow.f64 (/.f64 y x) 2) -8)) 1) (-.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (/.f64 y x) 2) -8))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 y x) -8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -8 (/.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 x (*.f64 y -8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y -8) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 y -8)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -8) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -8) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 y -8) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 y) -8) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -8 (neg.f64 y)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 y x) -8) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 y x) -8) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 y x) -8)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 y x) -8)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 64 (pow.f64 (/.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (/.f64 y x)) -8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 y x) -8))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 y x) -8) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 y x) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 y x) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 y x) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 y x) -8)) 1))))))

simplify26.0ms (1.3%)

Algorithm
egg-herbie
Rules
740×associate-/r*_binary64
623×associate-*l/_binary64
535×associate-/l/_binary64
378×associate-/r/_binary64
156×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
013330
132330
274294
3242294
41318294
Stop Event
node limit
Counts
69 → 50
Calls
Call 1
Inputs
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
Outputs
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(*.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8)
(*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8)
(*.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(*.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8)
(*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8)
(*.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))
(*.f64 (/.f64 (*.f64 y y) (*.f64 x x)) -8)
(*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8)
(*.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x))
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
1
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)
(-.f64 1 (*.f64 8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 1 (/.f64 (*.f64 8 (*.f64 y y)) (*.f64 x x)))
(+.f64 1 (*.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (*.f64 y y) (/.f64 (/.f64 -8 x) x) 1)

prune26.0ms (1.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New50050
Fresh000
Picked011
Done022
Total50353
Error
0b
Counts
53 → 3
Alt Table
StatusErrorProgram
32.4b
(fma.f64 (/.f64 y x) (*.f64 -8 (/.f64 y x)) 1)
30.8b
-1
30.8b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Compiler

Compiled 695 to 446 computations (35.8% saved)

regimes186.0ms (9.3%)

Accuracy

Total 12.8b remaining (98.2%)

Threshold costs 0b (0%)

Counts
12 → 7
Compiler

Compiled 215 to 123 computations (42.8% saved)

bsearch114.0ms (5.7%)

Algorithm
binary-search
Calls

6 calls:

23.0ms
x
22.0ms
x
19.0ms
x
17.0ms
x
16.0ms
x
Steps
ItersPointRange
1.7e+139
∈ [
4.699250527995192e+138
,
9.08343997306446e+139
]
1.45e-48
∈ [
6.370758380294462e-49
,
4.8136027859066046e-46
]
-1.48e-100
∈ [
-1.593399699405994e-99
,
-4.036102922931323e-102
]
-4.3e+18
∈ [
-4347723460903805400.0
,
-404862679661460.44
]
-3.9e+77
∈ [
-3.9943345993410305e+77
,
-3.2906374605101933e+69
]
-1.6e+90
∈ [
-7.980941517401226e+105
,
-1.5506809565372877e+90
]
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043143
151143
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 x -1599999999999999991605865203068878917052713767210914809951067115710532936612925522189484032) (+.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1) (if (<=.f64 x -389999999999999976573063302669385975679810054036570934229591833508418013888512) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1) (if (<=.f64 x -4300000000000000000) 1 (if (<=.f64 x -5831496917066383/39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306816) (/.f64 (fma.f64 (*.f64 y -4) y (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) (if (<=.f64 x 2385981608115749/1645504557321206042154969182557350504982735865633579863348609024) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1) (if (<=.f64 x 17000000000000001219362531106732342294694521660884438652114011210679918401928191198653813601982711840816352021048766252428236365804953665536) (/.f64 (fma.f64 (*.f64 y -4) y (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) (+.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1)))))))
Outputs
(if (<=.f64 x -1599999999999999991605865203068878917052713767210914809951067115710532936612925522189484032) (+.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1) (if (<=.f64 x -389999999999999976573063302669385975679810054036570934229591833508418013888512) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1) (if (<=.f64 x -4300000000000000000) 1 (if (<=.f64 x -5831496917066383/39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306816) (/.f64 (fma.f64 (*.f64 y -4) y (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) (if (<=.f64 x 2385981608115749/1645504557321206042154969182557350504982735865633579863348609024) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1) (if (<=.f64 x 17000000000000001219362531106732342294694521660884438652114011210679918401928191198653813601982711840816352021048766252428236365804953665536) (/.f64 (fma.f64 (*.f64 y -4) y (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) (+.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1)))))))
(if (<=.f64 x -1599999999999999991605865203068878917052713767210914809951067115710532936612925522189484032) (+.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1) (if (<=.f64 x -389999999999999976573063302669385975679810054036570934229591833508418013888512) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1) (if (<=.f64 x -4300000000000000000) 1 (if (<=.f64 x -5831496917066383/39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306816) (/.f64 (fma.f64 (*.f64 y -4) y (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y 4)))) (if (<=.f64 x 2385981608115749/1645504557321206042154969182557350504982735865633579863348609024) (fma.f64 (/.f64 1/2 y) (/.f64 (*.f64 x x) y) -1) (if (<=.f64 x 17000000000000001219362531106732342294694521660884438652114011210679918401928191198653813601982711840816352021048766252428236365804953665536) (/.f64 (fma.f64 (*.f64 y -4) y (*.f64 x x)) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y 4)))) (+.f64 (*.f64 (pow.f64 (/.f64 y x) 2) -8) 1)))))))

end78.0ms (3.9%)

Stop Event
done
Compiler

Compiled 238 to 142 computations (40.3% saved)

Profiling

Loading profile data...