Details

Time bar (total: 10.5s)

analyze626.0ms (6%)

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
37.6%34.3%56.9%0.1%8.6%0%0%10
44.8%40.6%49.9%0.1%9.4%0%0%11
53.4%48%41.9%0.1%9.9%0%0%12
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample3.6s (34%)

Results
3.2s8256×body256valid
171.0ms1114×body256infinite
Bogosity

preprocess203.0ms (1.9%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
swap-x-y
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01776
12276
033
133
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 2
Inputs
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (+.f64 y x) (-.f64 1 z))
(*.f64 (+.f64 z y) (-.f64 1 x))
(*.f64 (+.f64 x z) (-.f64 1 y))
Outputs
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (+.f64 y x) (-.f64 1 z))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (+.f64 z y) (-.f64 1 x))
(*.f64 (+.f64 y z) (-.f64 1 x))
(*.f64 (+.f64 x z) (-.f64 1 y))
Symmetry

(sort x y)

Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify24.0ms (0.2%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
11119
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (-.f64 1 z))
Outputs
(*.f64 (+.f64 x y) (-.f64 1 z))

eval1.0ms (0%)

Compiler

Compiled 10 to 7 computations (30% 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 (+.f64 x y) (-.f64 1 z))
Compiler

Compiled 10 to 7 computations (30% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 20 to 10 computations (50% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite105.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1802×rational.json-5
1800×exponential.json-3
1800×rational.json-1
1800×rational.json-2
1800×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17619
224019
388719
4348219
Stop Event
node limit
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (-.f64 1 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 x y) (-.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 1)))))

simplify210.0ms (2%)

Algorithm
egg-herbie
Rules
1260×rational.json-simplify-49
1096×rational.json-simplify-47
932×rational.json-simplify-2
852×rational.json-simplify-111
784×rational.json-simplify-104
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
028858
150836
2118836
3309836
41120836
52534836
65774836
77504836
Stop Event
node limit
Counts
42 → 23
Calls
Call 1
Inputs
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) x)
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) x)
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) x)
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(+.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 0)
(+.f64 0 (*.f64 (+.f64 x y) (-.f64 1 z)))
(-.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 0)
(/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 1)
(/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (-.f64 1 z))))
(pow.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 1)
Outputs
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(*.f64 (-.f64 1 z) x)
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(*.f64 (-.f64 1 z) x)
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(*.f64 (-.f64 1 z) x)
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 y (-.f64 1 z)) (*.f64 (-.f64 1 z) x))
(*.f64 (-.f64 1 z) (+.f64 y x))
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 y x) (*.f64 z -1))
(*.f64 (+.f64 y x) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 y x)))
(*.f64 z (-.f64 (neg.f64 y) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 y x) (*.f64 z -1))
(*.f64 (+.f64 y x) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 y x)))
(*.f64 z (-.f64 (neg.f64 y) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (*.f64 z -1))))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 z (neg.f64 (+.f64 y x)))))
(+.f64 y (+.f64 x (*.f64 z (-.f64 (neg.f64 y) x))))
(+.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 0)
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 0 (*.f64 (+.f64 x y) (-.f64 1 z)))
(*.f64 (-.f64 1 z) (+.f64 y x))
(-.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 0)
(*.f64 (-.f64 1 z) (+.f64 y x))
(/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 1)
(*.f64 (-.f64 1 z) (+.f64 y x))
(/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (-.f64 1 z) (+.f64 y x))
(pow.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) 1)
(*.f64 (-.f64 1 z) (+.f64 y x))

eval4.0ms (0%)

Compiler

Compiled 208 to 95 computations (54.3% saved)

prune10.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New17623
Fresh000
Picked011
Done000
Total17724
Error
0.0b
Counts
24 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
0.0b
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
19.6b
(+.f64 y x)
31.3b
(*.f64 (-.f64 1 z) x)
43.4b
(*.f64 (+.f64 y x) (neg.f64 z))
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))
32.3b
(*.f64 y (-.f64 1 z))
Compiler

Compiled 126 to 87 computations (31% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))
0.0b
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
0.0b
(*.f64 (+.f64 y x) (neg.f64 z))
Compiler

Compiled 35 to 8 computations (77.1% saved)

series183.0ms (1.7%)

Counts
3 → 108
Calls

27 calls:

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

