Details

Time bar (total: 9.3s)

analyze313.0ms (3.4%)

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
29.7%29.6%70.2%0.1%0%0%0%9
42.2%42.1%57.7%0.1%0%0%0%10
47.7%47.6%52.1%0.1%0.2%0%0%11
54.7%53.8%44.6%0.1%1.5%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample2.9s (31.6%)

Results
2.2s8256×body256valid
723.0ms2098×body256infinite
Bogosity

preprocess26.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01776
12176
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 x (/.f64 (-.f64 y x) z))
(+.f64 y (/.f64 (-.f64 x y) z))
(+.f64 z (/.f64 (-.f64 y z) x))
(+.f64 x (/.f64 (-.f64 z x) y))
Outputs
(+.f64 x (/.f64 (-.f64 y x) z))
(+.f64 y (/.f64 (-.f64 x y) z))
(+.f64 z (/.f64 (-.f64 y z) x))
(+.f64 x (/.f64 (-.f64 z x) y))
Compiler

Compiled 13 to 9 computations (30.8% saved)

simplify43.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
1919
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 x (/.f64 (-.f64 y x) z))
Outputs
(+.f64 x (/.f64 (-.f64 y x) z))

eval1.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune2.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 x (/.f64 (-.f64 y x) z))
Compiler

Compiled 10 to 6 computations (40% saved)

localize15.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series32.0ms (0.3%)

Counts
2 → 60
Calls

18 calls:

TimeVariablePointExpression
21.0ms
y
@-inf
(/.f64 (-.f64 y x) z)
2.0ms
x
@inf
(+.f64 x (/.f64 (-.f64 y x) z))
1.0ms
x
@-inf
(/.f64 (-.f64 y x) z)
1.0ms
x
@0
(+.f64 x (/.f64 (-.f64 y x) z))
1.0ms
z
@-inf
(/.f64 (-.f64 y x) z)

rewrite130.0ms (1.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
16732
223232
386032
4331732
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(/.f64 (-.f64 y x) z)
(+.f64 x (/.f64 (-.f64 y x) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 y x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (-.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 y x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 y x) z) (/.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)) (/.f64 (-.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)) (/.f64 1 (/.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))) (/.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z))) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 y x) z) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (/.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))) (+.f64 x (/.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))) (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))) (/.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z)))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)))))

simplify288.0ms (3.1%)

Algorithm
egg-herbie
Rules
1302×rational.json-simplify-47
930×exponential.json-simplify-26
868×rational.json-simplify-2
736×rational.json-simplify-49
700×rational.json-simplify-50
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0661728
11041680
22901680
313051680
448531680
579861680
Stop Event
node limit
Counts
84 → 45
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(-.f64 x (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(/.f64 (-.f64 y x) z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 (/.f64 (-.f64 y x) z) 0)
(+.f64 0 (/.f64 (-.f64 y x) z))
(-.f64 (/.f64 (-.f64 y x) z) 0)
(*.f64 (/.f64 (-.f64 y x) z) 1)
(*.f64 (/.f64 (-.f64 y x) z) (/.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))
(*.f64 1 (/.f64 (-.f64 y x) z))
(*.f64 (/.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)) (/.f64 (-.f64 y x) z))
(*.f64 (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)) (/.f64 1 (/.f64 (-.f64 y x) z)))
(*.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))
(*.f64 (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))) (/.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z))))
(*.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z))) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))))
(pow.f64 (/.f64 (-.f64 y x) z) 1)
(-.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0)
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))
(*.f64 1 (+.f64 x (/.f64 (-.f64 y x) z)))
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))) (+.f64 x (/.f64 (-.f64 y x) z)))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))) (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))))
(*.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))) (/.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z)))))
(*.f64 (/.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z)))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))))
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))
(pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
Outputs
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(-.f64 x (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z)))
(+.f64 (neg.f64 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z)))
(+.f64 (neg.f64 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(+.f64 x (+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z)))
(+.f64 (neg.f64 (/.f64 x z)) (+.f64 x (/.f64 y z)))
(/.f64 (-.f64 y x) z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
x
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(+.f64 (/.f64 (-.f64 y x) z) 0)
(/.f64 (-.f64 y x) z)
(+.f64 0 (/.f64 (-.f64 y x) z))
(/.f64 (-.f64 y x) z)
(-.f64 (/.f64 (-.f64 y x) z) 0)
(/.f64 (-.f64 y x) z)
(*.f64 (/.f64 (-.f64 y x) z) 1)
(/.f64 (-.f64 y x) z)
(*.f64 (/.f64 (-.f64 y x) z) (/.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))
(/.f64 (-.f64 y x) z)
(*.f64 1 (/.f64 (-.f64 y x) z))
(/.f64 (-.f64 y x) z)
(*.f64 (/.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)) (/.f64 (-.f64 y x) z))
(/.f64 (-.f64 y x) z)
(*.f64 (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)) (/.f64 1 (/.f64 (-.f64 y x) z)))
(/.f64 (-.f64 y x) z)
(*.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))
(/.f64 (-.f64 y x) z)
(*.f64 (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))) (/.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z))))
(/.f64 (-.f64 y x) z)
(*.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 y x) z)) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z))) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (*.f64 (/.f64 (-.f64 y x) z) (/.f64 (-.f64 y x) z)))))
(/.f64 (-.f64 y x) z)
(pow.f64 (/.f64 (-.f64 y x) z) 1)
(/.f64 (-.f64 y x) z)
(-.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 0)
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 1 (+.f64 x (/.f64 (-.f64 y x) z)))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))) (+.f64 x (/.f64 (-.f64 y x) z)))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))) (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))) (/.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z)))))
(+.f64 x (/.f64 (-.f64 y x) z))
(*.f64 (/.f64 (/.f64 1 (+.f64 x (/.f64 (-.f64 y x) z))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z)))) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (*.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))))
(+.f64 x (/.f64 (-.f64 y x) z))
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(+.f64 x (/.f64 (-.f64 y x) z))
(/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (/.f64 (+.f64 x (/.f64 (-.f64 y x) z)) (+.f64 x (/.f64 (-.f64 y x) z))))
(+.f64 x (/.f64 (-.f64 y x) z))
(pow.f64 (+.f64 x (/.f64 (-.f64 y x) z)) 1)
(+.f64 x (/.f64 (-.f64 y x) z))

