Details

Time bar (total: 1.7s)

analyze184.0ms (10.9%)

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)

sample1.0s (60%)

Results
1.0s8256×body128valid

preprocess52.0ms (3.1%)

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)

simplify46.0ms (2.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))))

eval1.0ms (0%)

Compiler

Compiled 38 to 21 computations (44.7% saved)

prune3.0ms (0.2%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
30.5b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
30.5b
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
Compiler

Compiled 38 to 22 computations (42.1% saved)

localize9.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -4 (*.f64 y y))
2.7b
(fma.f64 x x (*.f64 -4 (*.f64 y y)))
29.9b
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4))))

series9.0ms (0.6%)

Counts
3 → 60
Calls

15 calls:

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

rewrite57.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
878×log1p-expm1-u_binary64
878×expm1-log1p-u_binary64
120×add-sqr-sqrt_binary64
117×*-un-lft-identity_binary64
117×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify52.0ms (3.1%)

Algorithm
egg-herbie
Rules
911×fma-neg_binary64
572×times-frac_binary64
352×associate-/l*_binary64
300×fma-def_binary64
267×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0871050
1253882
2827807
34950807
Stop Event
node limit
Counts
131 → 97
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))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 2))
(*.f64 -4 (pow.f64 y 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 1/2 (/.f64 x (/.f64 (*.f64 y y) x)) -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))
(-.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)))
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))
(-.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)))
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))
(-.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)))
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))
(+.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)))
-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)
(-.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))
(-.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)))
-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)
(-.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))
(-.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)))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y 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))
(+.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))
(+.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))
(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))
(+.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))
(+.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))
(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))
(+.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))
(+.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))
(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))
(+.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))
(+.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))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y 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))
(+.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))
(+.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))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y 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))
(+.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))
(+.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))
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)
(*.f64 -4 (pow.f64 y 2))
(*.f64 (*.f64 y y) -4)

eval40.0ms (2.4%)

Compiler

Compiled 2048 to 1410 computations (31.2% saved)

prune73.0ms (4.3%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New95297
Fresh000
Picked101
Done000
Total96298
Error
0.3b
Counts
98 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
32.0b
-1
31.4b
1
Compiler

Compiled 12 to 12 computations (0% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done000
Total022
Error
0.3b
Counts
2 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
32.0b
-1
31.4b
1
Compiler

Compiled 9 to 9 computations (0% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done011
Total022
Error
0.3b
Counts
2 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
32.0b
-1
31.4b
1
Compiler

Compiled 6 to 6 computations (0% saved)

regimes112.0ms (6.6%)

Accuracy

Total -53.7b remaining (-552.1%)

Threshold costs -53.7b (-552.1%)

Counts
4 → 5
Calls
Call 1
Inputs
-1
1
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
Outputs
-1
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
-1
(/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4))))
1
Results
TimeErrorSegmentsBranch
33.0ms11.5b4x
25.0ms11.3b5y
3.0ms14.6b2(/.f64 (-.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)) (+.f64 (*.f64 x x) (*.f64 (*.f64 y 4) y)))
13.0ms9.7b5(*.f64 x x)
13.0ms9.7b5(*.f64 x x)
10.0ms10.6b4(*.f64 (*.f64 y 4) y)
11.0ms10.6b4(*.f64 (*.f64 y 4) y)
Compiler

Compiled 91 to 55 computations (39.6% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimePointRange
0.0ms
4e+198
∈ [
2.0330462225267604e+198
,
3.475589841846151e+201
]
0.0ms
2e-9
∈ [
1.2908901253683333e-9
,
3.6561283124311475e-9
]
0.0ms
5e-218
∈ [
3.3077723755206954e-218
,
8.446494984358358e-216
]
0.0ms
0.0
∈ [
0.0
,
1e-323
]
Compiler

Compiled 24 to 16 computations (33.3% saved)

simplify4.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02887
13287
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 x x) 0) -1 (if (<=.f64 (*.f64 x x) 4968057895362269/99361157907245371849534687261600163536440705095468583112899330433667260971928120725176218165033374588831214764616388685194981122823348121052434385602635592909085118465334393955216978280422300468816831948397854000057142198644227702784) (/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) (if (<=.f64 (*.f64 x x) 4835703278458517/2417851639229258349412352) -1 (if (<=.f64 (*.f64 x x) 4000000000000000070142166264077602166149767460708800344583192419745366289222052773513135086095057460819601312121498137127444044423471504910343963196864201302268135998643045972226530032988244005617664) (/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) 1))))
Outputs
(if (<=.f64 (*.f64 x x) 0) -1 (if (<=.f64 (*.f64 x x) 4968057895362269/99361157907245371849534687261600163536440705095468583112899330433667260971928120725176218165033374588831214764616388685194981122823348121052434385602635592909085118465334393955216978280422300468816831948397854000057142198644227702784) (/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) (if (<=.f64 (*.f64 x x) 4835703278458517/2417851639229258349412352) -1 (if (<=.f64 (*.f64 x x) 4000000000000000070142166264077602166149767460708800344583192419745366289222052773513135086095057460819601312121498137127444044423471504910343963196864201302268135998643045972226530032988244005617664) (/.f64 (fma.f64 x x (*.f64 -4 (*.f64 y y))) (fma.f64 x x (*.f64 y (*.f64 y 4)))) 1))))

end32.0ms (1.9%)

Stop Event
done
Compiler

Compiled 126 to 70 computations (44.4% saved)

Profiling

Loading profile data...