Details

Time bar (total: 2.7s)

analyze115.0ms (4.3%)

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
Compiler

Compiled 22 to 13 computations (40.9% saved)

sample1.5s (56.7%)

Results
1.5s8256×body256valid

preprocess90.0ms (3.4%)

Algorithm
egg-herbie
Rules
1168×fma-neg_binary64
968×fma-def_binary64
382×neg-mul-1_binary64
372×distribute-frac-neg_binary64
346×neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01652
14448
210248
321748
446248
588948
6147748
7247648
8435148
9583948
10733248
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 23 to 14 computations (39.1% saved)

simplify45.0ms (1.7%)

Algorithm
egg-herbie
Rules
620×fma-def_binary64
456×cancel-sign-sub-inv_binary64
432×distribute-rgt-neg-in_binary64
430×times-frac_binary64
358×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
12424
25624
311424
424024
545724
672324
798724
8160724
9374524
10732224
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))))
(/.f64 (fma.f64 y (*.f64 y -4) (*.f64 x x)) (fma.f64 x x (*.f64 y (*.f64 y 4))))

eval1.0ms (0%)

Compiler

Compiled 38 to 20 computations (47.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
31.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
31.0b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Compiler

Compiled 21 to 12 computations (42.9% saved)

localize7.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
30.4b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
2.6b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))
2.6b
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))
30.4b
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))

series44.0ms (1.7%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
37.0ms
y
@inf
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
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
x
@0
(-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))

rewrite110.0ms (4.1%)

