Details

Time bar (total: 11.0s)

analyze677.0ms (6.2%)

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
0%0%99.9%0.1%0%0%0%7
0%0%99.9%0.1%0%0%0%8
1.6%1.6%97.5%0.1%0.8%0%0%9
19.1%18.7%79.2%0.1%2%0%0%10
22.6%21.8%74.7%0.1%3.3%0%0%11
27.8%26.5%68.8%0.1%4.5%0%0%12
Compiler

Compiled 13 to 8 computations (38.5% saved)

sample2.2s (20.1%)

Results
1.8s8256×body256valid
431.0ms1697×body256infinite
Bogosity

preprocess7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 15 to 10 computations (33.3% saved)

simplify18.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 12 to 7 computations (41.7% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 12 to 7 computations (41.7% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 30 to 7 computations (76.7% saved)

series9.0ms (0.1%)

Counts
3 → 96
Calls

27 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
1.0ms
z
@-inf
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
1.0ms
x
@-inf
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
1.0ms
x
@inf
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
1.0ms
y
@inf
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)

rewrite103.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1992×rational.json-5
1990×rational.json-1
1990×rational.json-2
1990×rational.json-4
1990×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0957
17657
225857
396457
4381657
Stop Event
node limit
Counts
3 → 28
Calls
Call 1
Inputs
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 y (-.f64 z x))
(+.f64 x (*.f64 y (-.f64 z x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))) (/.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (-.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 z x)) (/.f64 (*.f64 y (-.f64 z x)) (*.f64 y (-.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 z x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y (-.f64 z x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (-.f64 z x))) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y (-.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))) (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))) (/.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y (-.f64 z x))) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)))))

simplify253.0ms (2.3%)

Algorithm
egg-herbie
Rules
1500×rational.json-simplify-47
1024×rational.json-simplify-2
846×rational.json-simplify-1
818×rational.json-simplify-49
784×rational.json-simplify-50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0922938
11742650
24132650
315802590
458202590
Stop Event
node limit
Counts
124 → 85
Calls
Call 1
Inputs
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(/.f64 x z)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(/.f64 (*.f64 y (-.f64 z x)) z)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(/.f64 (*.f64 y (-.f64 z x)) z)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(/.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (-.f64 y 1) x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
x
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (*.f64 y (-.f64 z x)) x)
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (*.f64 y (-.f64 z x)) x)
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 0)
(+.f64 0 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))
(-.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 0)
(*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 1)
(*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))
(*.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) 1))
(*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))
(*.f64 (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))) (/.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))))
(pow.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 1)
(+.f64 (*.f64 y (-.f64 z x)) 0)
(+.f64 0 (*.f64 y (-.f64 z x)))
(-.f64 (*.f64 y (-.f64 z x)) 0)
(/.f64 (*.f64 y (-.f64 z x)) 1)
(/.f64 (*.f64 y (-.f64 z x)) (/.f64 (*.f64 y (-.f64 z x)) (*.f64 y (-.f64 z x))))
(pow.f64 (*.f64 y (-.f64 z x)) 1)
(-.f64 (+.f64 x (*.f64 y (-.f64 z x))) 0)
(*.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)
(*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))
(*.f64 1 (+.f64 x (*.f64 y (-.f64 z x))))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))) (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) 1))
(*.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))) (/.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x))))))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))
(pow.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)
Outputs
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x))
(+.f64 y (*.f64 (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z)) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x))
(+.f64 y (*.f64 (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z)) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x))
(+.f64 y (*.f64 (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z)) x))
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) z)
(/.f64 (*.f64 x (+.f64 1 (neg.f64 y))) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) z))
(+.f64 y (/.f64 (*.f64 x (+.f64 1 (neg.f64 y))) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) z))
(+.f64 y (/.f64 (*.f64 x (+.f64 1 (neg.f64 y))) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) z))
(+.f64 y (/.f64 (*.f64 x (+.f64 1 (neg.f64 y))) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z))
(*.f64 -1 (/.f64 (*.f64 x (+.f64 y -1)) z))
(neg.f64 (/.f64 (*.f64 x (+.f64 y -1)) z))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 (-.f64 y 1) x) z)))
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(/.f64 x z)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(/.f64 (*.f64 y (-.f64 z x)) z)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 z x)) z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 z x)) z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 z x)) z))
(/.f64 (*.f64 y (-.f64 z x)) z)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 z x)) z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 z x)) z))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 x z))
(+.f64 (/.f64 x z) (/.f64 (*.f64 y (-.f64 z x)) z))
(/.f64 (+.f64 x (*.f64 -1 (*.f64 y x))) z)
(/.f64 (+.f64 x (*.f64 y (*.f64 x -1))) z)
(/.f64 (+.f64 x (*.f64 y (neg.f64 x))) z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (/.f64 x z) (+.f64 y (neg.f64 (/.f64 (*.f64 y x) z))))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x -1)) (*.f64 y z))
(*.f64 y (+.f64 z (neg.f64 x)))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (+.f64 1 (*.f64 y -1)))
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(*.f64 -1 (*.f64 (-.f64 y 1) x))
(*.f64 x (+.f64 1 (*.f64 y -1)))
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 x (+.f64 1 (*.f64 y -1))) (*.f64 y z))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 y))) (*.f64 y z))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y z))
x
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 y (-.f64 z x))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 y (-.f64 z x)) x)
(+.f64 x (*.f64 y (-.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(*.f64 y z)
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(+.f64 (*.f64 y z) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (+.f64 x (*.f64 y (*.f64 x -1))) (*.f64 y z))
(+.f64 x (*.f64 y (+.f64 z (neg.f64 x))))
(+.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 0)
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(+.f64 0 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(-.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 0)
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 1)
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) 1))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(*.f64 (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))) (/.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z))))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(pow.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 1)
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
(+.f64 (*.f64 y (-.f64 z x)) 0)
(*.f64 y (-.f64 z x))
(+.f64 0 (*.f64 y (-.f64 z x)))
(*.f64 y (-.f64 z x))
(-.f64 (*.f64 y (-.f64 z x)) 0)
(*.f64 y (-.f64 z x))
(/.f64 (*.f64 y (-.f64 z x)) 1)
(*.f64 y (-.f64 z x))
(/.f64 (*.f64 y (-.f64 z x)) (/.f64 (*.f64 y (-.f64 z x)) (*.f64 y (-.f64 z x))))
(*.f64 y (-.f64 z x))
(pow.f64 (*.f64 y (-.f64 z x)) 1)
(*.f64 y (-.f64 z x))
(-.f64 (+.f64 x (*.f64 y (-.f64 z x))) 0)
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 1 (+.f64 x (*.f64 y (-.f64 z x))))
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))) (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))))
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) 1))
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))
(+.f64 x (*.f64 y (-.f64 z x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))) (/.f64 (/.f64 1 (+.f64 x (*.f64 y (-.f64 z x)))) (*.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x))))))
(+.f64 x (*.f64 y (-.f64 z x)))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)
(+.f64 x (*.f64 y (-.f64 z x)))
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) (+.f64 x (*.f64 y (-.f64 z x)))))
(+.f64 x (*.f64 y (-.f64 z x)))
(pow.f64 (+.f64 x (*.f64 y (-.f64 z x))) 1)
(+.f64 x (*.f64 y (-.f64 z x)))

eval158.0ms (1.4%)

Compiler

Compiled 1135 to 347 computations (69.4% saved)

prune20.0ms (0.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New77885
Fresh000
Picked101
Done000
Total78886
Error
0b
Counts
86 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(/.f64 (+.f64 x (*.f64 y z)) z)
32.5b
(/.f64 (*.f64 y (-.f64 z x)) z)
33.2b
(/.f64 (*.f64 x (-.f64 1 y)) z)
39.8b
(/.f64 x z)
0.1b
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
3.0b
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
3.1b
(+.f64 y (*.f64 (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z)) x))
31.8b
y
Compiler

Compiled 158 to 101 computations (36.1% saved)

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 14 computations (57.6% saved)

series7.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

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

rewrite101.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
2024×rational.json-5
2022×rational.json-1
2022×rational.json-2
2022×rational.json-4
2022×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01050
18450
226550
398450
4389550
Stop Event
node limit
Counts
2 → 17
Calls
Call 1
Inputs
(*.f64 y (-.f64 1 (/.f64 x z)))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 1 (/.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 1 (/.f64 x z))) (/.f64 (*.f64 y (-.f64 1 (/.f64 x z))) (*.f64 y (-.f64 1 (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))) (/.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)))))