rewrite203.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
796×rational.json-simplify-47
760×rational.json-simplify-54
652×rational.json-simplify-1
606×rational.json-simplify-49
604×rational.json-simplify-50
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01169
110069
233463
3121263
4495059
Stop Event
node limit
Counts
3 → 77
Calls
Call 1
Inputs
(*.f64 (+.f64 y x) (neg.f64 z))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 y x) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (/.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 y x) z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 y (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (-.f64 (neg.f64 y) (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y x) (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (-.f64 (neg.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 y x) (-.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (*.f64 (+.f64 y x) (neg.f64 z))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 (-.f64 1 x) (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 x)) (-.f64 (-.f64 1 y) (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) (-.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (-.f64 1 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (-.f64 -1 x)) (-.f64 1 (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 y x) (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (-.f64 -1 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 y (*.f64 (+.f64 y x) (neg.f64 z))) (-.f64 -1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y x) (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y x) (*.f64 (-.f64 1 z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y x) (+.f64 (neg.f64 z) (/.f64 (+.f64 y x) (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (+.f64 y x) (-.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 y) x) (-.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y x) (+.f64 y x)) (+.f64 (/.f64 1 (+.f64 y x)) (*.f64 (neg.f64 z) (/.f64 1 (+.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (/.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (+.f64 y x) (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 z) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (/.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (/.f64 (*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) 1) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 y x) (-.f64 z 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 x (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 x)) (-.f64 1 (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 x (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (-.f64 -1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (+.f64 y x) z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (*.f64 (+.f64 y x) z) 1) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (/.f64 (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (/.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (/.f64 (*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) 1) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))) (/.f64 (/.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))))))

simplify246.0ms (2.3%)

Algorithm
egg-herbie
Rules
1698×rational.json-simplify-47
978×rational.json-simplify-2
894×rational.json-simplify-1
882×rational.json-simplify-42
794×rational.json-simplify-45
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01856339
14556161
212334771
341244483
Stop Event
node limit
Counts
185 → 153
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 z 1) y)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 z 1) y)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 z 1) y)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(*.f64 (+.f64 (*.f64 -1 z) 1) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(*.f64 -1 (*.f64 (-.f64 z 1) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x))))
(+.f64 y x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(*.f64 (+.f64 (*.f64 -1 z) 1) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 (-.f64 z 1) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x)))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 0)
(+.f64 0 (*.f64 (+.f64 y x) (neg.f64 z)))
(-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 0)
(-.f64 0 (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)
(/.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 1)
(/.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (/.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (*.f64 (+.f64 y x) (neg.f64 z))))
(/.f64 (*.f64 (+.f64 y x) z) -1)
(pow.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 1)
(neg.f64 (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(neg.f64 (*.f64 (+.f64 y x) z))
(-.f64 y (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 x (-.f64 (neg.f64 y) (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (+.f64 y x) (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (-.f64 (neg.f64 y) x))
(-.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (neg.f64 y))
(-.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 0)
(-.f64 0 (*.f64 (+.f64 y x) (-.f64 z 1)))
(-.f64 (+.f64 y (*.f64 (+.f64 y x) (neg.f64 z))) (neg.f64 x))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 (-.f64 1 y) x))
(-.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 (-.f64 1 x) (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (-.f64 0 (-.f64 -1 x)) (-.f64 (-.f64 1 y) (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) (-.f64 1 y))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (-.f64 1 z)))) 1)
(-.f64 (-.f64 y (-.f64 -1 x)) (-.f64 1 (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (-.f64 (+.f64 y x) (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)
(-.f64 (-.f64 y (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 1 x))
(-.f64 (-.f64 y (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) 1)
(-.f64 (-.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (-.f64 -1 y)) 1)
(-.f64 (-.f64 (+.f64 y (*.f64 (+.f64 y x) (neg.f64 z))) (-.f64 -1 x)) 1)
(*.f64 (+.f64 y x) (-.f64 1 z))
(*.f64 (+.f64 y x) (*.f64 (-.f64 1 z) 1))
(*.f64 (+.f64 y x) (+.f64 (neg.f64 z) (/.f64 (+.f64 y x) (+.f64 y x))))
(*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)
(*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))
(*.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z)))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (+.f64 y x) (-.f64 1 z)))
(*.f64 (-.f64 (neg.f64 y) x) (-.f64 z 1))
(*.f64 (*.f64 (+.f64 y x) (+.f64 y x)) (+.f64 (/.f64 1 (+.f64 y x)) (*.f64 (neg.f64 z) (/.f64 1 (+.f64 y x)))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) 1))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (/.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (+.f64 y x) (-.f64 1 z))))
(*.f64 (-.f64 1 z) (+.f64 y x))
(*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (/.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (/.f64 (*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) 1) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))
(*.f64 (*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)
(/.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))
(pow.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)
(neg.f64 (*.f64 (+.f64 y x) (-.f64 z 1)))
(-.f64 x (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (neg.f64 x))
(-.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 0)
(-.f64 0 (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 1 x))
(-.f64 (-.f64 0 (-.f64 -1 x)) (-.f64 1 (*.f64 (+.f64 y x) (neg.f64 z))))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) 1)
(-.f64 (-.f64 x (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)
(-.f64 (-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (-.f64 -1 x)) 1)
(*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)
(*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(*.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(*.f64 (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(*.f64 -1 (-.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 -1 (-.f64 (*.f64 (*.f64 (+.f64 y x) z) 1) x))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) 1))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (/.f64 (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (/.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (/.f64 (*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) 1) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))
(*.f64 (*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))) (/.f64 (/.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))))
(/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)
(/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(pow.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))
Outputs
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) y) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 z 1) y)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 z 1) y)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 z 1) y)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (+.f64 x (*.f64 z (neg.f64 x))) (*.f64 y (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (-.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(*.f64 (+.f64 (*.f64 -1 z) 1) x)
(*.f64 x (+.f64 1 (neg.f64 z)))
(*.f64 x (-.f64 1 z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (+.f64 y (*.f64 -1 (*.f64 y z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(*.f64 -1 (*.f64 (-.f64 z 1) x))
(*.f64 x (+.f64 1 (neg.f64 z)))
(*.f64 x (-.f64 1 z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 y (neg.f64 z))))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 z))) (+.f64 y (*.f64 z (neg.f64 y))))
(+.f64 y (+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z))))
(+.f64 y (neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z)))))
(+.f64 y x)
(+.f64 x y)
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(+.f64 y (+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(*.f64 (+.f64 (*.f64 -1 z) 1) x)
(*.f64 x (+.f64 1 (neg.f64 z)))
(*.f64 x (-.f64 1 z))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 z) 1) x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(*.f64 -1 (*.f64 (-.f64 z 1) x))
(*.f64 x (+.f64 1 (neg.f64 z)))
(*.f64 x (-.f64 1 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 (-.f64 z 1) x)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (+.f64 1 (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 x (-.f64 1 z)))
(neg.f64 (+.f64 (*.f64 z y) (*.f64 x (+.f64 -1 z))))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1 (*.f64 z x)) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
x
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 y x) z)) x)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(+.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 0)
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 0 (*.f64 (+.f64 y x) (neg.f64 z)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 0)
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 0 (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(/.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 1)
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(/.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (/.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(/.f64 (*.f64 (+.f64 y x) z) -1)
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(pow.f64 (*.f64 (+.f64 y x) (neg.f64 z)) 1)
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(neg.f64 (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(neg.f64 (*.f64 (+.f64 y x) z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 y (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 x (-.f64 (neg.f64 y) (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (+.f64 y x) (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (-.f64 (neg.f64 y) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (neg.f64 y))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 0)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 0 (*.f64 (+.f64 y x) (-.f64 z 1)))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (+.f64 y (*.f64 (+.f64 y x) (neg.f64 z))) (neg.f64 x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 (-.f64 1 y) x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 (-.f64 1 x) (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 0 (-.f64 -1 x)) (-.f64 (-.f64 1 y) (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) (-.f64 1 y))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (-.f64 1 z)))) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 y (-.f64 -1 x)) (-.f64 1 (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 (+.f64 y x) (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 y (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 1 x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 y (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (-.f64 -1 y)) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 (-.f64 (+.f64 y (*.f64 (+.f64 y x) (neg.f64 z))) (-.f64 -1 x)) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (+.f64 y x) (-.f64 1 z))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (+.f64 y x) (*.f64 (-.f64 1 z) 1))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (+.f64 y x) (+.f64 (neg.f64 z) (/.f64 (+.f64 y x) (+.f64 y x))))
(*.f64 (+.f64 x y) (+.f64 (neg.f64 z) (/.f64 (+.f64 x y) (+.f64 x y))))
(*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))
(*.f64 (+.f64 x y) (*.f64 (-.f64 1 z) (/.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (*.f64 (+.f64 x y) (+.f64 z -1)))))
(*.f64 (-.f64 1 z) (*.f64 (+.f64 x y) (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z)))))
(*.f64 (+.f64 x y) (*.f64 (-.f64 1 z) (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z)))))
(*.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z)))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (+.f64 y x) (-.f64 1 z)))
(*.f64 (+.f64 x y) (*.f64 (-.f64 1 z) (/.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (*.f64 (+.f64 x y) (+.f64 z -1)))))
(*.f64 (-.f64 1 z) (*.f64 (+.f64 x y) (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z)))))
(*.f64 (+.f64 x y) (*.f64 (-.f64 1 z) (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z)))))
(*.f64 (-.f64 (neg.f64 y) x) (-.f64 z 1))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (*.f64 (+.f64 y x) (+.f64 y x)) (+.f64 (/.f64 1 (+.f64 y x)) (*.f64 (neg.f64 z) (/.f64 1 (+.f64 y x)))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (/.f64 1 (+.f64 x y)) (*.f64 (neg.f64 z) (/.f64 1 (+.f64 x y)))))
(*.f64 (+.f64 x y) (*.f64 (+.f64 x y) (+.f64 (/.f64 1 (+.f64 x y)) (*.f64 z (neg.f64 (/.f64 1 (+.f64 x y)))))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (*.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))))
(*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))))
(*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (+.f64 x y) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z)))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) 1))
(*.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (*.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))))
(*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))))
(*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (+.f64 x y) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z)))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (/.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))) (*.f64 (+.f64 y x) (-.f64 1 z))))
(*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1)))) (/.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (*.f64 (+.f64 x y) (+.f64 z -1))) (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z)))) (/.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))) (/.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (/.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z)))))
(*.f64 (-.f64 1 z) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))
(*.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (*.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))))
(*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))))
(*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (+.f64 x y) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z)))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (/.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))
(*.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1)))))) (/.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1))))))
(*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z)))) (/.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z)))))))
(*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))) (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))))))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))) (*.f64 (+.f64 x y) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))))))
(*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (/.f64 (*.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) 1) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))
(*.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1)))))) (/.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1))))))
(*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z)))) (/.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z)))))))
(*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z)))) (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))))))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))) (*.f64 (+.f64 x y) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))))))
(*.f64 (*.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 (+.f64 y x) (-.f64 1 z))) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1)))))))
(*.f64 (*.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1)))))) (/.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1)))))) (/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1)))))) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (+.f64 z -1) (*.f64 (+.f64 x y) (+.f64 z -1))))))))
(*.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z)))) (/.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))))))) (/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z))))) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z))) (*.f64 (+.f64 x y) (-.f64 1 z)))))))
(*.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))))) (*.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z))))) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 x y) (*.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (*.f64 (+.f64 -1 z) (*.f64 (+.f64 x y) (+.f64 -1 z)))))))))
(*.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))) (*.f64 (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))) (*.f64 (+.f64 x y) (*.f64 (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))) (*.f64 (+.f64 x y) (*.f64 (+.f64 -1 z) (+.f64 -1 z)))))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(/.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 z 1)) (*.f64 (+.f64 y x) (-.f64 z 1))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 x y) (+.f64 z -1)) (*.f64 (+.f64 x y) (+.f64 z -1))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (/.f64 (*.f64 (+.f64 x y) (+.f64 -1 z)) (*.f64 (+.f64 x y) (+.f64 -1 z))))
(pow.f64 (*.f64 (+.f64 y x) (-.f64 1 z)) 1)
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(neg.f64 (*.f64 (+.f64 y x) (-.f64 z 1)))
(+.f64 y (+.f64 x (*.f64 (+.f64 x y) (neg.f64 z))))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) (neg.f64 z)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(-.f64 x (neg.f64 (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (neg.f64 x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 0)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 0 (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) (-.f64 1 x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 (-.f64 0 (-.f64 -1 x)) (-.f64 1 (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) 1)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 (-.f64 x (-.f64 -1 (*.f64 (+.f64 y x) (neg.f64 z)))) 1)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(-.f64 (-.f64 (*.f64 (+.f64 y x) (neg.f64 z)) (-.f64 -1 x)) 1)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 -1 (-.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 -1 (-.f64 (*.f64 (*.f64 (+.f64 y x) z) 1) x))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) 1))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (/.f64 (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (/.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (/.f64 (*.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) 1) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(*.f64 (*.f64 (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))) (/.f64 (/.f64 (/.f64 1 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (*.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (/.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z)))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(pow.f64 (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))) 1)
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))
(neg.f64 (-.f64 (neg.f64 x) (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 z (neg.f64 x)) (+.f64 x (*.f64 y (neg.f64 z))))
(+.f64 x (*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x))))
(-.f64 x (*.f64 z (+.f64 x y)))