eval10.0ms (0.1%)

Compiler

Compiled 681 to 150 computations (78% saved)

prune12.0ms (0.1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New39645
Fresh000
Picked101
Done000
Total40646
Error
0b
Counts
46 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(/.f64 (-.f64 y x) z)
0.0b
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
22.9b
(-.f64 x (/.f64 x z))
12.4b
(+.f64 x (/.f64 y z))
23.0b
(*.f64 (-.f64 1 (/.f64 1 z)) x)
35.1b
x
Compiler

Compiled 96 to 63 computations (34.4% saved)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 26 to 7 computations (73.1% saved)

series2.0ms (0%)

Counts
1 → 30
Calls

9 calls:

TimeVariablePointExpression
0.0ms
z
@inf
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
0.0ms
z
@-inf
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
0.0ms
y
@0
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
0.0ms
y
@-inf
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
0.0ms
x
@-inf
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))

rewrite98.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
17525
225725
396125
4375825
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) (*.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)))))))

simplify233.0ms (2.5%)

Algorithm
egg-herbie
Rules
1740×rational.json-simplify-49
1250×rational.json-simplify-50
940×rational.json-simplify-111
940×rational.json-simplify-54
904×rational.json-simplify-43
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0591102
11001078
21801078
34171072
420421060
570531060
Stop Event
node limit
Counts
46 → 36
Calls
Call 1
Inputs
(-.f64 x (/.f64 x z))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(/.f64 (-.f64 y x) z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
x
x
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z)) x)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z)) x)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z)) x)
(/.f64 y z)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 0)
(+.f64 0 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)))
(+.f64 (-.f64 -1 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) 1)
(*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)
(*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))
(*.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)))
(*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) -1)
(*.f64 (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))
(*.f64 (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) (*.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) 1))
(*.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))))
(*.f64 (*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)))))
(/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)
(/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))
(/.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) -1)
(pow.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)
(neg.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)))
Outputs
(-.f64 x (/.f64 x z))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(/.f64 y z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(/.f64 (-.f64 y x) z)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
x
x
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z)) x)
(+.f64 x (*.f64 -1 (/.f64 (-.f64 (*.f64 y -1) (*.f64 x -1)) z)))
(+.f64 x (neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z)))
(+.f64 x (neg.f64 (/.f64 (*.f64 (-.f64 y x) -1) z)))
(+.f64 x (neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z)))
(+.f64 x (neg.f64 (/.f64 (-.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z)) x)
(+.f64 x (*.f64 -1 (/.f64 (-.f64 (*.f64 y -1) (*.f64 x -1)) z)))
(+.f64 x (neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z)))
(+.f64 x (neg.f64 (/.f64 (*.f64 (-.f64 y x) -1) z)))
(+.f64 x (neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z)))
(+.f64 x (neg.f64 (/.f64 (-.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z)) x)
(+.f64 x (*.f64 -1 (/.f64 (-.f64 (*.f64 y -1) (*.f64 x -1)) z)))
(+.f64 x (neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z)))
(+.f64 x (neg.f64 (/.f64 (*.f64 (-.f64 y x) -1) z)))
(+.f64 x (neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z)))
(+.f64 x (neg.f64 (/.f64 (-.f64 x y) z)))
(/.f64 y z)
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (/.f64 y z) (*.f64 (-.f64 1 (/.f64 1 z)) x))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x)) (/.f64 y z))
(+.f64 (/.f64 y z) (*.f64 x (-.f64 1 (/.f64 1 z))))
(+.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 0)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(+.f64 0 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(+.f64 (-.f64 -1 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) 1)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) -1)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))) (*.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) 1))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(*.f64 (*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (*.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x))))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))) (*.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)))))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (/.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(/.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)) -1)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(pow.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x)) 1)
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))
(neg.f64 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) x)))
(-.f64 (+.f64 x (/.f64 y z)) (/.f64 x z))
(-.f64 x (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (-.f64 (/.f64 x z) x))

localize6.0ms (0.1%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (/.f64 x z))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite81.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
15013
218113
366313
4251413
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(-.f64 x (/.f64 x z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (-.f64 x (/.f64 x z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (-.f64 x (/.f64 x z)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (/.f64 x z)) (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (-.f64 x (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 x z) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 1 (-.f64 x (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (-.f64 x (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 -1 (-.f64 (/.f64 x z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (-.f64 -1 (-.f64 (-.f64 x (/.f64 x z)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))) (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 x z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))) (/.f64 (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (/.f64 x z)) (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 x z) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 x z) x))))))

simplify263.0ms (2.8%)

Algorithm
egg-herbie
Rules
1460×rational.json-simplify-49
1288×rational.json-simplify-2
1096×rational.json-simplify-50
880×rational.json-simplify-58
864×rational.json-simplify-54
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055713
1100693
2305693
31645693
45779693
Stop Event
node limit
Counts
47 → 33
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (-.f64 x (/.f64 x z)) 0)
(+.f64 0 (-.f64 x (/.f64 x z)))
(+.f64 1 (-.f64 (-.f64 x (/.f64 x z)) 1))
(+.f64 (-.f64 (-.f64 x (/.f64 x z)) 1) 1)
(*.f64 (-.f64 x (/.f64 x z)) 1)
(*.f64 (-.f64 x (/.f64 x z)) (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))
(*.f64 1 (-.f64 x (/.f64 x z)))
(*.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (-.f64 x (/.f64 x z)))
(*.f64 (-.f64 (/.f64 x z) x) -1)
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 1 (-.f64 x (/.f64 x z))))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (-.f64 x (/.f64 x z))))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 -1 (-.f64 (/.f64 x z) x)))
(*.f64 (neg.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (-.f64 -1 (-.f64 (-.f64 x (/.f64 x z)) 1)))
(*.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))) (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))
(*.f64 -1 (-.f64 (/.f64 x z) x))
(*.f64 (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))))
(*.f64 (*.f64 (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))) (/.f64 (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))))
(/.f64 (-.f64 x (/.f64 x z)) 1)
(/.f64 (-.f64 x (/.f64 x z)) (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))
(/.f64 (-.f64 (/.f64 x z) x) -1)
(pow.f64 (-.f64 x (/.f64 x z)) 1)
(neg.f64 (-.f64 (/.f64 x z) x))
Outputs
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 -1 (*.f64 (-.f64 (/.f64 1 z) 1) x))
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (-.f64 x (/.f64 x z)) 0)
(-.f64 x (/.f64 x z))
(+.f64 0 (-.f64 x (/.f64 x z)))
(-.f64 x (/.f64 x z))
(+.f64 1 (-.f64 (-.f64 x (/.f64 x z)) 1))
(-.f64 x (/.f64 x z))
(+.f64 (-.f64 (-.f64 x (/.f64 x z)) 1) 1)
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 x (/.f64 x z)) 1)
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 x (/.f64 x z)) (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))
(-.f64 x (/.f64 x z))
(*.f64 1 (-.f64 x (/.f64 x z)))
(-.f64 x (/.f64 x z))
(*.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (-.f64 x (/.f64 x z)))
(-.f64 x (/.f64 x z))
(*.f64 (-.f64 (/.f64 x z) x) -1)
(-.f64 x (/.f64 x z))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 1 (-.f64 x (/.f64 x z))))
(-.f64 x (/.f64 x z))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (-.f64 x (/.f64 x z))))
(-.f64 x (/.f64 x z))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))) (/.f64 -1 (-.f64 (/.f64 x z) x)))
(-.f64 x (/.f64 x z))
(*.f64 (neg.f64 (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (-.f64 -1 (-.f64 (-.f64 x (/.f64 x z)) 1)))
(-.f64 x (/.f64 x z))
(*.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))
(-.f64 x (/.f64 x z))
(*.f64 (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))) (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))
(-.f64 x (/.f64 x z))
(*.f64 -1 (-.f64 (/.f64 x z) x))
(-.f64 x (/.f64 x z))
(*.f64 (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))))
(-.f64 x (/.f64 x z))
(*.f64 (*.f64 (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))) (/.f64 (/.f64 (/.f64 1 (-.f64 x (/.f64 x z))) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (*.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z)))))))
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 x (/.f64 x z)) 1)
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 x (/.f64 x z)) (/.f64 (-.f64 x (/.f64 x z)) (-.f64 x (/.f64 x z))))
(-.f64 x (/.f64 x z))
(/.f64 (-.f64 (/.f64 x z) x) -1)
(-.f64 x (/.f64 x z))
(pow.f64 (-.f64 x (/.f64 x z)) 1)
(-.f64 x (/.f64 x z))
(neg.f64 (-.f64 (/.f64 x z) x))
(-.f64 x (/.f64 x z))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 15 computations (28.6% saved)

