Details

Time bar (total: 15.1s)

analyze194.0ms (1.3%)

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 8 to 6 computations (25% saved)

sample6.0s (39.7%)

Results
5.9s8227×body256valid
8.0ms69×body256infinite
3.0ms10×body1024valid
2.0msbody2048valid
2.0ms12×body512valid
Bogosity

preprocess88.0ms (0.6%)

Algorithm
egg-herbie
Rules
rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
11126
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 500 (-.f64 x y))
(*.f64 500 (-.f64 y x))
Outputs
(*.f64 500 (-.f64 x y))
(*.f64 500 (-.f64 y x))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify82.0ms (0.5%)

Algorithm
egg-herbie
Rules
rational_best-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 500 (-.f64 x y))
Outputs
(*.f64 500 (-.f64 x y))

eval1.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 7 to 5 computations (28.6% saved)

localize26.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 500 (-.f64 x y))
Compiler

Compiled 13 to 6 computations (53.8% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite908.0ms (6%)

Algorithm
batch-egg-rewrite
Rules
1170×rational_best-simplify-62
922×rational_best-simplify-55
890×rational_best-simplify-108
600×rational_best-simplify-83
522×rational_best-simplify-47
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
28713
323013
485113
5567213
6799513
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(*.f64 500 (-.f64 x y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 500 (-.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 500 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 500 (-.f64 x y)) 1/2) (*.f64 (*.f64 500 (-.f64 x y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (*.f64 (*.f64 500 (-.f64 x y)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (/.f64 (*.f64 (-.f64 x y) 1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 500 (-.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 500 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 500 (-.f64 x y)) 1/2) (/.f64 (*.f64 500 (-.f64 x y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (*.f64 (*.f64 500 (-.f64 x y)) 1/2)) (neg.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (-.f64 x y) 1500) 4) (/.f64 (*.f64 500 (-.f64 y x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 500 (-.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x y) 1000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 500 (-.f64 y x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x y) 2000) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000)) (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 500 (-.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 500 (-.f64 y x)))))))

simplify437.0ms (2.9%)

Algorithm
egg-herbie
Rules
1236×rational_best-simplify-3
1050×rational_best-simplify-49
912×rational_best-simplify-47
800×rational_best-simplify-48
600×rational_best-simplify-62
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060667
1129667
2299655
31087655
46657655
Stop Event
node limit
Counts
43 → 27
Calls
Call 1
Inputs
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 (-.f64 x y)) 0)
(+.f64 0 (*.f64 500 (-.f64 x y)))
(+.f64 (*.f64 (*.f64 500 (-.f64 x y)) 1/2) (*.f64 (*.f64 500 (-.f64 x y)) 1/2))
(+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (*.f64 (*.f64 500 (-.f64 x y)) 1/2)))
(+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (/.f64 (*.f64 (-.f64 x y) 1500) 4))
(-.f64 (*.f64 500 (-.f64 x y)) 0)
(-.f64 0 (*.f64 500 (-.f64 y x)))
(-.f64 (*.f64 (*.f64 500 (-.f64 x y)) 1/2) (/.f64 (*.f64 500 (-.f64 x y)) -2))
(-.f64 (+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (*.f64 (*.f64 500 (-.f64 x y)) 1/2)) (neg.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4)))
(-.f64 (/.f64 (*.f64 (-.f64 x y) 1500) 4) (/.f64 (*.f64 500 (-.f64 y x)) 4))
(/.f64 (*.f64 500 (-.f64 x y)) 1)
(/.f64 (*.f64 (-.f64 x y) 1000) 2)
(/.f64 (*.f64 500 (-.f64 y x)) -1)
(/.f64 (*.f64 (-.f64 x y) 2000) 4)
(/.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) 8)
(/.f64 (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000)) 16)
(/.f64 (+.f64 (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000)) (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000))) 32)
(pow.f64 (*.f64 500 (-.f64 x y)) 1)
(neg.f64 (*.f64 500 (-.f64 y x)))
Outputs
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 (-.f64 x y)) 0)
(*.f64 500 (-.f64 x y))
(+.f64 0 (*.f64 500 (-.f64 x y)))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 (*.f64 500 (-.f64 x y)) 1/2) (*.f64 (*.f64 500 (-.f64 x y)) 1/2))
(*.f64 500 (-.f64 x y))
(+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (*.f64 (*.f64 500 (-.f64 x y)) 1/2)))
(*.f64 500 (-.f64 x y))
(+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (/.f64 (*.f64 (-.f64 x y) 1500) 4))
(*.f64 500 (-.f64 x y))
(-.f64 (*.f64 500 (-.f64 x y)) 0)
(*.f64 500 (-.f64 x y))
(-.f64 0 (*.f64 500 (-.f64 y x)))
(neg.f64 (*.f64 500 (-.f64 y x)))
(*.f64 (-.f64 y x) -500)
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 (*.f64 500 (-.f64 x y)) 1/2) (/.f64 (*.f64 500 (-.f64 x y)) -2))
(*.f64 500 (-.f64 x y))
(-.f64 (+.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4) (*.f64 (*.f64 500 (-.f64 x y)) 1/2)) (neg.f64 (/.f64 (*.f64 500 (-.f64 x y)) 4)))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (*.f64 (-.f64 x y) 1500) 4) (/.f64 (*.f64 500 (-.f64 y x)) 4))
(/.f64 (-.f64 (*.f64 (-.f64 x y) 1500) (*.f64 500 (-.f64 y x))) 4)
(/.f64 (*.f64 500 (-.f64 x y)) 1)
(*.f64 500 (-.f64 x y))
(/.f64 (*.f64 (-.f64 x y) 1000) 2)
(*.f64 500 (-.f64 x y))
(/.f64 (*.f64 500 (-.f64 y x)) -1)
(neg.f64 (*.f64 500 (-.f64 y x)))
(*.f64 (-.f64 y x) -500)
(*.f64 -500 (-.f64 y x))
(/.f64 (*.f64 (-.f64 x y) 2000) 4)
(*.f64 500 (-.f64 x y))
(/.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) 8)
(*.f64 500 (-.f64 x y))
(/.f64 (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000)) 16)
(*.f64 500 (-.f64 x y))
(/.f64 (+.f64 (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000)) (+.f64 (*.f64 (*.f64 (-.f64 x y) 2) 2000) (*.f64 (*.f64 (-.f64 x y) 2) 2000))) 32)
(*.f64 500 (-.f64 x y))
(pow.f64 (*.f64 500 (-.f64 x y)) 1)
(*.f64 500 (-.f64 x y))
(neg.f64 (*.f64 500 (-.f64 y x)))
(*.f64 (-.f64 y x) -500)
(*.f64 -500 (-.f64 y x))

eval37.0ms (0.2%)

Compiler

Compiled 285 to 173 computations (39.3% saved)

prune38.0ms (0.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New24327
Fresh000
Picked011
Done000
Total24428
Error
0.0b
Counts
28 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 500 x) (*.f64 -500 y))
0.0b
(*.f64 500 (-.f64 x y))
32.8b
(*.f64 500 x)
29.7b
(*.f64 -500 y)
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize5.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize28.0ms (0.2%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 500 x) (*.f64 -500 y))
Compiler

Compiled 19 to 13 computations (31.6% saved)

series2.0ms (0%)

Counts
1 → 6
Calls

6 calls:

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

rewrite371.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
1190×rational_best-simplify-86
1074×rational_best-simplify-108
694×rational_best-simplify-83
610×rational_best-simplify-47
524×rational_best-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0919
16219
212119
329919
4101717
5638817
Stop Event
node limit
Counts
1 → 82
Calls
Call 1
Inputs
(+.f64 (*.f64 500 x) (*.f64 -500 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 500 x) (*.f64 500 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 500 x) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 500 x) (+.f64 (+.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) -4)) (/.f64 (*.f64 500 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -500 y) (*.f64 x -500))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -500 y) (+.f64 (/.f64 (*.f64 -500 (-.f64 x y)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -500 y) (+.f64 (+.f64 (*.f64 x -500) (/.f64 (*.f64 -500 y) -2)) (/.f64 (*.f64 y -1000) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) (+.f64 (/.f64 (*.f64 -500 (-.f64 x y)) 2) (/.f64 (*.f64 -500 (-.f64 x y)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 -500 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (*.f64 -500 (+.f64 y x)) (neg.f64 (*.f64 y -1000))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 500 y) (-.f64 (*.f64 x -500) (*.f64 y -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) (neg.f64 (*.f64 -500 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1000) (+.f64 (*.f64 500 x) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1000) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -500 y) (*.f64 x 1000)) (*.f64 500 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 500 x) (*.f64 y -1000)) (*.f64 -500 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 500 x) (*.f64 y -1000)) (+.f64 (/.f64 (*.f64 x 1000) -4) (-.f64 (*.f64 -500 y) (/.f64 (*.f64 x 1000) -4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 2000) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x 1000)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -2000) (+.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y -1000) 4) (+.f64 (*.f64 x -500) (/.f64 (*.f64 -500 y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y -1000) 4) (+.f64 (/.f64 (*.f64 -500 y) -2) (*.f64 x -500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (/.f64 (*.f64 x 1500) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (/.f64 (*.f64 x 1000) -4) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -500 (-.f64 x y)) -2) (/.f64 (*.f64 -500 (-.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -500 (+.f64 y x)) (*.f64 x -1000))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y -1500) (+.f64 (+.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 4)) (/.f64 (*.f64 y -1500) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 1500) 2) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (/.f64 (*.f64 x 1000) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -500 y) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y -1500) 2) (+.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 500 x) (/.f64 (*.f64 y -1000) 4)) (/.f64 (*.f64 -500 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 -500 y) (/.f64 (*.f64 x 1000) -4)) (/.f64 (*.f64 x 1000) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x 1000) (*.f64 y -2000)) (-.f64 (*.f64 500 x) (*.f64 3 (*.f64 500 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 (/.f64 (*.f64 -500 (-.f64 x y)) -2) -3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (*.f64 -3 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 y -1000) 8) (/.f64 (*.f64 y -1000) 4)) (-.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (neg.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 x 1000) 8) (/.f64 (*.f64 500 x) 2)) (-.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 x) (*.f64 500 y))) (/.f64 (*.f64 x 1500) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 y -1000) 4) (/.f64 (*.f64 -500 (-.f64 x y)) 2)) (/.f64 (*.f64 x 1000) -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 -500 (+.f64 y x))) (neg.f64 (*.f64 y -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -3 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 -500 (-.f64 x y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 -500 y) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (-.f64 (*.f64 x -500) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 500 x) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (+.f64 (/.f64 (*.f64 y -1500) -2) (/.f64 (*.f64 x 1000) -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 500 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (*.f64 -500 y)) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 y -1000) 4)) (-.f64 (/.f64 (*.f64 x 1000) -4) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 500 x) 2)) (-.f64 (/.f64 (*.f64 -500 y) -2) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (*.f64 -500 (+.f64 y x))) (+.f64 (*.f64 x -1000) (*.f64 -500 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -1500)) 2) (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -1500)) 2)) (+.f64 (*.f64 500 x) (*.f64 y -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (*.f64 -500 (-.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 -500 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 -500 (-.f64 x y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (*.f64 -500 (-.f64 x y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y -1000) (*.f64 x 1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -500 (-.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x 2000) (*.f64 y -2000)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -500 (-.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x 2000) (*.f64 y -2000)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -1000) (*.f64 y -1000)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))) (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000))) (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4))) (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 -500 (-.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (neg.f64 (*.f64 y -1000))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -1000)))))))

simplify367.0ms (2.4%)