simplify423.0ms (3.8%)

Algorithm
egg-herbie
Rules
1366×rational.json-simplify-47
1114×rational.json-simplify-49
986×rational.json-simplify-2
800×rational.json-simplify-111
780×rational.json-simplify-50
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0632273
11152171
23112171
314382171
455352171
Stop Event
node limit
Counts
89 → 53
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(/.f64 (+.f64 (*.f64 -1 (*.f64 y x)) x) z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
y
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(/.f64 x z)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 0)
(+.f64 0 (*.f64 y (-.f64 1 (/.f64 x z))))
(-.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 0)
(/.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 1)
(/.f64 (*.f64 y (-.f64 1 (/.f64 x z))) (/.f64 (*.f64 y (-.f64 1 (/.f64 x z))) (*.f64 y (-.f64 1 (/.f64 x z)))))
(pow.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 1)
(-.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 0)
(*.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))
(*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)
(*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(*.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(*.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) 1))
(*.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(*.f64 (*.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))) (/.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))))
(/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)
(/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(pow.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)
Outputs
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 x y) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 x y) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 x y) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
y
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 x (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))))
(+.f64 y (*.f64 x (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 x (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))))
(+.f64 y (*.f64 x (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 x (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))))
(+.f64 y (*.f64 x (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z))))
(*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x)
(*.f64 x (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)))
(*.f64 x (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 x (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))))
(+.f64 y (*.f64 x (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 x (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))))
(+.f64 y (*.f64 x (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z)) x) y)
(+.f64 y (*.f64 x (+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))))
(+.f64 y (*.f64 x (+.f64 (neg.f64 (/.f64 y z)) (/.f64 1 z))))
(*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x))
(*.f64 -1 (*.f64 x (-.f64 (/.f64 y z) (/.f64 1 z))))
(*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) (neg.f64 x))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(+.f64 y (*.f64 -1 (*.f64 x (-.f64 (/.f64 y z) (/.f64 1 z)))))
(+.f64 y (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) (neg.f64 x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(+.f64 y (*.f64 -1 (*.f64 x (-.f64 (/.f64 y z) (/.f64 1 z)))))
(+.f64 y (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) (neg.f64 x)))
(+.f64 y (*.f64 -1 (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) x)))
(+.f64 y (*.f64 -1 (*.f64 x (-.f64 (/.f64 y z) (/.f64 1 z)))))
(+.f64 y (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) (neg.f64 x)))
(/.f64 (+.f64 (*.f64 -1 (*.f64 y x)) x) z)
(/.f64 (+.f64 x (*.f64 y (*.f64 x -1))) z)
(/.f64 (+.f64 x (*.f64 y (neg.f64 x))) z)
(/.f64 (+.f64 x (*.f64 x (neg.f64 y))) z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 y (+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 x y) z))))
(+.f64 y (+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 x y) z))))
(+.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (+.f64 (/.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 y (+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 x y) z))))
(+.f64 y (+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 x y) z))))
(+.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (+.f64 (/.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 y (+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 x y) z))))
(+.f64 y (+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 x y) z))))
(+.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (+.f64 (/.f64 x z) y))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 y (+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 x y) z))))
(+.f64 y (+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 x y) z))))
(+.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (+.f64 (/.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 y (+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 x y) z))))
(+.f64 y (+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 x y) z))))
(+.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (+.f64 (/.f64 x z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 y (/.f64 x z)))
(+.f64 y (+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 x y) z))))
(+.f64 y (+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 x y) z))))
(+.f64 (neg.f64 (/.f64 (*.f64 x y) z)) (+.f64 (/.f64 x z) y))
y
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 x y) (*.f64 x -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 -1 y)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (-.f64 y 1)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 x y) (*.f64 x -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 -1 y)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (-.f64 y 1)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 y x) (*.f64 -1 x)) z)))
(+.f64 y (*.f64 -1 (/.f64 (+.f64 (*.f64 x y) (*.f64 x -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 -1 y)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (+.f64 y -1)) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x (-.f64 y 1)) z)))
(/.f64 x z)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(+.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 0)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(+.f64 0 (*.f64 y (-.f64 1 (/.f64 x z))))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(-.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 0)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(/.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 1)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(/.f64 (*.f64 y (-.f64 1 (/.f64 x z))) (/.f64 (*.f64 y (-.f64 1 (/.f64 x z))) (*.f64 y (-.f64 1 (/.f64 x z)))))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(pow.f64 (*.f64 y (-.f64 1 (/.f64 x z))) 1)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(-.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 0)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) 1))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 (*.f64 (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))) (/.f64 (/.f64 1 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))) (*.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))))))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (/.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))))
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))
(pow.f64 (+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z)))) 1)
(+.f64 (/.f64 x z) (*.f64 (-.f64 1 (/.f64 x z)) y))

localize4.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 13 computations (40.9% saved)

series6.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

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

rewrite91.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
17532
223932
388232
4347232
Stop Event
node limit
Counts
2 → 17
Calls
Call 1
Inputs
(/.f64 (*.f64 x (-.f64 1 y)) z)
(*.f64 x (-.f64 1 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 x (-.f64 1 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (-.f64 1 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (-.f64 1 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 1 y)) (/.f64 (*.f64 x (-.f64 1 y)) (*.f64 x (-.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (-.f64 1 y)) 1)))))

simplify177.0ms (1.6%)

Algorithm
egg-herbie
Rules
1364×rational.json-simplify-49
996×rational.json-simplify-2
808×rational.json-simplify-55
676×rational.json-simplify-54
658×rational.json-simplify-111
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0461421
1791377
21821377
35361377
422431377
558201377
Stop Event
node limit
Counts
77 → 35
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 0)
(+.f64 0 (/.f64 (*.f64 x (-.f64 1 y)) z))
(-.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 0)
(*.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 1)
(*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))
(*.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)))
(*.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) 1))
(*.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))
(*.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z))))
(pow.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 1)
(+.f64 (*.f64 x (-.f64 1 y)) 0)
(+.f64 0 (*.f64 x (-.f64 1 y)))
(-.f64 (*.f64 x (-.f64 1 y)) 0)
(/.f64 (*.f64 x (-.f64 1 y)) 1)
(/.f64 (*.f64 x (-.f64 1 y)) (/.f64 (*.f64 x (-.f64 1 y)) (*.f64 x (-.f64 1 y))))
(pow.f64 (*.f64 x (-.f64 1 y)) 1)
Outputs
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 y (*.f64 x -1)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 0)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(+.f64 0 (/.f64 (*.f64 x (-.f64 1 y)) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(-.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 0)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 1)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) 1))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(*.f64 (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 x (-.f64 1 y)) z)) (*.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) (/.f64 (*.f64 x (-.f64 1 y)) z))))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(pow.f64 (/.f64 (*.f64 x (-.f64 1 y)) z) 1)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(+.f64 (*.f64 x (-.f64 1 y)) 0)
(*.f64 (-.f64 1 y) x)
(+.f64 0 (*.f64 x (-.f64 1 y)))
(*.f64 (-.f64 1 y) x)
(-.f64 (*.f64 x (-.f64 1 y)) 0)
(*.f64 (-.f64 1 y) x)
(/.f64 (*.f64 x (-.f64 1 y)) 1)
(*.f64 (-.f64 1 y) x)
(/.f64 (*.f64 x (-.f64 1 y)) (/.f64 (*.f64 x (-.f64 1 y)) (*.f64 x (-.f64 1 y))))
(*.f64 (-.f64 1 y) x)
(pow.f64 (*.f64 x (-.f64 1 y)) 1)
(*.f64 (-.f64 1 y) x)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series6.0ms (0.1%)

Counts
1 → 24
Calls

9 calls:

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

rewrite87.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
16719
223219
386219
4339119
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(/.f64 (*.f64 y (-.f64 z x)) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 y (-.f64 z x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)) (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 1)))))

simplify178.0ms (1.6%)

