Details

Time bar (total: 2.5s)

analyze126.0ms (5.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
56.3%56.2%43.7%0.1%0%0%0%7
65.6%65.6%34.3%0.1%0%0%0%8
76.6%76.5%23.4%0.1%0%0%0%9
82%82%18%0.1%0%0%0%10
87.9%87.8%12.1%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample1.6s (65.8%)

Results
1.6s8256×body256valid
Bogosity

preprocess114.0ms (4.6%)

Algorithm
egg-herbie
Rules
1100×rational.json-simplify-2
932×rational.json-simplify-44
902×rational.json-simplify-37
836×rational.json-simplify-39
824×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01146
11346
22246
36046
436446
5397846
6625546
7736846
022
122
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(sqrt.f64 (+.f64 (*.f64 y y) (*.f64 x x)))
Outputs
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(sqrt.f64 (+.f64 (*.f64 y y) (*.f64 x x)))
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Symmetry

(sort x y)

Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify108.0ms (4.4%)

Algorithm
egg-herbie
Rules
1086×rational.json-simplify-2
926×rational.json-simplify-44
902×rational.json-simplify-37
840×rational.json-simplify-39
832×rational.json-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11223
22123
35923
436423
5396923
6626723
7736223
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Outputs
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))

eval0.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
31.8b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
31.8b
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Compiler

Compiled 10 to 6 computations (40% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x x) (*.f64 y y))
29.8b
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Compiler

Compiled 25 to 6 computations (76% saved)

series3.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
x
@0
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
0.0ms
x
@inf
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
0.0ms
y
@inf
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
0.0ms
y
@0
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
0.0ms
x
@-inf
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))

rewrite57.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
1430×rational.json-simplify-35
1088×bool.json-1
1088×bool.json-2
1074×rational.json-1
1074×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0942
18942
224842
363542
4260042
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (fabs.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))) (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y)))) (+.f64 (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (+.f64 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))) (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (+.f64 (*.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 x x) (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))))

simplify72.0ms (2.9%)