Algorithm
egg-herbie
Rules
954×rational_best-simplify-62
788×rational_best-simplify-55
568×rational_best-simplify-1
550×rational_best-simplify-57
538×rational_best-simplify-47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02202134
15441702
214621614
361731534
Stop Event
node limit
Counts
88 → 122
Calls
Call 1
Inputs
(*.f64 -500 y)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 -500 y)
(*.f64 -500 y)
(-.f64 (*.f64 500 x) (*.f64 500 y))
(-.f64 (*.f64 500 x) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -500)))
(-.f64 (*.f64 500 x) (+.f64 (+.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) -4)) (/.f64 (*.f64 500 x) 2)))
(-.f64 (*.f64 -500 y) (*.f64 x -500))
(-.f64 (*.f64 -500 y) (+.f64 (/.f64 (*.f64 -500 (-.f64 x y)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) 2)))
(-.f64 (*.f64 -500 y) (+.f64 (+.f64 (*.f64 x -500) (/.f64 (*.f64 -500 y) -2)) (/.f64 (*.f64 y -1000) 4)))
(-.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 0)
(-.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) (+.f64 (/.f64 (*.f64 -500 (-.f64 x y)) 2) (/.f64 (*.f64 -500 (-.f64 x y)) -2)))
(-.f64 0 (*.f64 -500 (-.f64 x y)))
(-.f64 0 (+.f64 (*.f64 -500 (+.f64 y x)) (neg.f64 (*.f64 y -1000))))
(-.f64 0 (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -1000)))
(-.f64 (*.f64 500 y) (-.f64 (*.f64 x -500) (*.f64 y -1000)))
(-.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) (neg.f64 (*.f64 -500 (-.f64 x y))))
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
(-.f64 (*.f64 x 1000) (+.f64 (*.f64 500 x) (*.f64 500 y)))
(-.f64 (*.f64 x 1000) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) 0))
(-.f64 (+.f64 (*.f64 -500 y) (*.f64 x 1000)) (*.f64 500 x))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 y -1000)) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 y -1000)) (+.f64 (/.f64 (*.f64 x 1000) -4) (-.f64 (*.f64 -500 y) (/.f64 (*.f64 x 1000) -4))))
(-.f64 (*.f64 x 2000) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x 1000)))
(-.f64 (*.f64 y -2000) (+.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))
(-.f64 (/.f64 (*.f64 y -1000) 4) (+.f64 (*.f64 x -500) (/.f64 (*.f64 -500 y) -2)))
(-.f64 (/.f64 (*.f64 y -1000) 4) (+.f64 (/.f64 (*.f64 -500 y) -2) (*.f64 x -500)))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) -4)))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (/.f64 (*.f64 x 1500) -2)))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (/.f64 (*.f64 x 1000) -4) (*.f64 500 y)))
(-.f64 (/.f64 (*.f64 -500 (-.f64 x y)) -2) (/.f64 (*.f64 -500 (-.f64 x y)) 2))
(-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 x -1000))
(-.f64 (*.f64 y -1500) (+.f64 (+.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 4)) (/.f64 (*.f64 y -1500) 2)))
(-.f64 (/.f64 (*.f64 x 1500) 2) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (/.f64 (*.f64 x 1000) -4)))
(-.f64 (+.f64 (*.f64 -500 y) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (/.f64 (*.f64 -500 (+.f64 y x)) 2))
(-.f64 (/.f64 (*.f64 y -1500) 2) (+.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 4)))
(-.f64 (+.f64 (*.f64 500 x) (/.f64 (*.f64 y -1000) 4)) (/.f64 (*.f64 -500 y) -2))
(-.f64 (-.f64 (*.f64 -500 y) (/.f64 (*.f64 x 1000) -4)) (/.f64 (*.f64 x 1000) -4))
(-.f64 (+.f64 (*.f64 x 1000) (*.f64 y -2000)) (-.f64 (*.f64 500 x) (*.f64 3 (*.f64 500 y))))
(-.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 (/.f64 (*.f64 -500 (-.f64 x y)) -2) -3) 2))
(-.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (*.f64 -3 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (+.f64 (/.f64 (*.f64 y -1000) 8) (/.f64 (*.f64 y -1000) 4)) (-.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 8)))
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (neg.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (+.f64 (/.f64 (*.f64 x 1000) 8) (/.f64 (*.f64 500 x) 2)) (-.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) 8)))
(-.f64 (-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 x) (*.f64 500 y))) (/.f64 (*.f64 x 1500) -2))
(-.f64 (-.f64 (/.f64 (*.f64 y -1000) 4) (/.f64 (*.f64 -500 (-.f64 x y)) 2)) (/.f64 (*.f64 x 1000) -4))
(-.f64 (neg.f64 (*.f64 -500 (+.f64 y x))) (neg.f64 (*.f64 y -1000)))
(-.f64 (/.f64 (*.f64 -3 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 -500 (-.f64 x y)) 4))
(-.f64 (/.f64 (+.f64 (*.f64 -500 y) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (-.f64 (*.f64 x -500) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2))
(-.f64 (/.f64 (+.f64 (*.f64 500 x) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (+.f64 (/.f64 (*.f64 y -1500) -2) (/.f64 (*.f64 x 1000) -4)) 2))
(-.f64 (/.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 500 x)) 2))
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (*.f64 -500 y)) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 y -1000) 4)) (-.f64 (/.f64 (*.f64 x 1000) -4) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 500 x) 2)) (-.f64 (/.f64 (*.f64 -500 y) -2) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (*.f64 -500 (+.f64 y x))) (+.f64 (*.f64 x -1000) (*.f64 -500 (+.f64 y x))))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -1500)) 2) (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -1500)) 2)) (+.f64 (*.f64 500 x) (*.f64 y -1000)))
(*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)
(*.f64 1 (neg.f64 (*.f64 -500 (-.f64 x y))))
(*.f64 -1 (*.f64 -500 (-.f64 x y)))
(*.f64 2 (/.f64 (*.f64 -500 (-.f64 x y)) -2))
(*.f64 2 (*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1/2))
(*.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) 1/2)
(*.f64 -2 (/.f64 (*.f64 -500 (-.f64 x y)) 2))
(*.f64 1/2 (+.f64 (*.f64 y -1000) (*.f64 x 1000)))
(*.f64 (*.f64 -500 (-.f64 x y)) -1)
(*.f64 (+.f64 (*.f64 x 2000) (*.f64 y -2000)) 1/4)
(*.f64 1/4 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))
(*.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 1/8)
(*.f64 (*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1/2) 2)
(*.f64 1/8 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))))
(/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)
(/.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) 2)
(/.f64 (*.f64 -500 (-.f64 x y)) -1)
(/.f64 (+.f64 (*.f64 x 2000) (*.f64 y -2000)) 4)
(/.f64 (-.f64 (*.f64 x -1000) (*.f64 y -1000)) -2)
(/.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 8)
(/.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))) 16)
(/.f64 (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4))) 8)
(/.f64 (+.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))) (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))))) 32)
(/.f64 (+.f64 (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000))) (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000)))) 16)
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4))) (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4)))) 16)
(pow.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)
(neg.f64 (*.f64 -500 (-.f64 x y)))
(neg.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (neg.f64 (*.f64 y -1000))))
(neg.f64 (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -1000)))
Outputs
(*.f64 -500 y)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 -500 y)
(*.f64 -500 y)
(-.f64 (*.f64 500 x) (*.f64 500 y))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 500 x) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -500)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 500 x) (+.f64 (+.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) -4)) (/.f64 (*.f64 500 x) 2)))
(-.f64 (*.f64 500 x) (+.f64 (+.f64 (*.f64 y 500) (/.f64 (*.f64 x 1000) -4)) (/.f64 (*.f64 500 x) 2)))
(-.f64 (*.f64 500 x) (+.f64 (*.f64 y 500) (+.f64 (/.f64 (*.f64 x 1000) -4) (/.f64 (*.f64 500 x) 2))))
(+.f64 (/.f64 (*.f64 500 x) 2) (neg.f64 (+.f64 (*.f64 y 500) (*.f64 (*.f64 500 x) -1/2))))
(+.f64 (*.f64 (*.f64 500 x) 1/2) (neg.f64 (+.f64 (*.f64 y 500) (*.f64 (*.f64 500 x) -1/2))))
(-.f64 (*.f64 -500 y) (*.f64 x -500))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 -500 y) (+.f64 (/.f64 (*.f64 -500 (-.f64 x y)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) 2)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 -500 y) (+.f64 (+.f64 (*.f64 x -500) (/.f64 (*.f64 -500 y) -2)) (/.f64 (*.f64 y -1000) 4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 0)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) (+.f64 (/.f64 (*.f64 -500 (-.f64 x y)) 2) (/.f64 (*.f64 -500 (-.f64 x y)) -2)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 0 (*.f64 -500 (-.f64 x y)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 0 (+.f64 (*.f64 -500 (+.f64 y x)) (neg.f64 (*.f64 y -1000))))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 0 (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -1000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 500 y) (-.f64 (*.f64 x -500) (*.f64 y -1000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) (neg.f64 (*.f64 -500 (-.f64 x y))))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 x 1000) (+.f64 (*.f64 500 x) (*.f64 500 y)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 x 1000) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) 0))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (*.f64 -500 y) (*.f64 x 1000)) (*.f64 500 x))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 y -1000)) (*.f64 -500 y))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 y -1000)) (+.f64 (/.f64 (*.f64 x 1000) -4) (-.f64 (*.f64 -500 y) (/.f64 (*.f64 x 1000) -4))))
(+.f64 (/.f64 (*.f64 500 x) 2) (-.f64 (*.f64 500 x) (+.f64 (-.f64 (*.f64 -500 y) (*.f64 (*.f64 500 x) -1/2)) (*.f64 y 1000))))
(+.f64 (-.f64 (*.f64 -3 (*.f64 (*.f64 500 x) -1/2)) (*.f64 y 1000)) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 -500 y)))
(-.f64 (*.f64 x 2000) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x 1000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 y -2000) (+.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (*.f64 y -1000) 4) (+.f64 (*.f64 x -500) (/.f64 (*.f64 -500 y) -2)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (*.f64 y -1000) 4) (+.f64 (/.f64 (*.f64 -500 y) -2) (*.f64 x -500)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) -4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (/.f64 (*.f64 x 1500) -2)))
(-.f64 (-.f64 (/.f64 (*.f64 500 x) 2) (/.f64 (*.f64 x 1500) -2)) (+.f64 (*.f64 500 x) (*.f64 y 500)))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 (+.f64 y x)) (/.f64 (*.f64 x 3000) -4)))
(+.f64 (*.f64 (*.f64 500 x) -1/2) (+.f64 (neg.f64 (*.f64 y 500)) (/.f64 (*.f64 x 1500) 2)))
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (/.f64 (*.f64 x 1000) -4) (*.f64 500 y)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (*.f64 -500 (-.f64 x y)) -2) (/.f64 (*.f64 -500 (-.f64 x y)) 2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 x -1000))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (*.f64 y -1500) (+.f64 (+.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 4)) (/.f64 (*.f64 y -1500) 2)))
(-.f64 (*.f64 y -1500) (+.f64 (+.f64 (*.f64 -500 x) (/.f64 (*.f64 y -1000) 4)) (/.f64 (*.f64 y -1500) 2)))
(-.f64 (*.f64 y -1500) (+.f64 (*.f64 -500 x) (/.f64 (*.f64 y -4000) 4)))
(-.f64 (/.f64 (*.f64 x 1500) 2) (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (/.f64 (*.f64 x 1000) -4)))
(-.f64 (/.f64 (*.f64 x 1500) 2) (+.f64 (+.f64 (*.f64 500 x) (*.f64 y 500)) (/.f64 (*.f64 x 1000) -4)))
(-.f64 (/.f64 (*.f64 x 1500) 2) (+.f64 (*.f64 500 (+.f64 y x)) (/.f64 (*.f64 x 1000) -4)))
(+.f64 (*.f64 -500 (+.f64 y x)) (-.f64 (/.f64 (*.f64 x 1500) 2) (*.f64 (*.f64 500 x) -1/2)))
(+.f64 (*.f64 -500 (+.f64 y x)) (-.f64 (/.f64 (*.f64 x -1500) -2) (*.f64 (*.f64 500 x) -1/2)))
(-.f64 (+.f64 (*.f64 -500 y) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (/.f64 (*.f64 -500 (+.f64 y x)) 2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (*.f64 y -1500) 2) (+.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (*.f64 500 x) (/.f64 (*.f64 y -1000) 4)) (/.f64 (*.f64 -500 y) -2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (-.f64 (*.f64 -500 y) (/.f64 (*.f64 x 1000) -4)) (/.f64 (*.f64 x 1000) -4))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (*.f64 x 1000) (*.f64 y -2000)) (-.f64 (*.f64 500 x) (*.f64 3 (*.f64 500 y))))
(-.f64 (+.f64 (*.f64 x 1000) (*.f64 y -2000)) (-.f64 (*.f64 500 x) (*.f64 y 1500)))
(-.f64 (*.f64 y 1500) (+.f64 (*.f64 -500 x) (neg.f64 (*.f64 y -2000))))
(-.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 (/.f64 (*.f64 -500 (-.f64 x y)) -2) -3) 2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (*.f64 -3 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (/.f64 (*.f64 y -1000) 8) (/.f64 (*.f64 y -1000) 4)) (-.f64 (*.f64 x -500) (/.f64 (*.f64 y -1000) 8)))
(-.f64 (/.f64 (*.f64 y -1000) 8) (-.f64 (*.f64 -500 x) (+.f64 (/.f64 (*.f64 y -1000) 4) (/.f64 (*.f64 y -1000) 8))))
(-.f64 (/.f64 (+.f64 (*.f64 y -2000) (*.f64 y -1000)) 8) (-.f64 (*.f64 -500 x) (/.f64 (*.f64 y -1000) 8)))
(-.f64 (/.f64 (*.f64 y -2000) 16) (-.f64 (*.f64 -500 x) (/.f64 (*.f64 y -1500) 4)))
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (neg.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (/.f64 (*.f64 x 1000) 8) (/.f64 (*.f64 500 x) 2)) (-.f64 (*.f64 500 y) (/.f64 (*.f64 x 1000) 8)))
(-.f64 (/.f64 (*.f64 x 1000) 8) (-.f64 (*.f64 y 500) (+.f64 (/.f64 (*.f64 500 x) 2) (/.f64 (*.f64 x 1000) 8))))
(-.f64 (+.f64 (/.f64 (*.f64 500 x) 2) (/.f64 (*.f64 x 1000) 8)) (-.f64 (*.f64 y 500) (/.f64 (*.f64 x 1000) 8)))
(-.f64 (/.f64 (+.f64 (*.f64 x 1000) (*.f64 x 2000)) 8) (-.f64 (*.f64 y 500) (/.f64 (*.f64 500 x) 4)))
(-.f64 (-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 x) (*.f64 500 y))) (/.f64 (*.f64 x 1500) -2))
(-.f64 (-.f64 (/.f64 (*.f64 500 x) 2) (/.f64 (*.f64 x 1500) -2)) (+.f64 (*.f64 500 x) (*.f64 y 500)))
(-.f64 (/.f64 (*.f64 500 x) 2) (+.f64 (*.f64 500 (+.f64 y x)) (/.f64 (*.f64 x 3000) -4)))
(+.f64 (*.f64 (*.f64 500 x) -1/2) (+.f64 (neg.f64 (*.f64 y 500)) (/.f64 (*.f64 x 1500) 2)))
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
(-.f64 (-.f64 (/.f64 (*.f64 y -1000) 4) (/.f64 (*.f64 -500 (-.f64 x y)) 2)) (/.f64 (*.f64 x 1000) -4))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (neg.f64 (*.f64 -500 (+.f64 y x))) (neg.f64 (*.f64 y -1000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (*.f64 -3 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 -500 (-.f64 x y)) 4))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (+.f64 (*.f64 -500 y) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (-.f64 (*.f64 x -500) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (/.f64 (+.f64 (*.f64 500 x) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (+.f64 (/.f64 (*.f64 y -1500) -2) (/.f64 (*.f64 x 1000) -4)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 500 x) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (+.f64 (/.f64 (*.f64 x 1000) -4) (/.f64 (*.f64 y -1500) -2))) 2)
(-.f64 (/.f64 (+.f64 (*.f64 x 1000) (*.f64 500 (-.f64 x y))) 4) (+.f64 (/.f64 (*.f64 y -1500) -4) (/.f64 (*.f64 x 1000) -8)))
(-.f64 (/.f64 (+.f64 (*.f64 x 1500) (neg.f64 (*.f64 y 500))) 4) (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -3000)) -8))
(-.f64 (/.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) 2) (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 500 x)) 2))
(/.f64 (-.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (-.f64 x y)) -2)) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 500 x))) 2)
(/.f64 (-.f64 (*.f64 500 x) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (+.f64 (*.f64 y -1000) (/.f64 (*.f64 (-.f64 x y) -1000) -4)))) 2)
(/.f64 (-.f64 (*.f64 500 x) (+.f64 (/.f64 (*.f64 -500 (+.f64 y (+.f64 x (-.f64 x y)))) 2) (*.f64 y 1000))) 2)
(/.f64 (-.f64 (*.f64 500 x) (+.f64 (*.f64 -500 x) (*.f64 y 1000))) 2)
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (*.f64 -500 y)) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 y -1000) 4)) (-.f64 (/.f64 (*.f64 x 1000) -4) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4) (/.f64 (*.f64 500 x) 2)) (-.f64 (/.f64 (*.f64 -500 y) -2) (/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 4)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (*.f64 -500 (+.f64 y x))) (+.f64 (*.f64 x -1000) (*.f64 -500 (+.f64 y x))))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(-.f64 (+.f64 (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -1500)) 2) (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -1500)) 2)) (+.f64 (*.f64 500 x) (*.f64 y -1000)))
(-.f64 (/.f64 (+.f64 (+.f64 (*.f64 x 1000) (*.f64 y -1500)) (+.f64 (*.f64 x 1000) (*.f64 y -1500))) 2) (+.f64 (*.f64 500 x) (*.f64 y -1000)))
(+.f64 (*.f64 y 1000) (-.f64 (+.f64 (*.f64 500 x) (/.f64 (+.f64 (*.f64 x 1000) (*.f64 y -3000)) 2)) (*.f64 500 x)))
(+.f64 (-.f64 (/.f64 (*.f64 y -3000) 2) (*.f64 -500 x)) (*.f64 y 1000))
(*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 1 (neg.f64 (*.f64 -500 (-.f64 x y))))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 -1 (*.f64 -500 (-.f64 x y)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 2 (/.f64 (*.f64 -500 (-.f64 x y)) -2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 2 (*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1/2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) 1/2)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 -2 (/.f64 (*.f64 -500 (-.f64 x y)) 2))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 1/2 (+.f64 (*.f64 y -1000) (*.f64 x 1000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 (*.f64 -500 (-.f64 x y)) -1)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 (+.f64 (*.f64 x 2000) (*.f64 y -2000)) 1/4)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 1/4 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 1/8)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 (*.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1/2) 2)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(*.f64 1/8 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (+.f64 (*.f64 y -1000) (*.f64 x 1000)) 2)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (*.f64 -500 (-.f64 x y)) -1)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (+.f64 (*.f64 x 2000) (*.f64 y -2000)) 4)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (-.f64 (*.f64 x -1000) (*.f64 y -1000)) -2)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 x y) 2000)) 8)
(/.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))) 16)
(/.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 x y) 2000)) 8)
(/.f64 (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000))) 8)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4))) 8)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (+.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000)))) (+.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))))) 32)
(/.f64 (*.f64 2 (+.f64 (*.f64 x 2000) (*.f64 y -2000))) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 x y) 2000)) 8)
(/.f64 (+.f64 (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000))) (+.f64 (*.f64 1000 (*.f64 x 4)) (*.f64 2 (*.f64 y -2000)))) 16)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(/.f64 (+.f64 (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4))) (+.f64 (*.f64 2 (*.f64 y -2000)) (*.f64 1000 (*.f64 x 4)))) 16)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(pow.f64 (neg.f64 (*.f64 -500 (-.f64 x y))) 1)
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(neg.f64 (*.f64 -500 (-.f64 x y)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(neg.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (neg.f64 (*.f64 y -1000))))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))
(neg.f64 (+.f64 (+.f64 (*.f64 500 x) (*.f64 500 y)) (*.f64 x -1000)))
(-.f64 (*.f64 500 x) (*.f64 y 500))
(*.f64 500 (-.f64 x y))
(*.f64 -500 (-.f64 y x))