Algorithm
egg-herbie
Rules
1194×rational.json-simplify-50
1158×rational.json-simplify-58
1054×rational.json-simplify-54
1020×rational.json-simplify-43
580×rational.json-simplify-111
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
033719
155677
2106677
3308677
42190677
55481677
Stop Event
node limit
Counts
35 → 18
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 0)
(+.f64 0 (/.f64 (*.f64 y (-.f64 z x)) z))
(-.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 0)
(*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 1)
(*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))
(*.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z))
(*.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)) (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)))
(*.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) 1))
(*.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))
(*.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z))))
(pow.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 1)
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 0)
(/.f64 (*.f64 y (-.f64 z x)) z)
(+.f64 0 (/.f64 (*.f64 y (-.f64 z x)) z))
(/.f64 (*.f64 y (-.f64 z x)) z)
(-.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 0)
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 1)
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z))
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)) (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)))
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) 1))
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))
(/.f64 (*.f64 y (-.f64 z x)) z)
(*.f64 (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 y (-.f64 z x)) z)) (*.f64 (/.f64 (*.f64 y (-.f64 z x)) z) (/.f64 (*.f64 y (-.f64 z x)) z))))
(/.f64 (*.f64 y (-.f64 z x)) z)
(pow.f64 (/.f64 (*.f64 y (-.f64 z x)) z) 1)
(/.f64 (*.f64 y (-.f64 z x)) z)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series4.0ms (0%)

Counts
2 → 72
Calls

18 calls:

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

rewrite227.0ms (2.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
16832
223032
385932
4342532
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(/.f64 (+.f64 x (*.f64 y z)) z)
(+.f64 x (*.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (+.f64 x (*.f64 y z)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z))) (/.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y z)) (/.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (/.f64 1 (+.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (*.f64 (/.f64 1 (+.f64 x (*.f64 y z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z)))) (/.f64 (/.f64 1 (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y z)) (/.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 y z)) 1)))))

simplify159.0ms (1.4%)

Algorithm
egg-herbie
Rules
1442×rational.json-simplify-49
1222×rational.json-simplify-2
1110×rational.json-simplify-50
874×rational.json-simplify-111
868×rational.json-simplify-58
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0471126
1911126
22651126
315291126
454441126
Stop Event
node limit
Counts
94 → 30
Calls
Call 1
Inputs
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
x
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (*.f64 y z) x)
(+.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 0)
(+.f64 0 (/.f64 (+.f64 x (*.f64 y z)) z))
(-.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 0)
(*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 1)
(*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)))
(*.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)))
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) 1))
(*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)))
(*.f64 (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z))) (/.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z))))
(pow.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 1)
(-.f64 (+.f64 x (*.f64 y z)) 0)
(*.f64 (+.f64 x (*.f64 y z)) 1)
(*.f64 (+.f64 x (*.f64 y z)) (/.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))
(*.f64 1 (+.f64 x (*.f64 y z)))
(*.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (/.f64 1 (+.f64 x (*.f64 y z))))
(*.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (*.f64 (/.f64 1 (+.f64 x (*.f64 y z))) 1))
(*.f64 (/.f64 1 (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))
(*.f64 (*.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z)))) (/.f64 (/.f64 1 (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z)))))
(/.f64 (+.f64 x (*.f64 y z)) 1)
(/.f64 (+.f64 x (*.f64 y z)) (/.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))
(pow.f64 (+.f64 x (*.f64 y z)) 1)
Outputs
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
x
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
x
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
x
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
x
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(*.f64 y z)
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (*.f64 y z) x)
(+.f64 x (*.f64 y z))
(+.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 0)
(/.f64 (+.f64 x (*.f64 y z)) z)
(+.f64 0 (/.f64 (+.f64 x (*.f64 y z)) z))
(/.f64 (+.f64 x (*.f64 y z)) z)
(-.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 0)
(/.f64 (+.f64 x (*.f64 y z)) z)
(*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 1)
(/.f64 (+.f64 x (*.f64 y z)) z)
(*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)))
(/.f64 (+.f64 x (*.f64 y z)) z)
(*.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z))
(/.f64 (+.f64 x (*.f64 y z)) z)
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)))
(/.f64 (+.f64 x (*.f64 y z)) z)
(*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) 1))
(/.f64 (+.f64 x (*.f64 y z)) z)
(*.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)))
(/.f64 (+.f64 x (*.f64 y z)) z)
(*.f64 (*.f64 (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z))) (/.f64 (/.f64 1 (/.f64 (+.f64 x (*.f64 y z)) z)) (*.f64 (/.f64 (+.f64 x (*.f64 y z)) z) (/.f64 (+.f64 x (*.f64 y z)) z))))
(/.f64 (+.f64 x (*.f64 y z)) z)
(pow.f64 (/.f64 (+.f64 x (*.f64 y z)) z) 1)
(/.f64 (+.f64 x (*.f64 y z)) z)
(-.f64 (+.f64 x (*.f64 y z)) 0)
(+.f64 x (*.f64 y z))
(*.f64 (+.f64 x (*.f64 y z)) 1)
(+.f64 x (*.f64 y z))
(*.f64 (+.f64 x (*.f64 y z)) (/.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))
(+.f64 x (*.f64 y z))
(*.f64 1 (+.f64 x (*.f64 y z)))
(+.f64 x (*.f64 y z))
(*.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (/.f64 1 (+.f64 x (*.f64 y z))))
(+.f64 x (*.f64 y z))
(*.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (*.f64 (/.f64 1 (+.f64 x (*.f64 y z))) 1))
(+.f64 x (*.f64 y z))
(*.f64 (/.f64 1 (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))
(+.f64 x (*.f64 y z))
(*.f64 (*.f64 (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z)))) (/.f64 (/.f64 1 (+.f64 x (*.f64 y z))) (*.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z)))))
(+.f64 x (*.f64 y z))
(/.f64 (+.f64 x (*.f64 y z)) 1)
(+.f64 x (*.f64 y z))
(/.f64 (+.f64 x (*.f64 y z)) (/.f64 (+.f64 x (*.f64 y z)) (+.f64 x (*.f64 y z))))
(+.f64 x (*.f64 y z))
(pow.f64 (+.f64 x (*.f64 y z)) 1)
(+.f64 x (*.f64 y z))

eval28.0ms (0.3%)

Compiler

Compiled 2047 to 733 computations (64.2% saved)

prune34.0ms (0.3%)

Pruning

13 alts after pruning (8 fresh and 5 done)

PrunedKeptTotal
New1436149
Fresh123
Picked011
Done044
Total14413157
Error
0b
Counts
157 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(/.f64 (+.f64 x (*.f64 y z)) z)
32.5b
(/.f64 (*.f64 y (-.f64 z x)) z)
55.6b
(/.f64 (*.f64 y (neg.f64 x)) z)
39.7b
(/.f64 (*.f64 y z) z)
33.2b
(/.f64 (*.f64 x (-.f64 1 y)) z)
39.8b
(/.f64 x z)
0.1b
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
9.4b
(+.f64 (/.f64 x z) y)
3.0b
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
3.1b
(+.f64 y (*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) (neg.f64 x)))
25.7b
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
33.3b
(*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) (neg.f64 x))
31.8b
y
Compiler

Compiled 206 to 134 computations (35% saved)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 31 to 18 computations (41.9% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite94.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
2024×rational.json-5
2022×rational.json-1
2022×rational.json-2
2022×rational.json-4
2022×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
18425
226525
398425
4389625
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))) (/.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)))))

simplify291.0ms (2.6%)