localize113.0ms (1.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 y (-.f64 1 z))
Compiler

Compiled 14 to 9 computations (35.7% saved)

series3.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
z
@inf
(*.f64 y (-.f64 1 z))
0.0ms
y
@0
(*.f64 y (-.f64 1 z))
0.0ms
y
@inf
(*.f64 y (-.f64 1 z))
0.0ms
y
@-inf
(*.f64 y (-.f64 1 z))
0.0ms
z
@-inf
(*.f64 y (-.f64 1 z))

rewrite168.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1390×rational.json-5
1388×exponential.json-3
1388×rational.json-1
1388×rational.json-2
1388×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15913
218913
369013
4267913
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 y (-.f64 1 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 1 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (-.f64 1 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 1 z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 1 z)) (/.f64 (*.f64 y (-.f64 1 z)) (*.f64 y (-.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y (-.f64 1 z))))))))

simplify222.0ms (2.1%)

Algorithm
egg-herbie
Rules
940×rational.json-simplify-111
766×rational.json-simplify-104
750×rational.json-simplify-2
604×rational.json-simplify-79
578×rational.json-simplify-73
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027315
154293
2129293
3367293
41416293
53693293
65669293
77536293
Stop Event
node limit
Counts
21 → 20
Calls
Call 1
Inputs
y
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(*.f64 -1 (*.f64 y z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (-.f64 1 z)) 0)
(+.f64 0 (*.f64 y (-.f64 1 z)))
(-.f64 (*.f64 y (-.f64 1 z)) 0)
(-.f64 0 (neg.f64 (*.f64 y (-.f64 1 z))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 1 z)))) 1)
(/.f64 (*.f64 y (-.f64 1 z)) 1)
(/.f64 (*.f64 y (-.f64 1 z)) (/.f64 (*.f64 y (-.f64 1 z)) (*.f64 y (-.f64 1 z))))
(pow.f64 (*.f64 y (-.f64 1 z)) 1)
(neg.f64 (neg.f64 (*.f64 y (-.f64 1 z))))
Outputs
y
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (*.f64 z -1)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 y (-.f64 1 z)) 0)
(*.f64 y (-.f64 1 z))
(+.f64 0 (*.f64 y (-.f64 1 z)))
(*.f64 y (-.f64 1 z))
(-.f64 (*.f64 y (-.f64 1 z)) 0)
(*.f64 y (-.f64 1 z))
(-.f64 0 (neg.f64 (*.f64 y (-.f64 1 z))))
(*.f64 y (-.f64 1 z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 1 z)))) 1)
(*.f64 y (-.f64 1 z))
(/.f64 (*.f64 y (-.f64 1 z)) 1)
(*.f64 y (-.f64 1 z))
(/.f64 (*.f64 y (-.f64 1 z)) (/.f64 (*.f64 y (-.f64 1 z)) (*.f64 y (-.f64 1 z))))
(*.f64 y (-.f64 1 z))
(pow.f64 (*.f64 y (-.f64 1 z)) 1)
(*.f64 y (-.f64 1 z))
(neg.f64 (neg.f64 (*.f64 y (-.f64 1 z))))
(*.f64 y (-.f64 1 z))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 1 z) x)
Compiler

Compiled 14 to 9 computations (35.7% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 (-.f64 1 z) x)
0.0ms
z
@0
(*.f64 (-.f64 1 z) x)
0.0ms
x
@inf
(*.f64 (-.f64 1 z) x)
0.0ms
x
@-inf
(*.f64 (-.f64 1 z) x)
0.0ms
z
@-inf
(*.f64 (-.f64 1 z) x)