eval189.0ms (1.3%)

Compiler

Compiled 1915 to 1419 computations (25.9% saved)

prune107.0ms (0.7%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1202122
Fresh000
Picked011
Done033
Total1206126
Error
0.0b
Counts
126 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
0.6b
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
0.0b
(+.f64 (*.f64 500 x) (*.f64 -500 y))
0.0b
(*.f64 500 (-.f64 x y))
32.8b
(*.f64 500 x)
29.7b
(*.f64 -500 y)
Compiler

Compiled 54 to 42 computations (22.2% saved)

localize92.0ms (0.6%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500))
0.2b
(/.f64 (*.f64 x -1500) -2)
0.3b
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
Compiler

Compiled 51 to 39 computations (23.5% saved)

series5.0ms (0%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
1.0ms
x
@0
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
0.0ms
y
@0
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
0.0ms
x
@inf
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
0.0ms
x
@inf
(/.f64 (*.f64 x -1500) -2)

rewrite308.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
988×rational_best-simplify-63
934×rational_best-simplify-56
924×rational_best-simplify-75
918×rational_best-simplify-76
854×rational_best-4
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01581
110169
219669
355869
4229657
Stop Event
node limit
Counts
3 → 158
Calls
Call 1
Inputs
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
(/.f64 (*.f64 x -1500) -2)
(-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 500 y) (*.f64 x -250)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -250) (+.f64 (*.f64 500 (+.f64 (*.f64 x -1/2) (-.f64 y (*.f64 x -1/2)))) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (-.f64 (*.f64 (*.f64 x -1500) 1/2) (*.f64 x -250)) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 500 y)) (+.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 x -1500)) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x -1500) -1/4) (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -500) (+.f64 (*.f64 (*.f64 x -1500) 1/2) (+.f64 (*.f64 x -250) (*.f64 500 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)) (-.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 (*.f64 x -1500) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x -4500) -1/4) (+.f64 (/.f64 (*.f64 x -1500) 4) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (/.f64 (-.f64 (*.f64 x -3000) (-.f64 (*.f64 x -500) (*.f64 y 1000))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (+.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x -250) 2) (-.f64 (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2)) (/.f64 (*.f64 x -250) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (/.f64 (-.f64 (*.f64 x -1500) (-.f64 (*.f64 x -500) (*.f64 y 1000))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2) (*.f64 (*.f64 x -1500) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4)) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -1500) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (-.f64 (*.f64 y 1000) (*.f64 (*.f64 x -1500) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (+.f64 (*.f64 y 1000) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x -250) 2)) (+.f64 (/.f64 (-.f64 (*.f64 x -1500) (*.f64 x -500)) 4) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -3000)) 4) (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (-.f64 (*.f64 (*.f64 x -1500) 1/2) (*.f64 x -250)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (+.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x -250) (*.f64 -1/4 (*.f64 x -2000))) (+.f64 (*.f64 x -250) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))) 2) (*.f64 (*.f64 x -1500) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (*.f64 x -4500) -1/4) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500)))) (/.f64 (*.f64 x -1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 500 y)) (-.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4))) (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x -4500) -8) (+.f64 (/.f64 (*.f64 x -1500) 8) (-.f64 (*.f64 500 y) (*.f64 x -250))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (/.f64 (-.f64 (*.f64 x -1500) (*.f64 x -250)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (+.f64 (/.f64 (*.f64 x 500) 4) (*.f64 (*.f64 x -1500) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 y 1000)) 4) (-.f64 (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2) (*.f64 (*.f64 x -1500) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (neg.f64 (*.f64 x -250))) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -1500) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 x -1500)) 2) (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 x -1500)) 2) (+.f64 (/.f64 (*.f64 x 500) 4) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 x -500)) (-.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (-.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 500 y) (*.f64 x -250))) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2))) (/.f64 (*.f64 x 500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2)) (/.f64 (-.f64 (*.f64 y 1000) (neg.f64 (*.f64 x -1500))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (neg.f64 (*.f64 500 y))) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -250)) (*.f64 (*.f64 x -1500) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x 500) 4)) (-.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4) (*.f64 (*.f64 x -1500) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4)))) (-.f64 0 (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (*.f64 (*.f64 x -1500) -1/4))) (-.f64 (-.f64 -1 (-.f64 (*.f64 x -250) (*.f64 500 y))) (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (-.f64 (*.f64 x -250) (*.f64 500 y)))) (-.f64 (-.f64 -1 (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000))) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (-.f64 (*.f64 y 2000) (*.f64 x -1000))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -1500) (-.f64 (*.f64 x -500) (*.f64 y 1000))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -3000) (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) (*.f64 x -6000)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1/2 (*.f64 x -2000)) (*.f64 y 1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1 (*.f64 x -2000)) (*.f64 y 2000)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x -1500) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 x -1500) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 (*.f64 x -1500) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -4500) -8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x -1500) -8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (/.f64 (*.f64 x -1500) -8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x -1500) -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (*.f64 x -1500) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x -1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x -1500) 8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (-.f64 0 (/.f64 (*.f64 x -1500) -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -1500) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (*.f64 x -1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x -1500) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 x -1500))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 x -1500) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -3000) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x -1500) 1/2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 x -1500)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x -1500) -1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x -1500) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -6000) -1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (neg.f64 (*.f64 x -1500)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/4 (*.f64 x -3000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/8 (*.f64 x -6000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 x -3000)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -3000 (*.f64 x 4)) -1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 x -6000)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (neg.f64 (*.f64 x -3000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/16 (*.f64 -3000 (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x -6000) 4) -1/32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x -1500) -1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 x -1500) 1/2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -250) (neg.f64 (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -250) (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x -250) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 500 y)) (*.f64 x -250))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -500) (*.f64 500 y)) (neg.f64 (*.f64 x -250)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 x -250)) (-.f64 (*.f64 x -500) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x -250) 2) (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (*.f64 x -250))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 500 y) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 500 y) -2) (-.f64 (/.f64 (*.f64 500 y) -2) (neg.f64 (*.f64 x -250))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)) (/.f64 (*.f64 500 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (/.f64 (*.f64 x -250) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 x -250) 2)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -250) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (*.f64 x -250) (*.f64 500 y))) (-.f64 (/.f64 (*.f64 x -250) 2) (neg.f64 (*.f64 x -250))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 500 (-.f64 (*.f64 x -1/2) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x -250) (*.f64 500 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 500 y) (*.f64 x -250)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 x -500) (*.f64 y 1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -500) (*.f64 y 1000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x -1/2) y) 500)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x -1000) (*.f64 y 2000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y 2000) (*.f64 x -1000)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -1000)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -500) (*.f64 y 1000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -2000) (*.f64 2 (*.f64 y 2000))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x -2000) (+.f64 (*.f64 x -1000) (*.f64 y 2000))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 y 2000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 2 (*.f64 y 2000))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)))))))

simplify539.0ms (3.6%)