Algorithm
egg-herbie
Rules
1294×rational.json-simplify-47
1078×rational.json-simplify-49
902×exponential.json-simplify-26
886×rational.json-simplify-2
780×rational.json-simplify-50
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0461217
1811195
22161195
311551151
448801151
577061151
Stop Event
node limit
Counts
47 → 31
Calls
Call 1
Inputs
(/.f64 x z)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
y
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
y
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
y
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(-.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 0)
(*.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))
(*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)
(*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(*.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(*.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) 1))
(*.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(*.f64 (*.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))) (/.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))))
(/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)
(/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(pow.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)
Outputs
(/.f64 x z)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (-.f64 1 (/.f64 x z)))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (-.f64 1 (/.f64 x z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
y
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
y
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
y
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(-.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 0)
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) 1))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(*.f64 (*.f64 (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))) (/.f64 (/.f64 1 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))) (*.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)))))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (/.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(pow.f64 (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) 1)
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite86.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify231.0ms (2.1%)

Algorithm
egg-herbie
Rules
1332×rational.json-simplify-2
936×rational.json-simplify-43
920×rational.json-simplify-54
776×rational.json-simplify-1
722×rational.json-simplify-58
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057683
1124683
2356683
31986683
45306683
57556683
Stop Event
node limit
Counts
59 → 26
Calls
Call 1
Inputs
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(-.f64 (/.f64 x z) (neg.f64 y))
(-.f64 y (neg.f64 (/.f64 x z)))
(-.f64 (+.f64 (/.f64 x z) y) 0)
(-.f64 0 (-.f64 (neg.f64 y) (/.f64 x z)))
(-.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 1 (/.f64 x z)))
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 x z))) (-.f64 1 y))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 (/.f64 x z) y))) 1)
(-.f64 (-.f64 y (-.f64 -1 (/.f64 x z))) 1)
(-.f64 (-.f64 (/.f64 x z) (-.f64 -1 y)) 1)
(*.f64 (+.f64 (/.f64 x z) y) 1)
(*.f64 (+.f64 (/.f64 x z) y) (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))
(*.f64 1 (+.f64 (/.f64 x z) y))
(*.f64 (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (+.f64 (/.f64 x z) y))
(*.f64 (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (/.f64 1 (+.f64 (/.f64 x z) y)))
(*.f64 (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (/.f64 (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (+.f64 (/.f64 x z) y)))
(*.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))
(*.f64 (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))) (/.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))))
(*.f64 (/.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))))
(*.f64 (*.f64 (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))))) (/.f64 (/.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))))))
(/.f64 (+.f64 (/.f64 x z) y) 1)
(/.f64 (+.f64 (/.f64 x z) y) (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))
(pow.f64 (+.f64 (/.f64 x z) y) 1)
(neg.f64 (-.f64 (neg.f64 y) (/.f64 x z)))
Outputs
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(/.f64 x z)
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
y
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(+.f64 y (/.f64 x z))
(-.f64 (/.f64 x z) (neg.f64 y))
(+.f64 y (/.f64 x z))
(-.f64 y (neg.f64 (/.f64 x z)))
(+.f64 y (/.f64 x z))
(-.f64 (+.f64 (/.f64 x z) y) 0)
(+.f64 y (/.f64 x z))
(-.f64 0 (-.f64 (neg.f64 y) (/.f64 x z)))
(+.f64 y (/.f64 x z))
(-.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 1 (/.f64 x z)))
(+.f64 y (/.f64 x z))
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 x z))) (-.f64 1 y))
(+.f64 y (/.f64 x z))
(-.f64 (-.f64 0 (-.f64 -1 (+.f64 (/.f64 x z) y))) 1)
(+.f64 y (/.f64 x z))
(-.f64 (-.f64 y (-.f64 -1 (/.f64 x z))) 1)
(+.f64 y (/.f64 x z))
(-.f64 (-.f64 (/.f64 x z) (-.f64 -1 y)) 1)
(+.f64 y (/.f64 x z))
(*.f64 (+.f64 (/.f64 x z) y) 1)
(+.f64 y (/.f64 x z))
(*.f64 (+.f64 (/.f64 x z) y) (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))
(+.f64 y (/.f64 x z))
(*.f64 1 (+.f64 (/.f64 x z) y))
(+.f64 y (/.f64 x z))
(*.f64 (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (+.f64 (/.f64 x z) y))
(+.f64 y (/.f64 x z))
(*.f64 (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (/.f64 1 (+.f64 (/.f64 x z) y)))
(+.f64 y (/.f64 x z))
(*.f64 (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (/.f64 (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)) (+.f64 (/.f64 x z) y)))
(+.f64 y (/.f64 x z))
(*.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))
(+.f64 y (/.f64 x z))
(*.f64 (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))) (/.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))))
(+.f64 y (/.f64 x z))
(*.f64 (/.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))))
(+.f64 y (/.f64 x z))
(*.f64 (*.f64 (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))))) (/.f64 (/.f64 (/.f64 1 (+.f64 (/.f64 x z) y)) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (*.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y))))))
(+.f64 y (/.f64 x z))
(/.f64 (+.f64 (/.f64 x z) y) 1)
(+.f64 y (/.f64 x z))
(/.f64 (+.f64 (/.f64 x z) y) (/.f64 (+.f64 (/.f64 x z) y) (+.f64 (/.f64 x z) y)))
(+.f64 y (/.f64 x z))
(pow.f64 (+.f64 (/.f64 x z) y) 1)
(+.f64 y (/.f64 x z))
(neg.f64 (-.f64 (neg.f64 y) (/.f64 x z)))
(+.f64 y (/.f64 x z))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
13.9b
(/.f64 (*.f64 y z) z)
Compiler

Compiled 13 to 5 computations (61.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite83.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify322.0ms (2.9%)

Algorithm
egg-herbie
Rules
1120×rational.json-simplify-111
990×rational.json-simplify-47
928×rational.json-simplify-58
922×rational.json-simplify-1
846×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038245
179245
2166245
3822245
43555245
55903245
Stop Event
node limit
Counts
41 → 19
Calls
Call 1
Inputs
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
(+.f64 (/.f64 (*.f64 y z) z) 0)
(+.f64 0 (/.f64 (*.f64 y z) z))
(-.f64 (/.f64 (*.f64 y z) z) 0)
(-.f64 0 (neg.f64 (/.f64 (*.f64 y z) z)))
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 (*.f64 y z) z))) 1)
(*.f64 (/.f64 (*.f64 y z) z) 1)
(*.f64 (/.f64 (*.f64 y z) z) (/.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))
(*.f64 1 (/.f64 (*.f64 y z) z))
(*.f64 (/.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 (*.f64 y z) z))
(*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 1 (/.f64 (*.f64 y z) z)))
(*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 (/.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 (*.f64 y z) z)))
(*.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))
(*.f64 (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (/.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))))
(*.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))))
(*.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))) (/.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))))
(pow.f64 (/.f64 (*.f64 y z) z) 1)
(neg.f64 (neg.f64 (/.f64 (*.f64 y z) z)))
Outputs
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
(+.f64 (/.f64 (*.f64 y z) z) 0)
(/.f64 (*.f64 y z) z)
(+.f64 0 (/.f64 (*.f64 y z) z))
(/.f64 (*.f64 y z) z)
(-.f64 (/.f64 (*.f64 y z) z) 0)
(/.f64 (*.f64 y z) z)
(-.f64 0 (neg.f64 (/.f64 (*.f64 y z) z)))
(/.f64 (*.f64 y z) z)
(-.f64 (-.f64 0 (-.f64 -1 (/.f64 (*.f64 y z) z))) 1)
(/.f64 (*.f64 y z) z)
(*.f64 (/.f64 (*.f64 y z) z) 1)
(/.f64 (*.f64 y z) z)
(*.f64 (/.f64 (*.f64 y z) z) (/.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))
(/.f64 (*.f64 y z) z)
(*.f64 1 (/.f64 (*.f64 y z) z))
(/.f64 (*.f64 y z) z)
(*.f64 (/.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 (*.f64 y z) z))
(/.f64 (*.f64 y z) z)
(*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 1 (/.f64 (*.f64 y z) z)))
(/.f64 (*.f64 y z) z)
(*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 (/.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (/.f64 (*.f64 y z) z)))
(/.f64 (*.f64 y z) z)
(*.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))
(/.f64 (*.f64 y z) z)
(*.f64 (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (/.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))))
(/.f64 (*.f64 y z) z)
(*.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))))
(/.f64 (*.f64 y z) z)
(*.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))) (/.f64 (/.f64 (/.f64 1 (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z))) (*.f64 (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)) (*.f64 (/.f64 (*.f64 y z) z) (/.f64 (*.f64 y z) z)))))
(/.f64 (*.f64 y z) z)
(pow.f64 (/.f64 (*.f64 y z) z) 1)
(/.f64 (*.f64 y z) z)
(neg.f64 (neg.f64 (/.f64 (*.f64 y z) z)))
(/.f64 (*.f64 y z) z)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.7b
(/.f64 (*.f64 y (neg.f64 x)) z)
Compiler

Compiled 18 to 6 computations (66.7% saved)

series7.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite108.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1954×rational.json-1
1954×rational.json-2
1954×rational.json-3
1950×rational.json-5
1948×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
17917
226917
396317
4387217
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(/.f64 (*.f64 y (neg.f64 x)) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 y (neg.f64 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)) (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 1)))))

simplify210.0ms (1.9%)