rewrite136.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1390×rational.json-5
1388×exponential.json-3
1388×rational.json-1
1388×rational.json-2
1388×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15913
218913
369013
4267813
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (-.f64 1 z) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 z) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (-.f64 1 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 z) x) (/.f64 (*.f64 (-.f64 1 z) x) (*.f64 (-.f64 1 z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 1 z) x)))))))

simplify228.0ms (2.2%)

Algorithm
egg-herbie
Rules
938×rational.json-simplify-111
756×rational.json-simplify-104
752×rational.json-simplify-2
598×rational.json-simplify-79
578×rational.json-simplify-73
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
026315
154293
2129293
3367293
41421293
53677293
65651293
77490293
Stop Event
node limit
Counts
21 → 19
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 (*.f64 (-.f64 1 z) x) 0)
(+.f64 0 (*.f64 (-.f64 1 z) x))
(-.f64 (*.f64 (-.f64 1 z) x) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 1 z) x)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 z) x))) 1)
(/.f64 (*.f64 (-.f64 1 z) x) 1)
(/.f64 (*.f64 (-.f64 1 z) x) (/.f64 (*.f64 (-.f64 1 z) x) (*.f64 (-.f64 1 z) x)))
(pow.f64 (*.f64 (-.f64 1 z) x) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 1 z) x)))
Outputs
x
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 z x))
(*.f64 z (*.f64 x -1))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 z x))
(*.f64 z (*.f64 x -1))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z x)) x)
(+.f64 x (*.f64 z (*.f64 x -1)))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 z)))
(+.f64 (*.f64 (-.f64 1 z) x) 0)
(*.f64 x (-.f64 1 z))
(+.f64 0 (*.f64 (-.f64 1 z) x))
(*.f64 x (-.f64 1 z))
(-.f64 (*.f64 (-.f64 1 z) x) 0)
(*.f64 x (-.f64 1 z))
(-.f64 0 (neg.f64 (*.f64 (-.f64 1 z) x)))
(*.f64 x (-.f64 1 z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 z) x))) 1)
(*.f64 x (-.f64 1 z))
(/.f64 (*.f64 (-.f64 1 z) x) 1)
(*.f64 x (-.f64 1 z))
(/.f64 (*.f64 (-.f64 1 z) x) (/.f64 (*.f64 (-.f64 1 z) x) (*.f64 (-.f64 1 z) x)))
(*.f64 x (-.f64 1 z))
(pow.f64 (*.f64 (-.f64 1 z) x) 1)
(*.f64 x (-.f64 1 z))
(neg.f64 (neg.f64 (*.f64 (-.f64 1 z) x)))
(*.f64 x (-.f64 1 z))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 y x) (neg.f64 z))
Compiler

Compiled 17 to 6 computations (64.7% saved)

eval55.0ms (0.5%)

Compiler

Compiled 3638 to 1451 computations (60.1% saved)

prune128.0ms (1.2%)

Pruning

12 alts after pruning (7 fresh and 5 done)

PrunedKeptTotal
New2067213
Fresh101
Picked011
Done145
Total20812220
Error
0.0b
Counts
220 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
43.4b
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
32.3b
(+.f64 y (*.f64 z (neg.f64 y)))
19.6b
(+.f64 y x)
31.3b
(+.f64 x (*.f64 z (neg.f64 x)))
31.3b
(*.f64 (-.f64 1 z) x)
43.4b
(*.f64 (+.f64 y x) (neg.f64 z))
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))
53.6b
(*.f64 z (neg.f64 y))
52.5b
(*.f64 z (neg.f64 x))
32.3b
(*.f64 y (-.f64 1 z))
41.6b
y
40.9b
x
Compiler

Compiled 137 to 95 computations (30.7% saved)

localize11.0ms (0.1%)

Compiler

Compiled 17 to 6 computations (64.7% saved)

localize104.0ms (1%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize5.0ms (0%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 y (*.f64 z (neg.f64 y)))
Compiler

Compiled 17 to 6 computations (64.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(+.f64 y (*.f64 z (neg.f64 y)))
1.0ms
y
@0
(+.f64 y (*.f64 z (neg.f64 y)))
0.0ms
z
@0
(+.f64 y (*.f64 z (neg.f64 y)))
0.0ms
z
@inf
(+.f64 y (*.f64 z (neg.f64 y)))
0.0ms
y
@-inf
(+.f64 y (*.f64 z (neg.f64 y)))

rewrite285.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1766×rational.json-1
1766×rational.json-2
1766×rational.json-3
1762×rational.json-5
1760×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
17217
224517
387517
4352717
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(+.f64 y (*.f64 z (neg.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (*.f64 z (neg.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (+.f64 1 (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 (+.f64 1 (neg.f64 z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 z (neg.f64 y))) (/.f64 (*.f64 y (-.f64 -1 (neg.f64 z))) (*.f64 y (-.f64 -1 (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (*.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))) (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))) (*.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (neg.f64 z)) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))))) (/.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 z (neg.f64 y))) (/.f64 (*.f64 y (-.f64 -1 (neg.f64 z))) (*.f64 y (-.f64 -1 (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)))))

simplify189.0ms (1.8%)

Algorithm
egg-herbie
Rules
1036×rational.json-simplify-2
834×rational.json-simplify-1
798×rational.json-simplify-55
772×rational.json-simplify-76
704×rational.json-simplify-50
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
048618
194478
2197478
3433478
41305478
53459478
65793478
Stop Event
node limit
Counts
38 → 24
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
y
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(*.f64 -1 (*.f64 y z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(-.f64 (+.f64 y (*.f64 z (neg.f64 y))) 0)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) 1))
(*.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)
(*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (/.f64 (*.f64 y (-.f64 -1 (neg.f64 z))) (*.f64 y (-.f64 -1 (neg.f64 z)))))
(*.f64 1 (+.f64 y (*.f64 z (neg.f64 y))))
(*.f64 (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))) (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))))
(*.f64 (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))) (*.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) 1))
(*.f64 (+.f64 1 (neg.f64 z)) y)
(*.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))))
(*.f64 (*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))))) (/.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y)))))))
(/.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)
(/.f64 (+.f64 y (*.f64 z (neg.f64 y))) (/.f64 (*.f64 y (-.f64 -1 (neg.f64 z))) (*.f64 y (-.f64 -1 (neg.f64 z)))))
(pow.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)
Outputs
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 -1 (*.f64 (-.f64 z 1) y))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
y
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(-.f64 (+.f64 y (*.f64 z (neg.f64 y))) 0)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) 1))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (/.f64 (*.f64 y (-.f64 -1 (neg.f64 z))) (*.f64 y (-.f64 -1 (neg.f64 z)))))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 1 (+.f64 y (*.f64 z (neg.f64 y))))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))) (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))) (*.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) 1))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 1 (neg.f64 z)) y)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(*.f64 (*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (*.f64 (+.f64 y (*.f64 z (neg.f64 y))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y))))))) (/.f64 (/.f64 1 (+.f64 y (*.f64 z (neg.f64 y)))) (*.f64 y (*.f64 (+.f64 1 (neg.f64 z)) (+.f64 y (*.f64 z (neg.f64 y)))))))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(/.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(/.f64 (+.f64 y (*.f64 z (neg.f64 y))) (/.f64 (*.f64 y (-.f64 -1 (neg.f64 z))) (*.f64 y (-.f64 -1 (neg.f64 z)))))
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))
(pow.f64 (+.f64 y (*.f64 z (neg.f64 y))) 1)
(*.f64 y (+.f64 1 (neg.f64 z)))
(*.f64 y (-.f64 1 z))
(-.f64 y (*.f64 z y))