Algorithm
egg-herbie
Rules
1386×rational_best-simplify-51
1312×rational_best-simplify-52
1294×rational_best-simplify-48
1102×rational_best-simplify-57
712×rational_best-simplify-47
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03684940
19574692
225444090
Stop Event
node limit
Counts
218 → 227
Calls
Call 1
Inputs
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 750 x))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 750 x)
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(*.f64 -250 x)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(*.f64 -250 x)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(*.f64 -250 x)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(-.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 500 y) (*.f64 x -250)))
(-.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y))))
(-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (*.f64 x -250) (+.f64 (*.f64 500 (+.f64 (*.f64 x -1/2) (-.f64 y (*.f64 x -1/2)))) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) 1/2))
(-.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 0)
(-.f64 0 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))
(-.f64 0 (+.f64 (-.f64 (*.f64 (*.f64 x -1500) 1/2) (*.f64 x -250)) (*.f64 500 y)))
(-.f64 (neg.f64 (*.f64 500 y)) (+.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))))
(-.f64 (*.f64 (*.f64 x -1500) -1/4) (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4))))
(-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) -1/2))))
(-.f64 (*.f64 x -500) (+.f64 (*.f64 (*.f64 x -1500) 1/2) (+.f64 (*.f64 x -250) (*.f64 500 y))))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)) (-.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 (*.f64 x -1500) -1/2)))
(-.f64 (*.f64 (*.f64 x -4500) -1/4) (+.f64 (/.f64 (*.f64 x -1500) 4) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500)))))
(-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y))
(-.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (/.f64 (-.f64 (*.f64 x -3000) (-.f64 (*.f64 x -500) (*.f64 y 1000))) 4))
(-.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (+.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (/.f64 (*.f64 x -250) 2) (-.f64 (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2)) (/.f64 (*.f64 x -250) 2)))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) -2))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (/.f64 (-.f64 (*.f64 x -1500) (-.f64 (*.f64 x -500) (*.f64 y 1000))) 4))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4)) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (-.f64 (*.f64 y 1000) (*.f64 (*.f64 x -1500) -1/2)))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (+.f64 (*.f64 y 1000) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (+.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x -250) 2)) (+.f64 (/.f64 (-.f64 (*.f64 x -1500) (*.f64 x -500)) 4) (*.f64 500 y)))
(-.f64 (/.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -3000)) 4) (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2))
(-.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (-.f64 (*.f64 (*.f64 x -1500) 1/2) (*.f64 x -250)))
(-.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (+.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 -1/4 (*.f64 x -2000))) (+.f64 (*.f64 x -250) (*.f64 500 y)))
(-.f64 (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))) 2) (*.f64 (*.f64 x -1500) 1/2))
(-.f64 (-.f64 (*.f64 (*.f64 x -4500) -1/4) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500)))) (/.f64 (*.f64 x -1500) 4))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 500 y)) (-.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4))) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (/.f64 (*.f64 x -4500) -8) (+.f64 (/.f64 (*.f64 x -1500) 8) (-.f64 (*.f64 500 y) (*.f64 x -250))))
(-.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (/.f64 (-.f64 (*.f64 x -1500) (*.f64 x -250)) 2))
(-.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (+.f64 (/.f64 (*.f64 x 500) 4) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 y 1000)) 4) (-.f64 (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (neg.f64 (*.f64 x -250))) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 x -1500)) 2) (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4))
(-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 x -1500)) 2) (+.f64 (/.f64 (*.f64 x 500) 4) (*.f64 500 y)))
(-.f64 (+.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 x -500)) (-.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (-.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 500 y) (*.f64 x -250))) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2))) (/.f64 (*.f64 x 500) 4))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2)) (/.f64 (-.f64 (*.f64 y 1000) (neg.f64 (*.f64 x -1500))) 4))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (neg.f64 (*.f64 500 y))) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -250)) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x 500) 4)) (-.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4)))) (-.f64 0 (/.f64 (*.f64 x -1500) -8)))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (*.f64 (*.f64 x -1500) -1/4))) (-.f64 (-.f64 -1 (-.f64 (*.f64 x -250) (*.f64 500 y))) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (-.f64 (*.f64 x -250) (*.f64 500 y)))) (-.f64 (-.f64 -1 (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) -8)))
(*.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)
(*.f64 1 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)))
(*.f64 -1 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))
(*.f64 1/2 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)))
(*.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))) -1)
(*.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)) 1/2)
(*.f64 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)) 1/4)
(*.f64 1/4 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)))
(*.f64 (*.f64 2 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000))) 1/8)
(/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)
(/.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))) -1)
(/.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)) 2)
(/.f64 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)) 4)
(/.f64 (*.f64 2 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000))) 8)
(/.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (-.f64 (*.f64 y 2000) (*.f64 x -1000))) 4)
(/.f64 (-.f64 (*.f64 x -1500) (-.f64 (*.f64 x -500) (*.f64 y 1000))) -2)
(/.f64 (-.f64 (*.f64 x -3000) (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -4)
(/.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)))) 4)
(/.f64 (-.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) (*.f64 x -6000)) 8)
(/.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))) 2)
(/.f64 (-.f64 (*.f64 -1/2 (*.f64 x -2000)) (*.f64 y 1000)) 2)
(/.f64 (-.f64 (*.f64 -1 (*.f64 x -2000)) (*.f64 y 2000)) 4)
(pow.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)
(neg.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))
(+.f64 (*.f64 (*.f64 x -1500) -1/2) 0)
(+.f64 0 (*.f64 (*.f64 x -1500) -1/2))
(+.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 (*.f64 x -1500) -1/4))
(+.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -4500) -8))
(+.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)))
(+.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x -1500) -8))
(+.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (/.f64 (*.f64 x -1500) -8))
(-.f64 (*.f64 (*.f64 x -1500) -1/2) 0)
(-.f64 0 (*.f64 (*.f64 x -1500) 1/2))
(-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x -1500) 4))
(-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x -1500) 8))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (-.f64 0 (/.f64 (*.f64 x -1500) -8)))
(*.f64 (*.f64 x -1500) -1/2)
(*.f64 -2 (/.f64 (*.f64 x -1500) 4))
(*.f64 (*.f64 (*.f64 x -1500) -1/2) 1)
(*.f64 -1/2 (*.f64 x -1500))
(*.f64 1 (*.f64 (*.f64 x -1500) -1/2))
(*.f64 (*.f64 x -3000) -1/4)
(*.f64 (*.f64 (*.f64 x -1500) 1/2) -1)
(*.f64 (neg.f64 (*.f64 x -1500)) 1/2)
(*.f64 (*.f64 (*.f64 x -1500) -1/4) 2)
(*.f64 2 (*.f64 (*.f64 x -1500) -1/4))
(*.f64 (*.f64 x -6000) -1/8)
(*.f64 1/2 (neg.f64 (*.f64 x -1500)))
(*.f64 -1/4 (*.f64 x -3000))
(*.f64 -1/8 (*.f64 x -6000))
(*.f64 (neg.f64 (*.f64 x -3000)) 1/4)
(*.f64 (*.f64 -3000 (*.f64 x 4)) -1/16)
(*.f64 (neg.f64 (*.f64 x -6000)) 1/8)
(*.f64 1/4 (neg.f64 (*.f64 x -3000)))
(*.f64 -1/16 (*.f64 -3000 (*.f64 x 4)))
(*.f64 (*.f64 (*.f64 x -6000) 4) -1/32)
(pow.f64 (*.f64 (*.f64 x -1500) -1/2) 1)
(neg.f64 (*.f64 (*.f64 x -1500) 1/2))
(+.f64 (*.f64 x -250) (neg.f64 (*.f64 500 y)))
(+.f64 (*.f64 x -250) (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))))
(+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 0)
(+.f64 0 (-.f64 (*.f64 x -250) (*.f64 500 y)))
(+.f64 (neg.f64 (*.f64 500 y)) (*.f64 x -250))
(+.f64 (-.f64 (*.f64 x -500) (*.f64 500 y)) (neg.f64 (*.f64 x -250)))
(+.f64 (neg.f64 (*.f64 x -250)) (-.f64 (*.f64 x -500) (*.f64 500 y)))
(+.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2))
(+.f64 (/.f64 (*.f64 x -250) 2) (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)))
(+.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (*.f64 x -250))
(+.f64 (/.f64 (*.f64 500 y) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)))
(+.f64 (/.f64 (*.f64 500 y) -2) (-.f64 (/.f64 (*.f64 500 y) -2) (neg.f64 (*.f64 x -250))))
(+.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)) (/.f64 (*.f64 500 y) -2))
(+.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2))))
(+.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (/.f64 (*.f64 x -250) 2))
(+.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 x -250) 2)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -250) 2))))
(+.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (*.f64 x -250) (*.f64 500 y))) (-.f64 (/.f64 (*.f64 x -250) 2) (neg.f64 (*.f64 x -250))))
(*.f64 500 (-.f64 (*.f64 x -1/2) y))
(*.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)
(*.f64 1 (-.f64 (*.f64 x -250) (*.f64 500 y)))
(*.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -1)
(*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 1/2)
(*.f64 -1 (-.f64 (*.f64 500 y) (*.f64 x -250)))
(*.f64 1/2 (-.f64 (*.f64 x -500) (*.f64 y 1000)))
(*.f64 1/2 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -500) (*.f64 y 1000))))
(*.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) 1/4)
(*.f64 (-.f64 (*.f64 x -1/2) y) 500)
(*.f64 1/4 (-.f64 (*.f64 x -1000) (*.f64 y 2000)))
(*.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) 1/8)
(/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)
(/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -1)
(/.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 2)
(/.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) 4)
(/.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) -2)
(/.f64 (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -4)
(/.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) 8)
(/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -1000)) -4)
(/.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -1) 4)
(/.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -1000)) -1) 4)
(/.f64 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -500) (*.f64 y 1000))) 2)
(/.f64 (-.f64 (*.f64 x -2000) (*.f64 2 (*.f64 y 2000))) 8)
(/.f64 (-.f64 (*.f64 x -2000) (+.f64 (*.f64 x -1000) (*.f64 y 2000))) 4)
(/.f64 (-.f64 (+.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 y 2000)) 2)
(/.f64 (-.f64 (+.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 2 (*.f64 y 2000))) 4)
(pow.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)
(neg.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)))
Outputs
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (*.f64 750 x))
(*.f64 500 x)
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (+.f64 (*.f64 -500 y) (*.f64 750 x)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 750 x)
(*.f64 x 750)
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 -250 x)
(*.f64 x -250)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 -250 x)
(*.f64 x -250)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 -250 x)
(*.f64 x -250)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 -250 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(-.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 500 y) (*.f64 x -250)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 (*.f64 x -1500) -1/2) (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y))))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (*.f64 x -250) (+.f64 (*.f64 500 (+.f64 (*.f64 x -1/2) (-.f64 y (*.f64 x -1/2)))) (*.f64 (*.f64 x -1500) 1/2)))
(-.f64 (*.f64 x -250) (+.f64 (*.f64 (*.f64 x -1500) 1/2) (*.f64 500 (+.f64 (*.f64 x -1/2) (-.f64 y (*.f64 x -1/2))))))
(+.f64 (*.f64 x 750) (-.f64 (*.f64 x -250) (*.f64 500 (+.f64 (*.f64 x -1/2) (-.f64 y (*.f64 x -1/2))))))
(-.f64 (*.f64 500 x) (*.f64 500 (+.f64 (*.f64 x -1/2) (-.f64 y (*.f64 x -1/2)))))
(-.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) 1/2))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 0)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 0 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 0 (+.f64 (-.f64 (*.f64 (*.f64 x -1500) 1/2) (*.f64 x -250)) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (neg.f64 (*.f64 500 y)) (+.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) 1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))))
(-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 1/2 (-.f64 (*.f64 y 1000) (+.f64 (*.f64 x -1500) (*.f64 -500 x)))))
(-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 1/2 (-.f64 (*.f64 y 1000) (*.f64 x -2000))))
(-.f64 (*.f64 x 1500) (*.f64 1/2 (-.f64 (*.f64 y 1000) (*.f64 x -2000))))
(-.f64 (*.f64 (*.f64 x -1500) -1/4) (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4))))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) -1/2))))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (*.f64 x -500) (+.f64 (*.f64 (*.f64 x -1500) 1/2) (+.f64 (*.f64 x -250) (*.f64 500 y))))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 x 375)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (/.f64 (*.f64 x -1500) -4) (-.f64 (*.f64 x 375) (*.f64 500 (-.f64 x y))))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)) (-.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 (*.f64 x -1500) -1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (*.f64 (*.f64 x -4500) -1/4) (+.f64 (/.f64 (*.f64 x -1500) 4) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500)))))
(-.f64 (*.f64 -1/4 (*.f64 x -4500)) (+.f64 (*.f64 1/2 (-.f64 (*.f64 y 1000) (+.f64 (*.f64 x -1500) (*.f64 -500 x)))) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (*.f64 x 1125) (+.f64 (*.f64 1/2 (-.f64 (*.f64 y 1000) (*.f64 x -2000))) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (/.f64 (-.f64 (*.f64 x -3000) (-.f64 (*.f64 x -500) (*.f64 y 1000))) 4))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (+.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2) (*.f64 (*.f64 x -1500) 1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4) (*.f64 (*.f64 x -1500) 1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (*.f64 x -250) 2) (-.f64 (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2)) (/.f64 (*.f64 x -250) 2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) -2))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 y 500)) 2) (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 y 500)) -2))
(-.f64 (/.f64 (-.f64 (*.f64 500 x) (*.f64 y 500)) 2) (/.f64 (-.f64 (*.f64 500 x) (*.f64 y 500)) -2))
(-.f64 (/.f64 (*.f64 500 (-.f64 y x)) -2) (/.f64 (*.f64 500 (-.f64 y x)) 2))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (/.f64 (-.f64 (*.f64 x -1500) (-.f64 (*.f64 x -500) (*.f64 y 1000))) 4))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 y 500)) 2) (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 y 500)) -2))
(-.f64 (/.f64 (-.f64 (*.f64 500 x) (*.f64 y 500)) 2) (/.f64 (-.f64 (*.f64 500 x) (*.f64 y 500)) -2))
(-.f64 (/.f64 (*.f64 500 (-.f64 y x)) -2) (/.f64 (*.f64 500 (-.f64 y x)) 2))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 y 500)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) -2) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (/.f64 (-.f64 (*.f64 500 x) (*.f64 y 500)) 2) (-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) -2) (*.f64 x 375)))
(-.f64 (*.f64 x 375) (-.f64 (/.f64 (+.f64 (*.f64 y 500) (*.f64 x 250)) 2) (/.f64 (*.f64 500 (-.f64 y x)) -2)))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4)) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 x 375)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (/.f64 (*.f64 x -1500) -4) (-.f64 (*.f64 x 375) (*.f64 500 (-.f64 x y))))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (-.f64 (*.f64 y 1000) (*.f64 (*.f64 x -1500) -1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (+.f64 (*.f64 y 1000) (*.f64 (*.f64 x -1500) 1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (+.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x -250) 2)) (+.f64 (/.f64 (-.f64 (*.f64 x -1500) (*.f64 x -500)) 4) (*.f64 500 y)))
(-.f64 (+.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x -250) 2)) (+.f64 (*.f64 y 500) (/.f64 (-.f64 (*.f64 x -1500) (*.f64 -500 x)) 4)))
(-.f64 (+.f64 (*.f64 x 375) (/.f64 (*.f64 x -250) 2)) (+.f64 (*.f64 y 500) (/.f64 (*.f64 x -1000) 4)))
(-.f64 (*.f64 x 375) (+.f64 (-.f64 (*.f64 x -250) (*.f64 -500 y)) (*.f64 (*.f64 -500 x) -1/4)))
(-.f64 (/.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -3000)) 4) (/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) -2))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (-.f64 (*.f64 (*.f64 x -1500) 1/2) (*.f64 x -250)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (+.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) 1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (+.f64 (*.f64 x -250) (*.f64 -1/4 (*.f64 x -2000))) (+.f64 (*.f64 x -250) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))) 2) (*.f64 (*.f64 x -1500) 1/2))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (*.f64 (*.f64 x -4500) -1/4) (*.f64 1/2 (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500)))) (/.f64 (*.f64 x -1500) 4))
(-.f64 (*.f64 -1/4 (*.f64 x -4500)) (+.f64 (*.f64 1/2 (-.f64 (*.f64 y 1000) (+.f64 (*.f64 x -1500) (*.f64 -500 x)))) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (*.f64 x 1125) (+.f64 (*.f64 1/2 (-.f64 (*.f64 y 1000) (*.f64 x -2000))) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 500 y)) (-.f64 (neg.f64 (*.f64 x -250)) (*.f64 (*.f64 x -1500) -1/4)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4))) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 x 375)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (/.f64 (*.f64 x -1500) -4) (-.f64 (*.f64 x 375) (*.f64 500 (-.f64 x y))))
(-.f64 (/.f64 (*.f64 x -4500) -8) (+.f64 (/.f64 (*.f64 x -1500) 8) (-.f64 (*.f64 500 y) (*.f64 x -250))))
(-.f64 (/.f64 (*.f64 x -4500) -8) (+.f64 (-.f64 (*.f64 y 500) (*.f64 x -250)) (/.f64 (*.f64 x -1500) 8)))
(+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (-.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x -1500) 8)))
(+.f64 (+.f64 (*.f64 x -250) (*.f64 -500 y)) (-.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x 1500) -8)))
(-.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (/.f64 (-.f64 (*.f64 x -1500) (*.f64 x -250)) 2))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (+.f64 (/.f64 (*.f64 x 500) 4) (*.f64 (*.f64 x -1500) 1/2)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 y 1000)) 4) (-.f64 (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (*.f64 (*.f64 x -1500) -1/4) (-.f64 (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2) (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 y 1000)) 4)))
(-.f64 (*.f64 x 375) (/.f64 (-.f64 (*.f64 (-.f64 y (neg.f64 x)) 1000) (-.f64 (neg.f64 (*.f64 y 1000)) (*.f64 x -1500))) 4))
(-.f64 (*.f64 x 375) (/.f64 (+.f64 (+.f64 (*.f64 x -1500) (*.f64 y 1000)) (*.f64 1000 (-.f64 y (neg.f64 x)))) 4))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (neg.f64 (*.f64 x -250))) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 x 375)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (/.f64 (*.f64 x -1500) -4) (-.f64 (*.f64 x 375) (*.f64 500 (-.f64 x y))))
(-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 x -1500)) 2) (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (/.f64 (-.f64 (*.f64 x -250) (*.f64 x -1500)) 2) (+.f64 (/.f64 (*.f64 x 500) 4) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (+.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 x -500)) (-.f64 (+.f64 (*.f64 x -250) (*.f64 500 y)) (*.f64 (*.f64 x -1500) -1/4)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (-.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (-.f64 (*.f64 y 500) (+.f64 (/.f64 (*.f64 x -1500) -8) (*.f64 x -250))) (/.f64 (*.f64 x -1500) 4)))
(+.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8))) (-.f64 (*.f64 x -250) (*.f64 y 500)))
(+.f64 (+.f64 (*.f64 x -250) (*.f64 -500 y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 x 1500) -8)) (/.f64 (*.f64 x -1500) -4)))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 500 y) (*.f64 x -250))) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (-.f64 (*.f64 y 500) (+.f64 (/.f64 (*.f64 x -1500) -8) (*.f64 x -250))) (/.f64 (*.f64 x -1500) 4)))
(+.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8))) (-.f64 (*.f64 x -250) (*.f64 y 500)))
(+.f64 (+.f64 (*.f64 x -250) (*.f64 -500 y)) (+.f64 (*.f64 -2 (/.f64 (*.f64 x 1500) -8)) (/.f64 (*.f64 x -1500) -4)))
(-.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (*.f64 500 y) (*.f64 (*.f64 x -1500) 1/2))) (/.f64 (*.f64 x 500) 4))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2)) (/.f64 (-.f64 (*.f64 y 1000) (neg.f64 (*.f64 x -1500))) 4))
(-.f64 (*.f64 (*.f64 x -1500) -1/4) (-.f64 (/.f64 (*.f64 500 (-.f64 y (neg.f64 x))) 2) (/.f64 (-.f64 (neg.f64 (*.f64 x -1500)) (*.f64 y 1000)) 4)))
(-.f64 (*.f64 x 375) (/.f64 (-.f64 (*.f64 (-.f64 y (neg.f64 x)) 1000) (-.f64 (neg.f64 (*.f64 y 1000)) (*.f64 x -1500))) 4))
(-.f64 (*.f64 x 375) (/.f64 (+.f64 (+.f64 (*.f64 x -1500) (*.f64 y 1000)) (*.f64 1000 (-.f64 y (neg.f64 x)))) 4))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (neg.f64 (*.f64 500 y))) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -250)) (*.f64 (*.f64 x -1500) -1/4)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(-.f64 (-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x 500) 4)) (-.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -500)) 4) (*.f64 (*.f64 x -1500) -1/4)))
(-.f64 (*.f64 (*.f64 x -1500) -1/4) (-.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 -500 x)) 4) (-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 500 x) 4))))
(-.f64 (*.f64 x 375) (-.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 -500 x)) 4) (-.f64 (*.f64 x 375) (/.f64 (*.f64 500 x) 4))))
(-.f64 (*.f64 x 375) (-.f64 (*.f64 y 500) (+.f64 (*.f64 (*.f64 -500 x) 1/4) (+.f64 (*.f64 x 375) (*.f64 (*.f64 -500 x) 1/4)))))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 500 y) (+.f64 (*.f64 x -250) (*.f64 (*.f64 x -1500) -1/4)))) (-.f64 0 (/.f64 (*.f64 x -1500) -8)))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (+.f64 (-.f64 (*.f64 x -250) (*.f64 y 500)) (*.f64 x 375)) (/.f64 (*.f64 x -1500) 4))
(-.f64 (/.f64 (*.f64 x -1500) -4) (-.f64 (*.f64 x 375) (*.f64 500 (-.f64 x y))))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (*.f64 (*.f64 x -1500) -1/4))) (-.f64 (-.f64 -1 (-.f64 (*.f64 x -250) (*.f64 500 y))) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (-.f64 -1 (+.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 x -250) (*.f64 y 500)))) (-.f64 1 (*.f64 (*.f64 x -1500) -1/4))))
(-.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (-.f64 1 (*.f64 x 375)) (-.f64 (*.f64 y 500) (+.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (*.f64 x -250) 1)))))
(+.f64 (-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (*.f64 x 375))) (-.f64 -1 (/.f64 (*.f64 x -1500) -8))) (+.f64 (*.f64 x -250) (*.f64 -500 y)))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (-.f64 (*.f64 x -250) (*.f64 500 y)))) (-.f64 (-.f64 -1 (*.f64 (*.f64 x -1500) -1/4)) (/.f64 (*.f64 x -1500) -8)))
(-.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (-.f64 -1 (+.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (*.f64 x -250) (*.f64 y 500)))) (-.f64 1 (*.f64 (*.f64 x -1500) -1/4))))
(-.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (-.f64 1 (*.f64 x 375)) (-.f64 (*.f64 y 500) (+.f64 (/.f64 (*.f64 x -1500) -8) (+.f64 (*.f64 x -250) 1)))))
(+.f64 (-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 1 (*.f64 x 375))) (-.f64 -1 (/.f64 (*.f64 x -1500) -8))) (+.f64 (*.f64 x -250) (*.f64 -500 y)))
(*.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 1 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 -1 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 1/2 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))) -1)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)) 1/2)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(*.f64 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)) 1/4)
(*.f64 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -3000) (*.f64 y 2000))) 1/4)
(*.f64 (-.f64 (*.f64 x 2000) (*.f64 y 2000)) 1/4)
(*.f64 (*.f64 2000 (-.f64 x y)) 1/4)
(*.f64 1/4 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)))
(*.f64 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -3000) (*.f64 y 2000))) 1/4)
(*.f64 (-.f64 (*.f64 x 2000) (*.f64 y 2000)) 1/4)
(*.f64 (*.f64 2000 (-.f64 x y)) 1/4)
(*.f64 (*.f64 2 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000))) 1/8)
(*.f64 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -3000) (*.f64 y 2000))) 1/4)
(*.f64 (-.f64 (*.f64 x 2000) (*.f64 y 2000)) 1/4)
(*.f64 (*.f64 2000 (-.f64 x y)) 1/4)
(/.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))) -1)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 x -1500)) 2)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000)) 4)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (*.f64 2 (-.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 x -3000))) 8)
(/.f64 (*.f64 2 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -3000) (*.f64 y 2000)))) 8)
(/.f64 (*.f64 2 (-.f64 (*.f64 x 2000) (*.f64 y 2000))) 8)
(/.f64 (*.f64 4 (*.f64 2000 (-.f64 x y))) 16)
(/.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (-.f64 (*.f64 y 2000) (*.f64 x -1000))) 4)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (*.f64 x -1500) (-.f64 (*.f64 x -500) (*.f64 y 1000))) -2)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (*.f64 x -3000) (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -4)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)))) 4)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) (*.f64 x -6000)) 8)
(/.f64 (-.f64 (*.f64 (-.f64 (*.f64 -500 x) (*.f64 y 1000)) 4) (*.f64 x -6000)) 8)
(-.f64 (/.f64 (*.f64 4 (-.f64 (*.f64 -500 x) (*.f64 y 1000))) 8) (*.f64 x -750))
(/.f64 (-.f64 (neg.f64 (*.f64 x -3000)) (-.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) (*.f64 x -1500))) 2)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (*.f64 -1/2 (*.f64 x -2000)) (*.f64 y 1000)) 2)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(/.f64 (-.f64 (*.f64 -1 (*.f64 x -2000)) (*.f64 y 2000)) 4)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(pow.f64 (-.f64 (*.f64 -1/4 (*.f64 x -2000)) (*.f64 500 y)) 1)
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(neg.f64 (-.f64 (*.f64 500 y) (*.f64 -1/4 (*.f64 x -2000))))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 (*.f64 x -1500) -1/2) 0)
(*.f64 x 750)
(+.f64 0 (*.f64 (*.f64 x -1500) -1/2))
(*.f64 x 750)
(+.f64 (*.f64 (*.f64 x -1500) -1/4) (*.f64 (*.f64 x -1500) -1/4))
(*.f64 x 750)
(+.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -4500) -8))
(*.f64 x 750)
(+.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)))
(+.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x -1500) -8))
(*.f64 x 750)
(+.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (/.f64 (*.f64 x -1500) -8))
(+.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)))
(-.f64 (*.f64 (*.f64 x -1500) -1/2) 0)
(*.f64 x 750)
(-.f64 0 (*.f64 (*.f64 x -1500) 1/2))
(*.f64 x 750)
(-.f64 (*.f64 (*.f64 x -1500) -1/4) (/.f64 (*.f64 x -1500) 4))
(-.f64 (*.f64 x 375) (/.f64 (*.f64 x -1500) 4))
(-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 x 1500) -8)) (/.f64 (*.f64 x -1500) -4))
(-.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x -1500) 8))
(-.f64 (/.f64 (*.f64 x -4500) -8) (/.f64 (*.f64 x 1500) -8))
(-.f64 (-.f64 (/.f64 (*.f64 x -1500) -8) (/.f64 (*.f64 x -1500) 4)) (-.f64 0 (/.f64 (*.f64 x -1500) -8)))
(-.f64 (/.f64 (*.f64 x -1500) -8) (-.f64 (/.f64 (*.f64 x -1500) 4) (/.f64 (*.f64 x -1500) -8)))
(+.f64 (*.f64 -2 (/.f64 (*.f64 x 1500) -8)) (/.f64 (*.f64 x -1500) -4))
(*.f64 (*.f64 x -1500) -1/2)
(*.f64 x 750)
(*.f64 -2 (/.f64 (*.f64 x -1500) 4))
(*.f64 x 750)
(*.f64 (*.f64 (*.f64 x -1500) -1/2) 1)
(*.f64 x 750)
(*.f64 -1/2 (*.f64 x -1500))
(*.f64 x 750)
(*.f64 1 (*.f64 (*.f64 x -1500) -1/2))
(*.f64 x 750)
(*.f64 (*.f64 x -3000) -1/4)
(*.f64 x 750)
(*.f64 (*.f64 (*.f64 x -1500) 1/2) -1)
(*.f64 x 750)
(*.f64 (neg.f64 (*.f64 x -1500)) 1/2)
(*.f64 x 750)
(*.f64 (*.f64 (*.f64 x -1500) -1/4) 2)
(*.f64 x 750)
(*.f64 2 (*.f64 (*.f64 x -1500) -1/4))
(*.f64 x 750)
(*.f64 (*.f64 x -6000) -1/8)
(*.f64 x 750)
(*.f64 1/2 (neg.f64 (*.f64 x -1500)))
(*.f64 x 750)
(*.f64 -1/4 (*.f64 x -3000))
(*.f64 x 750)
(*.f64 -1/8 (*.f64 x -6000))
(*.f64 x 750)
(*.f64 (neg.f64 (*.f64 x -3000)) 1/4)
(*.f64 x 750)
(*.f64 (*.f64 -3000 (*.f64 x 4)) -1/16)
(*.f64 x 750)
(*.f64 (neg.f64 (*.f64 x -6000)) 1/8)
(*.f64 x 750)
(*.f64 1/4 (neg.f64 (*.f64 x -3000)))
(*.f64 x 750)
(*.f64 -1/16 (*.f64 -3000 (*.f64 x 4)))
(*.f64 x 750)
(*.f64 (*.f64 (*.f64 x -6000) 4) -1/32)
(*.f64 x 750)
(pow.f64 (*.f64 (*.f64 x -1500) -1/2) 1)
(*.f64 x 750)
(neg.f64 (*.f64 (*.f64 x -1500) 1/2))
(*.f64 x 750)
(+.f64 (*.f64 x -250) (neg.f64 (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (*.f64 x -250) (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 0)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 0 (-.f64 (*.f64 x -250) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (neg.f64 (*.f64 500 y)) (*.f64 x -250))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (-.f64 (*.f64 x -500) (*.f64 500 y)) (neg.f64 (*.f64 x -250)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (neg.f64 (*.f64 x -250)) (-.f64 (*.f64 x -500) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2) (/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -2))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (/.f64 (*.f64 x -250) 2) (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (*.f64 500 y))) (*.f64 x -250))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (/.f64 (*.f64 500 y) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 y 500) 2)))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 y 1000) 4)))
(+.f64 (/.f64 (*.f64 500 y) -2) (-.f64 (/.f64 (*.f64 500 y) -2) (neg.f64 (*.f64 x -250))))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (/.f64 (*.f64 y 500) -2) (neg.f64 (*.f64 x -250))))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (/.f64 (*.f64 y 500) -2) (*.f64 x 250)))
(+.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)) (/.f64 (*.f64 500 y) -2))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 y 500) 2)))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 y 1000) 4)))
(+.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 x -250) (/.f64 (*.f64 500 y) 2))))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 y 500) 2)))
(+.f64 (/.f64 (*.f64 y 500) -2) (-.f64 (*.f64 x -250) (/.f64 (*.f64 y 1000) 4)))
(+.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (*.f64 500 y)) (/.f64 (*.f64 x -250) 2))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (-.f64 (*.f64 x -250) (/.f64 (*.f64 x -250) 2)) (-.f64 (*.f64 x -250) (+.f64 (*.f64 500 y) (/.f64 (*.f64 x -250) 2))))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(+.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (*.f64 x -250) (*.f64 500 y))) (-.f64 (/.f64 (*.f64 x -250) 2) (neg.f64 (*.f64 x -250))))
(+.f64 (-.f64 (/.f64 (*.f64 x -250) 2) (+.f64 (*.f64 y 500) (*.f64 x -250))) (*.f64 3 (/.f64 (*.f64 x -250) 2)))
(+.f64 (neg.f64 (*.f64 y 500)) (+.f64 (*.f64 -1 (/.f64 (*.f64 x -250) 2)) (*.f64 (*.f64 x -250) 3/2)))
(+.f64 (*.f64 -500 y) (*.f64 (*.f64 (*.f64 -500 x) 1/4) 2))
(*.f64 500 (-.f64 (*.f64 x -1/2) y))
(*.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 1 (-.f64 (*.f64 x -250) (*.f64 500 y)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -1)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 1/2)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 -1 (-.f64 (*.f64 500 y) (*.f64 x -250)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 1/2 (-.f64 (*.f64 x -500) (*.f64 y 1000)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 1/2 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -500) (*.f64 y 1000))))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(*.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) 1/4)
(*.f64 (-.f64 (*.f64 x -1/2) y) 500)
(*.f64 500 (-.f64 (*.f64 x -1/2) y))
(*.f64 1/4 (-.f64 (*.f64 x -1000) (*.f64 y 2000)))
(*.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) 1/4)
(*.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) 1/8)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)) -1)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 2)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000)) 4)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 y 1000) (*.f64 x -500)) -2)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -4)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (*.f64 (-.f64 (*.f64 x -500) (*.f64 y 1000)) 4) 8)
(/.f64 (*.f64 (-.f64 (*.f64 -500 x) (*.f64 y 1000)) 4) 8)
(/.f64 (*.f64 4 (-.f64 (*.f64 -500 x) (*.f64 y 1000))) 8)
(/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -1000)) -4)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x -1000) (*.f64 y 2000))) -1) 4)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (/.f64 (-.f64 (*.f64 y 2000) (*.f64 x -1000)) -1) 4)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -500) (*.f64 y 1000))) 2)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 x -2000) (*.f64 2 (*.f64 y 2000))) 8)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (*.f64 x -2000) (+.f64 (*.f64 x -1000) (*.f64 y 2000))) 4)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (+.f64 (*.f64 x -500) (*.f64 y 1000)) (*.f64 y 2000)) 2)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(/.f64 (-.f64 (+.f64 (*.f64 x -1000) (*.f64 y 2000)) (*.f64 2 (*.f64 y 2000))) 4)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(pow.f64 (-.f64 (*.f64 x -250) (*.f64 500 y)) 1)
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))
(neg.f64 (-.f64 (*.f64 500 y) (*.f64 x -250)))
(+.f64 (*.f64 -500 y) (*.f64 x -250))
(+.f64 (*.f64 x -250) (*.f64 -500 y))