Algorithm
egg-herbie
Rules
1558×rational.json-simplify-35
1264×rational.json-simplify-53
1036×rational.json-simplify-2
916×rational.json-simplify-43
874×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01662434
13982418
214452418
338482418
Stop Event
node limit
Counts
98 → 107
Calls
Call 1
Inputs
y
(+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))))))
x
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x)))
(*.f64 -1 x)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) x)) (*.f64 -1 x))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (*.f64 -1 x)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 -1 x) (*.f64 -1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
x
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x)))
y
(+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))))))
(*.f64 -1 y)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 -1 y))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 y) (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))) (+.f64 (*.f64 -1 y) (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))))))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 0)
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
(-.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 0)
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 1)
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 2)
(/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 1)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4))) 16)
(-.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 0)
(*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 1)
(*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (fabs.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))
(*.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 2 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2)))
(*.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 1)
(/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))
(/.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))))
(/.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))) (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))))))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) 4)
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4)) 8)
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y)))) (+.f64 (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4))) 16)
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (+.f64 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))) (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2)))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))
(fabs.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(fabs.f64 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
Outputs
y
(+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y))))
(+.f64 y (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 (+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))))))
(+.f64 y (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5)))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (+.f64 (+.f64 y (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5)))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 y (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))))))
(+.f64 y (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))))))
x
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 1/2 (/.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 x (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(+.f64 x (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (*.f64 1/2 (/.f64 (pow.f64 y 2) x))))
(+.f64 x (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 x (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
(+.f64 (+.f64 x (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 x (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
(+.f64 x (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
(*.f64 -1 x)
(*.f64 x -1)
(neg.f64 x)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) x)) (*.f64 -1 x))
(+.f64 (*.f64 x -1) (*.f64 (/.f64 (pow.f64 y 2) x) -1/2))
(+.f64 (neg.f64 x) (*.f64 (/.f64 (pow.f64 y 2) x) -1/2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (*.f64 -1 x)))
(+.f64 (*.f64 (/.f64 (pow.f64 y 2) x) -1/2) (+.f64 (*.f64 x -1) (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 y 2) x) -1/2) (+.f64 (neg.f64 x) (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) 1/8)))
(+.f64 (neg.f64 x) (+.f64 (*.f64 (/.f64 (pow.f64 y 2) x) -1/2) (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) 1/8)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 -1 x) (*.f64 -1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
(+.f64 (*.f64 (/.f64 (pow.f64 y 2) x) -1/2) (+.f64 (*.f64 x -1) (+.f64 (*.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 5)) -1/16) (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) 1/8))))
(+.f64 (*.f64 (/.f64 (pow.f64 y 2) x) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 5)) -1/16) (+.f64 (neg.f64 x) (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) 1/8))))
(+.f64 (*.f64 (/.f64 (pow.f64 y 2) x) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) 1/8) (+.f64 (neg.f64 x) (*.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 5)) -1/16))))
(+.f64 (neg.f64 x) (+.f64 (*.f64 (/.f64 (pow.f64 y 2) x) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 y 4) (pow.f64 x 3)) 1/8) (*.f64 (/.f64 (pow.f64 y 6) (pow.f64 x 5)) -1/16))))
x
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) x)
(+.f64 x (*.f64 1/2 (/.f64 (pow.f64 y 2) x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 x (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(+.f64 x (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (*.f64 1/2 (/.f64 (pow.f64 y 2) x))))
(+.f64 x (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) x)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 x (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
(+.f64 (+.f64 x (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5)))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 x (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
(+.f64 x (+.f64 (*.f64 1/2 (/.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 y 4) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 y 6) (pow.f64 x 5))))))
y
(+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y))))
(+.f64 y (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 (+.f64 y (*.f64 1/2 (/.f64 (pow.f64 x 2) y))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 y (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))))))
(+.f64 y (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5)))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (+.f64 (+.f64 y (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5)))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 y (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))))))
(+.f64 y (+.f64 (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))))))
(*.f64 -1 y)
(*.f64 y -1)
(neg.f64 y)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) y)) (*.f64 -1 y))
(+.f64 (*.f64 y -1) (*.f64 (/.f64 (pow.f64 x 2) y) -1/2))
(+.f64 (neg.f64 y) (*.f64 (/.f64 (pow.f64 x 2) y) -1/2))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1 y) (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3)))))
(+.f64 (*.f64 y -1) (+.f64 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) 1/8) (*.f64 (/.f64 (pow.f64 x 2) y) -1/2)))
(+.f64 (neg.f64 y) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) -1/2) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) 1/8)))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 x 2) y)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 x 6) (pow.f64 y 5))) (+.f64 (*.f64 -1 y) (*.f64 1/8 (/.f64 (pow.f64 x 4) (pow.f64 y 3))))))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) -1/2) (+.f64 (*.f64 y -1) (+.f64 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) 1/8) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 y 5)) -1/16))))
(+.f64 (neg.f64 y) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) 1/8) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 y 5)) -1/16)) (*.f64 (/.f64 (pow.f64 x 2) y) -1/2)))
(+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) -1/2) (+.f64 (neg.f64 y) (+.f64 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) 1/8) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 y 5)) -1/16))))
(+.f64 (neg.f64 y) (+.f64 (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 y 5)) -1/16) (+.f64 (*.f64 (/.f64 (pow.f64 x 2) y) -1/2) (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 y 3)) 1/8))))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(pow.f64 x 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(pow.f64 y 2)
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (pow.f64 y 2) (pow.f64 x 2))
(+.f64 (pow.f64 x 2) (pow.f64 y 2))
(+.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 0)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 0 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 0)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 1)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 1 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 2 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2))
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 1/2)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2))
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 1)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 2) 2)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4) 4)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4)) 8)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) 4))) 16)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(-.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 0)
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 1)
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (fabs.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 2 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 2 (fabs.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2)))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 1/2)
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 2)
(+.f64 (*.f64 x x) (*.f64 y y))
(*.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 1)
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 1 (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 2 (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 2 (+.f64 (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 (/.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) 2)
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))) (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 4 (+.f64 (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y)))) (+.f64 (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))) (/.f64 1 (+.f64 (*.f64 x x) (*.f64 y y))))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) 4)
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 8 (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4)) 8)
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (+.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y)))) (+.f64 (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y))) (*.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4)) (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 4))) 16)
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))) (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (+.f64 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (neg.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (+.f64 (*.f64 x x) (*.f64 y y))))) (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) 2)))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y y))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))) (-.f64 0 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y)))))
(+.f64 (*.f64 x x) (*.f64 y y))
(fabs.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 y y))
(fabs.f64 (neg.f64 (+.f64 (*.f64 x x) (*.f64 y y))))
(+.f64 (*.f64 x x) (*.f64 y y))

eval28.0ms (1.1%)

Compiler

Compiled 2121 to 1011 computations (52.3% saved)

prune14.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1052107
Fresh000
Picked011
Done000
Total1053108
Error
0.2b
Counts
108 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
31.8b
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
33.8b
(neg.f64 x)
28.6b
y
Compiler