Algorithm
egg-herbie
Rules
1194×rational.json-simplify-50
1158×rational.json-simplify-58
1060×rational.json-simplify-43
1058×rational.json-simplify-54
580×rational.json-simplify-111
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
033871
156799
2110799
3315799
42204799
55502799
Stop Event
node limit
Counts
47 → 15
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 0)
(+.f64 0 (/.f64 (*.f64 y (neg.f64 x)) z))
(-.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 0)
(*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 1)
(*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))
(*.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z))
(*.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)) (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)))
(*.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) 1))
(*.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))
(*.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z))))
(pow.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 1)
Outputs
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 0)
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(+.f64 0 (/.f64 (*.f64 y (neg.f64 x)) z))
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(-.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 0)
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 1)
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(*.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z))
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(*.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)) (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)))
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(*.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) 1))
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(*.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(*.f64 (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z)))) (/.f64 (/.f64 1 (/.f64 (*.f64 y (neg.f64 x)) z)) (*.f64 (/.f64 (*.f64 y (neg.f64 x)) z) (/.f64 (*.f64 y (neg.f64 x)) z))))
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)
(pow.f64 (/.f64 (*.f64 y (neg.f64 x)) z) 1)
(/.f64 (*.f64 y (neg.f64 x)) z)
(/.f64 (*.f64 x (neg.f64 y)) z)

localize16.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 7 computations (75% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

18 calls:

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

rewrite140.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1078×rational.json-simplify-2
906×rational.json-simplify-79
606×rational.json-simplify-47
542×rational.json-simplify-54
516×rational.json-simplify-58
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01036
18836
229336
3104536
4417332
Stop Event
node limit
Counts
2 → 69
Calls
Call 1
Inputs
(/.f64 (*.f64 y x) z)
(+.f64 y (neg.f64 (/.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 1 (-.f64 (/.f64 (*.f64 y x) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (/.f64 (*.f64 y x) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 y x) z) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 y x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (/.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 -1 (/.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 y x) z) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 y x) z) 1) -1)))) (#(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 (neg.f64 (/.f64 (*.f64 y x) z)) -1)))) (#(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 -1 (neg.f64 (/.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 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (neg.f64 (/.f64 1 (neg.f64 (/.f64 (*.f64 y x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (neg.f64 (/.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 (/.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 (neg.f64 (/.f64 (*.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z))) (neg.f64 (/.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 (*.f64 y x) z) (*.f64 (/.f64 (*.f64 y x) z) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))) (/.f64 (neg.f64 (/.f64 1 (neg.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 (*.f64 (/.f64 (*.f64 y x) z) (*.f64 (/.f64 (*.f64 y x) z) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))) (/.f64 (neg.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 (neg.f64 (/.f64 1 (neg.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 (neg.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 *.f64 (*.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 (*.f64 y x) z) (*.f64 (/.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))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 y x) z)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 y (/.f64 (*.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (/.f64 (*.f64 y x) z)) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (/.f64 (*.f64 y x) z) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 (/.f64 (*.f64 y x) z) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (/.f64 (*.f64 y x) z) (-.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (-.f64 -1 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 -1 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y 1) (+.f64 (/.f64 (*.f64 y x) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (-.f64 -1 (/.f64 (*.f64 y x) z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (neg.f64 y)) (+.f64 (/.f64 (*.f64 y x) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (+.f64 (/.f64 (*.f64 y x) z) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y x) z)) (-.f64 -1 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 y)) (+.f64 (/.f64 (*.f64 y x) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) 1)) (-.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) (+.f64 y 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (-.f64 (/.f64 (*.f64 y x) z) 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 y (/.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (-.f64 y (/.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (/.f64 (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (-.f64 y (/.f64 (*.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))) (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))) (/.f64 (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (*.f64 y x) z) y))))))

simplify156.0ms (1.4%)

Algorithm
egg-herbie
Rules
1930×rational.json-simplify-47
1398×rational.json-simplify-50
1322×rational.json-simplify-55
1232×rational.json-simplify-43
1102×rational.json-simplify-54
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01401957
12991741
28701741
337471741
Stop Event
node limit
Counts
105 → 80
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (/.f64 (*.f64 y x) z) 0)
(+.f64 0 (/.f64 (*.f64 y x) z))
(+.f64 1 (-.f64 (/.f64 (*.f64 y x) z) 1))
(+.f64 -1 (+.f64 (/.f64 (*.f64 y x) z) 1))
(+.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) -1)
(+.f64 (-.f64 (/.f64 (*.f64 y x) z) 1) 1)
(-.f64 (/.f64 (*.f64 y x) z) 0)
(-.f64 0 (neg.f64 (/.f64 (*.f64 y x) z)))
(-.f64 1 (-.f64 1 (/.f64 (*.f64 y x) z)))
(-.f64 -1 (-.f64 -1 (/.f64 (*.f64 y x) z)))
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) 1)
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) 2) 2)
(-.f64 (-.f64 (/.f64 (*.f64 y x) z) 1) -1)
(*.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 (neg.f64 (/.f64 (*.f64 y x) z)) -1)
(*.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 -1 (neg.f64 (/.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 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (neg.f64 (/.f64 1 (neg.f64 (/.f64 (*.f64 y x) z)))))
(*.f64 (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (neg.f64 (/.f64 -1 (/.f64 (*.f64 y x) z))))
(*.f64 (*.f64 (/.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 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (/.f64 -1 (neg.f64 (/.f64 (*.f64 y x) z))))
(*.f64 (neg.f64 (/.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z))) (neg.f64 (/.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 (*.f64 y x) z) (*.f64 (/.f64 (*.f64 y x) z) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))) (/.f64 (neg.f64 (/.f64 1 (neg.f64 (/.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 (neg.f64 (/.f64 -1 (/.f64 (*.f64 y x) z))) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z))))
(*.f64 (neg.f64 (/.f64 1 (neg.f64 (/.f64 (*.f64 y x) z)))) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))
(*.f64 (neg.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)))))
(*.f64 (*.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 (*.f64 y x) z) (*.f64 (/.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)
(neg.f64 (neg.f64 (/.f64 (*.f64 y x) z)))
(-.f64 y (/.f64 (*.f64 y x) z))
(-.f64 (neg.f64 (/.f64 (*.f64 y x) z)) (neg.f64 y))
(-.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 0)
(-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) y))
(-.f64 0 (+.f64 (/.f64 (*.f64 y x) z) (neg.f64 y)))
(-.f64 1 (+.f64 (/.f64 (*.f64 y x) z) (-.f64 1 y)))
(-.f64 1 (+.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) (neg.f64 y)))
(-.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (-.f64 -1 y))
(-.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 -1 (neg.f64 y)))
(-.f64 (+.f64 y 1) (+.f64 (/.f64 (*.f64 y x) z) 1))
(-.f64 (+.f64 y (-.f64 -1 (/.f64 (*.f64 y x) z))) -1)
(-.f64 (-.f64 1 (neg.f64 y)) (+.f64 (/.f64 (*.f64 y x) z) 1))
(-.f64 (-.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (neg.f64 y)) -1)
(-.f64 (-.f64 y (+.f64 (/.f64 (*.f64 y x) z) 1)) -1)
(-.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y x) z)) (-.f64 -1 y)) 1)
(-.f64 (-.f64 0 (-.f64 -1 y)) (+.f64 (/.f64 (*.f64 y x) z) 1))
(-.f64 (-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) 1)) (-.f64 1 y))
(-.f64 (-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) (+.f64 y 1))) 1)
(-.f64 (-.f64 y (-.f64 (/.f64 (*.f64 y x) z) 1)) 1)
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(*.f64 1 (-.f64 y (/.f64 (*.f64 y x) z)))
(*.f64 (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (-.f64 y (/.f64 (*.f64 y x) z)))
(*.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y))
(*.f64 (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))))
(*.f64 (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (/.f64 (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (-.f64 y (/.f64 (*.f64 y x) z))))
(*.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))) (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))
(*.f64 (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))
(*.f64 (*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))) (/.f64 (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))))
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(pow.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(neg.f64 (-.f64 (/.f64 (*.f64 y x) z) y))
Outputs
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (/.f64 (*.f64 y x) z) 0)
(/.f64 (*.f64 x y) z)
(+.f64 0 (/.f64 (*.f64 y x) z))
(/.f64 (*.f64 x y) z)
(+.f64 1 (-.f64 (/.f64 (*.f64 y x) z) 1))
(/.f64 (*.f64 x y) z)
(+.f64 -1 (+.f64 (/.f64 (*.f64 y x) z) 1))
(/.f64 (*.f64 x y) z)
(+.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) -1)
(/.f64 (*.f64 x y) z)
(+.f64 (-.f64 (/.f64 (*.f64 y x) z) 1) 1)
(/.f64 (*.f64 x y) z)
(-.f64 (/.f64 (*.f64 y x) z) 0)
(/.f64 (*.f64 x y) z)
(-.f64 0 (neg.f64 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(-.f64 1 (-.f64 1 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(-.f64 -1 (-.f64 -1 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) 1)
(/.f64 (*.f64 x y) z)
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) 2) 2)
(/.f64 (*.f64 x y) z)
(-.f64 (-.f64 (/.f64 (*.f64 y x) z) 1) -1)
(/.f64 (*.f64 x y) z)
(*.f64 (/.f64 (*.f64 y x) z) 1)
(/.f64 (*.f64 x y) z)
(*.f64 (/.f64 (*.f64 y x) z) (/.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(*.f64 (neg.f64 (/.f64 (*.f64 y x) z)) -1)
(/.f64 (*.f64 x y) z)
(*.f64 1 (/.f64 (*.f64 y x) z))
(/.f64 (*.f64 x y) z)
(*.f64 (/.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (/.f64 (*.f64 y x) z))
(/.f64 (*.f64 x y) z)
(*.f64 -1 (neg.f64 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(*.f64 (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (/.f64 1 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(*.f64 (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (neg.f64 (/.f64 1 (neg.f64 (/.f64 (*.f64 y x) z)))))
(/.f64 (*.f64 x y) z)
(*.f64 (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (neg.f64 (/.f64 -1 (/.f64 (*.f64 y x) z))))
(/.f64 (*.f64 x y) z)
(*.f64 (*.f64 (/.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 x y) z)
(*.f64 (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)) (/.f64 -1 (neg.f64 (/.f64 (*.f64 y x) z))))
(/.f64 (*.f64 x y) z)
(*.f64 (neg.f64 (/.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z))) (neg.f64 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(*.f64 (/.f64 1 (/.f64 (*.f64 y x) z)) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) 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 x y) 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 (neg.f64 (/.f64 1 (neg.f64 (/.f64 (*.f64 y x) z)))) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z))))
(/.f64 (*.f64 x y) 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 (neg.f64 (/.f64 -1 (/.f64 (*.f64 y x) z))) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z))))
(/.f64 (*.f64 x y) z)
(*.f64 (neg.f64 (/.f64 1 (neg.f64 (/.f64 (*.f64 y x) z)))) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(*.f64 (neg.f64 (/.f64 -1 (/.f64 (*.f64 y x) z))) (*.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) 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 x y) z)
(*.f64 (*.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 (*.f64 y x) z) (*.f64 (/.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))))))
(/.f64 (*.f64 x y) z)
(pow.f64 (/.f64 (*.f64 y x) z) 1)
(/.f64 (*.f64 x y) z)
(neg.f64 (neg.f64 (/.f64 (*.f64 y x) z)))
(/.f64 (*.f64 x y) z)
(-.f64 y (/.f64 (*.f64 y x) z))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (neg.f64 (/.f64 (*.f64 y x) z)) (neg.f64 y))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 0)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) y))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 0 (+.f64 (/.f64 (*.f64 y x) z) (neg.f64 y)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 1 (+.f64 (/.f64 (*.f64 y x) z) (-.f64 1 y)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 1 (+.f64 (+.f64 (/.f64 (*.f64 y x) z) 1) (neg.f64 y)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (-.f64 -1 y))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (+.f64 -1 (neg.f64 y)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (+.f64 y 1) (+.f64 (/.f64 (*.f64 y x) z) 1))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (+.f64 y (-.f64 -1 (/.f64 (*.f64 y x) z))) -1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 1 (neg.f64 y)) (+.f64 (/.f64 (*.f64 y x) z) 1))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 (-.f64 -1 (/.f64 (*.f64 y x) z)) (neg.f64 y)) -1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 y (+.f64 (/.f64 (*.f64 y x) z) 1)) -1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 (neg.f64 (/.f64 (*.f64 y x) z)) (-.f64 -1 y)) 1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 0 (-.f64 -1 y)) (+.f64 (/.f64 (*.f64 y x) z) 1))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) 1)) (-.f64 1 y))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 0 (-.f64 (/.f64 (*.f64 y x) z) (+.f64 y 1))) 1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(-.f64 (-.f64 y (-.f64 (/.f64 (*.f64 y x) z) 1)) 1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 1 (-.f64 y (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (-.f64 y (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (/.f64 (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)) (-.f64 y (/.f64 (*.f64 y x) z))))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))) (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))) (/.f64 (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y))))))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(pow.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(neg.f64 (-.f64 (/.f64 (*.f64 y x) z) y))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(-.f64 y (/.f64 (*.f64 x y) z))

eval290.0ms (2.6%)

Compiler

Compiled 3402 to 1019 computations (70% saved)

prune52.0ms (0.5%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New2024206
Fresh213
Picked101
Done279
Total20712219
Error
0b
Counts
219 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(/.f64 (+.f64 x (*.f64 y z)) z)
55.6b
(/.f64 (*.f64 y (neg.f64 x)) z)
39.7b
(/.f64 (*.f64 y z) z)
33.2b
(/.f64 (*.f64 x (-.f64 1 y)) z)
39.8b
(/.f64 x z)
25.7b
(-.f64 y (/.f64 (*.f64 y x) z))
9.4b
(+.f64 (/.f64 x z) y)
3.0b
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
3.1b
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
33.3b
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
22.7b
(*.f64 (-.f64 1 (/.f64 x z)) y)
31.8b
y
Compiler

Compiled 113 to 74 computations (34.5% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 10 computations (54.5% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite88.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify241.0ms (2.2%)

Algorithm
egg-herbie
Rules
1438×rational.json-simplify-79
1266×rational.json-simplify-49
894×rational.json-simplify-47
890×rational.json-simplify-2
874×rational.json-simplify-76
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022624
136582
286582
3237582
4951582
52098582
65197582
76805582
Stop Event
node limit
Counts
30 → 13
Calls
Call 1
Inputs
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 0)
(+.f64 0 (*.f64 (-.f64 1 (/.f64 x z)) y))
(-.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 0)
(/.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 1)
(/.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (*.f64 (-.f64 1 (/.f64 x z)) y)))
(pow.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 1)
Outputs
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 0)
(*.f64 y (-.f64 1 (/.f64 x z)))
(+.f64 0 (*.f64 (-.f64 1 (/.f64 x z)) y))
(*.f64 y (-.f64 1 (/.f64 x z)))
(-.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 0)
(*.f64 y (-.f64 1 (/.f64 x z)))
(/.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 1)
(*.f64 y (-.f64 1 (/.f64 x z)))
(/.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (/.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) (*.f64 (-.f64 1 (/.f64 x z)) y)))
(*.f64 y (-.f64 1 (/.f64 x z)))
(pow.f64 (*.f64 (-.f64 1 (/.f64 x z)) y) 1)
(*.f64 y (-.f64 1 (/.f64 x z)))