localize34.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -500 (+.f64 y x))
0.0b
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
Compiler

Compiled 26 to 14 computations (46.2% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite278.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
1074×rational_best-simplify-83
718×rational_best-simplify-48
694×rational_best-simplify-52
660×rational_best-simplify-57
658×rational_best-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
16538
211938
332438
4121938
Stop Event
node limit
Counts
2 → 81
Calls
Call 1
Inputs
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
(*.f64 -500 (+.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y x) 500) (*.f64 y -1000))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y x) 500) (neg.f64 (neg.f64 (*.f64 y -1000))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y -2000) (neg.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))) (neg.f64 (*.f64 y -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 y -1000)) (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 y -2000) 4) (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 8) (/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y))) (neg.f64 (*.f64 -1000 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 2) (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) (*.f64 -500 (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y -2000) (*.f64 y -1000)) (*.f64 (+.f64 y x) 500))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)) (/.f64 (*.f64 -500 (+.f64 y x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)) (-.f64 (*.f64 y -1000) (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (neg.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (neg.f64 (*.f64 y -1000))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (neg.f64 (*.f64 y -1000))) (*.f64 (+.f64 y x) 500))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 4) (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 4) (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2) (/.f64 (*.f64 y -2000) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2) (neg.f64 (/.f64 (*.f64 y -1000) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 y -2000) 4) (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y)))) (-.f64 (/.f64 (*.f64 y -2000) 4) (neg.f64 (*.f64 y -1000))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y -1000) (/.f64 (*.f64 y -2000) 4)) (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y -2000) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (neg.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y -2000) (/.f64 (*.f64 y -2000) 4)) (neg.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (/.f64 (*.f64 y -2000) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y))) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (neg.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))) 4) (/.f64 (+.f64 (*.f64 (+.f64 y x) 500) (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000)) -1) (/.f64 (*.f64 -500 (+.f64 y x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (*.f64 -1000 (-.f64 (+.f64 y x) y)) 2) -1) (/.f64 (/.f64 (*.f64 y -1000) -2) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -500 (+.f64 y (-.f64 y (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -500 (-.f64 (*.f64 y 4) (+.f64 (+.f64 y x) (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -250 (-.f64 (*.f64 y 4) (*.f64 (+.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (-.f64 y (+.f64 y x))) -500)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000))) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1000 (+.f64 (+.f64 y x) (*.f64 y -2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (+.f64 y x) (*.f64 y -2)) -2000) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 (+.f64 y x) (*.f64 y -2)) -2000) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 y x) -2000)) (*.f64 y -4000)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 y -4000)) (*.f64 -1000 (*.f64 (+.f64 y x) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 y -4000)) (+.f64 (*.f64 (+.f64 y x) -2000) (*.f64 y -4000))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 -1000 (+.f64 (+.f64 y x) (+.f64 y y))) (*.f64 (+.f64 y x) -2000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 (*.f64 (+.f64 y x) -2000) (*.f64 y -4000)) (*.f64 -1000 (*.f64 (+.f64 y x) 4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -500 (+.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -500 (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (neg.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (*.f64 (+.f64 y x) -1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -500 (+.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 y x) 500))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2) 2) (/.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 4) (/.f64 (*.f64 (+.f64 y x) 500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (-.f64 0 (/.f64 (*.f64 -500 (+.f64 y x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -500 (+.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) 500) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1000 (+.f64 y x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) -2000) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1000 (*.f64 (+.f64 y x) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -500 (+.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 y x) 500))))))

simplify531.0ms (3.5%)

Algorithm
egg-herbie
Rules
1062×rational_best-simplify-55
1024×rational_best-simplify-63
1012×rational_best-simplify-85
704×rational_best-simplify-47
624×rational_best-simplify-64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02112611
15152375
212962347
354492287
Stop Event
node limit
Counts
129 → 120
Calls
Call 1
Inputs
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(-.f64 (*.f64 -1000 y) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 -1000 y)) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 -1000 y)) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 -1000 y)) (*.f64 -500 y))
(*.f64 500 x)
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(*.f64 500 x)
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(*.f64 -500 x)
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(*.f64 -500 y)
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(*.f64 -500 y)
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(*.f64 -500 x)
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(*.f64 -500 x)
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500))
(+.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 0)
(+.f64 0 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)))
(+.f64 (*.f64 (+.f64 y x) 500) (*.f64 y -1000))
(+.f64 (*.f64 (+.f64 y x) 500) (neg.f64 (neg.f64 (*.f64 y -1000))))
(+.f64 (*.f64 y -2000) (neg.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y)))))
(+.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))) (neg.f64 (*.f64 y -1000)))
(+.f64 (neg.f64 (*.f64 y -1000)) (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))))
(+.f64 (/.f64 (*.f64 y -2000) 4) (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2))
(+.f64 (/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 8) (/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 8))
(+.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y))) (neg.f64 (*.f64 -1000 (+.f64 y x))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 2) (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) -2))
(+.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) (*.f64 -500 (+.f64 y x)))
(+.f64 (-.f64 (*.f64 y -2000) (*.f64 y -1000)) (*.f64 (+.f64 y x) 500))
(+.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)) (/.f64 (*.f64 -500 (+.f64 y x)) -2))
(+.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)) (-.f64 (*.f64 y -1000) (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (neg.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000))))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000)) -1))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (neg.f64 (*.f64 y -1000))))
(+.f64 (neg.f64 (neg.f64 (*.f64 y -1000))) (*.f64 (+.f64 y x) 500))
(+.f64 (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 4) (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 4))
(+.f64 (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 4) (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 2) 2))
(+.f64 (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2) (/.f64 (*.f64 y -2000) 4))
(+.f64 (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2) (neg.f64 (/.f64 (*.f64 y -1000) -2)))
(+.f64 (-.f64 (/.f64 (*.f64 y -2000) 4) (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y)))) (-.f64 (/.f64 (*.f64 y -2000) 4) (neg.f64 (*.f64 y -1000))))
(+.f64 (-.f64 (*.f64 y -1000) (/.f64 (*.f64 y -2000) 4)) (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2))
(+.f64 (-.f64 (*.f64 y -2000) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (neg.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))
(+.f64 (-.f64 (*.f64 y -2000) (/.f64 (*.f64 y -2000) 4)) (neg.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (/.f64 (*.f64 y -2000) 4))))
(+.f64 (-.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y))) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (neg.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2)))
(+.f64 (/.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))) 4) (/.f64 (+.f64 (*.f64 (+.f64 y x) 500) (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x)))) 4))
(+.f64 (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000)) -1) (/.f64 (*.f64 -500 (+.f64 y x)) -2))
(+.f64 (/.f64 (/.f64 (*.f64 -1000 (-.f64 (+.f64 y x) y)) 2) -1) (/.f64 (/.f64 (*.f64 y -1000) -2) -1))
(*.f64 -500 (+.f64 y (-.f64 y (+.f64 y x))))
(*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 (+.f64 y x) (+.f64 y y))))
(*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)
(*.f64 1 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)))
(*.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)) -1)
(*.f64 2 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1/2))
(*.f64 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))) 1/2)
(*.f64 -1 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))
(*.f64 1/2 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))))
(*.f64 -250 (-.f64 (*.f64 y 4) (*.f64 (+.f64 y x) 2)))
(*.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 1/4)
(*.f64 1/4 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)))
(*.f64 (+.f64 y (-.f64 y (+.f64 y x))) -500)
(*.f64 (*.f64 2 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000))) 1/8)
(/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)
(/.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)) -1)
(/.f64 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))) 2)
(/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 4)
(/.f64 (*.f64 -1000 (+.f64 (+.f64 y x) (*.f64 y -2))) -2)
(/.f64 (*.f64 2 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000))) 8)
(/.f64 (*.f64 (+.f64 (+.f64 y x) (*.f64 y -2)) -2000) -4)
(/.f64 (/.f64 (*.f64 (+.f64 (+.f64 y x) (*.f64 y -2)) -2000) -1) 4)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 y x) -2000)) (*.f64 y -4000)) 4)
(/.f64 (-.f64 (*.f64 2 (*.f64 y -4000)) (*.f64 -1000 (*.f64 (+.f64 y x) 4))) 8)
(/.f64 (-.f64 (*.f64 2 (*.f64 y -4000)) (+.f64 (*.f64 (+.f64 y x) -2000) (*.f64 y -4000))) 4)
(/.f64 (-.f64 (*.f64 -1000 (+.f64 (+.f64 y x) (+.f64 y y))) (*.f64 (+.f64 y x) -2000)) 2)
(/.f64 (-.f64 (+.f64 (*.f64 (+.f64 y x) -2000) (*.f64 y -4000)) (*.f64 -1000 (*.f64 (+.f64 y x) 4))) 4)
(pow.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)
(neg.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))
(+.f64 (*.f64 -500 (+.f64 y x)) 0)
(+.f64 0 (*.f64 -500 (+.f64 y x)))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) 2))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (neg.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2)))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2) 2))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (*.f64 (+.f64 y x) -1500) 4))
(-.f64 (*.f64 -500 (+.f64 y x)) 0)
(-.f64 0 (*.f64 (+.f64 y x) 500))
(-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) -2))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2) 2) (/.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) 2))
(-.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 4) (/.f64 (*.f64 (+.f64 y x) 500) 4))
(-.f64 (+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (-.f64 0 (/.f64 (*.f64 -500 (+.f64 y x)) 4)))
(/.f64 (*.f64 -500 (+.f64 y x)) 1)
(/.f64 (*.f64 (+.f64 y x) 500) -1)
(/.f64 (*.f64 -1000 (+.f64 y x)) 2)
(/.f64 (*.f64 (+.f64 y x) -2000) 4)
(/.f64 (*.f64 -1000 (*.f64 (+.f64 y x) 4)) 8)
(pow.f64 (*.f64 -500 (+.f64 y x)) 1)
(neg.f64 (*.f64 (+.f64 y x) 500))
Outputs
(*.f64 500 x)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 -500 y)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(-.f64 (*.f64 -1000 y) (*.f64 -500 y))
(*.f64 -500 y)
(-.f64 (+.f64 (*.f64 500 x) (*.f64 -1000 y)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 -1000 y)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(-.f64 (+.f64 (*.f64 500 x) (*.f64 -1000 y)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 x)
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 500 x)
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(-.f64 (+.f64 (*.f64 -1000 y) (*.f64 500 x)) (*.f64 -500 y))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 -500 x)
(*.f64 x -500)
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(*.f64 -500 y)
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(*.f64 -500 y)
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(*.f64 -500 y)
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(*.f64 -500 x)
(*.f64 x -500)
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(*.f64 -500 x)
(*.f64 x -500)
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 -500 y) (*.f64 -500 x))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 0)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 0 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 (+.f64 y x) 500) (*.f64 y -1000))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 (+.f64 y x) 500) (neg.f64 (neg.f64 (*.f64 y -1000))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 y -2000) (neg.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y)))))
(+.f64 (*.f64 y -2000) (neg.f64 (*.f64 -500 (+.f64 (+.f64 x y) (+.f64 y y)))))
(+.f64 (*.f64 y -2000) (neg.f64 (*.f64 -500 (+.f64 x (+.f64 y (+.f64 y y))))))
(+.f64 (*.f64 y -2000) (*.f64 (+.f64 (+.f64 x y) (+.f64 y y)) 500))
(+.f64 (*.f64 y -2000) (*.f64 500 (+.f64 x (+.f64 y (+.f64 y y)))))
(+.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))) (neg.f64 (*.f64 y -1000)))
(+.f64 (neg.f64 (*.f64 y -1000)) (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))))
(-.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))) (*.f64 y -1000))
(+.f64 (*.f64 y 1000) (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))))
(+.f64 (neg.f64 (*.f64 y -1000)) (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))))
(+.f64 (neg.f64 (*.f64 y -1000)) (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))))
(-.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))) (*.f64 y -1000))
(+.f64 (*.f64 y 1000) (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))))
(+.f64 (/.f64 (*.f64 y -2000) 4) (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 8) (/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 8))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y))) (neg.f64 (*.f64 -1000 (+.f64 y x))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 2) (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) -2))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 500 (+.f64 x y))) 3) 2) (/.f64 (+.f64 (*.f64 y -1000) (*.f64 500 (+.f64 x y))) -2))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -500 y) (neg.f64 (*.f64 x -500))) 3) 2) (/.f64 (+.f64 (*.f64 -500 y) (neg.f64 (*.f64 x -500))) -2))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 y (neg.f64 x)) -4000) 3/8) (-.f64 (*.f64 x -500) (*.f64 -500 y))) 2)
(+.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) (*.f64 -500 (+.f64 y x)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (-.f64 (*.f64 y -2000) (*.f64 y -1000)) (*.f64 (+.f64 y x) 500))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)) (/.f64 (*.f64 -500 (+.f64 y x)) -2))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)) (-.f64 (*.f64 y -1000) (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) -2)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (neg.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000)) -1))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) (neg.f64 (*.f64 y -1000))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (neg.f64 (neg.f64 (*.f64 y -1000))) (*.f64 (+.f64 y x) 500))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 4) (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 4))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 4) (/.f64 (/.f64 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 3) 2) 2))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2) (/.f64 (*.f64 y -2000) 4))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2) (neg.f64 (/.f64 (*.f64 y -1000) -2)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (-.f64 (/.f64 (*.f64 y -2000) 4) (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y)))) (-.f64 (/.f64 (*.f64 y -2000) 4) (neg.f64 (*.f64 y -1000))))
(+.f64 (*.f64 y -2000) (neg.f64 (*.f64 -500 (+.f64 (+.f64 x y) (+.f64 y y)))))
(+.f64 (*.f64 y -2000) (neg.f64 (*.f64 -500 (+.f64 x (+.f64 y (+.f64 y y))))))
(+.f64 (*.f64 y -2000) (*.f64 (+.f64 (+.f64 x y) (+.f64 y y)) 500))
(+.f64 (*.f64 y -2000) (*.f64 500 (+.f64 x (+.f64 y (+.f64 y y)))))
(+.f64 (-.f64 (*.f64 y -1000) (/.f64 (*.f64 y -2000) 4)) (/.f64 (*.f64 -1000 (-.f64 y (+.f64 y x))) 2))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (-.f64 (*.f64 y -2000) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (neg.f64 (+.f64 (*.f64 y -1000) (/.f64 (*.f64 -500 (+.f64 y x)) 2))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (-.f64 (*.f64 y -2000) (/.f64 (*.f64 y -2000) 4)) (neg.f64 (+.f64 (*.f64 -500 (+.f64 y x)) (/.f64 (*.f64 y -2000) 4))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (-.f64 (*.f64 -500 (+.f64 (+.f64 y x) (+.f64 y y))) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (neg.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 y x))) 4) (/.f64 (+.f64 (*.f64 (+.f64 y x) 500) (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x)))) 4))
(/.f64 (+.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))) (+.f64 (*.f64 500 (+.f64 x y)) (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 x y))))) 4)
(/.f64 (+.f64 (*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x y))) (+.f64 (*.f64 500 (+.f64 x y)) (+.f64 (*.f64 y -2000) (*.f64 (+.f64 x y) 1000)))) 4)
(/.f64 (+.f64 (*.f64 -1000 (+.f64 y (neg.f64 x))) (*.f64 -500 (-.f64 (-.f64 (*.f64 y 4) (+.f64 x y)) (+.f64 x y)))) 4)
(+.f64 (/.f64 (-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (*.f64 y -1000)) -1) (/.f64 (*.f64 -500 (+.f64 y x)) -2))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (/.f64 (/.f64 (*.f64 -1000 (-.f64 (+.f64 y x) y)) 2) -1) (/.f64 (/.f64 (*.f64 y -1000) -2) -1))
(+.f64 (/.f64 (*.f64 -1000 (-.f64 (+.f64 x y) y)) -2) (/.f64 (*.f64 y -1000) 2))
(/.f64 (+.f64 (*.f64 -1000 (-.f64 (+.f64 x y) y)) (neg.f64 (*.f64 y -1000))) -2)
(/.f64 (+.f64 (*.f64 y 1000) (*.f64 -1000 (-.f64 (+.f64 x y) y))) -2)
(/.f64 (*.f64 -1000 (-.f64 (-.f64 (+.f64 x y) y) y)) -2)
(*.f64 -500 (+.f64 y (-.f64 y (+.f64 y x))))
(*.f64 -500 (+.f64 y (-.f64 y (+.f64 x y))))
(*.f64 -500 (+.f64 y (+.f64 0 (neg.f64 x))))
(*.f64 -500 (+.f64 y (neg.f64 x)))
(*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 (+.f64 y x) (+.f64 y y))))
(*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 (+.f64 x y) (+.f64 y y))))
(*.f64 -500 (-.f64 (*.f64 y 4) (+.f64 x (+.f64 y (+.f64 y y)))))
(*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 1 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)) -1)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 2 (*.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1/2))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))) 1/2)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 -1 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 1/2 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 -250 (-.f64 (*.f64 y 4) (*.f64 (+.f64 y x) 2)))
(*.f64 -250 (-.f64 (*.f64 y 4) (*.f64 (+.f64 x y) 2)))
(*.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 1/4)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 1/4 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(*.f64 (+.f64 y (-.f64 y (+.f64 y x))) -500)
(*.f64 -500 (+.f64 y (-.f64 y (+.f64 x y))))
(*.f64 -500 (+.f64 y (+.f64 0 (neg.f64 x))))
(*.f64 -500 (+.f64 y (neg.f64 x)))
(*.f64 (*.f64 2 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000))) 1/8)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)) -1)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (-.f64 (*.f64 y -2000) (*.f64 -1000 (+.f64 y x))) 2)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000)) 4)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (*.f64 -1000 (+.f64 (+.f64 y x) (*.f64 y -2))) -2)
(/.f64 (*.f64 -1000 (+.f64 (+.f64 x y) (*.f64 y -2))) -2)
(/.f64 (*.f64 -1000 (+.f64 x (+.f64 y (*.f64 y -2)))) -2)
(/.f64 (*.f64 (+.f64 x (neg.f64 y)) 4000) 8)
(/.f64 (*.f64 2 (-.f64 (*.f64 y -4000) (*.f64 (+.f64 y x) -2000))) 8)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (*.f64 (+.f64 (+.f64 y x) (*.f64 y -2)) -2000) -4)
(/.f64 (*.f64 -1000 (+.f64 (+.f64 x y) (*.f64 y -2))) -2)
(/.f64 (*.f64 -1000 (+.f64 x (+.f64 y (*.f64 y -2)))) -2)
(/.f64 (*.f64 (+.f64 x (neg.f64 y)) 4000) 8)
(/.f64 (/.f64 (*.f64 (+.f64 (+.f64 y x) (*.f64 y -2)) -2000) -1) 4)
(/.f64 (*.f64 -1000 (+.f64 (+.f64 x y) (*.f64 y -2))) -2)
(/.f64 (*.f64 -1000 (+.f64 x (+.f64 y (*.f64 y -2)))) -2)
(/.f64 (*.f64 (+.f64 x (neg.f64 y)) 4000) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 y x) -2000)) (*.f64 y -4000)) 4)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (-.f64 (*.f64 2 (*.f64 y -4000)) (*.f64 -1000 (*.f64 (+.f64 y x) 4))) 8)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (-.f64 (*.f64 2 (*.f64 y -4000)) (+.f64 (*.f64 (+.f64 y x) -2000) (*.f64 y -4000))) 4)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (-.f64 (*.f64 -1000 (+.f64 (+.f64 y x) (+.f64 y y))) (*.f64 (+.f64 y x) -2000)) 2)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(/.f64 (-.f64 (+.f64 (*.f64 (+.f64 y x) -2000) (*.f64 y -4000)) (*.f64 -1000 (*.f64 (+.f64 y x) 4))) 4)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(pow.f64 (+.f64 (*.f64 y -1000) (*.f64 (+.f64 y x) 500)) 1)
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(neg.f64 (-.f64 (*.f64 -500 (+.f64 y x)) (*.f64 y -1000)))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(+.f64 (*.f64 -500 y) (*.f64 500 x))
(+.f64 (*.f64 -500 (+.f64 y x)) 0)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 0 (*.f64 -500 (+.f64 y x)))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) 2))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (neg.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2)))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2) 2))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (*.f64 (+.f64 y x) -1500) 4))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(-.f64 (*.f64 -500 (+.f64 y x)) 0)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(-.f64 0 (*.f64 (+.f64 y x) 500))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(-.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 2) (/.f64 (*.f64 -500 (+.f64 y x)) -2))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(-.f64 (/.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 2) 2) (/.f64 (/.f64 (*.f64 -500 (+.f64 y x)) -2) 2))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(-.f64 (/.f64 (*.f64 (+.f64 y x) -1500) 4) (/.f64 (*.f64 (+.f64 y x) 500) 4))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(-.f64 (+.f64 (/.f64 (*.f64 -500 (+.f64 y x)) 4) (/.f64 (*.f64 -500 (+.f64 y x)) 2)) (-.f64 0 (/.f64 (*.f64 -500 (+.f64 y x)) 4)))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(/.f64 (*.f64 -500 (+.f64 y x)) 1)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(/.f64 (*.f64 (+.f64 y x) 500) -1)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(/.f64 (*.f64 -1000 (+.f64 y x)) 2)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(/.f64 (*.f64 (+.f64 y x) -2000) 4)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(/.f64 (*.f64 -1000 (*.f64 (+.f64 y x) 4)) 8)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(pow.f64 (*.f64 -500 (+.f64 y x)) 1)
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))
(neg.f64 (*.f64 (+.f64 y x) 500))
(+.f64 (*.f64 -500 y) (*.f64 x -500))
(*.f64 -500 (+.f64 x y))