localize22.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series6.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
x
@0
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
1.0ms
z
@0
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
1.0ms
z
@inf
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
0.0ms
y
@0
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
0.0ms
x
@inf
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))

rewrite155.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
874×rational.json-simplify-54
870×rational.json-simplify-47
822×rational.json-simplify-49
742×rational.json-simplify-50
548×rational.json-5
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01127
110027
232817
3117017
4486917
Stop Event
node limit
Counts
1 → 41
Calls
Call 1
Inputs
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 x)) (neg.f64 (*.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 y)) (neg.f64 (*.f64 z (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (neg.f64 z) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 z (neg.f64 x)))) (-.f64 1 (*.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z (neg.f64 x)) (-.f64 -1 (*.f64 z (neg.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 z (neg.f64 y)))) (-.f64 1 (*.f64 z (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 z (neg.f64 y)) (-.f64 -1 (*.f64 z (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (neg.f64 z) (+.f64 x y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 -1 (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 (*.f64 -1 (+.f64 x y)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (/.f64 (+.f64 x y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (+.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 z) (*.f64 (+.f64 x y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (neg.f64 z) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (neg.f64 z) (+.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 z y) (*.f64 (*.f64 z x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 z x) (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 z x) (*.f64 (*.f64 z y) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z x) (*.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (*.f64 z x) 1) (*.f64 z (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z y) (*.f64 z (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (*.f64 z y) 1) (*.f64 z (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (/.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (neg.f64 z) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (+.f64 x y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x y) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (/.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (/.f64 (*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) 1) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 0 (*.f64 -1 (+.f64 x y))) (neg.f64 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 0 (+.f64 x y)) z)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (neg.f64 z) (+.f64 x y))))))))

simplify219.0ms (2.1%)

Algorithm
egg-herbie
Rules
1280×rational.json-simplify-49
1014×rational.json-simplify-2
938×rational.json-simplify-54
804×rational.json-simplify-1
650×rational.json-simplify-111
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01091557
12401273
26491273
318231273
455261273
Stop Event
node limit
Counts
77 → 52
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(-.f64 (*.f64 z (neg.f64 x)) (neg.f64 (*.f64 z (neg.f64 y))))
(-.f64 (*.f64 z (neg.f64 y)) (neg.f64 (*.f64 z (neg.f64 x))))
(-.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 0)
(-.f64 0 (neg.f64 (*.f64 (neg.f64 z) (+.f64 x y))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 z (neg.f64 x)))) (-.f64 1 (*.f64 z (neg.f64 y))))
(-.f64 (-.f64 (*.f64 z (neg.f64 x)) (-.f64 -1 (*.f64 z (neg.f64 y)))) 1)
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 z (neg.f64 y)))) (-.f64 1 (*.f64 z (neg.f64 x))))
(-.f64 (-.f64 (*.f64 z (neg.f64 y)) (-.f64 -1 (*.f64 z (neg.f64 x)))) 1)
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (neg.f64 z) (+.f64 x y)))) 1)
(*.f64 z (*.f64 -1 (+.f64 x y)))
(*.f64 z (*.f64 (*.f64 -1 (+.f64 x y)) 1))
(*.f64 z (/.f64 (+.f64 x y) -1))
(*.f64 (neg.f64 z) (+.f64 x y))
(*.f64 (neg.f64 z) (*.f64 (+.f64 x y) 1))
(*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)
(*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 1 (*.f64 (neg.f64 z) (+.f64 x y)))
(*.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (neg.f64 z) (+.f64 x y)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 (*.f64 z x) 1)))
(*.f64 -1 (+.f64 (*.f64 z x) (*.f64 z y)))
(*.f64 -1 (+.f64 (*.f64 z x) (*.f64 (*.f64 z y) 1)))
(*.f64 -1 (-.f64 (*.f64 z x) (*.f64 z (neg.f64 y))))
(*.f64 -1 (-.f64 (*.f64 (*.f64 z x) 1) (*.f64 z (neg.f64 y))))
(*.f64 -1 (-.f64 (*.f64 z y) (*.f64 z (neg.f64 x))))
(*.f64 -1 (-.f64 (*.f64 (*.f64 z y) 1) (*.f64 z (neg.f64 x))))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) 1))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (/.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (*.f64 -1 (+.f64 x y)) z)
(*.f64 (+.f64 x y) (neg.f64 z))
(*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (/.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (/.f64 (*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) 1) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))))
(*.f64 (-.f64 0 (*.f64 -1 (+.f64 x y))) (neg.f64 z))
(*.f64 (-.f64 0 (+.f64 x y)) z)
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))
(pow.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)
(neg.f64 (neg.f64 (*.f64 (neg.f64 z) (+.f64 x y))))
Outputs
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 (*.f64 -1 x) (*.f64 -1 y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(neg.f64 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(neg.f64 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(neg.f64 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1 (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (*.f64 z (neg.f64 x)) (neg.f64 (*.f64 z (neg.f64 y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (*.f64 z (neg.f64 y)) (neg.f64 (*.f64 z (neg.f64 x))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 0)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 0 (neg.f64 (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 z (neg.f64 x)))) (-.f64 1 (*.f64 z (neg.f64 y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (-.f64 (*.f64 z (neg.f64 x)) (-.f64 -1 (*.f64 z (neg.f64 y)))) 1)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 z (neg.f64 y)))) (-.f64 1 (*.f64 z (neg.f64 x))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (-.f64 (*.f64 z (neg.f64 y)) (-.f64 -1 (*.f64 z (neg.f64 x)))) 1)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (neg.f64 z) (+.f64 x y)))) 1)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 z (*.f64 -1 (+.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 z (*.f64 (*.f64 -1 (+.f64 x y)) 1))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 z (/.f64 (+.f64 x y) -1))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (neg.f64 z) (+.f64 x y))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (neg.f64 z) (*.f64 (+.f64 x y) 1))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 1 (*.f64 (neg.f64 z) (+.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (neg.f64 z) (+.f64 x y)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (+.f64 (*.f64 z y) (*.f64 (*.f64 z x) 1)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (+.f64 (*.f64 z x) (*.f64 z y)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (+.f64 (*.f64 z x) (*.f64 (*.f64 z y) 1)))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (-.f64 (*.f64 z x) (*.f64 z (neg.f64 y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (-.f64 (*.f64 (*.f64 z x) 1) (*.f64 z (neg.f64 y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (-.f64 (*.f64 z y) (*.f64 z (neg.f64 x))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 -1 (-.f64 (*.f64 (*.f64 z y) 1) (*.f64 z (neg.f64 x))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) 1))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (/.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 -1 (+.f64 x y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (+.f64 x y) (neg.f64 z))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (/.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (/.f64 (*.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) 1) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (*.f64 (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 (neg.f64 z) (+.f64 x y))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y)))))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (-.f64 0 (*.f64 -1 (+.f64 x y))) (neg.f64 z))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(*.f64 (-.f64 0 (+.f64 x y)) z)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(pow.f64 (*.f64 (neg.f64 z) (+.f64 x y)) 1)
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))
(neg.f64 (neg.f64 (*.f64 (neg.f64 z) (+.f64 x y))))
(*.f64 (+.f64 (neg.f64 x) (neg.f64 y)) z)
(*.f64 z (-.f64 (neg.f64 x) y))

eval49.0ms (0.5%)

Compiler

Compiled 1005 to 278 computations (72.3% saved)

prune28.0ms (0.3%)

Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New75176
Fresh022
Picked011
Done189
Total761288
Error
0.0b
Counts
88 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
32.3b
(-.f64 y (*.f64 z y))
43.4b
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
19.6b
(+.f64 y x)
31.3b
(+.f64 x (*.f64 z (neg.f64 x)))
31.3b
(*.f64 (-.f64 1 z) x)
43.4b
(*.f64 (+.f64 y x) (neg.f64 z))
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))
53.6b
(*.f64 z (neg.f64 y))
52.5b
(*.f64 z (neg.f64 x))
32.3b
(*.f64 y (-.f64 1 z))
41.6b
y
40.9b
x
Compiler

Compiled 92 to 64 computations (30.4% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 y (*.f64 z y))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@0
(-.f64 y (*.f64 z y))
0.0ms
z
@-inf
(-.f64 y (*.f64 z y))
0.0ms
y
@-inf
(-.f64 y (*.f64 z y))
0.0ms
z
@inf
(-.f64 y (*.f64 z y))
0.0ms
y
@inf
(-.f64 y (*.f64 z y))

rewrite235.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1376×rational.json-5
1374×exponential.json-3
1374×rational.json-1
1374×rational.json-2
1374×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
15113
218213
367413
4263213
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(-.f64 y (*.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 y (*.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 y (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 y (-.f64 (*.f64 y z) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 y (-.f64 (*.f64 y z) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (-.f64 1 z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (-.f64 (/.f64 y y) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y (*.f64 y z)) (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 y (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (-.f64 y (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y z) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 1 (-.f64 y (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (-.f64 y (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 -1 (-.f64 (*.f64 y z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (-.f64 -1 (-.f64 y (-.f64 (*.f64 y z) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 y z) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))) (/.f64 (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 y (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 y (*.f64 y z)) (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y z) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 y (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 y z) y))))))

simplify250.0ms (2.4%)

Algorithm
egg-herbie
Rules
1514×rational.json-simplify-50
1202×rational.json-simplify-54
1186×rational.json-simplify-43
1106×rational.json-simplify-58
1004×rational.json-simplify-111
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
059698
1111676
2340676
32047676
45266676
Stop Event
node limit
Counts
50 → 34
Calls
Call 1
Inputs
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
y
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(*.f64 -1 (*.f64 y z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 (-.f64 y (*.f64 y z)) 0)
(+.f64 0 (-.f64 y (*.f64 y z)))
(+.f64 1 (-.f64 y (-.f64 (*.f64 y z) -1)))
(+.f64 (-.f64 y (-.f64 (*.f64 y z) -1)) 1)
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 (/.f64 y y) z))
(*.f64 (-.f64 y (*.f64 y z)) 1)
(*.f64 (-.f64 y (*.f64 y z)) (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))
(*.f64 1 (-.f64 y (*.f64 y z)))
(*.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (-.f64 y (*.f64 y z)))
(*.f64 (-.f64 (*.f64 y z) y) -1)
(*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 1 (-.f64 y (*.f64 y z))))
(*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (-.f64 y (*.f64 y z))))
(*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 -1 (-.f64 (*.f64 y z) y)))
(*.f64 (-.f64 1 z) y)
(*.f64 (neg.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (-.f64 -1 (-.f64 y (-.f64 (*.f64 y z) -1))))
(*.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))
(*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))))
(*.f64 -1 (-.f64 (*.f64 y z) y))
(*.f64 (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))))
(*.f64 (*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))) (/.f64 (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))))
(/.f64 (-.f64 y (*.f64 y z)) 1)
(/.f64 (-.f64 y (*.f64 y z)) (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))
(/.f64 (-.f64 (*.f64 y z) y) -1)
(pow.f64 (-.f64 y (*.f64 y z)) 1)
(neg.f64 (-.f64 (*.f64 y z) y))
Outputs
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 1 z))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (-.f64 1 z))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (-.f64 1 z))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (-.f64 1 z))
(*.f64 (+.f64 (*.f64 -1 z) 1) y)
(*.f64 y (-.f64 1 z))
y
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) y)
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 y (*.f64 -1 (*.f64 y z)))
(+.f64 y (*.f64 y (neg.f64 z)))
(+.f64 (-.f64 y (*.f64 y z)) 0)
(-.f64 y (*.f64 y z))
(+.f64 0 (-.f64 y (*.f64 y z)))
(-.f64 y (*.f64 y z))
(+.f64 1 (-.f64 y (-.f64 (*.f64 y z) -1)))
(-.f64 y (*.f64 y z))
(+.f64 (-.f64 y (-.f64 (*.f64 y z) -1)) 1)
(-.f64 y (*.f64 y z))
(*.f64 y (-.f64 1 z))
(*.f64 y (-.f64 (/.f64 y y) z))
(*.f64 (-.f64 y (*.f64 y z)) 1)
(-.f64 y (*.f64 y z))
(*.f64 (-.f64 y (*.f64 y z)) (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))
(-.f64 y (*.f64 y z))
(*.f64 1 (-.f64 y (*.f64 y z)))
(-.f64 y (*.f64 y z))
(*.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (-.f64 y (*.f64 y z)))
(-.f64 y (*.f64 y z))
(*.f64 (-.f64 (*.f64 y z) y) -1)
(-.f64 y (*.f64 y z))
(*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 1 (-.f64 y (*.f64 y z))))
(-.f64 y (*.f64 y z))
(*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (-.f64 y (*.f64 y z))))
(-.f64 y (*.f64 y z))
(*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (/.f64 -1 (-.f64 (*.f64 y z) y)))
(-.f64 y (*.f64 y z))
(*.f64 (-.f64 1 z) y)
(*.f64 y (-.f64 1 z))
(*.f64 (neg.f64 (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (-.f64 -1 (-.f64 y (-.f64 (*.f64 y z) -1))))
(-.f64 y (*.f64 y z))
(*.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))
(-.f64 y (*.f64 y z))
(*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))))
(-.f64 y (*.f64 y z))
(*.f64 -1 (-.f64 (*.f64 y z) y))
(-.f64 y (*.f64 y z))
(*.f64 (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))))
(-.f64 y (*.f64 y z))
(*.f64 (*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))) (/.f64 (/.f64 (/.f64 1 (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z)))) (*.f64 (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))) (*.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))))
(-.f64 y (*.f64 y z))
(/.f64 (-.f64 y (*.f64 y z)) 1)
(-.f64 y (*.f64 y z))
(/.f64 (-.f64 y (*.f64 y z)) (/.f64 (-.f64 y (*.f64 y z)) (-.f64 y (*.f64 y z))))
(-.f64 y (*.f64 y z))
(/.f64 (-.f64 (*.f64 y z) y) -1)
(-.f64 y (*.f64 y z))
(pow.f64 (-.f64 y (*.f64 y z)) 1)
(-.f64 y (*.f64 y z))
(neg.f64 (-.f64 (*.f64 y z) y))
(-.f64 y (*.f64 y z))

