Details

Time bar (total: 4.4s)

analyze519.0ms (11.8%)

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
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
28.1%28.1%71.8%0.1%0%0%0%9
42.2%42.1%57.7%0.1%0%0%0%10
48.2%46.8%50.3%0.1%2.7%0%0%11
56.2%53.8%41.9%0.1%4.1%0%0%12
Compiler

Compiled 13 to 10 computations (23.1% saved)

sample1.4s (31.8%)

Results
1.3s8256×body256valid
78.0ms826×body256infinite
Bogosity

preprocess645.0ms (14.7%)

Algorithm
egg-herbie
Rules
5826×rational.json-simplify-51
3726×rational.json-simplify-2
2178×rational.json-simplify-35
1808×rational.json-simplify-1
624×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022100
147100
277100
3123100
4203100
5375100
6812100
71135100
81329100
91565100
101717100
111785100
121841100
131885100
141929100
152807100
163046100
173102100
183158100
193214100
203270100
213746100
223901100
234089100
244211100
254333100
267359100
277481100
287603100
297603100
307603100
317725100
327847100
033
133
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 2
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 y x) 2) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 z y) 2) (/.f64 x 8))
(-.f64 (/.f64 (*.f64 x z) 2) (/.f64 y 8))
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (*.f64 x (/.f64 y 2)) (/.f64 z 8))
(-.f64 (*.f64 y (/.f64 x 2)) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 y x) 2) (/.f64 z 8))
(-.f64 (*.f64 x (/.f64 y 2)) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (*.f64 y (/.f64 x 2)) (/.f64 z 8))
(-.f64 (/.f64 (*.f64 z y) 2) (/.f64 x 8))
(-.f64 (*.f64 y (/.f64 z 2)) (/.f64 x 8))
(-.f64 (/.f64 (*.f64 x z) 2) (/.f64 y 8))
(-.f64 (*.f64 z (/.f64 x 2)) (/.f64 y 8))
(-.f64 (*.f64 x (/.f64 z 2)) (/.f64 y 8))
Symmetry

(sort x y)

Compiler

Compiled 15 to 12 computations (20% saved)

simplify346.0ms (7.9%)

Algorithm
egg-herbie
Rules
5758×rational.json-simplify-51
3392×rational.json-simplify-1
1406×rational.json-simplify-35
706×rational.json-simplify-41
404×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
12225
23725
35725
49325
516725
636025
788725
8133625
9151725
10155525
11159125
12162125
13165125
14168125
15171125
16174125
17177125
18180125
19183125
20186125
21189125
22192125
23195125
24727125
25748925
26752725
27756525
28760325
29764125
30767925
31771725
32775525
33779325
34783125
35786925
36790725
37794525
38798325
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(-.f64 (*.f64 y (/.f64 x 2)) (/.f64 z 8))
(-.f64 (*.f64 x (/.f64 y 2)) (/.f64 z 8))

eval1.0ms (0%)

Compiler

Compiled 30 to 21 computations (30% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.0b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Compiler

Compiled 12 to 9 computations (25% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 x y) 2)
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series5.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
y
@0
(/.f64 (*.f64 x y) 2)
0.0ms
y
@0
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0ms
x
@0
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0ms
x
@inf
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0ms
z
@0
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))

rewrite94.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
1576×bool.json-1
1576×bool.json-2
1522×rational.json-1
1522×rational.json-2
1522×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
111538
234038
373138
4153738
5332638
6613938
Stop Event
node limit
Counts
2 → 89
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(/.f64 (*.f64 x y) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 1/2)) (neg.f64 (*.f64 z 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z 1/8)) (*.f64 x (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 1 (*.f64 z 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 1 (*.f64 z 1/8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4) (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 x (*.f64 y 1/4)) (*.f64 z 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x (+.f64 y y)) (/.f64 z 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z 1/4) (*.f64 x y))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y))) (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 1/4)) (*.f64 x (*.f64 y 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 y 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x y) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (*.f64 y 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 y 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 y 8) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 x 8) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (*.f64 y 1/4) (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (*.f64 x 1/4) (*.f64 y 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 y 16) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 x 16) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 y y)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 x y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 x 1/2) (*.f64 y 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 x 1/4) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 y 1/2) (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 y 8) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 x 8) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 y 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 y 4)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y y) (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 x (*.f64 y 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 y 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/4 (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/8 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/2 (*.f64 y 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x y) 8) 1/16)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (/.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (*.f64 (*.f64 x 1/2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (*.f64 1/2 (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 4) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/16 (*.f64 (*.f64 x y) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/4) (+.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y 1/4) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/8 (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/4 (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/16 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/8 (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/4 (*.f64 y 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/16 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 y 1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x y) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 8) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 8) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 1/2) (*.f64 y 1/4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 1/2) 1/4) (*.f64 y 4))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (*.f64 y 1/2)) (*.f64 x (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (*.f64 y 1/2)) (*.f64 x (*.f64 y 1/2)))))))