eval840.0ms (5.6%)

Compiler

Compiled 5800 to 4313 computations (25.6% saved)

prune218.0ms (1.4%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New3461347
Fresh000
Picked011
Done145
Total3476353
Error
0.0b
Counts
353 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
0.0b
(+.f64 (*.f64 500 x) (*.f64 -500 y))
33.1b
(+.f64 (*.f64 -250 x) (*.f64 750 x))
0.0b
(*.f64 500 (-.f64 x y))
32.8b
(*.f64 500 x)
29.7b
(*.f64 -500 y)
Compiler

Compiled 46 to 35 computations (23.9% saved)

localize29.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.7b
(+.f64 (*.f64 -250 x) (*.f64 750 x))
Compiler

Compiled 18 to 13 computations (27.8% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
(+.f64 (*.f64 -250 x) (*.f64 750 x))
0.0ms
x
@0
(+.f64 (*.f64 -250 x) (*.f64 750 x))
0.0ms
x
@-inf
(+.f64 (*.f64 -250 x) (*.f64 750 x))

rewrite510.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
1594×rational_best-1
688×rational_best-simplify-48
668×rational_best-simplify-51
642×rational_best-simplify-47
642×rational_best-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087
1597
21217
32927
49987
574697
Stop Event
node limit
Counts
1 → 101
Calls
Call 1
Inputs
(+.f64 (*.f64 -250 x) (*.f64 750 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -250 x) (*.f64 x -750))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -250 x) (-.f64 (*.f64 x 750) (*.f64 x 1500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -250 x) (+.f64 (*.f64 x -1000) (*.f64 x 250)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -250 x) (-.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (/.f64 (*.f64 x 2000) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 750) (*.f64 x 250))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 500) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x -500))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 250) (*.f64 -250 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 250) (-.f64 (*.f64 x 1250) (*.f64 x 1500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -750) (-.f64 0 (*.f64 x 1250)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -750) (neg.f64 (*.f64 x 1250)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -750) (-.f64 (neg.f64 (*.f64 x 1500)) (*.f64 -250 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1000) (*.f64 x 500))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1000) (-.f64 (*.f64 x 2000) (*.f64 x 1500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1500) (*.f64 x 1000))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1250) (*.f64 x 750))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -500) (*.f64 x -1000))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 3000) (*.f64 x 2500))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 1500) 4) (/.f64 (*.f64 -250 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 1500) 4) (neg.f64 (/.f64 (*.f64 x 2000) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -250 x) 2) (-.f64 0 (/.f64 (*.f64 x 1250) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -250 x) 2) (+.f64 (*.f64 x -1000) (/.f64 (*.f64 x 1500) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -250 x) 2) (+.f64 (/.f64 (*.f64 x 2000) 16) (*.f64 x -750)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -250 x) 2) (neg.f64 (/.f64 (*.f64 x 1250) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 -250 x) 2) (/.f64 (-.f64 0 (*.f64 x 1250)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 2250) 2) (/.f64 (*.f64 x 1250) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 2250) 2) (-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (*.f64 x 750)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 1250) 2) (/.f64 (*.f64 x 2000) 16))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 1250) 2) (-.f64 (*.f64 x 500) (/.f64 (*.f64 x 1500) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (*.f64 x 1250)) (-.f64 (*.f64 -250 x) (*.f64 x 1500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 750) -2) (-.f64 0 (/.f64 (*.f64 x 1750) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (*.f64 x -1000) (/.f64 (*.f64 x 2000) 16)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (*.f64 -250 x) (-.f64 0 (/.f64 (*.f64 x 1250) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (*.f64 -250 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 x 1500)) (-.f64 (*.f64 x -500) (*.f64 x 1500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (*.f64 x 1500)) (+.f64 (-.f64 0 (*.f64 x 1250)) (*.f64 x -750)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 2000) 16) (/.f64 (*.f64 x 750) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (-.f64 0 (/.f64 (*.f64 x 2250) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x 1750) (*.f64 x 1250))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x 1750) 2) (/.f64 (*.f64 x 1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (/.f64 (*.f64 x 1750) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 -250 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -1000) (neg.f64 (*.f64 x 1500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x -1000) (+.f64 (*.f64 x -1000) (*.f64 x -500)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 -250 x) 4) (/.f64 (*.f64 -250 x) 2)) (-.f64 (*.f64 x -750) (/.f64 (*.f64 -250 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 x 750) 4) (/.f64 (*.f64 x 1500) 4)) (-.f64 (*.f64 x 250) (/.f64 (*.f64 x 750) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 -250 x) 2) (*.f64 x -1000)) (/.f64 (*.f64 x 1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 x 1250) 2) (*.f64 -250 x)) (/.f64 (*.f64 x 1500) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (*.f64 -250 x)) (/.f64 (*.f64 x 2250) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 x 750) (*.f64 x 1500)) (-.f64 0 (*.f64 x 1250)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 (*.f64 x 750) -2) -1) (/.f64 (*.f64 -250 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x -750) -2) (/.f64 (*.f64 -250 x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 x 2000) 16) (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250))) (*.f64 x 1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -250 (*.f64 -2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x 500)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -250 x) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 500) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x 500))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 250) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 500 x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 x -500))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x 250))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1000) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) 250)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 -250 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x 1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 x -1000) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 250 (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -125 (*.f64 (*.f64 x 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -500) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 x) -500)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1000 (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -500 (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 2000) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) 125)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 x) -250)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x 2000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 x -1000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/4 (*.f64 2 (*.f64 x -1000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 125 (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x 2000)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x -1000)) -1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x 4)) 125/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x -1000) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -250 x) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 500) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 250) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 1000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -500) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x 2000) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x 2000)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x -1000)) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x -1000) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 x -1000)) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 x -1000)) (*.f64 2 (*.f64 x 2000))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 x -1000)) (*.f64 2 (*.f64 x 3000))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 x 3000)) (*.f64 2 (*.f64 x -1000))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 x 2000)) (*.f64 2 (*.f64 x 2000))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (*.f64 x 3000)) (*.f64 2 (*.f64 x 2000))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x 500) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x -500))))))