Algorithm
batch-egg-rewrite
Rules
627×log-prod_binary64
450×fma-def_binary64
386×pow-prod-down_binary64
307×pow2_binary64
230×fma-neg_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 0 (/.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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4)))))) 2)) (log.f64 (cbrt.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 +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))) (fma.f64 x x (*.f64 y (*.f64 y 4))))))) (log.f64 (sqrt.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 -.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 (pow.f64 (cbrt.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 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) -1/2) (/.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)))) 2) 1/2)))) (#(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 pow.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)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (fma.f64 x x (*.f64 y (*.f64 y -4)))) 1) -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 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 (pow.f64 (cbrt.f64 (/.f64 x (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) x))) 2) (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 (pow.f64 (cbrt.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 (pow.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) -1/2) (/.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 (*.f64 (cbrt.f64 x) x) 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 (*.f64 (cbrt.f64 x) x) (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 (*.f64 (cbrt.f64 x) x) (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 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 +.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 0 (fma.f64 x x (*.f64 y (*.f64 y -4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x x (*.f64 y (*.f64 y -4))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))))) (#(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 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 (pow.f64 (*.f64 y (*.f64 y -4)) 2) (*.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 (pow.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 2) (*.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) (pow.f64 (*.f64 y (*.f64 y -4)) 2)) (-.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) (pow.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4))) 2)) (-.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))) 2) 1/2)))) (#(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 pow.f64 (/.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))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x x (*.f64 y (*.f64 y 4))) (-.f64 (pow.f64 x 4) (pow.f64 (*.f64 y (*.f64 y 4)) 2))) -1)))) (#(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 4) (*.f64 y y))))))) (#(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 (+.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 (+.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 (exp.f64 (*.f64 y (*.f64 y -4))) (+.f64 1 (expm1.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (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 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) (*.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 (*.f64 (cbrt.f64 x) x) (pow.f64 (cbrt.f64 x) 2) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) x) (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 (*.f64 (cbrt.f64 x) x) (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 x (sqrt.f64 x)) (*.f64 y (*.f64 y -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 x (sqrt.f64 x)) (*.f64 (*.f64 y (*.f64 y -4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.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 (sqrt.f64 x) (*.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 (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 (pow.f64 (cbrt.f64 (fma.f64 y (*.f64 y -4) (*.f64 y (*.f64 y 4)))) 2) (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 (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 (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 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 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 (*.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))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x x (*.f64 y (*.f64 y -4)))))))))

simplify114.0ms (4.3%)

Algorithm
egg-herbie
Rules
911×fma-neg_binary64
655×cancel-sign-sub-inv_binary64
572×times-frac_binary64
352×associate-/l*_binary64
300×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
087966
1253798
2827723
34950723
Stop Event
node limit
Counts
261 → 238
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1)
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) 1)
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))) (+.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))))) 1)
1
(-.f64 (+.f64 1 (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (+.f64 (*.f64 16 (/.f64 (*.f64 (pow.f64 y 4) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
1
(-.f64 (+.f64 1 (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (+.f64 (*.f64 16 (/.f64 (*.f64 (pow.f64 y 4) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
1
(+.f64 (*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) 1)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (+.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 1 (+.f64 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4))) (*.f64 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6))))))
-1
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(-.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 4)) (pow.f64 y 6))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
-1
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(-.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 4)) (pow.f64 y 6))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(*.f64 -4 (pow.f64 y 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 -4 (pow.f64 y 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(*.f64 -4 (pow.f64 y 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 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 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) -1)
(fma.f64 (/.f64 x (/.f64 y x)) (/.f64 1/2 y) -1)
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))) (*.f64 1/2 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) 1)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) -1))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1))
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))) (+.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))))) 1)
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 1/32 (pow.f64 x 6)) (pow.f64 y 6)))) -1)
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6))) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1)))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) -1)))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) -1)))
1
(-.f64 (+.f64 1 (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 -4 (/.f64 (*.f64 y y) (*.f64 x x))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (/.f64 -8 x) (/.f64 (*.f64 y y) x) 1)
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 -4 (+.f64 (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) -8))) (/.f64 (*.f64 y y) (*.f64 x x)))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 4) -8) (pow.f64 x 4))) (/.f64 -8 (*.f64 (/.f64 x y) (/.f64 x y)))))
(fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) (fma.f64 (/.f64 -8 x) (/.f64 (*.f64 y y) x) 1))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1))
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (+.f64 (*.f64 16 (/.f64 (*.f64 (pow.f64 y 4) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (fma.f64 -4 (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) -8))) (fma.f64 16 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 6) (*.f64 (*.f64 y y) -8))) (*.f64 -4 (/.f64 (*.f64 y y) (*.f64 x x))))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 1 (+.f64 (fma.f64 -4 (/.f64 (*.f64 (pow.f64 y 4) -8) (pow.f64 x 4)) (*.f64 16 (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 6)) (*.f64 y (*.f64 y -8))))) (/.f64 -8 (*.f64 (/.f64 x y) (/.f64 x y)))))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) (fma.f64 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) 1)))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1)))
1
(-.f64 (+.f64 1 (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 -4 (/.f64 (*.f64 y y) (*.f64 x x))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (/.f64 -8 x) (/.f64 (*.f64 y y) x) 1)
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (*.f64 -4 (+.f64 (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) -8))) (/.f64 (*.f64 y y) (*.f64 x x)))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 4) -8) (pow.f64 x 4))) (/.f64 -8 (*.f64 (/.f64 x y) (/.f64 x y)))))
(fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) (fma.f64 (/.f64 -8 x) (/.f64 (*.f64 y y) x) 1))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1))
(-.f64 (+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 4))) (+.f64 (*.f64 16 (/.f64 (*.f64 (pow.f64 y 4) (-.f64 (*.f64 -4 (pow.f64 y 2)) (*.f64 4 (pow.f64 y 2)))) (pow.f64 x 6))) (*.f64 -4 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))) (*.f64 4 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 1 (-.f64 (fma.f64 -4 (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) -8))) (fma.f64 16 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 6) (*.f64 (*.f64 y y) -8))) (*.f64 -4 (/.f64 (*.f64 y y) (*.f64 x x))))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 1 (+.f64 (fma.f64 -4 (/.f64 (*.f64 (pow.f64 y 4) -8) (pow.f64 x 4)) (*.f64 16 (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 6)) (*.f64 y (*.f64 y -8))))) (/.f64 -8 (*.f64 (/.f64 x y) (/.f64 x y)))))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) (fma.f64 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) 1)))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1)))
1
(+.f64 (*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) 1)
(+.f64 1 (-.f64 (*.f64 -4 (/.f64 (*.f64 y y) (*.f64 x x))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 1)
(fma.f64 (/.f64 -8 x) (/.f64 (*.f64 y y) x) 1)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (+.f64 1 (*.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)))))
(+.f64 1 (-.f64 (*.f64 -4 (+.f64 (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) -8))) (/.f64 (*.f64 y y) (*.f64 x x)))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 1 (+.f64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 y 4) -8) (pow.f64 x 4))) (/.f64 -8 (*.f64 (/.f64 x y) (/.f64 x y)))))
(fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) (fma.f64 (/.f64 -8 x) (/.f64 (*.f64 y y) x) 1))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1))
(+.f64 (*.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 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6))))))
(+.f64 1 (-.f64 (fma.f64 -4 (/.f64 (*.f64 y y) (/.f64 (pow.f64 x 4) (*.f64 (*.f64 y y) -8))) (fma.f64 16 (/.f64 (pow.f64 y 4) (/.f64 (pow.f64 x 6) (*.f64 (*.f64 y y) -8))) (*.f64 -4 (/.f64 (*.f64 y y) (*.f64 x x))))) (*.f64 4 (/.f64 (*.f64 y y) (*.f64 x x)))))
(+.f64 1 (+.f64 (fma.f64 -4 (/.f64 (*.f64 (pow.f64 y 4) -8) (pow.f64 x 4)) (*.f64 16 (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 6)) (*.f64 y (*.f64 y -8))))) (/.f64 -8 (*.f64 (/.f64 x y) (/.f64 x y)))))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) (fma.f64 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) 1)))
(fma.f64 (*.f64 (/.f64 y x) (/.f64 y x)) -8 (fma.f64 -128 (/.f64 (pow.f64 y 6) (pow.f64 x 6)) (fma.f64 32 (/.f64 (pow.f64 y 4) (pow.f64 x 4)) 1)))
-1
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 -1/4 (/.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 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) -1)
(fma.f64 (/.f64 x (/.f64 y x)) (/.f64 1/2 y) -1)
(-.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) -1))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 4)) (pow.f64 y 6))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 1/32 (pow.f64 x 6)) (pow.f64 y 6)))) -1)
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6))) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1)))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) -1)))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) -1)))
-1
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) (+.f64 (*.f64 -1/4 (/.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 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) -1)
(fma.f64 (/.f64 x (/.f64 y x)) (/.f64 1/2 y) -1)
(-.f64 (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2)))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4))) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) -1))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) -1))
(fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) -1))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 4)) (pow.f64 y 6))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x 2)) (*.f64 -1/4 (pow.f64 x 2))) (pow.f64 x 2)) (pow.f64 y 4))) (*.f64 1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 x 2) (pow.f64 y 2))) 1))
(+.f64 (fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 1/32 (pow.f64 x 6)) (pow.f64 y 6)))) -1)
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6))) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) -1)))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) -1)))
(fma.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 4)) (fma.f64 1/2 (*.f64 (/.f64 x y) (/.f64 x y)) (fma.f64 1/32 (/.f64 (pow.f64 x 6) (pow.f64 y 6)) -1)))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 y (*.f64 y -4))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 y (*.f64 y -4))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 y (*.f64 y -4))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))
(+.f64 (*.f64 -4 (pow.f64 y 2)) (pow.f64 x 2))
(fma.f64 -4 (*.f64 y y) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 y y) -4))
(fma.f64 y (*.f64 y -4) (*.f64 x x))