simplify398.0ms (9.1%)

Algorithm
egg-herbie
Rules
2340×rational.json-simplify-2
1854×rational.json-simplify-35
1268×rational.json-simplify-51
912×rational.json-simplify-1
890×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01822657
13822657
27372657
310622657
416742657
533242657
641742657
748012657
852312657
956572657
1058562657
1174692657
Stop Event
node limit
Counts
149 → 95
Calls
Call 1
Inputs
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 x (*.f64 y 1/2)) (neg.f64 (*.f64 z 1/8)))
(+.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 0)
(+.f64 0 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))
(+.f64 (neg.f64 (*.f64 z 1/8)) (*.f64 x (*.f64 y 1/2)))
(+.f64 -1 (+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 1 (*.f64 z 1/8))))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 1 (*.f64 z 1/8))) -1)
(+.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4) (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4))
(*.f64 2 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4))
(*.f64 2 (-.f64 (*.f64 x (*.f64 y 1/4)) (*.f64 z 1/16)))
(*.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 1)
(*.f64 1 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))
(*.f64 4 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 8))
(*.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 1/2)
(*.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(*.f64 1/2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))) 1/4)
(*.f64 1/4 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))
(*.f64 1/4 (-.f64 (*.f64 x (+.f64 y y)) (/.f64 z 2)))
(*.f64 -1 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
(*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4) 2)
(*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 8) 4)
(/.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 1)
(/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 2)
(/.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(/.f64 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))) 4)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))) 8)
(/.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)) -2)
(/.f64 (*.f64 2 (-.f64 (*.f64 z 1/4) (*.f64 x y))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))) 16)
(/.f64 (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))))) 32)
(/.f64 (+.f64 (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y))) (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)))) 4)
(neg.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
(+.f64 (*.f64 x (*.f64 y 1/2)) 0)
(+.f64 0 (*.f64 x (*.f64 y 1/2)))
(+.f64 (*.f64 x (*.f64 y 1/4)) (*.f64 x (*.f64 y 1/4)))
(-.f64 (*.f64 x (*.f64 y 1/2)) 0)
(*.f64 x (*.f64 y 1/2))
(*.f64 y (*.f64 x 1/2))
(*.f64 (*.f64 x y) 1/2)
(*.f64 2 (*.f64 x (*.f64 y 1/4)))
(*.f64 (*.f64 x (*.f64 y 1/2)) 1)
(*.f64 8 (*.f64 (/.f64 y 8) (*.f64 x 1/2)))
(*.f64 8 (*.f64 (/.f64 x 8) (*.f64 y 1/2)))
(*.f64 8 (*.f64 (*.f64 y 1/4) (*.f64 x 1/4)))
(*.f64 8 (*.f64 (*.f64 x 1/4) (*.f64 y 1/4)))
(*.f64 8 (*.f64 (/.f64 y 16) x))
(*.f64 8 (*.f64 (/.f64 x 16) y))
(*.f64 1 (*.f64 x (*.f64 y 1/2)))
(*.f64 (*.f64 x (+.f64 y y)) 1/4)
(*.f64 4 (/.f64 (*.f64 x y) 8))
(*.f64 4 (*.f64 (*.f64 x 1/2) (*.f64 y 1/4)))
(*.f64 4 (*.f64 (*.f64 x 1/4) (*.f64 y 1/2)))
(*.f64 4 (*.f64 (*.f64 y 1/2) (*.f64 x 1/4)))
(*.f64 4 (*.f64 (/.f64 y 8) x))
(*.f64 4 (*.f64 (/.f64 x 8) y))
(*.f64 (*.f64 x 1/2) y)
(*.f64 (+.f64 x x) (*.f64 y 1/4))
(*.f64 (*.f64 x (*.f64 y 4)) 1/8)
(*.f64 (+.f64 y y) (*.f64 x 1/4))
(*.f64 1/2 (*.f64 x y))
(*.f64 1/8 (*.f64 x (*.f64 y 4)))
(*.f64 (*.f64 y 1/2) x)
(*.f64 (*.f64 x 4) (/.f64 y 8))
(*.f64 (*.f64 x 4) (*.f64 1/4 (*.f64 y 1/2)))
(*.f64 (*.f64 x 4) (*.f64 1/8 y))
(*.f64 (*.f64 x 4) (*.f64 1/2 (*.f64 y 1/4)))
(*.f64 (*.f64 (*.f64 x y) 8) 1/16)
(*.f64 (*.f64 y 4) (/.f64 x 8))
(*.f64 (*.f64 y 4) (*.f64 (*.f64 x 1/2) 1/4))
(*.f64 (*.f64 y 4) (*.f64 1/2 (*.f64 x 1/4)))
(*.f64 (*.f64 y 4) (*.f64 1/8 x))
(*.f64 1/16 (*.f64 (*.f64 x y) 8))
(*.f64 (*.f64 x 1/4) (+.f64 y y))
(*.f64 (*.f64 y 1/4) (+.f64 x x))
(*.f64 1/4 (*.f64 x (+.f64 y y)))
(*.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/8 (*.f64 x 1/2)))
(*.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/4 (*.f64 x 1/4)))
(*.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/16 x))
(*.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/8 (*.f64 y 1/2)))
(*.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/4 (*.f64 y 1/4)))
(*.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/16 y))
(*.f64 (*.f64 x (*.f64 y 1/4)) 2)
(*.f64 (/.f64 (*.f64 x y) 8) 4)
(*.f64 (/.f64 x 8) (*.f64 y 4))
(*.f64 (/.f64 y 8) (*.f64 x 4))
(*.f64 (*.f64 (*.f64 x 1/2) (*.f64 y 1/4)) 4)
(*.f64 (*.f64 (*.f64 x 1/2) 1/4) (*.f64 y 4))
Outputs
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 -1/8 z)
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 x (*.f64 y 1/2)) (neg.f64 (*.f64 z 1/8)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 0)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 0 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (neg.f64 (*.f64 z 1/8)) (*.f64 x (*.f64 y 1/2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 -1 (+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 1 (*.f64 z 1/8))))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 1 (*.f64 z 1/8))) -1)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4) (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 2 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 2 (-.f64 (*.f64 x (*.f64 y 1/4)) (*.f64 z 1/16)))
(*.f64 2 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 z 1/16)))
(*.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 1)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 4 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 8))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 1/2)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))) 1/4)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/4 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 1/4 (-.f64 (*.f64 x (+.f64 y y)) (/.f64 z 2)))
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (/.f64 z 2)))
(*.f64 -1 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 4) 2)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 8) 4)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z 1/8)) 1)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (-.f64 (*.f64 x y) (*.f64 z 1/4)) 2)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)) -1)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))) 4)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))) 8)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)) -2)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (*.f64 2 (-.f64 (*.f64 z 1/4) (*.f64 x y))) -4)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))) 16)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y))) 2)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4))))) (*.f64 2 (*.f64 2 (*.f64 2 (-.f64 (*.f64 x y) (*.f64 z 1/4)))))) 32)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(/.f64 (+.f64 (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y))) (neg.f64 (-.f64 (*.f64 z 1/4) (*.f64 x y)))) 4)
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(neg.f64 (+.f64 (*.f64 z 1/8) (/.f64 (*.f64 x y) -2)))
(+.f64 (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 -1/8 z))
(*.f64 1/8 (-.f64 (*.f64 x (*.f64 y 4)) z))
(+.f64 (*.f64 x (*.f64 y 1/2)) 0)
(*.f64 1/2 (*.f64 y x))
(+.f64 0 (*.f64 x (*.f64 y 1/2)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 x (*.f64 y 1/4)) (*.f64 x (*.f64 y 1/4)))
(*.f64 1/2 (*.f64 y x))
(-.f64 (*.f64 x (*.f64 y 1/2)) 0)
(*.f64 1/2 (*.f64 y x))
(*.f64 x (*.f64 y 1/2))
(*.f64 1/2 (*.f64 y x))
(*.f64 y (*.f64 x 1/2))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x y) 1/2)
(*.f64 1/2 (*.f64 y x))
(*.f64 2 (*.f64 x (*.f64 y 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x (*.f64 y 1/2)) 1)
(*.f64 1/2 (*.f64 y x))
(*.f64 8 (*.f64 (/.f64 y 8) (*.f64 x 1/2)))
(*.f64 1/2 (*.f64 y x))
(*.f64 8 (*.f64 (/.f64 x 8) (*.f64 y 1/2)))
(*.f64 1/2 (*.f64 y x))
(*.f64 8 (*.f64 (*.f64 y 1/4) (*.f64 x 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 8 (*.f64 (*.f64 x 1/4) (*.f64 y 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 8 (*.f64 (/.f64 y 16) x))
(*.f64 1/2 (*.f64 y x))
(*.f64 8 (*.f64 (/.f64 x 16) y))
(*.f64 1/2 (*.f64 y x))
(*.f64 1 (*.f64 x (*.f64 y 1/2)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x (+.f64 y y)) 1/4)
(*.f64 1/2 (*.f64 y x))
(*.f64 4 (/.f64 (*.f64 x y) 8))
(*.f64 1/2 (*.f64 y x))
(*.f64 4 (*.f64 (*.f64 x 1/2) (*.f64 y 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 4 (*.f64 (*.f64 x 1/4) (*.f64 y 1/2)))
(*.f64 1/2 (*.f64 y x))
(*.f64 4 (*.f64 (*.f64 y 1/2) (*.f64 x 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 4 (*.f64 (/.f64 y 8) x))
(*.f64 1/2 (*.f64 y x))
(*.f64 4 (*.f64 (/.f64 x 8) y))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x 1/2) y)
(*.f64 1/2 (*.f64 y x))
(*.f64 (+.f64 x x) (*.f64 y 1/4))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x (*.f64 y 4)) 1/8)
(*.f64 1/2 (*.f64 y x))
(*.f64 (+.f64 y y) (*.f64 x 1/4))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/2 (*.f64 x y))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/8 (*.f64 x (*.f64 y 4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 y 1/2) x)
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x 4) (/.f64 y 8))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x 4) (*.f64 1/4 (*.f64 y 1/2)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x 4) (*.f64 1/8 y))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x 4) (*.f64 1/2 (*.f64 y 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 (*.f64 x y) 8) 1/16)
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 y 4) (/.f64 x 8))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 y 4) (*.f64 (*.f64 x 1/2) 1/4))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 y 4) (*.f64 1/2 (*.f64 x 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 y 4) (*.f64 1/8 x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/16 (*.f64 (*.f64 x y) 8))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x 1/4) (+.f64 y y))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 y 1/4) (+.f64 x x))
(*.f64 1/2 (*.f64 y x))
(*.f64 1/4 (*.f64 x (+.f64 y y)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/8 (*.f64 x 1/2)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/4 (*.f64 x 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 2 (*.f64 y 4)) (*.f64 1/16 x))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/8 (*.f64 y 1/2)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/4 (*.f64 y 1/4)))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 2 (*.f64 x 4)) (*.f64 1/16 y))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 x (*.f64 y 1/4)) 2)
(*.f64 1/2 (*.f64 y x))
(*.f64 (/.f64 (*.f64 x y) 8) 4)
(*.f64 1/2 (*.f64 y x))
(*.f64 (/.f64 x 8) (*.f64 y 4))
(*.f64 1/2 (*.f64 y x))
(*.f64 (/.f64 y 8) (*.f64 x 4))
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 (*.f64 x 1/2) (*.f64 y 1/4)) 4)
(*.f64 1/2 (*.f64 y x))
(*.f64 (*.f64 (*.f64 x 1/2) 1/4) (*.f64 y 4))
(*.f64 1/2 (*.f64 y x))