localize21.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 14 computations (51.7% saved)

series8.0ms (0.1%)

Counts
2 → 48
Calls

15 calls:

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

rewrite113.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
2024×rational.json-5
2022×rational.json-1
2022×rational.json-2
2022×rational.json-4
2022×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
18344
226444
397544
4386744
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
(-.f64 (/.f64 1 z) (/.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (/.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (/.f64 1 z) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (/.f64 y z) (/.f64 1 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 y z) (/.f64 1 z)))))))

simplify213.0ms (1.9%)

Algorithm
egg-herbie
Rules
1552×rational.json-simplify-47
1382×rational.json-simplify-49
1260×rational.json-simplify-2
868×rational.json-simplify-50
808×rational.json-simplify-43
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0601420
11041376
22941376
316171376
464501376
Stop Event
node limit
Counts
70 → 41
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 1 z)
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(*.f64 -1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(*.f64 -1 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 0)
(+.f64 0 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(-.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 0)
(/.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 1)
(/.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (/.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(pow.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 1)
(+.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 0)
(+.f64 0 (-.f64 (/.f64 1 z) (/.f64 y z)))
(+.f64 (-.f64 -1 (-.f64 (/.f64 y z) (/.f64 1 z))) 1)
(*.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z)))
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) -1)
(*.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) 1))
(*.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (*.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z)))))
(/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)
(/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))
(/.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) -1)
(pow.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)
(neg.f64 (-.f64 (/.f64 y z) (/.f64 1 z)))
Outputs
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z)
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(/.f64 x z)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(neg.f64 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 -1 (/.f64 (*.f64 y x) z)))
(+.f64 (/.f64 x z) (neg.f64 (/.f64 (*.f64 y x) z)))
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 (+.f64 1 (*.f64 -1 y)) z)
(/.f64 (-.f64 1 y) z)
(/.f64 1 z)
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(*.f64 -1 (/.f64 y z))
(neg.f64 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(*.f64 -1 (/.f64 y z))
(neg.f64 (/.f64 y z))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(+.f64 (*.f64 -1 (/.f64 y z)) (/.f64 1 z))
(+.f64 (/.f64 1 z) (*.f64 -1 (/.f64 y z)))
(+.f64 (/.f64 1 z) (neg.f64 (/.f64 y z)))
(+.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 0)
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(+.f64 0 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(-.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 0)
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(/.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 1)
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(/.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (/.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(pow.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) 1)
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(+.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 0)
(-.f64 (/.f64 1 z) (/.f64 y z))
(+.f64 0 (-.f64 (/.f64 1 z) (/.f64 y z)))
(-.f64 (/.f64 1 z) (/.f64 y z))
(+.f64 (-.f64 -1 (-.f64 (/.f64 y z) (/.f64 1 z))) 1)
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z)))
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) -1)
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) 1))
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (/.f64 1 z) (/.f64 y z))
(*.f64 (*.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z)))) (/.f64 (/.f64 1 (-.f64 (/.f64 1 z) (/.f64 y z))) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z)))))
(-.f64 (/.f64 1 z) (/.f64 y z))
(/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)
(-.f64 (/.f64 1 z) (/.f64 y z))
(/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (/.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (/.f64 1 z) (/.f64 y z))
(/.f64 (-.f64 (/.f64 y z) (/.f64 1 z)) -1)
(-.f64 (/.f64 1 z) (/.f64 y z))
(pow.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) 1)
(-.f64 (/.f64 1 z) (/.f64 y z))
(neg.f64 (-.f64 (/.f64 y z) (/.f64 1 z)))
(-.f64 (/.f64 1 z) (/.f64 y z))