series4.0ms (0%)

Counts
2 → 15
Calls

9 calls:

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

rewrite87.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
16732
221432
378632
4308232
Stop Event
node limit
Counts
2 → 28
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 1 z)) x)
(-.f64 1 (/.f64 1 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (/.f64 1 z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 (/.f64 1 z)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (*.f64 (-.f64 1 (/.f64 1 z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (/.f64 1 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (/.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 1 z)) (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))) (-.f64 1 (/.f64 1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1 z) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))) (/.f64 1 (-.f64 1 (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (/.f64 1 z) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))) (/.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z)))) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (/.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (/.f64 1 z)) (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1 z) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (/.f64 1 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (/.f64 1 z) -1))))))

simplify163.0ms (1.8%)

Algorithm
egg-herbie
Rules
1224×rational.json-simplify-47
1058×rational.json-simplify-2
1022×rational.json-simplify-49
862×rational.json-simplify-41
808×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055689
199593
2299593
31510593
45635593
Stop Event
node limit
Counts
43 → 38
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(/.f64 -1 z)
1
1
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 0)
(+.f64 0 (*.f64 (-.f64 1 (/.f64 1 z)) x))
(-.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 (/.f64 1 z)) x))) 1)
(/.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 1)
(/.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (*.f64 (-.f64 1 (/.f64 1 z)) x)))
(pow.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x)))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(+.f64 (-.f64 1 (/.f64 1 z)) 0)
(+.f64 0 (-.f64 1 (/.f64 1 z)))
(+.f64 (neg.f64 (/.f64 1 z)) 1)
(*.f64 1 (-.f64 1 (/.f64 1 z)))
(*.f64 (-.f64 1 (/.f64 1 z)) 1)
(*.f64 (-.f64 1 (/.f64 1 z)) (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))
(*.f64 (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))) (-.f64 1 (/.f64 1 z)))
(*.f64 (+.f64 (/.f64 1 z) -1) -1)
(*.f64 (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))) (/.f64 1 (-.f64 1 (/.f64 1 z))))
(*.f64 -1 (+.f64 (/.f64 1 z) -1))
(*.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))
(*.f64 (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))) (/.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z)))))
(*.f64 (/.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z)))) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))))
(/.f64 (-.f64 1 (/.f64 1 z)) 1)
(/.f64 (-.f64 1 (/.f64 1 z)) (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))
(/.f64 (+.f64 (/.f64 1 z) -1) -1)
(pow.f64 (-.f64 1 (/.f64 1 z)) 1)
(neg.f64 (+.f64 (/.f64 1 z) -1))
Outputs
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
x
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 x z)) x)
(+.f64 x (*.f64 -1 (/.f64 x z)))
(+.f64 x (neg.f64 (/.f64 x z)))
(/.f64 -1 z)
1
1
(+.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 0)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 0 (*.f64 (-.f64 1 (/.f64 1 z)) x))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 0)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 0 (neg.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x)))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 1 (/.f64 1 z)) x))) 1)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(/.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 1)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(/.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (/.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) (*.f64 (-.f64 1 (/.f64 1 z)) x)))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(pow.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x) 1)
(*.f64 x (-.f64 1 (/.f64 1 z)))
(neg.f64 (neg.f64 (*.f64 (-.f64 1 (/.f64 1 z)) x)))
(*.f64 x (-.f64 1 (/.f64 1 z)))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(+.f64 (-.f64 1 (/.f64 1 z)) 0)
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(+.f64 0 (-.f64 1 (/.f64 1 z)))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(+.f64 (neg.f64 (/.f64 1 z)) 1)
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 1 (-.f64 1 (/.f64 1 z)))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (-.f64 1 (/.f64 1 z)) 1)
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (-.f64 1 (/.f64 1 z)) (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))) (-.f64 1 (/.f64 1 z)))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (+.f64 (/.f64 1 z) -1) -1)
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))) (/.f64 1 (-.f64 1 (/.f64 1 z))))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 -1 (+.f64 (/.f64 1 z) -1))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))) (/.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z)))))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(*.f64 (/.f64 (/.f64 1 (-.f64 1 (/.f64 1 z))) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z)))) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (*.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(/.f64 (-.f64 1 (/.f64 1 z)) 1)
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(/.f64 (-.f64 1 (/.f64 1 z)) (/.f64 (-.f64 1 (/.f64 1 z)) (-.f64 1 (/.f64 1 z))))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(/.f64 (+.f64 (/.f64 1 z) -1) -1)
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(pow.f64 (-.f64 1 (/.f64 1 z)) 1)
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))
(neg.f64 (+.f64 (/.f64 1 z) -1))
(+.f64 1 (neg.f64 (/.f64 1 z)))
(-.f64 1 (/.f64 1 z))