Compiled 17 to 11 computations (35.3% saved)

localize2.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done011
Total033
Error
0.2b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
31.8b
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
33.8b
(neg.f64 x)
28.6b
y
Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0.2b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
31.8b
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
33.8b
(neg.f64 x)
28.6b
y
Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0.2b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
31.8b
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
33.8b
(neg.f64 x)
28.6b
y
Compiler

Compiled 17 to 11 computations (35.3% saved)

regimes61.0ms (2.5%)

Counts
3 → 4
Calls
Call 1
Inputs
y
(neg.f64 x)
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Outputs
(neg.f64 x)
y
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
y
Calls

6 calls:

13.0ms
y
12.0ms
(*.f64 y y)
10.0ms
(*.f64 x x)
9.0ms
x
8.0ms
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Results
ErrorSegmentsBranch
8.2b3x
4.3b4y
12.7b3(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
12.7b3(+.f64 (*.f64 x x) (*.f64 y y))
14.4b3(*.f64 x x)
7.6b5(*.f64 y y)
Compiler

Compiled 48 to 28 computations (41.7% saved)

bsearch33.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
4.2424770863220814e+77
5.912264565986886e+77
13.0ms
4.958339400594915e-176
5.5886356606902816e-173
10.0ms
1.077161535714947e-230
1.2472076250641831e-229
Results
30.0ms272×body256valid
Compiler

Compiled 234 to 162 computations (30.8% saved)

regimes28.0ms (1.1%)

Accuracy

Total -53.0b remaining (-596%)

Threshold costs -53.0b (-596%)

Counts
2 → 4
Calls
Call 1
Inputs
y
(neg.f64 x)
Outputs
(neg.f64 x)
y
(neg.f64 x)
y
Calls

2 calls:

14.0ms
x
13.0ms
y
Results
ErrorSegmentsBranch
9.3b4x
8.9b4y
Compiler

Compiled 11 to 7 computations (36.4% saved)

bsearch42.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
1.556634340711798e-51
2.299152554230941e-43
16.0ms
5.7523289151211725e-192
7.0921424088911356e-180
10.0ms
1.077161535714947e-230
1.2472076250641831e-229
Results
38.0ms400×body256valid
Compiler

Compiled 240 to 185 computations (22.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02997
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 y 6664173656566515/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (neg.f64 x) (if (<=.f64 y 891101683129335/17822033662586700072817076584766762987864173856439687228824970773044043621908896041038721919208482030385321521771853153557377752817872804680674458280164899172859354196719784961261227313463296) y (if (<=.f64 y 580000000000000033722630184661133463878305251020914994416977128155269814026240) (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) y)))
(if (<=.f64 y 6664173656566515/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (neg.f64 x) (if (<=.f64 y 7448434626215959/1284212866588958375791257295625031412487875928423626430541572486100764686107685747586344369208395617975337638880902885183842634826705030240021439152991181848133599529084092919480386659639727225896311829037056) y (if (<=.f64 y 487069348967077/13164036458569648337239753460458804039861886925068638906788872192) (neg.f64 x) y)))
y
Outputs
(if (<=.f64 y 6664173656566515/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (neg.f64 x) (if (<=.f64 y 891101683129335/17822033662586700072817076584766762987864173856439687228824970773044043621908896041038721919208482030385321521771853153557377752817872804680674458280164899172859354196719784961261227313463296) y (if (<=.f64 y 580000000000000033722630184661133463878305251020914994416977128155269814026240) (sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y))) y)))
(if (<=.f64 y 6664173656566515/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (neg.f64 x) (if (<=.f64 y 7448434626215959/1284212866588958375791257295625031412487875928423626430541572486100764686107685747586344369208395617975337638880902885183842634826705030240021439152991181848133599529084092919480386659639727225896311829037056) y (if (<=.f64 y 487069348967077/13164036458569648337239753460458804039861886925068638906788872192) (neg.f64 x) y)))
y
Compiler

Compiled 49 to 30 computations (38.8% saved)

soundness96.0ms (3.9%)

Algorithm
egg-herbie
Rules
1558×rational.json-simplify-35
1264×rational.json-simplify-53
1036×rational.json-simplify-2
916×rational.json-simplify-43
874×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01662434
13982418
214452418
338482418
Stop Event
node limit
Compiler

Compiled 10 to 7 computations (30% saved)

end40.0ms (1.6%)

Compiler

Compiled 97 to 57 computations (41.2% saved)

Profiling

Loading profile data...