simplify1.1s (7%)

Algorithm
egg-herbie
Rules
1404×rational_best-simplify-1
1088×rational_best-simplify-3
710×rational_best-simplify-55
696×rational_best-simplify-48
696×rational_best-simplify-52
Iterations

Useful iterations: 3 (1.0ms)

IterNodesCost
0215985
1476947
21095935
35956929
47857929
Stop Event
node limit
Counts
113 → 115
Calls
Call 1
Inputs
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(-.f64 (*.f64 -250 x) (*.f64 x -750))
(-.f64 (*.f64 -250 x) (-.f64 (*.f64 x 750) (*.f64 x 1500)))
(-.f64 (*.f64 -250 x) (+.f64 (*.f64 x -1000) (*.f64 x 250)))
(-.f64 (*.f64 -250 x) (-.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (/.f64 (*.f64 x 2000) 16)))
(-.f64 (*.f64 x 750) (*.f64 x 250))
(-.f64 (*.f64 x 500) 0)
(-.f64 0 (*.f64 x -500))
(-.f64 (*.f64 x 250) (*.f64 -250 x))
(-.f64 (*.f64 x 250) (-.f64 (*.f64 x 1250) (*.f64 x 1500)))
(-.f64 (*.f64 x -750) (-.f64 0 (*.f64 x 1250)))
(-.f64 (*.f64 x -750) (neg.f64 (*.f64 x 1250)))
(-.f64 (*.f64 x -750) (-.f64 (neg.f64 (*.f64 x 1500)) (*.f64 -250 x)))
(-.f64 (*.f64 x 1000) (*.f64 x 500))
(-.f64 (*.f64 x 1000) (-.f64 (*.f64 x 2000) (*.f64 x 1500)))
(-.f64 (*.f64 x 1500) (*.f64 x 1000))
(-.f64 (*.f64 x 1250) (*.f64 x 750))
(-.f64 (*.f64 x -500) (*.f64 x -1000))
(-.f64 (*.f64 x 3000) (*.f64 x 2500))
(-.f64 (/.f64 (*.f64 x 1500) 4) (/.f64 (*.f64 -250 x) 2))
(-.f64 (/.f64 (*.f64 x 1500) 4) (neg.f64 (/.f64 (*.f64 x 2000) 16)))
(-.f64 (/.f64 (*.f64 -250 x) 2) (-.f64 0 (/.f64 (*.f64 x 1250) 2)))
(-.f64 (/.f64 (*.f64 -250 x) 2) (+.f64 (*.f64 x -1000) (/.f64 (*.f64 x 1500) 4)))
(-.f64 (/.f64 (*.f64 -250 x) 2) (+.f64 (/.f64 (*.f64 x 2000) 16) (*.f64 x -750)))
(-.f64 (/.f64 (*.f64 -250 x) 2) (neg.f64 (/.f64 (*.f64 x 1250) 2)))
(-.f64 (/.f64 (*.f64 -250 x) 2) (/.f64 (-.f64 0 (*.f64 x 1250)) 2))
(-.f64 (/.f64 (*.f64 x 2250) 2) (/.f64 (*.f64 x 1250) 2))
(-.f64 (/.f64 (*.f64 x 2250) 2) (-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (*.f64 x 750)))
(-.f64 (/.f64 (*.f64 x 1250) 2) (/.f64 (*.f64 x 2000) 16))
(-.f64 (/.f64 (*.f64 x 1250) 2) (-.f64 (*.f64 x 500) (/.f64 (*.f64 x 1500) 4)))
(-.f64 (-.f64 0 (*.f64 x 1250)) (-.f64 (*.f64 -250 x) (*.f64 x 1500)))
(-.f64 (/.f64 (*.f64 x 750) -2) (-.f64 0 (/.f64 (*.f64 x 1750) 2)))
(-.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (*.f64 x -1000) (/.f64 (*.f64 x 2000) 16)))
(-.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (*.f64 -250 x) (-.f64 0 (/.f64 (*.f64 x 1250) 2))))
(-.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (*.f64 -250 x)))
(-.f64 (neg.f64 (*.f64 x 1500)) (-.f64 (*.f64 x -500) (*.f64 x 1500)))
(-.f64 (neg.f64 (*.f64 x 1500)) (+.f64 (-.f64 0 (*.f64 x 1250)) (*.f64 x -750)))
(-.f64 (/.f64 (*.f64 x 2000) 16) (/.f64 (*.f64 x 750) -2))
(-.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (-.f64 0 (/.f64 (*.f64 x 2250) 2)))
(-.f64 (*.f64 x 1750) (*.f64 x 1250))
(-.f64 (/.f64 (*.f64 x 1750) 2) (/.f64 (*.f64 x 1500) 4))
(-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (/.f64 (*.f64 x 1750) 2))
(-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 -250 x)))
(-.f64 (*.f64 x -1000) (neg.f64 (*.f64 x 1500)))
(-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -1000) (*.f64 x -500)))
(-.f64 (+.f64 (/.f64 (*.f64 -250 x) 4) (/.f64 (*.f64 -250 x) 2)) (-.f64 (*.f64 x -750) (/.f64 (*.f64 -250 x) 4)))
(-.f64 (+.f64 (/.f64 (*.f64 x 750) 4) (/.f64 (*.f64 x 1500) 4)) (-.f64 (*.f64 x 250) (/.f64 (*.f64 x 750) 4)))
(-.f64 (-.f64 (/.f64 (*.f64 -250 x) 2) (*.f64 x -1000)) (/.f64 (*.f64 x 1500) 4))
(-.f64 (-.f64 (/.f64 (*.f64 x 1250) 2) (*.f64 -250 x)) (/.f64 (*.f64 x 1500) 4))
(-.f64 (-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (*.f64 -250 x)) (/.f64 (*.f64 x 2250) 2))
(-.f64 (-.f64 (*.f64 x 750) (*.f64 x 1500)) (-.f64 0 (*.f64 x 1250)))
(-.f64 (/.f64 (/.f64 (*.f64 x 750) -2) -1) (/.f64 (*.f64 -250 x) 2))
(-.f64 (/.f64 (*.f64 x -750) -2) (/.f64 (*.f64 -250 x) 2))
(-.f64 (+.f64 (/.f64 (*.f64 x 2000) 16) (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250))) (*.f64 x 1000))
(*.f64 -250 (*.f64 -2 x))
(*.f64 x 500)
(*.f64 (*.f64 -250 x) -2)
(*.f64 (*.f64 x 500) 1)
(*.f64 1 (*.f64 x 500))
(*.f64 (*.f64 x 250) 2)
(*.f64 500 x)
(*.f64 -1 (*.f64 x -500))
(*.f64 2 (*.f64 x 250))
(*.f64 (*.f64 x 1000) 1/2)
(*.f64 (+.f64 x x) 250)
(*.f64 -2 (*.f64 -250 x))
(*.f64 1/2 (*.f64 x 1000))
(*.f64 1/2 (*.f64 (*.f64 x -1000) -1))
(*.f64 250 (+.f64 x x))
(*.f64 -125 (*.f64 (*.f64 x 4) -1))
(*.f64 (*.f64 x -500) -1)
(*.f64 (neg.f64 x) -500)
(*.f64 1000 (*.f64 x 1/2))
(*.f64 -500 (neg.f64 x))
(*.f64 (*.f64 x 2000) 1/4)
(*.f64 (*.f64 x 4) 125)
(*.f64 (*.f64 -2 x) -250)
(*.f64 1/4 (*.f64 x 2000))
(*.f64 -1/2 (*.f64 x -1000))
(*.f64 -1/4 (*.f64 2 (*.f64 x -1000)))
(*.f64 125 (*.f64 x 4))
(*.f64 (*.f64 2 (*.f64 x 2000)) 1/8)
(*.f64 (*.f64 2 (*.f64 x -1000)) -1/4)
(*.f64 (*.f64 2 (*.f64 x 4)) 125/2)
(*.f64 (*.f64 x -1000) -1/2)
(/.f64 (*.f64 -250 x) -1/2)
(/.f64 (*.f64 x 500) 1)
(/.f64 (*.f64 x 250) 1/2)
(/.f64 (*.f64 x 1000) 2)
(/.f64 (*.f64 x -500) -1)
(/.f64 (*.f64 x 2000) 4)
(/.f64 (*.f64 2 (*.f64 x 2000)) 8)
(/.f64 (*.f64 2 (*.f64 x -1000)) -4)
(/.f64 (*.f64 x -1000) -2)
(/.f64 (/.f64 (*.f64 2 (*.f64 x -1000)) -1) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 x -1000)) (*.f64 2 (*.f64 x 2000))) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 x -1000)) (*.f64 2 (*.f64 x 3000))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 x 3000)) (*.f64 2 (*.f64 x -1000))) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 x 2000)) (*.f64 2 (*.f64 x 2000))) 16)
(/.f64 (-.f64 (*.f64 2 (*.f64 x 3000)) (*.f64 2 (*.f64 x 2000))) 4)
(pow.f64 (*.f64 x 500) 1)
(neg.f64 (*.f64 x -500))
Outputs
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 500 x)
(-.f64 (*.f64 -250 x) (*.f64 x -750))
(*.f64 500 x)
(-.f64 (*.f64 -250 x) (-.f64 (*.f64 x 750) (*.f64 x 1500)))
(*.f64 500 x)
(-.f64 (*.f64 -250 x) (+.f64 (*.f64 x -1000) (*.f64 x 250)))
(*.f64 500 x)
(-.f64 (*.f64 -250 x) (-.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (/.f64 (*.f64 x 2000) 16)))
(*.f64 500 x)
(-.f64 (*.f64 x 750) (*.f64 x 250))
(*.f64 500 x)
(-.f64 (*.f64 x 500) 0)
(*.f64 500 x)
(-.f64 0 (*.f64 x -500))
(*.f64 500 x)
(-.f64 (*.f64 x 250) (*.f64 -250 x))
(*.f64 500 x)
(-.f64 (*.f64 x 250) (-.f64 (*.f64 x 1250) (*.f64 x 1500)))
(*.f64 500 x)
(-.f64 (*.f64 x -750) (-.f64 0 (*.f64 x 1250)))
(*.f64 500 x)
(-.f64 (*.f64 x -750) (neg.f64 (*.f64 x 1250)))
(*.f64 500 x)
(-.f64 (*.f64 x -750) (-.f64 (neg.f64 (*.f64 x 1500)) (*.f64 -250 x)))
(*.f64 500 x)
(-.f64 (*.f64 x 1000) (*.f64 x 500))
(*.f64 500 x)
(-.f64 (*.f64 x 1000) (-.f64 (*.f64 x 2000) (*.f64 x 1500)))
(*.f64 500 x)
(-.f64 (*.f64 x 1500) (*.f64 x 1000))
(*.f64 500 x)
(-.f64 (*.f64 x 1250) (*.f64 x 750))
(*.f64 500 x)
(-.f64 (*.f64 x -500) (*.f64 x -1000))
(*.f64 500 x)
(-.f64 (*.f64 x 3000) (*.f64 x 2500))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 1500) 4) (/.f64 (*.f64 -250 x) 2))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 1500) 4) (neg.f64 (/.f64 (*.f64 x 2000) 16)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 -250 x) 2) (-.f64 0 (/.f64 (*.f64 x 1250) 2)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 -250 x) 2) (+.f64 (*.f64 x -1000) (/.f64 (*.f64 x 1500) 4)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 -250 x) 2) (+.f64 (/.f64 (*.f64 x 2000) 16) (*.f64 x -750)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 -250 x) 2) (neg.f64 (/.f64 (*.f64 x 1250) 2)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 -250 x) 2) (/.f64 (-.f64 0 (*.f64 x 1250)) 2))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 2250) 2) (/.f64 (*.f64 x 1250) 2))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 2250) 2) (-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (*.f64 x 750)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 1250) 2) (/.f64 (*.f64 x 2000) 16))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 1250) 2) (-.f64 (*.f64 x 500) (/.f64 (*.f64 x 1500) 4)))
(*.f64 500 x)
(-.f64 (-.f64 0 (*.f64 x 1250)) (-.f64 (*.f64 -250 x) (*.f64 x 1500)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 750) -2) (-.f64 0 (/.f64 (*.f64 x 1750) 2)))
(-.f64 (/.f64 (*.f64 x 750) -2) (neg.f64 (/.f64 (*.f64 x 1750) 2)))
(/.f64 (-.f64 (*.f64 x 3500) (*.f64 x 1500)) 4)
(/.f64 (-.f64 (*.f64 x 1750) (*.f64 x 750)) 2)
(-.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (*.f64 x -1000) (/.f64 (*.f64 x 2000) 16)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (*.f64 -250 x) (-.f64 0 (/.f64 (*.f64 x 1250) 2))))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 750) -2) (+.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (*.f64 -250 x)))
(*.f64 500 x)
(-.f64 (neg.f64 (*.f64 x 1500)) (-.f64 (*.f64 x -500) (*.f64 x 1500)))
(*.f64 500 x)
(-.f64 (neg.f64 (*.f64 x 1500)) (+.f64 (-.f64 0 (*.f64 x 1250)) (*.f64 x -750)))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 2000) 16) (/.f64 (*.f64 x 750) -2))
(*.f64 500 x)
(-.f64 (-.f64 0 (/.f64 (*.f64 x 1250) 2)) (-.f64 0 (/.f64 (*.f64 x 2250) 2)))
(*.f64 500 x)
(-.f64 (*.f64 x 1750) (*.f64 x 1250))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x 1750) 2) (/.f64 (*.f64 x 1500) 4))
(-.f64 (/.f64 (*.f64 x 750) -2) (neg.f64 (/.f64 (*.f64 x 1750) 2)))
(/.f64 (-.f64 (*.f64 x 3500) (*.f64 x 1500)) 4)
(/.f64 (-.f64 (*.f64 x 1750) (*.f64 x 750)) 2)
(-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (/.f64 (*.f64 x 1750) 2))
(-.f64 (+.f64 (*.f64 x 250) (/.f64 (*.f64 x 2250) 2)) (/.f64 (*.f64 x 1750) 2))
(+.f64 (-.f64 (*.f64 x 250) (/.f64 (*.f64 x 1750) 2)) (/.f64 (*.f64 x 4500) 4))
(+.f64 (/.f64 (*.f64 x 4500) 4) (-.f64 (*.f64 x 250) (/.f64 (*.f64 x 1750) 2)))
(-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 -250 x)))
(*.f64 500 x)
(-.f64 (*.f64 x -1000) (neg.f64 (*.f64 x 1500)))
(*.f64 500 x)
(-.f64 (*.f64 x -1000) (+.f64 (*.f64 x -1000) (*.f64 x -500)))
(*.f64 500 x)
(-.f64 (+.f64 (/.f64 (*.f64 -250 x) 4) (/.f64 (*.f64 -250 x) 2)) (-.f64 (*.f64 x -750) (/.f64 (*.f64 -250 x) 4)))
(-.f64 (+.f64 (/.f64 (*.f64 x -250) 2) (/.f64 (*.f64 x -250) 4)) (-.f64 (*.f64 x -750) (/.f64 (*.f64 x -250) 4)))
(-.f64 (/.f64 (+.f64 (*.f64 x -500) (*.f64 x -250)) 4) (-.f64 (*.f64 x -750) (/.f64 (*.f64 x -1000) 16)))
(-.f64 (/.f64 (*.f64 x -1000) 16) (-.f64 (*.f64 x -750) (/.f64 (*.f64 x -750) 4)))
(-.f64 (/.f64 (*.f64 x -1000) 16) (*.f64 3 (/.f64 (*.f64 x -750) 4)))
(-.f64 (/.f64 (*.f64 x -1000) 16) (*.f64 (/.f64 (*.f64 x -750) 4) 3))
(-.f64 (+.f64 (/.f64 (*.f64 x 750) 4) (/.f64 (*.f64 x 1500) 4)) (-.f64 (*.f64 x 250) (/.f64 (*.f64 x 750) 4)))
(-.f64 (/.f64 (*.f64 x 750) 4) (-.f64 (*.f64 x 250) (/.f64 (+.f64 (*.f64 x 750) (*.f64 x 1500)) 4)))
(-.f64 (/.f64 (*.f64 x 750) 4) (-.f64 (*.f64 x 250) (/.f64 (*.f64 x 2250) 4)))
(-.f64 (/.f64 (*.f64 x 2250) 4) (-.f64 (*.f64 x 250) (/.f64 (*.f64 x -750) -4)))
(-.f64 (-.f64 (/.f64 (*.f64 -250 x) 2) (*.f64 x -1000)) (/.f64 (*.f64 x 1500) 4))
(*.f64 500 x)
(-.f64 (-.f64 (/.f64 (*.f64 x 1250) 2) (*.f64 -250 x)) (/.f64 (*.f64 x 1500) 4))
(*.f64 500 x)
(-.f64 (-.f64 (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250)) (*.f64 -250 x)) (/.f64 (*.f64 x 2250) 2))
(*.f64 500 x)
(-.f64 (-.f64 (*.f64 x 750) (*.f64 x 1500)) (-.f64 0 (*.f64 x 1250)))
(*.f64 500 x)
(-.f64 (/.f64 (/.f64 (*.f64 x 750) -2) -1) (/.f64 (*.f64 -250 x) 2))
(*.f64 500 x)
(-.f64 (/.f64 (*.f64 x -750) -2) (/.f64 (*.f64 -250 x) 2))
(*.f64 500 x)
(-.f64 (+.f64 (/.f64 (*.f64 x 2000) 16) (+.f64 (/.f64 (*.f64 x 2250) 2) (*.f64 x 250))) (*.f64 x 1000))
(*.f64 500 x)
(*.f64 -250 (*.f64 -2 x))
(*.f64 500 x)
(*.f64 x 500)
(*.f64 500 x)
(*.f64 (*.f64 -250 x) -2)
(*.f64 500 x)
(*.f64 (*.f64 x 500) 1)
(*.f64 500 x)
(*.f64 1 (*.f64 x 500))
(*.f64 500 x)
(*.f64 (*.f64 x 250) 2)
(*.f64 500 x)
(*.f64 500 x)
(*.f64 -1 (*.f64 x -500))
(*.f64 500 x)
(*.f64 2 (*.f64 x 250))
(*.f64 500 x)
(*.f64 (*.f64 x 1000) 1/2)
(*.f64 500 x)
(*.f64 (+.f64 x x) 250)
(*.f64 500 x)
(*.f64 -2 (*.f64 -250 x))
(*.f64 500 x)
(*.f64 1/2 (*.f64 x 1000))
(*.f64 500 x)
(*.f64 1/2 (*.f64 (*.f64 x -1000) -1))
(*.f64 500 x)
(*.f64 250 (+.f64 x x))
(*.f64 500 x)
(*.f64 -125 (*.f64 (*.f64 x 4) -1))
(*.f64 500 x)
(*.f64 (*.f64 x -500) -1)
(*.f64 500 x)
(*.f64 (neg.f64 x) -500)
(*.f64 500 x)
(*.f64 1000 (*.f64 x 1/2))
(*.f64 500 x)
(*.f64 -500 (neg.f64 x))
(*.f64 500 x)
(*.f64 (*.f64 x 2000) 1/4)
(*.f64 500 x)
(*.f64 (*.f64 x 4) 125)
(*.f64 500 x)
(*.f64 (*.f64 -2 x) -250)
(*.f64 500 x)
(*.f64 1/4 (*.f64 x 2000))
(*.f64 500 x)
(*.f64 -1/2 (*.f64 x -1000))
(*.f64 500 x)
(*.f64 -1/4 (*.f64 2 (*.f64 x -1000)))
(*.f64 500 x)
(*.f64 125 (*.f64 x 4))
(*.f64 500 x)
(*.f64 (*.f64 2 (*.f64 x 2000)) 1/8)
(*.f64 500 x)
(*.f64 (*.f64 2 (*.f64 x -1000)) -1/4)
(*.f64 500 x)
(*.f64 (*.f64 2 (*.f64 x 4)) 125/2)
(*.f64 500 x)
(*.f64 (*.f64 x -1000) -1/2)
(*.f64 500 x)
(/.f64 (*.f64 -250 x) -1/2)
(*.f64 500 x)
(/.f64 (*.f64 x 500) 1)
(*.f64 500 x)
(/.f64 (*.f64 x 250) 1/2)
(*.f64 500 x)
(/.f64 (*.f64 x 1000) 2)
(*.f64 500 x)
(/.f64 (*.f64 x -500) -1)
(*.f64 500 x)
(/.f64 (*.f64 x 2000) 4)
(*.f64 500 x)
(/.f64 (*.f64 2 (*.f64 x 2000)) 8)
(*.f64 500 x)
(/.f64 (*.f64 2 (*.f64 x -1000)) -4)
(*.f64 500 x)
(/.f64 (*.f64 x -1000) -2)
(*.f64 500 x)
(/.f64 (/.f64 (*.f64 2 (*.f64 x -1000)) -1) 4)
(*.f64 500 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 x -1000)) (*.f64 2 (*.f64 x 2000))) 4)
(*.f64 500 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 x -1000)) (*.f64 2 (*.f64 x 3000))) 8)
(*.f64 500 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 x 3000)) (*.f64 2 (*.f64 x -1000))) 8)
(*.f64 500 x)
(/.f64 (+.f64 (*.f64 2 (*.f64 x 2000)) (*.f64 2 (*.f64 x 2000))) 16)
(*.f64 500 x)
(/.f64 (-.f64 (*.f64 2 (*.f64 x 3000)) (*.f64 2 (*.f64 x 2000))) 4)
(*.f64 500 x)
(pow.f64 (*.f64 x 500) 1)
(*.f64 500 x)
(neg.f64 (*.f64 x -500))
(*.f64 500 x)