eval141.0ms (1.5%)

Compiler

Compiled 1667 to 602 computations (63.9% saved)

prune20.0ms (0.2%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New1213124
Fresh011
Picked011
Done134
Total1228130
Error
0b
Counts
130 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(/.f64 (-.f64 y x) z)
40.1b
(/.f64 y z)
22.9b
(-.f64 x (/.f64 x z))
28.2b
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
12.4b
(+.f64 x (/.f64 y z))
23.0b
(*.f64 (-.f64 1 (/.f64 1 z)) x)
50.4b
(neg.f64 (/.f64 x z))
35.1b
x
Compiler

Compiled 62 to 42 computations (32.3% saved)

localize5.0ms (0.1%)

Compiler

Compiled 12 to 5 computations (58.3% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 24 to 7 computations (70.8% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite173.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
992×rational.json-simplify-2
902×rational.json-simplify-79
578×rational.json-simplify-47
516×rational.json-simplify-58
512×rational.json-simplify-41
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01023
18723
229223
3103823
4409019
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (/.f64 x z)) (neg.f64 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 y z) (/.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 x z) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (/.f64 x z) (-.f64 1 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (+.f64 (/.f64 x z) 1) (neg.f64 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (/.f64 x z)) (-.f64 -1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (/.f64 x z)) (+.f64 -1 (neg.f64 (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 y z) 1) (+.f64 (/.f64 x z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 y z) (-.f64 -1 (/.f64 x z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (neg.f64 (/.f64 y z))) (+.f64 (/.f64 x z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 -1 (/.f64 x z)) (neg.f64 (/.f64 y z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 y z) (+.f64 (/.f64 x z) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 (/.f64 x z)) (-.f64 -1 (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (/.f64 y z))) (+.f64 (/.f64 x z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (/.f64 x z) 1)) (-.f64 1 (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 y z) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (-.f64 (/.f64 y z) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (-.f64 (/.f64 y z) (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))) (/.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 x z) (/.f64 y z)))))))

simplify193.0ms (2.1%)

Algorithm
egg-herbie
Rules
1570×rational.json-simplify-50
1240×rational.json-simplify-54
1216×rational.json-simplify-43
1162×rational.json-simplify-58
792×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851478
12131238
25211238
325811230
465171230
Stop Event
node limit
Counts
70 → 44
Calls
Call 1
Inputs
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(-.f64 (neg.f64 (/.f64 x z)) (neg.f64 (/.f64 y z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 0)
(-.f64 0 (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 0 (+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))))
(-.f64 1 (+.f64 (/.f64 x z) (-.f64 1 (/.f64 y z))))
(-.f64 1 (+.f64 (+.f64 (/.f64 x z) 1) (neg.f64 (/.f64 y z))))
(-.f64 (-.f64 -1 (/.f64 x z)) (-.f64 -1 (/.f64 y z)))
(-.f64 (-.f64 -1 (/.f64 x z)) (+.f64 -1 (neg.f64 (/.f64 y z))))
(-.f64 (+.f64 (/.f64 y z) 1) (+.f64 (/.f64 x z) 1))
(-.f64 (+.f64 (/.f64 y z) (-.f64 -1 (/.f64 x z))) -1)
(-.f64 (-.f64 1 (neg.f64 (/.f64 y z))) (+.f64 (/.f64 x z) 1))
(-.f64 (-.f64 (-.f64 -1 (/.f64 x z)) (neg.f64 (/.f64 y z))) -1)
(-.f64 (-.f64 (/.f64 y z) (+.f64 (/.f64 x z) 1)) -1)
(-.f64 (-.f64 (neg.f64 (/.f64 x z)) (-.f64 -1 (/.f64 y z))) 1)
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 y z))) (+.f64 (/.f64 x z) 1))
(-.f64 (-.f64 0 (-.f64 (/.f64 x z) 1)) (-.f64 1 (/.f64 y z)))
(-.f64 (-.f64 0 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) 1))) 1)
(-.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) 1)) 1)
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(*.f64 1 (-.f64 (/.f64 y z) (/.f64 x z)))
(*.f64 (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (-.f64 (/.f64 y z) (/.f64 x z)))
(*.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z)))
(*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))))
(*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (-.f64 (/.f64 y z) (/.f64 x z))))
(*.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(*.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(*.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(*.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))) (/.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))))
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(pow.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(neg.f64 (-.f64 (/.f64 x z) (/.f64 y z)))
Outputs
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 y -1) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 y -1) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 y -1) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 y -1) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (neg.f64 (/.f64 x z)) (neg.f64 (/.f64 y z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 0)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 0 (-.f64 (/.f64 x z) (/.f64 y z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 0 (+.f64 (/.f64 x z) (neg.f64 (/.f64 y z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 1 (+.f64 (/.f64 x z) (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 1 (+.f64 (+.f64 (/.f64 x z) 1) (neg.f64 (/.f64 y z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 -1 (/.f64 x z)) (-.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 -1 (/.f64 x z)) (+.f64 -1 (neg.f64 (/.f64 y z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) 1) (+.f64 (/.f64 x z) 1))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (+.f64 (/.f64 y z) (-.f64 -1 (/.f64 x z))) -1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 1 (neg.f64 (/.f64 y z))) (+.f64 (/.f64 x z) 1))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 (-.f64 -1 (/.f64 x z)) (neg.f64 (/.f64 y z))) -1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 (/.f64 y z) (+.f64 (/.f64 x z) 1)) -1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 (neg.f64 (/.f64 x z)) (-.f64 -1 (/.f64 y z))) 1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 y z))) (+.f64 (/.f64 x z) 1))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 0 (-.f64 (/.f64 x z) 1)) (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 0 (-.f64 (/.f64 x z) (+.f64 (/.f64 y z) 1))) 1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(-.f64 (-.f64 (/.f64 y z) (-.f64 (/.f64 x z) 1)) 1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 1 (-.f64 (/.f64 y z) (/.f64 x z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (-.f64 (/.f64 y z) (/.f64 x z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (-.f64 (/.f64 y z) (/.f64 x z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))) (/.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(pow.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(neg.f64 (-.f64 (/.f64 x z) (/.f64 y z)))
(+.f64 (/.f64 y z) (neg.f64 (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))

localize4.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

eval8.0ms (0.1%)

Compiler

Compiled 729 to 163 computations (77.6% saved)

prune25.0ms (0.3%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New43144
Fresh011
Picked011
Done156
Total44852
Error
0b
Counts
52 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(/.f64 (-.f64 y x) z)
40.1b
(/.f64 y z)
28.2b
(-.f64 (/.f64 y z) (/.f64 x z))
22.9b
(-.f64 x (/.f64 x z))
12.4b
(+.f64 x (/.f64 y z))
23.0b
(*.f64 (-.f64 1 (/.f64 1 z)) x)
50.4b
(neg.f64 (/.f64 x z))
35.1b
x
Compiler

Compiled 61 to 41 computations (32.8% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 6 computations (68.4% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite83.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
16619
223119
385519
4330819
Stop Event
node limit
Counts
1 → 19
Calls
Call 1
Inputs
(-.f64 (/.f64 y z) (/.f64 x z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (/.f64 y z) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 y z) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))) (-.f64 (/.f64 y z) (/.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 x z) (/.f64 y z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 x z) (/.f64 y z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 x z) (/.f64 y z)))))))

simplify282.0ms (3%)

Algorithm
egg-herbie
Rules
1008×exponential.json-simplify-26
908×rational.json-simplify-2
904×rational.json-simplify-50
754×rational.json-simplify-1
746×rational.json-simplify-54
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0471099
1751025
21321025
34601017
418401017
541811001
670781001
Stop Event
node limit
Counts
55 → 30
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 0)
(+.f64 0 (-.f64 (/.f64 y z) (/.f64 x z)))
(+.f64 1 (-.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z))))
(+.f64 (-.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z))) 1)
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))))
(*.f64 1 (-.f64 (/.f64 y z) (/.f64 x z)))
(*.f64 (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))) (-.f64 (/.f64 y z) (/.f64 x z)))
(*.f64 (-.f64 (/.f64 x z) (/.f64 y z)) -1)
(*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))))
(*.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(*.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(*.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z)))
(*.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))))
(/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) -1)
(pow.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(neg.f64 (-.f64 (/.f64 x z) (/.f64 y z)))
Outputs
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(/.f64 (-.f64 y x) z)
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(neg.f64 (/.f64 (-.f64 x y) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(neg.f64 (/.f64 (-.f64 x y) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(neg.f64 (/.f64 (-.f64 x y) z))
(*.f64 -1 (/.f64 (-.f64 (*.f64 -1 y) (*.f64 -1 x)) z))
(neg.f64 (/.f64 (*.f64 -1 (-.f64 y x)) z))
(neg.f64 (/.f64 (neg.f64 (-.f64 y x)) z))
(neg.f64 (/.f64 (-.f64 x y) z))
(/.f64 y z)
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(*.f64 -1 (/.f64 x z))
(neg.f64 (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 x z)) (/.f64 y z))
(+.f64 (neg.f64 (/.f64 x z)) (/.f64 y z))
(+.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 0)
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 0 (-.f64 (/.f64 y z) (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 1 (-.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z))))
(-.f64 (/.f64 y z) (/.f64 x z))
(+.f64 (-.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z))) 1)
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 1 (-.f64 (/.f64 y z) (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))) (-.f64 (/.f64 y z) (/.f64 x z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (-.f64 (/.f64 x z) (/.f64 y z)) -1)
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 -1 (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (/.f64 x z))
(*.f64 (/.f64 (/.f64 1 (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))) (*.f64 (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z))) (*.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (-.f64 (/.f64 y z) (/.f64 x z)))))
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 (-.f64 (/.f64 y z) (/.f64 x z)) (/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) (-.f64 (/.f64 x z) (/.f64 y z))))
(-.f64 (/.f64 y z) (/.f64 x z))
(/.f64 (-.f64 (/.f64 x z) (/.f64 y z)) -1)
(-.f64 (/.f64 y z) (/.f64 x z))
(pow.f64 (-.f64 (/.f64 y z) (/.f64 x z)) 1)
(-.f64 (/.f64 y z) (/.f64 x z))
(neg.f64 (-.f64 (/.f64 x z) (/.f64 y z)))
(-.f64 (/.f64 y z) (/.f64 x z))