localize34.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 40 to 19 computations (52.5% saved)

series2.0ms (0%)

Counts
1 → 27
Calls

9 calls:

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

rewrite137.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1072×rational.json-simplify-2
1000×rational.json-simplify-79
588×rational.json-simplify-47
542×rational.json-simplify-54
524×rational.json-simplify-58
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01131
19231
229031
3107731
4429031
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 y (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (-.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (-.f64 -1 y) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (-.f64 -1 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 y (-.f64 -1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (/.f64 (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))) (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) y))))))

simplify203.0ms (1.8%)

Algorithm
egg-herbie
Rules
1352×rational.json-simplify-2
1146×rational.json-simplify-50
938×rational.json-simplify-58
898×rational.json-simplify-54
892×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0761492
11641378
24081378
319201334
456671334
Stop Event
node limit
Counts
50 → 44
Calls
Call 1
Inputs
(/.f64 x z)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
y
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
y
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
y
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
(-.f64 y (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(-.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (neg.f64 y))
(-.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 0)
(-.f64 0 (-.f64 (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) y))
(-.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (-.f64 1 y))
(-.f64 (-.f64 0 (-.f64 (-.f64 -1 y) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) 1)
(-.f64 (-.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (-.f64 -1 y)) 1)
(-.f64 (-.f64 y (-.f64 -1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) 1)
(*.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)
(*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(*.f64 (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (/.f64 (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(*.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))) (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))
(*.f64 (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))
(*.f64 (*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))))
(/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)
(/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(pow.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)
(neg.f64 (-.f64 (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) y))
Outputs
(/.f64 x z)
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (-.f64 1 (/.f64 x z)))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z)))) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y))
(*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1)))
(*.f64 y (+.f64 1 (neg.f64 (/.f64 x z))))
(*.f64 y (-.f64 1 (/.f64 x z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 (/.f64 x z) 1) y)) (/.f64 x z))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (*.f64 (/.f64 x z) -1))))
(+.f64 (/.f64 x z) (*.f64 y (+.f64 1 (neg.f64 (/.f64 x z)))))
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(/.f64 (*.f64 (-.f64 1 y) x) z)
(/.f64 (*.f64 x (-.f64 1 y)) z)
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
y
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (-.f64 1 y) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
y
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
(+.f64 y (/.f64 (*.f64 (+.f64 1 (*.f64 -1 y)) x) z))
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
y
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
(*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))
(-.f64 y (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (neg.f64 y))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 0)
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 0 (-.f64 (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) y))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (-.f64 0 (-.f64 -1 y)) (-.f64 1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (-.f64 1 y))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (-.f64 0 (-.f64 (-.f64 -1 y) (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) 1)
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (-.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x) (-.f64 -1 y)) 1)
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(-.f64 (-.f64 y (-.f64 -1 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) 1)
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (/.f64 (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))) (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(*.f64 (*.f64 (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))) (/.f64 (/.f64 (/.f64 1 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (*.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)))))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (/.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x))))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(pow.f64 (+.f64 y (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) 1)
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))
(neg.f64 (-.f64 (neg.f64 (*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)) y))
(-.f64 y (neg.f64 (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z)))))
(+.f64 y (*.f64 x (-.f64 (/.f64 1 z) (/.f64 y z))))

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 6 computations (71.4% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite109.0ms (1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
16719
223219
386219
4339319
Stop Event
node limit
Counts
1 → 17
Calls
Call 1
Inputs
(-.f64 y (/.f64 (*.f64 y x) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 y (/.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 y (/.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 (*.f64 y x) z) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))) (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))))) (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 (*.f64 y x) z) y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (*.f64 y x) z) y))))))

simplify291.0ms (2.6%)

Algorithm
egg-herbie
Rules
1206×rational.json-simplify-2
1204×rational.json-simplify-58
986×rational.json-simplify-43
860×rational.json-simplify-111
784×rational.json-simplify-54
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0461061
1781019
21301019
33451019
418321019
540841019
668791019
Stop Event
node limit
Counts
53 → 28
Calls
Call 1
Inputs
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(*.f64 -1 (/.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 0)
(+.f64 0 (-.f64 y (/.f64 (*.f64 y x) z)))
(+.f64 1 (-.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y)))
(+.f64 (-.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y)) 1)
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(*.f64 1 (-.f64 y (/.f64 (*.f64 y x) z)))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) -1)
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))) (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))))
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) 1))
(*.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))))
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))))) (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z)))))
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) -1)
(pow.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(neg.f64 (-.f64 (/.f64 (*.f64 y x) z) y))
Outputs
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
(*.f64 y (+.f64 1 (*.f64 -1 (/.f64 x z))))
(*.f64 (-.f64 1 (/.f64 x z)) y)
(*.f64 y (-.f64 1 (/.f64 x z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 x y) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 x y) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(*.f64 -1 (/.f64 (*.f64 y x) z))
(*.f64 -1 (/.f64 (*.f64 x y) z))
(neg.f64 (/.f64 (*.f64 x y) z))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
y
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 y x) z)) y)
(+.f64 y (*.f64 -1 (/.f64 (*.f64 x y) z)))
(+.f64 y (neg.f64 (/.f64 (*.f64 x y) z)))
(+.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 0)
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 0 (-.f64 y (/.f64 (*.f64 y x) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 1 (-.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y)))
(-.f64 y (/.f64 (*.f64 x y) z))
(+.f64 (-.f64 -1 (-.f64 (/.f64 (*.f64 y x) z) y)) 1)
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 1 (-.f64 y (/.f64 (*.f64 y x) z)))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) -1)
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))) (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) 1))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))))
(-.f64 y (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z))))) (/.f64 (/.f64 1 (-.f64 y (/.f64 (*.f64 y x) z))) (*.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (-.f64 y (/.f64 (*.f64 y x) z)))))
(-.f64 y (/.f64 (*.f64 x y) z))
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(-.f64 y (/.f64 (*.f64 x y) z))
(/.f64 (-.f64 y (/.f64 (*.f64 y x) z)) (/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) (-.f64 (/.f64 (*.f64 y x) z) y)))
(-.f64 y (/.f64 (*.f64 x y) z))
(/.f64 (-.f64 (/.f64 (*.f64 y x) z) y) -1)
(-.f64 y (/.f64 (*.f64 x y) z))
(pow.f64 (-.f64 y (/.f64 (*.f64 y x) z)) 1)
(-.f64 y (/.f64 (*.f64 x y) z))
(neg.f64 (-.f64 (/.f64 (*.f64 y x) z) y))
(-.f64 y (/.f64 (*.f64 x y) z))