eval109.0ms (0.7%)

Compiler

Compiled 1148 to 915 computations (20.3% saved)

prune255.0ms (1.7%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1150115
Fresh000
Picked011
Done055
Total1156121
Error
0.0b
Counts
121 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
0.0b
(+.f64 (*.f64 500 x) (*.f64 -500 y))
33.1b
(+.f64 (*.f64 -250 x) (*.f64 750 x))
0.0b
(*.f64 500 (-.f64 x y))
32.8b
(*.f64 500 x)
29.7b
(*.f64 -500 y)
Compiler

Compiled 46 to 35 computations (23.9% saved)

regimes147.0ms (1%)

Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 -500 y)
(*.f64 500 x)
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (*.f64 750 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
(+.f64 (/.f64 (*.f64 x -1500) -2) (-.f64 (*.f64 (*.f64 500 x) -1/2) (*.f64 y 500)))
Outputs
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
Calls

4 calls:

52.0ms
y
46.0ms
(*.f64 500 (-.f64 x y))
22.0ms
(-.f64 x y)
10.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(*.f64 500 (-.f64 x y))
0.0b1(-.f64 x y)
Compiler

Compiled 69 to 49 computations (29% saved)

regimes81.0ms (0.5%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 -500 y)
(*.f64 500 x)
(*.f64 500 (-.f64 x y))
(+.f64 (*.f64 -250 x) (*.f64 750 x))
(+.f64 (*.f64 500 x) (*.f64 -500 y))
Outputs
(*.f64 500 (-.f64 x y))
Calls

4 calls:

37.0ms
y
25.0ms
(-.f64 x y)
9.0ms
(*.f64 500 (-.f64 x y))
8.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(*.f64 500 (-.f64 x y))
0.0b1(-.f64 x y)
Compiler

Compiled 45 to 31 computations (31.1% saved)

regimes464.0ms (3.1%)

Accuracy

Total -50.3b remaining (-435.2%)

Threshold costs -50.3b (-435.2%)

Counts
2 → 5
Calls
Call 1
Inputs
(*.f64 -500 y)
(*.f64 500 x)
Outputs
(*.f64 -500 y)
(*.f64 500 x)
(*.f64 -500 y)
(*.f64 500 x)
(*.f64 -500 y)
Calls

2 calls:

385.0ms
x
78.0ms
y
Results
ErrorSegmentsBranch
14.3b3x
11.6b5y
Compiler

Compiled 14 to 10 computations (28.6% saved)

bsearch136.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
53.0ms
6.249821354902256e+159
2.848702019475946e+161
41.0ms
7.764856978668331e+118
1.741382254625936e+119
0.0ms
5.901319765552858e-28
6.089929954070093e-28
42.0ms
-3.885582333362005e-22
-1.0214678468939245e-23
Results
92.0ms299×body256valid
1.0msbody2048valid
1.0msbody1024valid
0.0msbody512valid
Compiler

Compiled 240 to 199 computations (17.1% saved)

simplify403.0ms (2.7%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030116
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
(*.f64 500 (-.f64 x y))
(if (<=.f64 y -3615500148534971/10633823966279326983230456482242756608) (*.f64 -500 y) (if (<=.f64 y 6690223559559187/11150372599265311570767859136324180752990208) (*.f64 500 x) (if (<=.f64 y 170000000000000006634646064013577064181038299739121814077042040622461226838614055646801786825219750064643102637582974976) (*.f64 -500 y) (if (<=.f64 y 6399999999999999698389469033677504511836555698038917323461464815986300943309170372415724736218656689688787843935675674943037651940339340928680786414569116401664) (*.f64 500 x) (*.f64 -500 y)))))
(*.f64 -500 y)
Outputs
(-.f64 (*.f64 y -1000) (*.f64 -500 (+.f64 y x)))
(*.f64 500 (-.f64 x y))
(if (<=.f64 y -3615500148534971/10633823966279326983230456482242756608) (*.f64 -500 y) (if (<=.f64 y 6690223559559187/11150372599265311570767859136324180752990208) (*.f64 500 x) (if (<=.f64 y 170000000000000006634646064013577064181038299739121814077042040622461226838614055646801786825219750064643102637582974976) (*.f64 -500 y) (if (<=.f64 y 6399999999999999698389469033677504511836555698038917323461464815986300943309170372415724736218656689688787843935675674943037651940339340928680786414569116401664) (*.f64 500 x) (*.f64 -500 y)))))
(*.f64 -500 y)
Compiler

Compiled 56 to 41 computations (26.8% saved)

soundness0.0ms (0%)

end159.0ms (1.1%)

Compiler

Compiled 50 to 35 computations (30% saved)

Profiling

Loading profile data...