eval4.0ms (0%)

Compiler

Compiled 420 to 81 computations (80.7% saved)

prune15.0ms (0.2%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New30030
Fresh011
Picked011
Done066
Total30838
Error
0b
Counts
38 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(/.f64 (-.f64 y x) z)
40.1b
(/.f64 y z)
28.2b
(-.f64 (/.f64 y z) (/.f64 x z))
22.9b
(-.f64 x (/.f64 x z))
12.4b
(+.f64 x (/.f64 y z))
23.0b
(*.f64 (-.f64 1 (/.f64 1 z)) x)
50.4b
(neg.f64 (/.f64 x z))
35.1b
x
Compiler

Compiled 61 to 41 computations (32.8% saved)

regimes122.0ms (1.3%)

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

4 calls:

94.0ms
(+.f64 x (/.f64 (-.f64 y x) z))
10.0ms
x
8.0ms
y
7.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 x (/.f64 (-.f64 y x) z))
Compiler

Compiled 86 to 35 computations (59.3% saved)

regimes36.0ms (0.4%)

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

4 calls:

9.0ms
(+.f64 x (/.f64 (-.f64 y x) z))
8.0ms
y
8.0ms
x
8.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 x (/.f64 (-.f64 y x) z))
Compiler

Compiled 77 to 33 computations (57.1% saved)