eval229.0ms (5.2%)

Compiler

Compiled 1098 to 757 computations (31.1% saved)

prune14.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New93295
Fresh000
Picked011
Done000
Total93396
Error
0.0b
Counts
96 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
34.9b
(*.f64 1/2 (*.f64 y x))
28.1b
(*.f64 -1/8 z)
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 y x))
Compiler

Compiled 14 to 7 computations (50% saved)

series0.0ms (0%)

Counts
1 → 0
Calls

6 calls:

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

rewrite95.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1708×bool.json-1
1708×bool.json-2
1662×rational.json-1
1052×bool.json-3
1026×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
17213
221113
345913
490713
5191813
6395913
7678213
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 y x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 y (*.f64 x 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (+.f64 x x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 8 y)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 8 y))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 8 y)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/2 (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/2 (*.f64 y x)) (*.f64 1/2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/2 (*.f64 y x)) (*.f64 1/2 (*.f64 y x)))))))

simplify444.0ms (10.1%)

Algorithm
egg-herbie
Rules
4216×rational.json-simplify-41
3310×rational.json-simplify-35
2430×rational.json-simplify-2
1548×rational.json-simplify-53
474×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037143
194143
2198143
3448143
41209143
52077143
62777143
73316143
83747143
93915143
104079143
114079143
124438143
134532143
144705143
155022143
165394143
175562143
185722143
195881143
Stop Event
node limit
Counts
11 → 12
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (*.f64 y x)) 0)
(+.f64 0 (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 y (*.f64 x 1/4)))
(-.f64 (*.f64 1/2 (*.f64 y x)) 0)
(/.f64 (*.f64 y x) 2)
(/.f64 (*.f64 1/2 (*.f64 y x)) 1)
(/.f64 (*.f64 y (+.f64 x x)) 4)
(/.f64 (*.f64 y (*.f64 x 4)) 8)
(/.f64 (*.f64 x (*.f64 8 y)) 16)
(/.f64 (*.f64 2 (*.f64 x (*.f64 8 y))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 8 y)))) 64)
Outputs
(+.f64 (*.f64 1/2 (*.f64 y x)) 0)
(*.f64 1/2 (*.f64 y x))
(+.f64 0 (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 y (*.f64 x 1/4)))
(*.f64 1/2 (*.f64 y x))
(-.f64 (*.f64 1/2 (*.f64 y x)) 0)
(*.f64 1/2 (*.f64 y x))
(/.f64 (*.f64 y x) 2)
(*.f64 1/2 (*.f64 y x))
(/.f64 (*.f64 1/2 (*.f64 y x)) 1)
(*.f64 1/2 (*.f64 y x))
(/.f64 (*.f64 y (+.f64 x x)) 4)
(*.f64 1/2 (*.f64 y x))
(/.f64 (*.f64 y (*.f64 x 4)) 8)
(*.f64 1/2 (*.f64 y x))
(/.f64 (*.f64 x (*.f64 8 y)) 16)
(*.f64 1/2 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 x (*.f64 8 y))) 32)
(*.f64 1/2 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 8 y)))) 64)
(*.f64 1/2 (*.f64 y x))