eval9.0ms (0.1%)

Compiler

Compiled 485 to 98 computations (79.8% saved)

prune17.0ms (0.2%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New34034
Fresh022
Picked011
Done099
Total341246
Error
0.0b
Counts
46 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
32.3b
(-.f64 y (*.f64 z y))
43.4b
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
19.6b
(+.f64 y x)
31.3b
(+.f64 x (*.f64 z (neg.f64 x)))
31.3b
(*.f64 (-.f64 1 z) x)
43.4b
(*.f64 (+.f64 y x) (neg.f64 z))
0.0b
(*.f64 (+.f64 x y) (-.f64 1 z))
53.6b
(*.f64 z (neg.f64 y))
52.5b
(*.f64 z (neg.f64 x))
32.3b
(*.f64 y (-.f64 1 z))
41.6b
y
40.9b
x
Compiler

Compiled 92 to 64 computations (30.4% saved)

regimes204.0ms (1.9%)

Counts
15 → 1
Calls
Call 1
Inputs
x
y
(+.f64 y x)
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
(*.f64 y (-.f64 1 z))
(*.f64 (-.f64 1 z) x)
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 y x) (neg.f64 z))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 y (*.f64 z (neg.f64 y)))
(*.f64 (+.f64 x y) (-.f64 1 z))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 y (neg.f64 z)))
(+.f64 y (+.f64 x (*.f64 (+.f64 y x) (neg.f64 z))))
(+.f64 (*.f64 (-.f64 1 z) x) (*.f64 y (-.f64 1 z)))
Outputs
(*.f64 (+.f64 x y) (-.f64 1 z))
Calls