regimes224.0ms (2.4%)

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

3 calls:

168.0ms
z
31.0ms
x
23.0ms
y
Results
ErrorSegmentsBranch
6.0b5x
5.8b3y
0.8b3z
Compiler

Compiled 45 to 24 computations (46.7% saved)

bsearch43.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
1.1298128704424031e-7
700.3238770516728
21.0ms
-867102250919835800.0
-60.54996829941065
Results
37.0ms320×body256valid
Compiler

Compiled 376 to 251 computations (33.2% saved)

regimes94.0ms (1%)

Counts
5 → 9
Calls
Call 1
Inputs
x
(/.f64 y z)
(neg.f64 (/.f64 x z))
(+.f64 x (/.f64 y z))
(-.f64 x (/.f64 x z))
Outputs
(+.f64 x (/.f64 y z))
(neg.f64 (/.f64 x z))
(+.f64 x (/.f64 y z))
(neg.f64 (/.f64 x z))
(/.f64 y z)
(neg.f64 (/.f64 x z))
(/.f64 y z)
(-.f64 x (/.f64 x z))
(+.f64 x (/.f64 y z))
Calls

3 calls:

50.0ms
z
25.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
7.1b3x
5.8b3y
5.5b9z
Compiler

Compiled 33 to 17 computations (48.5% saved)