eval178.0ms (6.7%)

Compiler

Compiled 7498 to 4490 computations (40.1% saved)

prune33.0ms (1.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New2362238
Fresh000
Picked101
Done000
Total2372239
Error
0.2b
Counts
239 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
-1
33.0b
1
Compiler

Compiled 6 to 6 computations (0% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done000
Total022
Error
0.2b
Counts
2 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
-1
33.0b
1
Compiler

Compiled 6 to 6 computations (0% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done000
Total022
Error
0.2b
Counts
2 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
-1
33.0b
1
Compiler

Compiled 6 to 6 computations (0% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done000
Total022
Error
0.2b
Counts
2 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
30.3b
-1
33.0b
1
Compiler

Compiled 6 to 6 computations (0% saved)

regimes62.0ms (2.3%)

Counts
3 → 5
Calls
Call 1
Inputs
-1
1
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Outputs
-1
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
1
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
-1
Calls

5 calls:

17.0ms
y
16.0ms
x
12.0ms
(*.f64 x x)
11.0ms
(*.f64 (*.f64 y 4) y)
4.0ms
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Results
ErrorSegmentsBranch
12.0b4x
9.6b5y
14.3b2(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
10.5b5(*.f64 x x)
9.8b3(*.f64 (*.f64 y 4) y)
Compiler

Compiled 62 to 38 computations (38.7% saved)

bsearch103.0ms (3.9%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
4.5516736627057783e+101
6.505164795468125e+101
24.0ms
5.492403835733428e-173
2.6634898147274756e-166
26.0ms
-3.4679379870731976e-62
-8.35334036108244e-69
25.0ms
-2.5050968686813432e+75
-1.6626585490945948e+69
Compiler

Compiled 26 to 16 computations (38.5% saved)

regimes36.0ms (1.4%)

Accuracy

Total -50.0b remaining (-386.1%)

Threshold costs -50.0b (-386.1%)

Counts
2 → 5
Calls
Call 1
Inputs
-1
1
Outputs
-1
1
-1
1
-1
Calls

2 calls:

19.0ms
x
16.0ms
y
Results
ErrorSegmentsBranch
13.1b5x
13.0b5y
Compiler

Compiled 10 to 8 computations (20% saved)

bsearch101.0ms (3.8%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
1.2644690275844588e-13
1.2778565616680684e-12
24.0ms
1.616598462713126e-62
4.769540972605602e-59
25.0ms
4.730849519192564e-89
1.2892342781906183e-86
27.0ms
-4912416.627133531
-0.008941666653803533
Compiler

Compiled 26 to 16 computations (38.5% saved)

simplify28.0ms (1.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
distribute-rgt-neg-in_binary64
sub-neg_binary64
distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037113
147113
263113
369113
473113
574113
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 y -2505096868681343204413042752021637463780776680145132637708670910973029122048) -1 (if (<=.f64 y -4015597848686584/115792089237316195423570985008687907853269984665640564039457584007913129639936) (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) (if (<=.f64 y 7647328597575115/139234637988958594318883410818490335842688858253435056475195084164406590796163250320615014993816265862385324388842602762167013693889631286567769205313788274787963704661873320009853338386432) 1 (if (<=.f64 y 455167366270577832673223787978195051055847006292880106821791690344959928506884726599891883620674043904) (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) -1))))
(if (<=.f64 y -21098668757865140/4294967296) -1 (if (<=.f64 y 434007872989017600/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) 1 (if (<=.f64 y 7487572538215459/463168356949264781694283940034751631413079938662562256157830336031652518559744) -1 (if (<=.f64 y 10018155761171530/79228162514264337593543950336) 1 -1))))
-1
Outputs
(if (<=.f64 y -2505096868681343204413042752021637463780776680145132637708670910973029122048) -1 (if (<=.f64 y -4015597848686584/115792089237316195423570985008687907853269984665640564039457584007913129639936) (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) (if (<=.f64 y 7647328597575115/139234637988958594318883410818490335842688858253435056475195084164406590796163250320615014993816265862385324388842602762167013693889631286567769205313788274787963704661873320009853338386432) 1 (if (<=.f64 y 455167366270577832673223787978195051055847006292880106821791690344959928506884726599891883620674043904) (/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y))) -1))))
(if (<=.f64 y -2505096868681343204413042752021637463780776680145132637708670910973029122048) -1 (if (<=.f64 y -501949731085823/14474011154664524427946373126085988481658748083205070504932198000989141204992) (/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y 4))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y 4)))) (if (<=.f64 y 7647328597575115/139234637988958594318883410818490335842688858253435056475195084164406590796163250320615014993816265862385324388842602762167013693889631286567769205313788274787963704661873320009853338386432) 1 (if (<=.f64 y 455167366270577832673223787978195051055847006292880106821791690344959928506884726599891883620674043904) (/.f64 (-.f64 (*.f64 x x) (*.f64 y (*.f64 y 4))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y 4)))) -1))))
(if (<=.f64 y -2505096868681343204413042752021637463780776680145132637708670910973029122048) -1 (if (<=.f64 y -501949731085823/14474011154664524427946373126085988481658748083205070504932198000989141204992) (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y -4))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y 4)))) (if (<=.f64 y 7647328597575115/139234637988958594318883410818490335842688858253435056475195084164406590796163250320615014993816265862385324388842602762167013693889631286567769205313788274787963704661873320009853338386432) 1 (if (<=.f64 y 455167366270577832673223787978195051055847006292880106821791690344959928506884726599891883620674043904) (/.f64 (+.f64 (*.f64 x x) (*.f64 y (*.f64 y -4))) (+.f64 (*.f64 x x) (*.f64 y (*.f64 y 4)))) -1))))
(if (<=.f64 y -21098668757865140/4294967296) -1 (if (<=.f64 y 434007872989017600/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) 1 (if (<=.f64 y 7487572538215459/463168356949264781694283940034751631413079938662562256157830336031652518559744) -1 (if (<=.f64 y 10018155761171530/79228162514264337593543950336) 1 -1))))
(if (<=.f64 y -5274667189466285/1073741824) -1 (if (<=.f64 y 847671626931675/17917957937422433684459538244547554224973163977877196279199912807710334969441287563047019946172856926208) 1 (if (<=.f64 y 7487572538215459/463168356949264781694283940034751631413079938662562256157830336031652518559744) -1 (if (<=.f64 y 5009077880585765/39614081257132168796771975168) 1 -1))))
-1

end78.0ms (2.9%)

Stop Event
fuel
Compiler

Compiled 166 to 112 computations (32.5% saved)

Profiling

Loading profile data...