6 calls:

129.0ms
x
17.0ms
(+.f64 x y)
15.0ms
z
15.0ms
(*.f64 (+.f64 x y) (-.f64 1 z))
14.0ms
y
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(*.f64 (+.f64 x y) (-.f64 1 z))
0.0b1(+.f64 x y)
0.0b1(-.f64 1 z)
Compiler

Compiled 120 to 60 computations (50% saved)

regimes306.0ms (2.9%)

Counts
11 → 3
Calls
Call 1
Inputs
x
y
(+.f64 y x)
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
(*.f64 y (-.f64 1 z))
(*.f64 (-.f64 1 z) x)
(-.f64 y (*.f64 z y))
(*.f64 (+.f64 y x) (neg.f64 z))
(+.f64 x (*.f64 z (neg.f64 x)))
(+.f64 y (*.f64 z (neg.f64 y)))
Outputs
(*.f64 (+.f64 y x) (neg.f64 z))
(+.f64 y x)
(*.f64 (+.f64 y x) (neg.f64 z))
Calls

4 calls:

231.0ms
z
28.0ms
y
25.0ms
x
18.0ms
(-.f64 1 z)
Results
ErrorSegmentsBranch
10.8b2x
10.4b2y
1.2b3z
1.2b3(-.f64 1 z)
Compiler

Compiled 67 to 34 computations (49.3% saved)

bsearch115.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
86.0ms
1.5997802601053665e-5
36431.05123555369
29.0ms
-23806090.287587877
-0.0015036499478359702
Results
108.0ms304×body256valid
Compiler

Compiled 339 to 240 computations (29.2% saved)

regimes350.0ms (3.3%)

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

4 calls:

198.0ms
(-.f64 1 z)
65.0ms
z
63.0ms
x
21.0ms
y
Results
ErrorSegmentsBranch
10.8b2x
10.4b2y
6.4b7z
7.6b5(-.f64 1 z)
Compiler

Compiled 49 to 30 computations (38.8% saved)

bsearch348.0ms (3.3%)

Algorithm
binary-search
Steps
TimeLeftRight
76.0ms
5.649879599498832e+68
8.425185846473688e+78
26.0ms
2.719480479987728e+23
1.914922003889632e+29
27.0ms
6.328943588676703e-33
1.7270240344475142e-20
18.0ms
-0.0015036499478359702
-0.00019968106142273333
23.0ms
-3.317242442800868e+69
-1.2764284528784272e+68
176.0ms
-2.6989827161209253e+191
-2.8465324781038557e+182
Results
203.0ms178×body256infinite
125.0ms816×body256valid
Compiler

Compiled 867 to 659 computations (24% saved)

regimes286.0ms (2.7%)

Counts
6 → 7
Calls
Call 1
Inputs
x
y
(+.f64 y x)
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
(*.f64 y (-.f64 1 z))
Outputs
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
(*.f64 z (neg.f64 x))
(+.f64 y x)
(*.f64 y (-.f64 1 z))
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
Calls

4 calls:

177.0ms
(-.f64 1 z)
62.0ms
z
27.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
13.3b2x
16.2b2y
6.6b7z
7.8b5(-.f64 1 z)
Compiler

Compiled 39 to 25 computations (35.9% saved)

bsearch174.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
5.649879599498832e+68
8.425185846473688e+78
27.0ms
2.719480479987728e+23
1.914922003889632e+29
27.0ms
6.328943588676703e-33
1.7270240344475142e-20
23.0ms
-230082643736.2675
-20689282741.400265
21.0ms
-3.317242442800868e+69
-1.2764284528784272e+68
41.0ms
-2.6989827161209253e+191
-2.8465324781038557e+182
Results
125.0ms816×body256valid
30.0ms182×body256infinite
Compiler

Compiled 835 to 627 computations (24.9% saved)

regimes113.0ms (1.1%)

Counts
5 → 6
Calls
Call 1
Inputs
x
y
(+.f64 y x)
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
Outputs
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
(*.f64 z (neg.f64 x))
(+.f64 y x)
(*.f64 z (neg.f64 x))
(*.f64 z (neg.f64 y))
Calls

3 calls:

61.0ms
z
25.0ms
y
25.0ms
x
Results
ErrorSegmentsBranch
18.4b3x
18.5b3y
7.7b6z
Compiler

Compiled 28 to 17 computations (39.3% saved)

bsearch158.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
5.649879599498832e+68
8.425185846473688e+78
36.0ms
1.5997802601053665e-5
36431.05123555369
18.0ms
-230082643736.2675
-20689282741.400265
27.0ms
-3.317242442800868e+69
-1.2764284528784272e+68
44.0ms
-2.6989827161209253e+191
-2.8465324781038557e+182
Results
116.0ms656×body256valid
24.0ms159×body256infinite
Compiler

Compiled 657 to 489 computations (25.6% saved)

regimes41.0ms (0.4%)

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

3 calls:

22.0ms
z
8.0ms
y
8.0ms
x
Results
ErrorSegmentsBranch
19.6b1x
19.6b1y
10.3b3z
Compiler

Compiled 24 to 15 computations (37.5% saved)

bsearch45.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
1.5997802601053665e-5
36431.05123555369
19.0ms
-230082643736.2675
-20689282741.400265
Results
37.0ms240×body256valid
1.0ms10×body256infinite
Compiler

Compiled 241 to 177 computations (26.6% saved)

regimes25.0ms (0.2%)

Counts
3 → 1
Calls
Call 1
Inputs
x
y
(+.f64 y x)
Outputs
(+.f64 y x)
Calls

3 calls:

8.0ms
x
8.0ms
z
7.0ms
y
Results
ErrorSegmentsBranch
19.6b1x
19.6b1y
19.6b1z
Compiler

Compiled 20 to 13 computations (35% saved)

regimes56.0ms (0.5%)

Accuracy

Total -36.3b remaining (-140.6%)

Threshold costs -36.3b (-140.6%)

Counts
2 → 2
Calls
Call 1
Inputs
x
y
Outputs
x
y
Calls

3 calls:

24.0ms
z
18.0ms
x
12.0ms
y
Results
ErrorSegmentsBranch
27.1b2x
25.8b2y
36.1b4z
Compiler

Compiled 17 to 12 computations (29.4% saved)

bsearch23.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
1.1858914764850606e-79
1.2093071259884533e-76
Results
20.0ms128×body256valid
Compiler

Compiled 96 to 76 computations (20.8% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077513
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (-.f64 1 z))
(if (<=.f64 z -1) (*.f64 (+.f64 y x) (neg.f64 z)) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) (neg.f64 z))))
(if (<=.f64 z -460000000000000026853879595913505960228203525346128512753554490718254401612938592974630824175411133162973716945673771572782814784351645958096304046041245639547750887027191542956444090368) (*.f64 z (neg.f64 x)) (if (<=.f64 z -275000000000000019946145004920539659693552962652793537767507792756736) (*.f64 z (neg.f64 y)) (if (<=.f64 z -7378697629483821/36893488147419103232) (*.f64 (-.f64 1 z) x) (if (<=.f64 z 1412304745521473/83076749736557242056487941267521536) (+.f64 y x) (if (<=.f64 z 2299999999999999907725312) (*.f64 y (-.f64 1 z)) (if (<=.f64 z 53000000000000000012927276056327315790526275835492704595617332781383680) (*.f64 (-.f64 1 z) x) (*.f64 z (neg.f64 y))))))))
(if (<=.f64 z -3499999999999999957160618822890283391003173277157352446441301472936027706846573864581553735771894078729537818412382514889261452387905887598383586854912310666219032459116640812352997269962752) (*.f64 z (neg.f64 x)) (if (<=.f64 z -399999999999999981122088900552667226765005165411446794121686493954048) (*.f64 z (neg.f64 y)) (if (<=.f64 z -21000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 z 1412304745521473/83076749736557242056487941267521536) (+.f64 y x) (if (<=.f64 z 69999999999999999280861413376) (*.f64 y (-.f64 1 z)) (if (<=.f64 z 175000000000000007231187259121588255888566716924439411798500545746473844736) (*.f64 z (neg.f64 x)) (*.f64 z (neg.f64 y))))))))
(if (<=.f64 z -5199999999999999863816930278946988071824636501801425463416317255247208537875267370223098220636868305719719257815203634686447250499318418161733575816186070044250932034236713225578086400) (*.f64 z (neg.f64 x)) (if (<=.f64 z -2999999999999999834470423928115490788888366441362269961869849920536576) (*.f64 z (neg.f64 y)) (if (<=.f64 z -21000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 z 1) (+.f64 y x) (if (<=.f64 z 31499999999999999602873049502865404346881496390824370266030156076285952) (*.f64 z (neg.f64 x)) (*.f64 z (neg.f64 y)))))))
(if (<=.f64 z -21000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 z 1) (+.f64 y x) (*.f64 z (neg.f64 x))))
(+.f64 y x)
(if (<=.f64 y 7496292392910909/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) x y)
x
Outputs
(*.f64 (+.f64 x y) (-.f64 1 z))
(if (<=.f64 z -1) (*.f64 (+.f64 y x) (neg.f64 z)) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) (neg.f64 z))))
(if (<=.f64 z -460000000000000026853879595913505960228203525346128512753554490718254401612938592974630824175411133162973716945673771572782814784351645958096304046041245639547750887027191542956444090368) (*.f64 z (neg.f64 x)) (if (<=.f64 z -275000000000000019946145004920539659693552962652793537767507792756736) (*.f64 z (neg.f64 y)) (if (<=.f64 z -7378697629483821/36893488147419103232) (*.f64 (-.f64 1 z) x) (if (<=.f64 z 1412304745521473/83076749736557242056487941267521536) (+.f64 y x) (if (<=.f64 z 2299999999999999907725312) (*.f64 y (-.f64 1 z)) (if (<=.f64 z 53000000000000000012927276056327315790526275835492704595617332781383680) (*.f64 (-.f64 1 z) x) (*.f64 z (neg.f64 y))))))))
(if (<=.f64 z -3499999999999999957160618822890283391003173277157352446441301472936027706846573864581553735771894078729537818412382514889261452387905887598383586854912310666219032459116640812352997269962752) (*.f64 z (neg.f64 x)) (if (<=.f64 z -399999999999999981122088900552667226765005165411446794121686493954048) (*.f64 z (neg.f64 y)) (if (<=.f64 z -21000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 z 1412304745521473/83076749736557242056487941267521536) (+.f64 y x) (if (<=.f64 z 69999999999999999280861413376) (*.f64 y (-.f64 1 z)) (if (<=.f64 z 175000000000000007231187259121588255888566716924439411798500545746473844736) (*.f64 z (neg.f64 x)) (*.f64 z (neg.f64 y))))))))
(if (<=.f64 z -5199999999999999863816930278946988071824636501801425463416317255247208537875267370223098220636868305719719257815203634686447250499318418161733575816186070044250932034236713225578086400) (*.f64 z (neg.f64 x)) (if (<=.f64 z -2999999999999999834470423928115490788888366441362269961869849920536576) (*.f64 z (neg.f64 y)) (if (<=.f64 z -21000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 z 1) (+.f64 y x) (if (<=.f64 z 31499999999999999602873049502865404346881496390824370266030156076285952) (*.f64 z (neg.f64 x)) (*.f64 z (neg.f64 y)))))))
(if (<=.f64 z -21000000000) (*.f64 z (neg.f64 x)) (if (<=.f64 z 1) (+.f64 y x) (*.f64 z (neg.f64 x))))
(+.f64 y x)
(if (<=.f64 y 7496292392910909/65185151242703554760590262029100101153646988597309960020356494379340201592426774597868716032) x y)
x
Compiler

Compiled 235 to 131 computations (44.3% saved)

soundness0.0ms (0%)

end148.0ms (1.4%)

Remove

(sort x y)

Compiler

Compiled 231 to 106 computations (54.1% saved)

Profiling

Loading profile data...