eval2.0ms (0%)

Compiler

Compiled 93 to 61 computations (34.4% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New12012
Fresh000
Picked011
Done022
Total12315
Error
0.0b
Counts
15 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
34.9b
(*.f64 1/2 (*.f64 y x))
28.1b
(*.f64 -1/8 z)
Compiler

Compiled 26 to 20 computations (23.1% saved)

regimes25.0ms (0.6%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 -1/8 z)
(*.f64 1/2 (*.f64 y x))
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
Calls

7 calls:

4.0ms
(/.f64 (*.f64 x y) 2)
3.0ms
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
3.0ms
(/.f64 z 8)
3.0ms
z
3.0ms
y
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
0.0b1(/.f64 (*.f64 x y) 2)
0.0b1(*.f64 x y)
0.0b1(/.f64 z 8)
Compiler

Compiled 64 to 47 computations (26.6% saved)

regimes57.0ms (1.3%)

Accuracy

Total -50.1b remaining (-422.9%)

Threshold costs -50.1b (-422.9%)

Counts
2 → 7
Calls
Call 1
Inputs
(*.f64 -1/8 z)
(*.f64 1/2 (*.f64 y x))
Outputs
(*.f64 1/2 (*.f64 y x))
(*.f64 -1/8 z)
(*.f64 1/2 (*.f64 y x))
(*.f64 -1/8 z)
(*.f64 1/2 (*.f64 y x))
(*.f64 -1/8 z)
(*.f64 1/2 (*.f64 y x))
Calls

3 calls:

25.0ms
y
18.0ms
x
13.0ms
z
Results
ErrorSegmentsBranch
11.8b7x
13.9b9y
14.4b5z
Compiler

Compiled 23 to 17 computations (26.1% saved)

bsearch65.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
3.191918830568673e-132
2.409521074538415e-130
12.0ms
-1.7990786437389528e-6
-1.5987321343671802e-8
9.0ms
-4.8954044301586365e+28
-1.8213175292283488e+28
11.0ms
-4.1484400618088244e+68
-5.123009638561054e+67
0.0ms
-3.472085197234971e+172
-3.3348013280962e+172
20.0ms
-3.266407473883292e+226
-8.48287889425529e+218
Results
54.0ms544×body256valid
4.0ms41×body256infinite
Compiler

Compiled 562 to 456 computations (18.9% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037159
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(if (<=.f64 x -850000000000000040865650226125872597002972641215790070965524725667078050200377735594630569159103218350168303161661512064560335385737587190002851855822878018270252281105169812182532415131981444257555872710247325406068736) (*.f64 1/2 (*.f64 y x)) (if (<=.f64 x -33999999999999998006005175050170480012552782324542348054905506549717296164534191449987059279656154763046706521560914856278944253200358601192825362610711601977048421130829824) (*.f64 -1/8 z) (if (<=.f64 x -70000000000000000288151981501143776461251748830540338077714954059776) (*.f64 1/2 (*.f64 y x)) (if (<=.f64 x -18999999999999999427829825536) (*.f64 -1/8 z) (if (<=.f64 x -5742397643169489/151115727451828646838272) (*.f64 1/2 (*.f64 y x)) (if (<=.f64 x 5993757216606705/24973988402527937851052777838345330445988785141319769206873255677002973910558124960962448824507935769278615448971252983163583805434306282450321408) (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x))))))))
(*.f64 -1/8 z)
Outputs
(-.f64 (/.f64 (*.f64 x y) 2) (/.f64 z 8))
(if (<=.f64 x -850000000000000040865650226125872597002972641215790070965524725667078050200377735594630569159103218350168303161661512064560335385737587190002851855822878018270252281105169812182532415131981444257555872710247325406068736) (*.f64 1/2 (*.f64 y x)) (if (<=.f64 x -33999999999999998006005175050170480012552782324542348054905506549717296164534191449987059279656154763046706521560914856278944253200358601192825362610711601977048421130829824) (*.f64 -1/8 z) (if (<=.f64 x -70000000000000000288151981501143776461251748830540338077714954059776) (*.f64 1/2 (*.f64 y x)) (if (<=.f64 x -18999999999999999427829825536) (*.f64 -1/8 z) (if (<=.f64 x -5742397643169489/151115727451828646838272) (*.f64 1/2 (*.f64 y x)) (if (<=.f64 x 5993757216606705/24973988402527937851052777838345330445988785141319769206873255677002973910558124960962448824507935769278615448971252983163583805434306282450321408) (*.f64 -1/8 z) (*.f64 1/2 (*.f64 y x))))))))
(*.f64 -1/8 z)
Compiler

Compiled 74 to 50 computations (32.4% saved)

soundness0.0ms (0%)

end34.0ms (0.8%)

Remove

(sort x y)

Compiler

Compiled 92 to 62 computations (32.6% saved)

Profiling

Loading profile data...