eval83.0ms (0.8%)

Compiler

Compiled 3340 to 1352 computations (59.5% saved)

prune116.0ms (1.1%)

Pruning

14 alts after pruning (5 fresh and 9 done)

PrunedKeptTotal
New1994203
Fresh011
Picked011
Done2810
Total20114215
Error
0b
Counts
215 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
17.3b
(/.f64 (+.f64 x (*.f64 y z)) z)
55.6b
(/.f64 (*.f64 y (neg.f64 x)) z)
39.7b
(/.f64 (*.f64 y z) z)
39.8b
(/.f64 x z)
25.7b
(-.f64 y (/.f64 (*.f64 y x) z))
9.4b
(+.f64 (/.f64 x z) y)
3.0b
(+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z))
25.6b
(+.f64 y (*.f64 (neg.f64 (/.f64 y z)) x))
33.3b
(*.f64 (/.f64 (-.f64 1 y) z) x)
39.9b
(*.f64 (/.f64 1 z) x)
33.3b
(*.f64 (-.f64 (/.f64 1 z) (/.f64 y z)) x)
22.7b
(*.f64 (-.f64 1 (/.f64 x z)) y)
55.6b
(*.f64 (neg.f64 (/.f64 y z)) x)
31.8b
y
Compiler

Compiled 127 to 84 computations (33.9% saved)

regimes249.0ms (2.3%)

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

4 calls:

22.0ms
z
22.0ms
x
21.0ms
y
20.0ms
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
Compiler

Compiled 199 to 88 computations (55.8% saved)

regimes204.0ms (1.9%)

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

4 calls:

55.0ms
y
54.0ms
z
53.0ms
(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
35.0ms
x
Results
ErrorSegmentsBranch
1.1b2x
0.1b3y
0.1b3z
0.0b3(/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z)
Compiler

Compiled 164 to 74 computations (54.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.4292350862385013e+307
+inf
0.0ms
-inf
-4.6793968572308755e+288
Compiler

Compiled 18 to 12 computations (33.3% saved)

regimes156.0ms (1.4%)

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

3 calls:

58.0ms
x
47.0ms
y
46.0ms
z
Results
ErrorSegmentsBranch
7.2b4x
0.6b3y
7.6b3z
Compiler

Compiled 113 to 51 computations (54.9% saved)

bsearch51.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
0.00011668649686430289
118.89914285638389
24.0ms
-442.90956267127285
-0.008168097569815385
Results
44.0ms272×body256valid
Compiler

Compiled 358 to 250 computations (30.2% saved)

regimes52.0ms (0.5%)

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

3 calls:

26.0ms
y
12.0ms
z
10.0ms
x
Results
ErrorSegmentsBranch
9.4b1x
8.1b3y
9.4b1z
Compiler

Compiled 46 to 25 computations (45.7% saved)

bsearch51.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
1.5785788749394015e+76
4.481420680968277e+76
33.0ms
118.89914285638389
2265543116361963500.0
Results
44.0ms240×body256valid
0.0msbody256infinite
Compiler

Compiled 283 to 197 computations (30.4% saved)

regimes28.0ms (0.3%)

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

3 calls:

10.0ms
z
8.0ms
x
8.0ms
y
Results
ErrorSegmentsBranch
9.4b1x
9.4b1y
9.4b1z
Compiler

Compiled 34 to 19 computations (44.1% saved)

regimes83.0ms (0.8%)

Accuracy

Total -45.6b remaining (-279.1%)

Threshold costs -45.6b (-279.1%)

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

3 calls:

33.0ms
z
31.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
22.7b3x
16.4b5y
22.5b5z
Compiler

Compiled 24 to 16 computations (33.3% saved)

bsearch108.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
4.857589646815673e-39
1.2771212316807954e-34
26.0ms
-1.1807290275337985e-148
-6.307250728174106e-157
30.0ms
-2.3179479413984607e-113
-3.2105817461597833e-118
26.0ms
-8.531051380070268e-38
-2.2944222528119887e-41
Results
94.0ms544×body256valid
Compiler

Compiled 426 to 318 computations (25.4% saved)

simplify150.0ms (1.4%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057349
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(if (<=.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) -inf.0) (*.f64 (-.f64 1 (/.f64 x z)) y) (if (<=.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 19999999999999999720621195205129155434005283676252727750499321471767131705345487698129692828457921333572758560785309230786706345700504206672551904741230794021461383329378750357138079702146292679283246532142253440022040339106608037192915625377123894402342976922345843644278133859702564244005353335500042141696) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (*.f64 (neg.f64 (/.f64 y z)) x))))
(if (<=.f64 y -1) (*.f64 (-.f64 1 (/.f64 x z)) y) (if (<=.f64 y 1) (+.f64 (/.f64 x z) y) (*.f64 (-.f64 1 (/.f64 x z)) y)))
(if (<=.f64 y 2200000000000000000) (+.f64 (/.f64 x z) y) (if (<=.f64 y 15999999999999998824636498823699182776140851443191486196202342716485796888576) (*.f64 (neg.f64 (/.f64 y z)) x) y))
(+.f64 (/.f64 x z) y)
(if (<=.f64 y -6742980379809911/3064991081731777716716694054300618367237478244367204352) y (if (<=.f64 y -452499694080517/88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050368) (/.f64 x z) (if (<=.f64 y -5758609657015291/57586096570152913699974892898380567793532123114264532903689671329431521032595044740083720782129802971518987656109067457577065805510327036019308994315074097345724416) y (if (<=.f64 y 6129982163463555/766247770432944429179173513575154591809369561091801088) (/.f64 x z) y))))
y
Outputs
(+.f64 (/.f64 x z) (*.f64 y (-.f64 1 (/.f64 x z))))
(if (<=.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) -inf.0) (*.f64 (-.f64 1 (/.f64 x z)) y) (if (<=.f64 (/.f64 (+.f64 x (*.f64 y (-.f64 z x))) z) 19999999999999999720621195205129155434005283676252727750499321471767131705345487698129692828457921333572758560785309230786706345700504206672551904741230794021461383329378750357138079702146292679283246532142253440022040339106608037192915625377123894402342976922345843644278133859702564244005353335500042141696) (+.f64 y (/.f64 (*.f64 x (-.f64 1 y)) z)) (+.f64 y (*.f64 (neg.f64 (/.f64 y z)) x))))
(if (<=.f64 y -1) (*.f64 (-.f64 1 (/.f64 x z)) y) (if (<=.f64 y 1) (+.f64 (/.f64 x z) y) (*.f64 (-.f64 1 (/.f64 x z)) y)))
(if (<=.f64 y 2200000000000000000) (+.f64 (/.f64 x z) y) (if (<=.f64 y 15999999999999998824636498823699182776140851443191486196202342716485796888576) (*.f64 (neg.f64 (/.f64 y z)) x) y))
(+.f64 (/.f64 x z) y)
(if (<=.f64 y -6742980379809911/3064991081731777716716694054300618367237478244367204352) y (if (<=.f64 y -452499694080517/88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050368) (/.f64 x z) (if (<=.f64 y -5758609657015291/57586096570152913699974892898380567793532123114264532903689671329431521032595044740083720782129802971518987656109067457577065805510327036019308994315074097345724416) y (if (<=.f64 y 6129982163463555/766247770432944429179173513575154591809369561091801088) (/.f64 x z) y))))
y
Compiler

Compiled 158 to 89 computations (43.7% saved)

soundness933.0ms (8.5%)

Algorithm
egg-herbie
Rules
1552×rational.json-simplify-47
1500×rational.json-simplify-47
1500×rational.json-simplify-47
1382×rational.json-simplify-49
1260×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
033719
155677
2106677
3308677
42190677
55481677
0922938
11742650
24132650
315802590
458202590
0922938
11742650
24132650
315802590
458202590
0601420
11041376
22941376
316171376
464501376
Stop Event
node limit
node limit
node limit
node limit
Compiler

Compiled 243 to 143 computations (41.2% saved)

end69.0ms (0.6%)

Compiler

Compiled 140 to 61 computations (56.4% saved)

Profiling

Loading profile data...