bsearch402.0ms (4.3%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
28208101268.524677
4.314440441502233e+20
15.0ms
1.4296202782854473e-20
9.26776005774127e-16
167.0ms
3.4914017512293617e-51
2.279420371431104e-42
24.0ms
4.221764396221193e-106
5.988685462356956e-93
59.0ms
4.6126959869132135e-167
7.799853802443943e-164
61.0ms
2.5575642209406102e-287
9.710784963071133e-266
27.0ms
-1.2926867166941929e-160
-1.7312573768122439e-168
22.0ms
-2.7609252072623446e-71
-4.187747583694579e-73
Results
284.0ms1152×body256valid
96.0ms488×body256infinite
Compiler

Compiled 1188 to 840 computations (29.3% saved)

regimes79.0ms (0.8%)

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

3 calls:

39.0ms
z
21.0ms
x
18.0ms
y
Results
ErrorSegmentsBranch
11.0b3x
11.2b3y
6.6b7z
Compiler

Compiled 28 to 16 computations (42.9% saved)

bsearch444.0ms (4.8%)

Algorithm
binary-search
Steps
TimeLeftRight
94.0ms
3.4914017512293617e-51
2.279420371431104e-42
24.0ms
4.221764396221193e-106
5.988685462356956e-93
31.0ms
4.6126959869132135e-167
7.799853802443943e-164
190.0ms
2.5575642209406102e-287
9.710784963071133e-266
87.0ms
-1.2926867166941929e-160
-1.7312573768122439e-168
18.0ms
-2.7609252072623446e-71
-4.187747583694579e-73
Results
255.0ms492×body256infinite
97.0ms864×body256valid
Compiler

Compiled 898 to 641 computations (28.6% saved)

regimes484.0ms (5.2%)

Counts
3 → 12
Calls
Call 1
Inputs
x
(/.f64 y z)
(neg.f64 (/.f64 x z))
Outputs
x
(/.f64 y z)
x
(/.f64 y z)
(neg.f64 (/.f64 x z))
(/.f64 y z)
(neg.f64 (/.f64 x z))
(/.f64 y z)
(neg.f64 (/.f64 x z))
(/.f64 y z)
(neg.f64 (/.f64 x z))
x
Calls

3 calls:

391.0ms
z
63.0ms
x
28.0ms
y
Results
ErrorSegmentsBranch
22.4b5x
24.3b6y
15.5b12z
Compiler

Compiled 23 to 15 computations (34.8% saved)

bsearch856.0ms (9.2%)

Algorithm
11×binary-search
Steps
TimeLeftRight
27.0ms
1.1298128704424031e-7
700.3238770516728
22.0ms
1.4296202782854473e-20
9.26776005774127e-16
90.0ms
3.4914017512293617e-51
2.279420371431104e-42
99.0ms
4.221764396221193e-106
5.988685462356956e-93
35.0ms
4.6126959869132135e-167
7.799853802443943e-164
198.0ms
2.5575642209406102e-287
9.710784963071133e-266
119.0ms
-1.2926867166941929e-160
-1.7312573768122439e-168
31.0ms
-2.7609252072623446e-71
-4.187747583694579e-73
12.0ms
-2.790352869571109e+23
-4.10928655755787e+22
16.0ms
-2.266102544655527e+96
-9.086354817941289e+92
207.0ms
-4.266249267752336e+111
-6.914406176213937e+105
Results
516.0ms1520×body256valid
56.0ms457×body256infinite
Compiler

Compiled 1352 to 1000 computations (26% saved)

regimes296.0ms (3.2%)

Accuracy

Total -40.1b remaining (-183.8%)

Threshold costs -40.1b (-183.8%)

Counts
2 → 5
Calls
Call 1
Inputs
x
(/.f64 y z)
Outputs
x
(/.f64 y z)
x
(/.f64 y z)
x
Calls

3 calls:

153.0ms
z
125.0ms
y
16.0ms
x
Results
ErrorSegmentsBranch
23.6b3x
25.5b4y
21.8b5z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch80.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
1.1298128704424031e-7
700.3238770516728
15.0ms
-2.790352869571109e+23
-4.10928655755787e+22
19.0ms
-2.266102544655527e+96
-9.086354817941289e+92
22.0ms
-4.266249267752336e+111
-6.914406176213937e+105
Results
69.0ms528×body256valid
0.0msbody256infinite
Compiler

Compiled 412 to 308 computations (25.2% saved)

simplify122.0ms (1.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0108640
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 x (/.f64 (-.f64 y x) z))
(if (<=.f64 z -62) (+.f64 x (/.f64 y z)) (if (<=.f64 z 1) (/.f64 (-.f64 y x) z) (+.f64 x (/.f64 y z))))
(if (<=.f64 z -93248106826835/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (+.f64 x (/.f64 y z)) (if (<=.f64 z -7469128023985787/4149515568880992958512407863691161151012446232242436899995657329690652811412908146399707048947103794288197886611300789182395151075411775307886874834113963687061181803401509523685376) (neg.f64 (/.f64 x z)) (if (<=.f64 z 290432989937067/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (+.f64 x (/.f64 y z)) (if (<=.f64 z 505722209957371/129672361527531029953512745740348785969138944757576153124864291552832900356653379574990845279596993571506183956603149661949848471106617978371464838566061365220661931356297172615168) (neg.f64 (/.f64 x z)) (if (<=.f64 z 3270674342474151/38478521676166483605741250097796497856523182881313912761668255277583712667477744737709244389536050430475222646784) (/.f64 y z) (if (<=.f64 z 451951324947841/25108406941546723055343157692830665664409421777856138051584) (neg.f64 (/.f64 x z)) (if (<=.f64 z 3821530487881633/83076749736557242056487941267521536) (/.f64 y z) (if (<=.f64 z 28500000000) (-.f64 x (/.f64 x z)) (+.f64 x (/.f64 y z))))))))))
(if (<=.f64 z -7320598039952059/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (+.f64 x (/.f64 y z)) (if (<=.f64 z -7701500895843123/265568996408383549344794103276234313664796558863515961599722069100201779930426121369581251132614642834444664743123250507673289668826353619704759989383293675971915635417696609515864064) (neg.f64 (/.f64 x z)) (if (<=.f64 z 8965688890487999/19490628022799998160706764775750376621752453715190015053735812914425897381532852204931230131764020518450609832462817336366918339730406188093155974592625306839062555399912946059741579310980107296705599186958436757747371195850789749891492727230937931225655477606208555094163657179983828221952) (+.f64 x (/.f64 y z)) (if (<=.f64 z 6240871415597013/132784498204191774672397051638117156832398279431757980799861034550100889965213060684790625566307321417222332371561625253836644834413176809852379994691646837985957817708848304757932032) (neg.f64 (/.f64 x z)) (if (<=.f64 z 8898158137613499/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (/.f64 y z) (if (<=.f64 z 5792176041770645/26328072917139296674479506920917608079723773850137277813577744384) (neg.f64 (/.f64 x z)) (+.f64 x (/.f64 y z))))))))
(if (<=.f64 z -6999999999999999822437602818784610565844902602477141479494462696014131772289754164755406162944446060036096) x (if (<=.f64 z -860000000000000002566848626977641395958356756852295452159930059136891247247850553035599537766400) (/.f64 y z) (if (<=.f64 z -129999999999999995805696) x (if (<=.f64 z -5172161658661781/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (/.f64 y z) (if (<=.f64 z -7597989933253771/253266331108459042877954581524118722595974501479640924072000569439126758509088631982403994686712878069348015540240526683495797795130113239006767262824338603946605334680267915264) (neg.f64 (/.f64 x z)) (if (<=.f64 z 3940594807466125/37175422711944576569951562453747514003281505041484861476394296482898516429010109338629207862403908764744968094754824326261364631138622642694770764527559865644574271011186496848567160245857443421755979894558785930151693717671947002203927473508716452075301127636353597820594133720367104) (/.f64 y z) (if (<=.f64 z 4249103942534137/66392249102095887336198525819058578416199139715878990399930517275050444982606530342395312783153660708611166185780812626918322417206588404926189997345823418992978908854424152378966016) (neg.f64 (/.f64 x z)) (if (<=.f64 z 5516280867495227/78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613632) (/.f64 y z) (if (<=.f64 z 2501166927128233/26328072917139296674479506920917608079723773850137277813577744384) (neg.f64 (/.f64 x z)) (if (<=.f64 z 2758407706096627/81129638414606681695789005144064) (/.f64 y z) (if (<=.f64 z 1) (neg.f64 (/.f64 x z)) x)))))))))))
(if (<=.f64 z -6999999999999999822437602818784610565844902602477141479494462696014131772289754164755406162944446060036096) x (if (<=.f64 z -2199999999999999896267659855978353232696551099951064978317528711637686840490253950460329281454080) (/.f64 y z) (if (<=.f64 z -115000000000000002097152) x (if (<=.f64 z 700) (/.f64 y z) x))))
x
Outputs
(-.f64 (+.f64 (/.f64 y z) x) (/.f64 x z))
(+.f64 x (/.f64 (-.f64 y x) z))
(if (<=.f64 z -62) (+.f64 x (/.f64 y z)) (if (<=.f64 z 1) (/.f64 (-.f64 y x) z) (+.f64 x (/.f64 y z))))
(if (<=.f64 z -93248106826835/15541351137805832567355695254588151253139254712417116170014499277911234281641667985408) (+.f64 x (/.f64 y z)) (if (<=.f64 z -7469128023985787/4149515568880992958512407863691161151012446232242436899995657329690652811412908146399707048947103794288197886611300789182395151075411775307886874834113963687061181803401509523685376) (neg.f64 (/.f64 x z)) (if (<=.f64 z 290432989937067/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296) (+.f64 x (/.f64 y z)) (if (<=.f64 z 505722209957371/129672361527531029953512745740348785969138944757576153124864291552832900356653379574990845279596993571506183956603149661949848471106617978371464838566061365220661931356297172615168) (neg.f64 (/.f64 x z)) (if (<=.f64 z 3270674342474151/38478521676166483605741250097796497856523182881313912761668255277583712667477744737709244389536050430475222646784) (/.f64 y z) (if (<=.f64 z 451951324947841/25108406941546723055343157692830665664409421777856138051584) (neg.f64 (/.f64 x z)) (if (<=.f64 z 3821530487881633/83076749736557242056487941267521536) (/.f64 y z) (if (<=.f64 z 28500000000) (-.f64 x (/.f64 x z)) (+.f64 x (/.f64 y z))))))))))
(if (<=.f64 z -7320598039952059/7957171782556586274486115970349133441607298412757563479047423630290551952200534008528896) (+.f64 x (/.f64 y z)) (if (<=.f64 z -7701500895843123/265568996408383549344794103276234313664796558863515961599722069100201779930426121369581251132614642834444664743123250507673289668826353619704759989383293675971915635417696609515864064) (neg.f64 (/.f64 x z)) (if (<=.f64 z 8965688890487999/19490628022799998160706764775750376621752453715190015053735812914425897381532852204931230131764020518450609832462817336366918339730406188093155974592625306839062555399912946059741579310980107296705599186958436757747371195850789749891492727230937931225655477606208555094163657179983828221952) (+.f64 x (/.f64 y z)) (if (<=.f64 z 6240871415597013/132784498204191774672397051638117156832398279431757980799861034550100889965213060684790625566307321417222332371561625253836644834413176809852379994691646837985957817708848304757932032) (neg.f64 (/.f64 x z)) (if (<=.f64 z 8898158137613499/1202453802380202612679414065556140558016349465041059773802132977424491020858679523053413887173001575952350707712) (/.f64 y z) (if (<=.f64 z 5792176041770645/26328072917139296674479506920917608079723773850137277813577744384) (neg.f64 (/.f64 x z)) (+.f64 x (/.f64 y z))))))))
(if (<=.f64 z -6999999999999999822437602818784610565844902602477141479494462696014131772289754164755406162944446060036096) x (if (<=.f64 z -860000000000000002566848626977641395958356756852295452159930059136891247247850553035599537766400) (/.f64 y z) (if (<=.f64 z -129999999999999995805696) x (if (<=.f64 z -5172161658661781/1989292945639146568621528992587283360401824603189390869761855907572637988050133502132224) (/.f64 y z) (if (<=.f64 z -7597989933253771/253266331108459042877954581524118722595974501479640924072000569439126758509088631982403994686712878069348015540240526683495797795130113239006767262824338603946605334680267915264) (neg.f64 (/.f64 x z)) (if (<=.f64 z 3940594807466125/37175422711944576569951562453747514003281505041484861476394296482898516429010109338629207862403908764744968094754824326261364631138622642694770764527559865644574271011186496848567160245857443421755979894558785930151693717671947002203927473508716452075301127636353597820594133720367104) (/.f64 y z) (if (<=.f64 z 4249103942534137/66392249102095887336198525819058578416199139715878990399930517275050444982606530342395312783153660708611166185780812626918322417206588404926189997345823418992978908854424152378966016) (neg.f64 (/.f64 x z)) (if (<=.f64 z 5516280867495227/78804012392788958424558080200287227610159478540930893335896586808491443542994421222828532509769831281613255980613632) (/.f64 y z) (if (<=.f64 z 2501166927128233/26328072917139296674479506920917608079723773850137277813577744384) (neg.f64 (/.f64 x z)) (if (<=.f64 z 2758407706096627/81129638414606681695789005144064) (/.f64 y z) (if (<=.f64 z 1) (neg.f64 (/.f64 x z)) x)))))))))))
(if (<=.f64 z -6999999999999999822437602818784610565844902602477141479494462696014131772289754164755406162944446060036096) x (if (<=.f64 z -2199999999999999896267659855978353232696551099951064978317528711637686840490253950460329281454080) (/.f64 y z) (if (<=.f64 z -115000000000000002097152) x (if (<=.f64 z 700) (/.f64 y z) x))))
x
Compiler

Compiled 291 to 141 computations (51.5% saved)

soundness0.0ms (0%)

end266.0ms (2.9%)

Compiler

Compiled 270 to 106 computations (60.7% saved)

Profiling

Loading profile data...