Details

Time bar (total: 10.5s)

analyze735.0ms (7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
12.7%12.5%85.8%0.2%1.6%0%0%11
17.7%17.2%79.9%0.2%2.7%0%0%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample2.3s (21.9%)

Results
1.5s8256×body256valid
807.0ms2344×body256infinite
Bogosity

preprocess135.0ms (1.3%)

Algorithm
egg-herbie
Rules
72×rational.json-simplify-2
24×rational.json-simplify-43
14×rational.json-simplify-48
swap-y-t
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029175
141133
254133
371133
487133
593133
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
1
Call 2
Inputs
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 z x)) t)
(*.f64 (-.f64 (*.f64 z y) (*.f64 x y)) t)
(*.f64 (-.f64 (*.f64 t y) (*.f64 z y)) x)
(*.f64 (-.f64 (*.f64 x z) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 x t) (*.f64 z t)) y)
(*.f64 (-.f64 (*.f64 x y) (*.f64 t y)) z)
Outputs
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
(*.f64 (-.f64 (*.f64 x y) (*.f64 y z)) t)
(*.f64 (*.f64 y (-.f64 x z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 (*.f64 y x) (*.f64 z x)) t)
(*.f64 t (-.f64 (*.f64 x y) (*.f64 x z)))
(*.f64 t (*.f64 x (-.f64 y z)))
(*.f64 x (*.f64 (-.f64 y z) t))
(*.f64 x (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 (*.f64 z y) (*.f64 x y)) t)
(*.f64 t (-.f64 (*.f64 y z) (*.f64 x y)))
(*.f64 t (*.f64 y (-.f64 z x)))
(*.f64 y (*.f64 (-.f64 z x) t))
(*.f64 y (*.f64 t (-.f64 z x)))
(*.f64 (-.f64 (*.f64 t y) (*.f64 z y)) x)
(*.f64 x (-.f64 (*.f64 y t) (*.f64 y z)))
(*.f64 x (*.f64 y (-.f64 t z)))
(*.f64 (-.f64 (*.f64 x z) (*.f64 y z)) t)
(*.f64 t (-.f64 (*.f64 x z) (*.f64 y z)))
(*.f64 t (*.f64 z (-.f64 x y)))
(*.f64 z (*.f64 (-.f64 x y) t))
(*.f64 (-.f64 x y) (*.f64 z t))
(*.f64 (*.f64 z t) (-.f64 x y))
(*.f64 (-.f64 (*.f64 x t) (*.f64 z t)) y)
(*.f64 (-.f64 (*.f64 x y) (*.f64 y z)) t)
(*.f64 (*.f64 y (-.f64 x z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 (*.f64 x y) (*.f64 t y)) z)
(*.f64 z (-.f64 (*.f64 x y) (*.f64 y t)))
(*.f64 z (*.f64 y (-.f64 x t)))
(*.f64 y (*.f64 (-.f64 x t) z))
(*.f64 y (*.f64 z (-.f64 x t)))
Symmetry

(sort y t)

Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify27.0ms (0.3%)

Algorithm
egg-herbie
Rules
16×rational.json-simplify-2
rational.json-simplify-43
rational.json-simplify-48
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01025
11319
21519
31819
42419
52519
Stop Event
saturated
Counts
1 → 5
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
Outputs
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
(*.f64 (-.f64 (*.f64 x y) (*.f64 y z)) t)
(*.f64 (*.f64 y (-.f64 x z)) t)
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))

eval1.0ms (0%)

Compiler

Compiled 43 to 18 computations (58.1% saved)

prune3.0ms (0%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New235
Fresh011
Picked000
Done000
Total246
Error
0.1b
Counts
6 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
7.1b
(*.f64 (*.f64 y (-.f64 x z)) t)
6.9b
(*.f64 y (*.f64 (-.f64 x z) t))
Compiler

Compiled 35 to 22 computations (37.1% saved)

localize13.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.5b
(*.f64 y (*.f64 (-.f64 x z) t))
Compiler

Compiled 23 to 7 computations (69.6% saved)

series10.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
z
@inf
(*.f64 y (*.f64 (-.f64 x z) t))
1.0ms
x
@inf
(*.f64 y (*.f64 (-.f64 x z) t))
1.0ms
y
@0
(*.f64 y (*.f64 (-.f64 x z) t))
1.0ms
x
@-inf
(*.f64 y (*.f64 (-.f64 x z) t))
1.0ms
t
@inf
(*.f64 y (*.f64 (-.f64 x z) t))

rewrite392.0ms (3.7%)

Algorithm
batch-egg-rewrite
Rules
942×rational.json-simplify-79
802×rational.json-simplify-54
748×rational.json-simplify-49
678×rational.json-simplify-47
596×rational.json-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17819
227519
3103519
4419619
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 y (*.f64 (-.f64 x z) t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))))))

simplify183.0ms (1.8%)

Algorithm
egg-herbie
Rules
1576×rational.json-simplify-49
1178×rational.json-simplify-54
1056×rational.json-simplify-43
716×rational.json-simplify-47
642×rational.json-simplify-104
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0351389
1741239
21811239
35941131
424531131
565321131
Stop Event
node limit
Counts
57 → 22
Calls
Call 1
Inputs
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(-.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
Outputs
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 y (*.f64 t z)))
(*.f64 t (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 y (*.f64 t z)))
(*.f64 t (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 y (*.f64 t z)))
(*.f64 t (neg.f64 (*.f64 y z)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (+.f64 (*.f64 y x) (neg.f64 (*.f64 y z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(*.f64 y (*.f64 t (-.f64 x z)))
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 t (-.f64 x z)))
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 t (-.f64 x z)))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

series5.0ms (0%)

Counts
2 → 72
Calls

21 calls:

TimeVariablePointExpression
1.0ms
z
@inf
(*.f64 y (-.f64 x z))
0.0ms
x
@-inf
(*.f64 y (-.f64 x z))
0.0ms
y
@inf
(*.f64 y (-.f64 x z))
0.0ms
x
@inf
(*.f64 (*.f64 y (-.f64 x z)) t)
0.0ms
y
@-inf
(*.f64 y (-.f64 x z))

rewrite105.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
916×rational.json-simplify-79
740×rational.json-simplify-54
644×rational.json-simplify-47
604×rational.json-simplify-49
576×rational.json-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
17632
226232
399832
4408032
Stop Event
node limit
Counts
2 → 18
Calls
Call 1
Inputs
(*.f64 (*.f64 y (-.f64 x z)) t)
(*.f64 y (-.f64 x z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 x z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y (-.f64 x z))))))))

simplify317.0ms (3%)

Algorithm
egg-herbie
Rules
1220×rational.json-simplify-2
1096×rational.json-simplify-49
882×rational.json-simplify-47
730×rational.json-simplify-55
698×rational.json-simplify-54
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0542016
11151716
22771608
38911608
428081608
570031608
Stop Event
node limit
Counts
90 → 38
Calls
Call 1
Inputs
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(-.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(+.f64 (*.f64 y (-.f64 x z)) 0)
(+.f64 0 (*.f64 y (-.f64 x z)))
(-.f64 (*.f64 y (-.f64 x z)) 0)
(-.f64 0 (neg.f64 (*.f64 y (-.f64 x z))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 x z)))) 1)
(/.f64 (*.f64 y (-.f64 x z)) 1)
(/.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(neg.f64 (neg.f64 (*.f64 y (-.f64 x z))))
Outputs
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 t (*.f64 y (neg.f64 z)))
(*.f64 y (*.f64 (neg.f64 z) t))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 t (*.f64 y (neg.f64 z)))
(*.f64 y (*.f64 (neg.f64 z) t))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 t (*.f64 y (neg.f64 z)))
(*.f64 y (*.f64 (neg.f64 z) t))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y t) (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y (*.f64 z -1)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(*.f64 y (*.f64 t (-.f64 x z)))
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 t (-.f64 x z)))
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 t (-.f64 x z)))
(+.f64 (*.f64 y (-.f64 x z)) 0)
(*.f64 y (-.f64 x z))
(+.f64 0 (*.f64 y (-.f64 x z)))
(*.f64 y (-.f64 x z))
(-.f64 (*.f64 y (-.f64 x z)) 0)
(*.f64 y (-.f64 x z))
(-.f64 0 (neg.f64 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 x z)))) 1)
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(neg.f64 (neg.f64 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

series7.0ms (0.1%)

Counts
2 → 84
Calls

21 calls:

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

rewrite115.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
792×rational.json-simplify-54
718×rational.json-simplify-47
658×rational.json-simplify-49
644×rational.json-simplify-50
532×rational.json-simplify-76
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01044
18532
228632
3108932
4448732
Stop Event
node limit
Counts
2 → 35
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
(-.f64 (*.f64 x y) (*.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 y (-.f64 x z)) t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (*.f64 y (-.f64 x z)) t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (*.f64 y (-.f64 x z)) t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 y (-.f64 x z)) t) (/.f64 (*.f64 (*.f64 y (-.f64 x z)) t) (*.f64 (*.f64 y (-.f64 x z)) t)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (*.f64 y (-.f64 x z)) t)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (*.f64 y (-.f64 x z)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y (-.f64 x z)) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (-.f64 x z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (-.f64 z x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x z) y)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 1 (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 -1 (*.f64 y (-.f64 z x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))) (-.f64 -1 (-.f64 (*.f64 y (-.f64 x z)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (/.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (/.f64 (*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) 1) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))) (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 z x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 y (-.f64 z x)))))))

simplify189.0ms (1.8%)

Algorithm
egg-herbie
Rules
1798×rational.json-simplify-47
1142×rational.json-simplify-41
1016×rational.json-simplify-49
980×rational.json-simplify-2
924×rational.json-simplify-54
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0972537
12072173
26452065
318162049
459882041
Stop Event
node limit
Counts
119 → 63
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 0)
(+.f64 0 (*.f64 (*.f64 y (-.f64 x z)) t))
(-.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 0)
(-.f64 0 (neg.f64 (*.f64 (*.f64 y (-.f64 x z)) t)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (*.f64 y (-.f64 x z)) t))) 1)
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 1)
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) t) (/.f64 (*.f64 (*.f64 y (-.f64 x z)) t) (*.f64 (*.f64 y (-.f64 x z)) t)))
(pow.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 1)
(neg.f64 (neg.f64 (*.f64 (*.f64 y (-.f64 x z)) t)))
(+.f64 (*.f64 y (-.f64 x z)) 0)
(+.f64 0 (*.f64 y (-.f64 x z)))
(+.f64 1 (-.f64 (*.f64 y (-.f64 x z)) 1))
(+.f64 (-.f64 (*.f64 y (-.f64 x z)) 1) 1)
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(*.f64 1 (*.f64 y (-.f64 x z)))
(*.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (-.f64 x z)))
(*.f64 (*.f64 y (-.f64 z x)) -1)
(*.f64 (-.f64 x z) y)
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 1 (*.f64 y (-.f64 x z))))
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) 1))
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (-.f64 x z))))
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 -1 (*.f64 y (-.f64 z x))))
(*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y)))
(*.f64 (neg.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))) (-.f64 -1 (-.f64 (*.f64 y (-.f64 x z)) 1)))
(*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(*.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (/.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))))
(*.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (/.f64 (*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) 1) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))))
(*.f64 (*.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))) (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z)))))))
(/.f64 (*.f64 y (-.f64 x z)) 1)
(/.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(/.f64 (*.f64 y (-.f64 z x)) -1)
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(neg.f64 (*.f64 y (-.f64 z x)))
Outputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 x (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 x (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 -1 (*.f64 y (*.f64 t (-.f64 (*.f64 -1 x) (*.f64 -1 z)))))
(*.f64 y (neg.f64 (*.f64 t (*.f64 -1 (-.f64 x z)))))
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z)))))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 -1 (*.f64 y (*.f64 t (-.f64 (*.f64 -1 x) (*.f64 -1 z)))))
(*.f64 y (neg.f64 (*.f64 t (*.f64 -1 (-.f64 x z)))))
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z)))))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 -1 (*.f64 y (*.f64 t (-.f64 (*.f64 -1 x) (*.f64 -1 z)))))
(*.f64 y (neg.f64 (*.f64 t (*.f64 -1 (-.f64 x z)))))
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z)))))
(*.f64 -1 (*.f64 y (*.f64 (-.f64 (*.f64 -1 x) (*.f64 -1 z)) t)))
(*.f64 -1 (*.f64 y (*.f64 t (-.f64 (*.f64 -1 x) (*.f64 -1 z)))))
(*.f64 y (neg.f64 (*.f64 t (*.f64 -1 (-.f64 x z)))))
(*.f64 y (neg.f64 (*.f64 t (neg.f64 (-.f64 x z)))))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 x (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 t (*.f64 y x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (-.f64 (*.f64 y x) (*.f64 y z)) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 y (neg.f64 (*.f64 -1 (-.f64 x z))))
(*.f64 (*.f64 -1 (-.f64 x z)) (neg.f64 y))
(*.f64 (neg.f64 (-.f64 x z)) (neg.f64 y))
(*.f64 y (-.f64 (-.f64 x 0) z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 y (neg.f64 (*.f64 -1 (-.f64 x z))))
(*.f64 (*.f64 -1 (-.f64 x z)) (neg.f64 y))
(*.f64 (neg.f64 (-.f64 x z)) (neg.f64 y))
(*.f64 y (-.f64 (-.f64 x 0) z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 y (neg.f64 (*.f64 -1 (-.f64 x z))))
(*.f64 (*.f64 -1 (-.f64 x z)) (neg.f64 y))
(*.f64 (neg.f64 (-.f64 x z)) (neg.f64 y))
(*.f64 y (-.f64 (-.f64 x 0) z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 x) (*.f64 -1 z))))
(*.f64 y (neg.f64 (*.f64 -1 (-.f64 x z))))
(*.f64 (*.f64 -1 (-.f64 x z)) (neg.f64 y))
(*.f64 (neg.f64 (-.f64 x z)) (neg.f64 y))
(*.f64 y (-.f64 (-.f64 x 0) z))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 0)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(+.f64 0 (*.f64 (*.f64 y (-.f64 x z)) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(-.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 0)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(-.f64 0 (neg.f64 (*.f64 (*.f64 y (-.f64 x z)) t)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (*.f64 y (-.f64 x z)) t))) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(/.f64 (*.f64 (*.f64 y (-.f64 x z)) t) (/.f64 (*.f64 (*.f64 y (-.f64 x z)) t) (*.f64 (*.f64 y (-.f64 x z)) t)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(pow.f64 (*.f64 (*.f64 y (-.f64 x z)) t) 1)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(neg.f64 (neg.f64 (*.f64 (*.f64 y (-.f64 x z)) t)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(+.f64 (*.f64 y (-.f64 x z)) 0)
(*.f64 y (-.f64 x z))
(+.f64 0 (*.f64 y (-.f64 x z)))
(*.f64 y (-.f64 x z))
(+.f64 1 (-.f64 (*.f64 y (-.f64 x z)) 1))
(*.f64 y (-.f64 x z))
(+.f64 (-.f64 (*.f64 y (-.f64 x z)) 1) 1)
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(*.f64 1 (*.f64 y (-.f64 x z)))
(*.f64 y (-.f64 x z))
(*.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (-.f64 x z)))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 y (-.f64 z x)) -1)
(*.f64 y (-.f64 x z))
(*.f64 (-.f64 x z) y)
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 1 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) 1))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (/.f64 -1 (*.f64 y (-.f64 z x))))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y)))
(*.f64 y (-.f64 x z))
(*.f64 (neg.f64 (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))) (-.f64 -1 (-.f64 (*.f64 y (-.f64 x z)) 1)))
(*.f64 y (-.f64 x z))
(*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (/.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (/.f64 (*.f64 (/.f64 1 (*.f64 y (-.f64 x z))) 1) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))))
(*.f64 y (-.f64 x z))
(*.f64 (*.f64 (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z))))) (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z)))))) (/.f64 (/.f64 (/.f64 1 (*.f64 y (-.f64 x z))) (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z)))) (*.f64 y (*.f64 (*.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))) (*.f64 y (*.f64 (-.f64 x z) (-.f64 x z)))))))
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 z x)) -1)
(*.f64 y (-.f64 x z))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(neg.f64 (*.f64 y (-.f64 z x)))
(*.f64 y (-.f64 x z))

eval21.0ms (0.2%)

Compiler

Compiled 1430 to 354 computations (75.2% saved)

prune24.0ms (0.2%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1167123
Fresh000
Picked011
Done022
Total11610126
Error
0.0b
Counts
126 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
6.6b
(*.f64 (-.f64 x z) (*.f64 y t))
31.4b
(*.f64 (*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y))) t)
7.1b
(*.f64 (*.f64 y (-.f64 x z)) t)
31.8b
(*.f64 (*.f64 y (neg.f64 z)) t)
32.7b
(*.f64 (*.f64 y x) t)
6.9b
(*.f64 y (*.f64 (-.f64 x z) t))
32.0b
(*.f64 y (*.f64 (neg.f64 z) t))
32.4b
(*.f64 y (*.f64 t x))
31.8b
(*.f64 x (*.f64 y t))
Compiler

Compiled 185 to 122 computations (34.1% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.5b
(*.f64 (-.f64 x z) (*.f64 y t))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite142.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
942×rational.json-simplify-79
802×rational.json-simplify-54
750×rational.json-simplify-49
678×rational.json-simplify-47
596×rational.json-simplify-50
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17819
227519
3103519
4419619
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (-.f64 x z) (*.f64 y t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 x z) (*.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (-.f64 x z) (*.f64 y t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 x z) (*.f64 y t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (-.f64 x z) (*.f64 y t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 x z) (*.f64 y t))))))))

simplify147.0ms (1.4%)

Algorithm
egg-herbie
Rules
1880×rational.json-simplify-47
1502×rational.json-simplify-111
1340×rational.json-simplify-43
680×rational.json-simplify-1
660×rational.json-simplify-104
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0351389
1741239
21871239
36631131
429021131
554981131
Stop Event
node limit
Counts
57 → 21
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(+.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)
(+.f64 0 (*.f64 (-.f64 x z) (*.f64 y t)))
(-.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 x z) (*.f64 y t))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 x z) (*.f64 y t)))) 1)
(/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1)
(/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (-.f64 x z) (*.f64 y t))))
(pow.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 x z) (*.f64 y t))))
Outputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (+.f64 (*.f64 t x) (neg.f64 (*.f64 t z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 (-.f64 x z) (*.f64 y t))
(+.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(+.f64 0 (*.f64 (-.f64 x z) (*.f64 y t)))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 0)
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 0 (neg.f64 (*.f64 (-.f64 x z) (*.f64 y t))))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 x z) (*.f64 y t)))) 1)
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1)
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (/.f64 (*.f64 (-.f64 x z) (*.f64 y t)) (*.f64 (-.f64 x z) (*.f64 y t))))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(pow.f64 (*.f64 (-.f64 x z) (*.f64 y t)) 1)
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))
(neg.f64 (neg.f64 (*.f64 (-.f64 x z) (*.f64 y t))))
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 y (*.f64 t (-.f64 x z)))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.4b
(*.f64 x (*.f64 y t))
Compiler

Compiled 15 to 6 computations (60% saved)

series7.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
4.0ms
t
@inf
(*.f64 x (*.f64 y t))
1.0ms
y
@0
(*.f64 x (*.f64 y t))
1.0ms
x
@0
(*.f64 x (*.f64 y t))
0.0ms
x
@inf
(*.f64 x (*.f64 y t))
0.0ms
t
@0
(*.f64 x (*.f64 y t))

rewrite252.0ms (2.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16213
222213
383713
4342613
Stop Event
node limit
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 x (*.f64 y t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y t)) (/.f64 (*.f64 x (*.f64 y t)) (*.f64 x (*.f64 y t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 y t)) 1)))))

simplify219.0ms (2.1%)

Algorithm
egg-herbie
Rules
1290×rational.json-simplify-111
1216×rational.json-simplify-49
1092×rational.json-simplify-54
924×rational.json-simplify-76
918×rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018546
134546
2111546
3444546
42061546
54973546
67531546
Stop Event
node limit
Counts
42 → 8
Calls
Call 1
Inputs
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 x (*.f64 y t)) 0)
(+.f64 0 (*.f64 x (*.f64 y t)))
(-.f64 (*.f64 x (*.f64 y t)) 0)
(/.f64 (*.f64 x (*.f64 y t)) 1)
(/.f64 (*.f64 x (*.f64 y t)) (/.f64 (*.f64 x (*.f64 y t)) (*.f64 x (*.f64 y t))))
(pow.f64 (*.f64 x (*.f64 y t)) 1)
Outputs
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(+.f64 (*.f64 x (*.f64 y t)) 0)
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(+.f64 0 (*.f64 x (*.f64 y t)))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(-.f64 (*.f64 x (*.f64 y t)) 0)
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(/.f64 (*.f64 x (*.f64 y t)) 1)
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(/.f64 (*.f64 x (*.f64 y t)) (/.f64 (*.f64 x (*.f64 y t)) (*.f64 x (*.f64 y t))))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(pow.f64 (*.f64 x (*.f64 y t)) 1)
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))

localize15.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.6b
(*.f64 y (*.f64 t x))
Compiler

Compiled 15 to 6 computations (60% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

9 calls:

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

rewrite159.0ms (1.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16213
222213
383713
4342613
Stop Event
node limit
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 y (*.f64 t x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 t x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 t x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 t x)) (/.f64 (*.f64 y (*.f64 t x)) (*.f64 y (*.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 t x)) 1)))))

simplify363.0ms (3.5%)

Algorithm
egg-herbie
Rules
1508×rational.json-simplify-79
956×rational.json-simplify-2
872×rational.json-simplify-76
852×rational.json-simplify-111
768×rational.json-simplify-104
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01678
13078
29678
332778
4144878
5346778
6516678
7674978
Stop Event
node limit
Counts
6 → 7
Calls
Call 1
Inputs
(+.f64 (*.f64 y (*.f64 t x)) 0)
(+.f64 0 (*.f64 y (*.f64 t x)))
(-.f64 (*.f64 y (*.f64 t x)) 0)
(/.f64 (*.f64 y (*.f64 t x)) 1)
(/.f64 (*.f64 y (*.f64 t x)) (/.f64 (*.f64 y (*.f64 t x)) (*.f64 y (*.f64 t x))))
(pow.f64 (*.f64 y (*.f64 t x)) 1)
Outputs
(+.f64 (*.f64 y (*.f64 t x)) 0)
(*.f64 y (*.f64 t x))
(+.f64 0 (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(-.f64 (*.f64 y (*.f64 t x)) 0)
(*.f64 y (*.f64 t x))
(/.f64 (*.f64 y (*.f64 t x)) 1)
(*.f64 y (*.f64 t x))
(/.f64 (*.f64 y (*.f64 t x)) (/.f64 (*.f64 y (*.f64 t x)) (*.f64 y (*.f64 t x))))
(*.f64 y (*.f64 t x))
(pow.f64 (*.f64 y (*.f64 t x)) 1)
(*.f64 y (*.f64 t x))

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
7.6b
(*.f64 (*.f64 y x) t)
Compiler

Compiled 15 to 6 computations (60% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite176.0ms (1.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16013
220913
379813
4330913
Stop Event
node limit
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 (*.f64 y x) t)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 x t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x t)) (/.f64 (*.f64 y (*.f64 x t)) (*.f64 y (*.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 x t)) 1)))))

simplify299.0ms (2.9%)

Algorithm
egg-herbie
Rules
1214×rational.json-simplify-2
922×rational.json-simplify-111
840×rational.json-simplify-104
788×rational.json-simplify-49
690×rational.json-simplify-54
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018546
133546
2103546
3385546
41708546
54117546
65970546
77631546
Stop Event
node limit
Counts
42 → 9
Calls
Call 1
Inputs
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 y (*.f64 x t)) 0)
(+.f64 0 (*.f64 y (*.f64 x t)))
(-.f64 (*.f64 y (*.f64 x t)) 0)
(/.f64 (*.f64 y (*.f64 x t)) 1)
(/.f64 (*.f64 y (*.f64 x t)) (/.f64 (*.f64 y (*.f64 x t)) (*.f64 y (*.f64 x t))))
(pow.f64 (*.f64 y (*.f64 x t)) 1)
Outputs
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 x y))
(*.f64 t (*.f64 y x))
(+.f64 (*.f64 y (*.f64 x t)) 0)
(*.f64 t (*.f64 x y))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(+.f64 0 (*.f64 y (*.f64 x t)))
(*.f64 t (*.f64 x y))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(-.f64 (*.f64 y (*.f64 x t)) 0)
(*.f64 t (*.f64 x y))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(/.f64 (*.f64 y (*.f64 x t)) 1)
(*.f64 t (*.f64 x y))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(/.f64 (*.f64 y (*.f64 x t)) (/.f64 (*.f64 y (*.f64 x t)) (*.f64 y (*.f64 x t))))
(*.f64 t (*.f64 x y))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))
(pow.f64 (*.f64 y (*.f64 x t)) 1)
(*.f64 t (*.f64 x y))
(*.f64 y (*.f64 t x))
(*.f64 t (*.f64 y x))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.5b
(*.f64 y (*.f64 (neg.f64 z) t))
Compiler

Compiled 19 to 7 computations (63.2% saved)

series7.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 y (*.f64 (neg.f64 z) t))
1.0ms
t
@0
(*.f64 y (*.f64 (neg.f64 z) t))
1.0ms
z
@0
(*.f64 y (*.f64 (neg.f64 z) t))
1.0ms
t
@inf
(*.f64 y (*.f64 (neg.f64 z) t))
1.0ms
y
@inf
(*.f64 y (*.f64 (neg.f64 z) t))

rewrite538.0ms (5.1%)

Algorithm
batch-egg-rewrite
Rules
966×rational.json-simplify-49
932×rational.json-simplify-54
766×rational.json-simplify-47
726×rational.json-simplify-50
522×rational.json-simplify-58
Iterations

Useful iterations: 0 (0.0ms)

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

simplify186.0ms (1.8%)

Algorithm
egg-herbie
Rules
1406×rational.json-simplify-43
1342×rational.json-simplify-54
1238×rational.json-simplify-111
878×rational.json-simplify-47
596×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031799
171799
2171799
3629799
42891799
56044799
Stop Event
node limit
Counts
47 → 16
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 0)
(+.f64 0 (*.f64 (neg.f64 y) (*.f64 z t)))
(-.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 0)
(-.f64 0 (neg.f64 (*.f64 (neg.f64 y) (*.f64 z t))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (neg.f64 y) (*.f64 z t)))) 1)
(/.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 1)
(/.f64 (*.f64 (neg.f64 y) (*.f64 z t)) (/.f64 (*.f64 (neg.f64 y) (*.f64 z t)) (*.f64 (neg.f64 y) (*.f64 z t))))
(/.f64 (*.f64 y (*.f64 z t)) -1)
(pow.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 1)
(neg.f64 (neg.f64 (*.f64 (neg.f64 y) (*.f64 z t))))
(neg.f64 (*.f64 y (*.f64 z t)))
Outputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 0)
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(+.f64 0 (*.f64 (neg.f64 y) (*.f64 z t)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(-.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 0)
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(-.f64 0 (neg.f64 (*.f64 (neg.f64 y) (*.f64 z t))))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (neg.f64 y) (*.f64 z t)))) 1)
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(/.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 1)
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(/.f64 (*.f64 (neg.f64 y) (*.f64 z t)) (/.f64 (*.f64 (neg.f64 y) (*.f64 z t)) (*.f64 (neg.f64 y) (*.f64 z t))))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(/.f64 (*.f64 y (*.f64 z t)) -1)
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(pow.f64 (*.f64 (neg.f64 y) (*.f64 z t)) 1)
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(neg.f64 (neg.f64 (*.f64 (neg.f64 y) (*.f64 z t))))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))
(neg.f64 (*.f64 y (*.f64 z t)))
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 t (*.f64 (neg.f64 y) z))
(*.f64 t (*.f64 z (neg.f64 y)))
(*.f64 y (*.f64 z (neg.f64 t)))

eval17.0ms (0.2%)

Compiler

Compiled 516 to 138 computations (73.3% saved)

prune27.0ms (0.3%)

Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New60161
Fresh022
Picked011
Done167
Total611071
Error
0.0b
Counts
71 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
31.4b
(*.f64 (*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y))) t)
7.1b
(*.f64 (*.f64 y (-.f64 x z)) t)
31.8b
(*.f64 (*.f64 y (neg.f64 z)) t)
32.7b
(*.f64 (*.f64 y x) t)
6.9b
(*.f64 y (*.f64 (-.f64 x z) t))
32.0b
(*.f64 y (*.f64 (neg.f64 z) t))
32.4b
(*.f64 y (*.f64 t x))
31.8b
(*.f64 x (*.f64 y t))
32.1b
(neg.f64 (*.f64 z (*.f64 t y)))
Compiler

Compiled 109 to 72 computations (33.9% saved)

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.1b
(*.f64 z (*.f64 t y))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite265.0ms (2.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16213
222213
383713
4342613
Stop Event
node limit
Counts
1 → 6
Calls
Call 1
Inputs
(*.f64 z (*.f64 t y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 t y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (*.f64 t y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (*.f64 t y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 t y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 t y)) (/.f64 (*.f64 z (*.f64 t y)) (*.f64 z (*.f64 t y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (*.f64 t y)) 1)))))

simplify220.0ms (2.1%)

Algorithm
egg-herbie
Rules
1508×rational.json-simplify-79
1088×rational.json-simplify-2
872×rational.json-simplify-76
852×rational.json-simplify-111
790×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018546
136546
296546
3338546
41550546
53792546
65521546
77112546
Stop Event
node limit
Counts
42 → 8
Calls
Call 1
Inputs
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(*.f64 y (*.f64 t z))
(+.f64 (*.f64 z (*.f64 t y)) 0)
(+.f64 0 (*.f64 z (*.f64 t y)))
(-.f64 (*.f64 z (*.f64 t y)) 0)
(/.f64 (*.f64 z (*.f64 t y)) 1)
(/.f64 (*.f64 z (*.f64 t y)) (/.f64 (*.f64 z (*.f64 t y)) (*.f64 z (*.f64 t y))))
(pow.f64 (*.f64 z (*.f64 t y)) 1)
Outputs
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(+.f64 (*.f64 z (*.f64 t y)) 0)
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(+.f64 0 (*.f64 z (*.f64 t y)))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(-.f64 (*.f64 z (*.f64 t y)) 0)
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(/.f64 (*.f64 z (*.f64 t y)) 1)
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(/.f64 (*.f64 z (*.f64 t y)) (/.f64 (*.f64 z (*.f64 t y)) (*.f64 z (*.f64 t y))))
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))
(pow.f64 (*.f64 z (*.f64 t y)) 1)
(*.f64 y (*.f64 t z))
(*.f64 t (*.f64 y z))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.6b
(*.f64 (*.f64 y (neg.f64 z)) t)
Compiler

Compiled 19 to 7 computations (63.2% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite159.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
840×rational.json-simplify-54
752×rational.json-simplify-49
720×rational.json-simplify-47
670×rational.json-simplify-50
494×rational.json-simplify-58
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
18017
227417
3100717
4424017
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 (*.f64 y (neg.f64 z)) t)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 z (neg.f64 t))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 z (neg.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 z (neg.f64 t))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y (*.f64 z (neg.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 z (neg.f64 t))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z (neg.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 z (neg.f64 t))) (/.f64 (*.f64 z (*.f64 y t)) (*.f64 z (*.f64 y t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 z (neg.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y (*.f64 z (neg.f64 t)))))))))

simplify286.0ms (2.7%)

Algorithm
egg-herbie
Rules
1850×rational.json-simplify-47
1110×rational.json-simplify-49
1062×rational.json-simplify-54
886×rational.json-simplify-43
846×rational.json-simplify-79
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030855
170765
2165765
3463765
41851765
54347765
66424765
77258765
Stop Event
node limit
Counts
45 → 13
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 z (neg.f64 t))) 0)
(+.f64 0 (*.f64 y (*.f64 z (neg.f64 t))))
(-.f64 (*.f64 y (*.f64 z (neg.f64 t))) 0)
(-.f64 0 (neg.f64 (*.f64 y (*.f64 z (neg.f64 t)))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 z (neg.f64 t))))) 1)
(/.f64 (*.f64 y (*.f64 z (neg.f64 t))) 1)
(/.f64 (*.f64 y (*.f64 z (neg.f64 t))) (/.f64 (*.f64 z (*.f64 y t)) (*.f64 z (*.f64 y t))))
(pow.f64 (*.f64 y (*.f64 z (neg.f64 t))) 1)
(neg.f64 (neg.f64 (*.f64 y (*.f64 z (neg.f64 t)))))
Outputs
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 z (neg.f64 t))) 0)
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 0 (*.f64 y (*.f64 z (neg.f64 t))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(-.f64 (*.f64 y (*.f64 z (neg.f64 t))) 0)
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(-.f64 0 (neg.f64 (*.f64 y (*.f64 z (neg.f64 t)))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 z (neg.f64 t))))) 1)
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 y (*.f64 z (neg.f64 t))) 1)
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 y (*.f64 z (neg.f64 t))) (/.f64 (*.f64 z (*.f64 y t)) (*.f64 z (*.f64 y t))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(pow.f64 (*.f64 y (*.f64 z (neg.f64 t))) 1)
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))
(neg.f64 (neg.f64 (*.f64 y (*.f64 z (neg.f64 t)))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 y (neg.f64 (*.f64 t z)))
(*.f64 z (*.f64 y (neg.f64 t)))
(*.f64 y (*.f64 t (neg.f64 z)))

localize33.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 x z) (/.f64 1 y))
6.7b
(*.f64 (*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y))) t)
24.8b
(*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y)))
Compiler

Compiled 49 to 21 computations (57.1% saved)

series7.0ms (0.1%)

Counts
3 → 120
Calls

30 calls:

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

rewrite202.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1032×rational.json-simplify-47
820×rational.json-simplify-49
770×rational.json-simplify-55
698×rational.json-5
696×exponential.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01387
111287
237351
3148451
4597851
Stop Event
node limit
Counts
3 → 27
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y)))
(*.f64 (*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y))) t)
(*.f64 (-.f64 x z) (/.f64 1 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (-.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (-.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 x z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y (-.f64 x z))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 x z) (/.f64 1 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (-.f64 x z) (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 x z) (/.f64 1 y)))) 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) (/.f64 1 y)) (/.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) (*.f64 (-.f64 x z) (/.f64 1 y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (-.f64 x z) (/.f64 1 y))))))))

simplify341.0ms (3.3%)

Algorithm
egg-herbie
Rules
1194×rational.json-simplify-2
1184×rational.json-simplify-47
1104×rational.json-simplify-49
942×rational.json-simplify-54
674×rational.json-simplify-44
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0743009
11572667
23772559
312032559
429952559
567272559
Stop Event
node limit
Counts
147 → 59
Calls
Call 1
Inputs
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(+.f64 (*.f64 y (-.f64 x z)) 0)
(+.f64 0 (*.f64 y (-.f64 x z)))
(-.f64 (*.f64 y (-.f64 x z)) 0)
(-.f64 0 (neg.f64 (*.f64 y (-.f64 x z))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 x z)))) 1)
(/.f64 (*.f64 y (-.f64 x z)) 1)
(/.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(neg.f64 (neg.f64 (*.f64 y (-.f64 x z))))
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(-.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(+.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 0)
(+.f64 0 (*.f64 (-.f64 x z) (/.f64 1 y)))
(-.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 0)
(-.f64 0 (neg.f64 (*.f64 (-.f64 x z) (/.f64 1 y))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 x z) (/.f64 1 y)))) 1)
(/.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 1)
(/.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) (/.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) (*.f64 (-.f64 x z) (/.f64 1 y))))
(pow.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 1)
(neg.f64 (neg.f64 (*.f64 (-.f64 x z) (/.f64 1 y))))
Outputs
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 y (-.f64 x z))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 y x))
(*.f64 y (+.f64 x (neg.f64 z)))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 z t)))
(*.f64 t (neg.f64 (*.f64 y z)))
(*.f64 (neg.f64 z) (*.f64 y t))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 x t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 x t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 x t))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 -1 (*.f64 y (*.f64 t z))) (*.f64 y (*.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 z t)))
(*.f64 t (neg.f64 (*.f64 y z)))
(*.f64 (neg.f64 z) (*.f64 y t))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(*.f64 -1 (*.f64 y (*.f64 t z)))
(*.f64 -1 (*.f64 y (*.f64 z t)))
(*.f64 t (neg.f64 (*.f64 y z)))
(*.f64 (neg.f64 z) (*.f64 y t))
(*.f64 y (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(+.f64 (*.f64 y (*.f64 t x)) (*.f64 -1 (*.f64 y (*.f64 t z))))
(+.f64 (*.f64 -1 (*.f64 y (*.f64 z t))) (*.f64 y (*.f64 x t)))
(*.f64 y (+.f64 (*.f64 x t) (neg.f64 (*.f64 z t))))
(*.f64 t (*.f64 y (+.f64 x (neg.f64 z))))
(*.f64 y (*.f64 t (+.f64 x (neg.f64 z))))
(*.f64 (*.f64 y (+.f64 x (neg.f64 z))) t)
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 y (*.f64 t (-.f64 x z)))
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(/.f64 x y)
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(+.f64 (/.f64 x y) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 z y)) (/.f64 x y))
(+.f64 (neg.f64 (/.f64 z y)) (/.f64 x y))
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(/.f64 (-.f64 x z) y)
(+.f64 (*.f64 y (-.f64 x z)) 0)
(*.f64 y (-.f64 x z))
(+.f64 0 (*.f64 y (-.f64 x z)))
(*.f64 y (-.f64 x z))
(-.f64 (*.f64 y (-.f64 x z)) 0)
(*.f64 y (-.f64 x z))
(-.f64 0 (neg.f64 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (-.f64 x z)))) 1)
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(/.f64 (*.f64 y (-.f64 x z)) (/.f64 (*.f64 y (-.f64 x z)) (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(pow.f64 (*.f64 y (-.f64 x z)) 1)
(*.f64 y (-.f64 x z))
(neg.f64 (neg.f64 (*.f64 y (-.f64 x z))))
(*.f64 y (-.f64 x z))
(+.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(*.f64 y (*.f64 (-.f64 x z) t))
(+.f64 0 (*.f64 y (*.f64 (-.f64 x z) t)))
(*.f64 y (*.f64 (-.f64 x z) t))
(-.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 0)
(*.f64 y (*.f64 (-.f64 x z) t))
(-.f64 0 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 (-.f64 x z) t))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y (*.f64 (-.f64 x z) t)))) 1)
(*.f64 y (*.f64 (-.f64 x z) t))
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(*.f64 y (*.f64 (-.f64 x z) t))
(/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (/.f64 (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 (-.f64 x z) t))
(pow.f64 (*.f64 y (*.f64 (-.f64 x z) t)) 1)
(*.f64 y (*.f64 (-.f64 x z) t))
(neg.f64 (neg.f64 (*.f64 y (*.f64 (-.f64 x z) t))))
(*.f64 y (*.f64 (-.f64 x z) t))
(+.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 0)
(*.f64 (-.f64 x z) (/.f64 1 y))
(+.f64 0 (*.f64 (-.f64 x z) (/.f64 1 y)))
(*.f64 (-.f64 x z) (/.f64 1 y))
(-.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 0)
(*.f64 (-.f64 x z) (/.f64 1 y))
(-.f64 0 (neg.f64 (*.f64 (-.f64 x z) (/.f64 1 y))))
(*.f64 (-.f64 x z) (/.f64 1 y))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (-.f64 x z) (/.f64 1 y)))) 1)
(*.f64 (-.f64 x z) (/.f64 1 y))
(/.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 1)
(*.f64 (-.f64 x z) (/.f64 1 y))
(/.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) (/.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) (*.f64 (-.f64 x z) (/.f64 1 y))))
(*.f64 (-.f64 x z) (/.f64 1 y))
(pow.f64 (*.f64 (-.f64 x z) (/.f64 1 y)) 1)
(*.f64 (-.f64 x z) (/.f64 1 y))
(neg.f64 (neg.f64 (*.f64 (-.f64 x z) (/.f64 1 y))))
(*.f64 (-.f64 x z) (/.f64 1 y))

eval16.0ms (0.2%)

Compiler

Compiled 824 to 280 computations (66% saved)

prune20.0ms (0.2%)

Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New79180
Fresh000
Picked011
Done099
Total791190
Error
0.0b
Counts
90 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
44.2b
(*.f64 (*.f64 (*.f64 y y) (/.f64 x y)) t)
31.4b
(*.f64 (*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y))) t)
7.1b
(*.f64 (*.f64 y (-.f64 x z)) t)
31.8b
(*.f64 (*.f64 y (neg.f64 z)) t)
32.7b
(*.f64 (*.f64 y x) t)
6.9b
(*.f64 y (*.f64 (-.f64 x z) t))
32.0b
(*.f64 y (*.f64 (neg.f64 z) t))
32.4b
(*.f64 y (*.f64 t x))
31.8b
(*.f64 x (*.f64 y t))
32.1b
(neg.f64 (*.f64 z (*.f64 t y)))
Compiler

Compiled 122 to 80 computations (34.4% saved)

localize19.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
7.6b
(*.f64 (*.f64 (*.f64 y y) (/.f64 x y)) t)
21.8b
(*.f64 (*.f64 y y) (/.f64 x y))
Compiler

Compiled 29 to 8 computations (72.4% saved)

series1.0ms (0%)

Counts
2 → 60
Calls

15 calls:

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

rewrite126.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1228×rational.json-simplify-49
992×rational.json-simplify-47
684×rational.json-simplify-58
632×rational.json-simplify-55
588×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0944
18144
228944
3112420
4527220
Stop Event
node limit
Counts
2 → 19
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) (/.f64 x y))
(*.f64 (*.f64 (*.f64 y y) (/.f64 x y)) t)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 y x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y x) (/.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y x) (/.f64 (*.f64 y x) (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 y x)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (*.f64 y t)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (*.f64 y t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 x (*.f64 y t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 x (*.f64 y t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 y t)) (/.f64 (*.f64 x (*.f64 y t)) (*.f64 x (*.f64 y t))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (*.f64 y t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 x (*.f64 y t))))))))

simplify170.0ms (1.6%)

Algorithm
egg-herbie
Rules
1870×rational.json-simplify-47
960×rational.json-simplify-111
848×rational.json-simplify-55
606×rational.json-simplify-42
604×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042835
197835
2258835
3929835
43145835
56847835
Stop Event
node limit
Counts
79 → 26
Calls
Call 1
Inputs
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(*.f64 y (*.f64 t x))
(+.f64 (*.f64 y x) 0)
(+.f64 0 (*.f64 y x))
(-.f64 (*.f64 y x) 0)
(-.f64 0 (neg.f64 (*.f64 y x)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y x))) 1)
(/.f64 (*.f64 y x) 1)
(/.f64 (*.f64 y x) (/.f64 y y))
(/.f64 (*.f64 y x) (/.f64 (*.f64 y x) (*.f64 y x)))
(pow.f64 (*.f64 y x) 1)
(neg.f64 (neg.f64 (*.f64 y x)))
(+.f64 (*.f64 x (*.f64 y t)) 0)
(+.f64 0 (*.f64 x (*.f64 y t)))
(-.f64 (*.f64 x (*.f64 y t)) 0)
(-.f64 0 (neg.f64 (*.f64 x (*.f64 y t))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 x (*.f64 y t)))) 1)
(/.f64 (*.f64 x (*.f64 y t)) 1)
(/.f64 (*.f64 x (*.f64 y t)) (/.f64 (*.f64 x (*.f64 y t)) (*.f64 x (*.f64 y t))))
(pow.f64 (*.f64 x (*.f64 y t)) 1)
(neg.f64 (neg.f64 (*.f64 x (*.f64 y t))))
Outputs
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(+.f64 (*.f64 y x) 0)
(*.f64 y x)
(+.f64 0 (*.f64 y x))
(*.f64 y x)
(-.f64 (*.f64 y x) 0)
(*.f64 y x)
(-.f64 0 (neg.f64 (*.f64 y x)))
(*.f64 y x)
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 y x))) 1)
(*.f64 y x)
(/.f64 (*.f64 y x) 1)
(*.f64 y x)
(/.f64 (*.f64 y x) (/.f64 y y))
(*.f64 (*.f64 y y) (/.f64 x y))
(*.f64 (*.f64 y x) (/.f64 y y))
(*.f64 y (*.f64 y (/.f64 x y)))
(/.f64 (*.f64 y x) (/.f64 (*.f64 y x) (*.f64 y x)))
(*.f64 y x)
(pow.f64 (*.f64 y x) 1)
(*.f64 y x)
(neg.f64 (neg.f64 (*.f64 y x)))
(*.f64 y x)
(+.f64 (*.f64 x (*.f64 y t)) 0)
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(+.f64 0 (*.f64 x (*.f64 y t)))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(-.f64 (*.f64 x (*.f64 y t)) 0)
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(-.f64 0 (neg.f64 (*.f64 x (*.f64 y t))))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 x (*.f64 y t)))) 1)
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(/.f64 (*.f64 x (*.f64 y t)) 1)
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(/.f64 (*.f64 x (*.f64 y t)) (/.f64 (*.f64 x (*.f64 y t)) (*.f64 x (*.f64 y t))))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(pow.f64 (*.f64 x (*.f64 y t)) 1)
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))
(neg.f64 (neg.f64 (*.f64 x (*.f64 y t))))
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 x t))

eval4.0ms (0%)

Compiler

Compiled 212 to 77 computations (63.7% saved)

prune11.0ms (0.1%)

Pruning

11 alts after pruning (0 fresh and 11 done)

PrunedKeptTotal
New26026
Fresh000
Picked011
Done01010
Total261137
Error
0.0b
Counts
37 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
7.1b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
44.2b
(*.f64 (*.f64 (*.f64 y y) (/.f64 x y)) t)
31.4b
(*.f64 (*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y))) t)
7.1b
(*.f64 (*.f64 y (-.f64 x z)) t)
31.8b
(*.f64 (*.f64 y (neg.f64 z)) t)
32.7b
(*.f64 (*.f64 y x) t)
6.9b
(*.f64 y (*.f64 (-.f64 x z) t))
32.0b
(*.f64 y (*.f64 (neg.f64 z) t))
32.4b
(*.f64 y (*.f64 t x))
31.8b
(*.f64 x (*.f64 y t))
32.1b
(neg.f64 (*.f64 z (*.f64 t y)))
Compiler

Compiled 122 to 80 computations (34.4% saved)

regimes185.0ms (1.8%)

Counts
12 → 5
Calls
Call 1
Inputs
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 t x))
(*.f64 (*.f64 y x) t)
(neg.f64 (*.f64 z (*.f64 t y)))
(*.f64 y (*.f64 (neg.f64 z) t))
(*.f64 (*.f64 y (neg.f64 z)) t)
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 (*.f64 y (-.f64 x z)) t)
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (*.f64 (*.f64 y y) (/.f64 x y)) t)
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
(*.f64 (*.f64 (*.f64 y y) (*.f64 (-.f64 x z) (/.f64 1 y))) t)
Outputs
(*.f64 (-.f64 x z) (*.f64 y t))
(*.f64 (*.f64 y (-.f64 x z)) t)
(*.f64 y (*.f64 (-.f64 x z) t))
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
(*.f64 (-.f64 x z) (*.f64 y t))
Calls

6 calls:

41.0ms
x
41.0ms
(-.f64 (*.f64 x y) (*.f64 z y))
33.0ms
z
26.0ms
t
23.0ms
(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
Results
ErrorSegmentsBranch
4.1b3x
1.8b2y
4.4b3z
1.7b2t
1.6b3(*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t)
0.2b5(-.f64 (*.f64 x y) (*.f64 z y))
Compiler

Compiled 133 to 68 computations (48.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
7.163361644373037e+153
3.068942758353536e+161
0.0ms
0.0
1.4855170822402015e-303
0.0ms
-1.3033183664257307e-236
-1.7105635980687504e-242
0.0ms
-1.1063691757385378e+219
-1.1100461257770568e+213
Compiler

Compiled 20 to 14 computations (30% saved)

regimes118.0ms (1.1%)

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

4 calls:

39.0ms
x
30.0ms
z
24.0ms
y
23.0ms
t
Results
ErrorSegmentsBranch
4.1b3x
1.8b2y
4.4b3z
1.7b2t
Compiler

Compiled 87 to 44 computations (49.4% saved)

bsearch7.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
7.0ms
2.8211299942734083e-22
2.6818303601573158e-18
Results
5.0ms48×body256valid
1.0msbody256infinite
Compiler

Compiled 92 to 62 computations (32.6% saved)

regimes96.0ms (0.9%)

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

4 calls:

31.0ms
z
28.0ms
t
20.0ms
x
14.0ms
y
Results
ErrorSegmentsBranch
4.4b3x
1.8b2y
4.5b4z
1.8b2t
Compiler

Compiled 71 to 39 computations (45.1% saved)

bsearch12.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
-2.110483094812502e-23
-1.3542351111277624e-24
Results
10.0ms96×body256valid
0.0msbody256infinite
Compiler

Compiled 164 to 110 computations (32.9% saved)

regimes54.0ms (0.5%)

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

4 calls:

27.0ms
t
12.0ms
x
6.0ms
y
6.0ms
z
Results
ErrorSegmentsBranch
5.4b2x
6.9b1y
6.9b1z
4.9b4t
Compiler

Compiled 64 to 37 computations (42.2% saved)

bsearch62.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
1.1466062218931781e+273
2.2324112126035043e+273
31.0ms
8.342253853099502e+257
7.003614445212049e+263
14.0ms
6.450978966243999e+231
1.0517976511677525e+232
Results
30.0ms272×body256valid
23.0ms226×body256infinite
Compiler

Compiled 407 to 282 computations (30.7% saved)

regimes145.0ms (1.4%)

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

4 calls:

57.0ms
y
35.0ms
z
29.0ms
t
22.0ms
x
Results
ErrorSegmentsBranch
15.1b4x
19.8b10y
16.9b6z
23.4b6t
Compiler

Compiled 57 to 34 computations (40.4% saved)

bsearch58.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
2.722977513610257e+145
7.311623025489917e+161
19.0ms
1.4621797639968623e-68
3.958867607581404e-60
13.0ms
-6.155088327665408e-6
-3.4697162255173513e-7
Results
45.0ms416×body256valid
1.0ms14×body256infinite
Compiler

Compiled 556 to 394 computations (29.1% saved)

regimes114.0ms (1.1%)

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

4 calls:

39.0ms
y
33.0ms
z
24.0ms
t
16.0ms
x
Results
ErrorSegmentsBranch
15.1b4x
20.8b10y
17.3b6z
23.3b6t
Compiler

Compiled 45 to 29 computations (35.6% saved)

bsearch53.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
2.722977513610257e+145
7.311623025489917e+161
10.0ms
2.933246197815694e-99
1.0293293370376166e-98
22.0ms
-6.995656696628638e-95
-3.063765601306288e-116
Results
45.0ms416×body256valid
2.0ms16×body256infinite
Compiler

Compiled 556 to 394 computations (29.1% saved)

regimes42.0ms (0.4%)

Counts
3 → 2
Calls
Call 1
Inputs
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 t x))
(*.f64 (*.f64 y x) t)
Outputs
(*.f64 y (*.f64 t x))
(*.f64 (*.f64 y x) t)
Calls

4 calls:

11.0ms
y
11.0ms
x
11.0ms
z
7.0ms
t
Results
ErrorSegmentsBranch
30.0b3x
29.2b2y
30.5b3z
29.2b2t
Compiler

Compiled 39 to 26 computations (33.3% saved)

bsearch8.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
8.0ms
-1.254306464062008e-44
-7.103824257321261e-45
Results
6.0ms64×body256valid
1.0msbody256infinite
Compiler

Compiled 100 to 70 computations (30% saved)

regimes36.0ms (0.3%)

Accuracy

Total -5.9b remaining (-20%)

Threshold costs -5.9b (-20%)

Counts
2 → 2
Calls
Call 1
Inputs
(*.f64 x (*.f64 y t))
(*.f64 y (*.f64 t x))
Outputs
(*.f64 y (*.f64 t x))
(*.f64 x (*.f64 y t))
Calls

4 calls:

18.0ms
z
7.0ms
y
6.0ms
t
3.0ms
x
Results
ErrorSegmentsBranch
31.8b1x
30.7b2y
31.8b1z
29.6b2t
Compiler

Compiled 34 to 24 computations (29.4% saved)

bsearch15.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
2.8211299942734083e-22
2.6818303601573158e-18
Results
11.0ms112×body256valid
1.0ms12×body256infinite
Compiler

Compiled 160 to 112 computations (30% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
085647
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -999999999999999965084388885482519417592855130626093842171043595190833186399051537317196816706799625297221478016185520727674168639944850288849622355474122345476546392575499689981548348018063279122228410984187505225498624) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -2291112313477997/229111231347799689635350271469398707925773913377365220235531597618488512042823233274762274126597027003434876073751997760595174886056587013603560208332516636964102994463833696818134410091831830209960320065853961979807444428853900668922870296851794362368) (*.f64 (*.f64 y (-.f64 x z)) t) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 0) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) (*.f64 (-.f64 x z) (*.f64 y t))))))
(if (<=.f64 t 6646139978924579/1329227995784915872903807060280344576) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (-.f64 x z) (*.f64 y t)))
(if (<=.f64 y -110591769249305/21267647932558653966460912964485513216) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (-.f64 x z)) t))
(if (<=.f64 t 9500000000000000191788138251073787270440437664406942334148299741657315301612655609785157271086381080266547487313558700305820969165270100793957509435185387930543478623446928655610821750710871943647320052193393056996343016858635468800) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 t 849999999999999952260352153441064112578543860874655090914950237442793249012163368493535886834821112297253056977499667223042877488417775838208406381383220314836769912109127665975400375153634979525197209042954110135876837459489893394298271647213919571619610624) (*.f64 (*.f64 y (neg.f64 z)) t) (if (<=.f64 t 1649999999999999927931904188509194111486089763448696854717030118231244333527766834699805318940270310494699168637087973612377046208671940490676639914980931869530156792308537537928973321899092588621900675137887237925970452512438105850026364231082507710040046000767814072270848) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 x (*.f64 y t)))))
(if (<=.f64 x -4533471823554859/9444732965739290427392) (*.f64 x (*.f64 y t)) (if (<=.f64 x 8684406692798715/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 y (*.f64 (neg.f64 z) t)) (if (<=.f64 x 359999999999999983619735486328608172174855738600907781772569547648911518847232763378141717441005492567551710545786501308013417506907829720134789675686066292523008) (*.f64 (*.f64 y x) t) (*.f64 x (*.f64 y t)))))
(if (<=.f64 x -8717790067256469/601226901190101306339707032778070279008174732520529886901066488712245510429339761526706943586500787976175353856) (*.f64 x (*.f64 y t)) (if (<=.f64 x 6156563468186637/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (neg.f64 (*.f64 z (*.f64 t y))) (if (<=.f64 x 49999999999999997643667726825605503998723091390929041589542693874892976119602893534497849501708255388193655030747466210492481655783901101005318643863821221888) (*.f64 (*.f64 y x) t) (*.f64 x (*.f64 y t)))))
(if (<=.f64 y -6829486688100709/803469022129495137770981046170581301261101496891396417650688) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y x) t))
(if (<=.f64 t 6646139978924579/332306998946228968225951765070086144) (*.f64 y (*.f64 t x)) (*.f64 x (*.f64 y t)))
(*.f64 x (*.f64 y t))
Outputs
(if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -999999999999999965084388885482519417592855130626093842171043595190833186399051537317196816706799625297221478016185520727674168639944850288849622355474122345476546392575499689981548348018063279122228410984187505225498624) (*.f64 (-.f64 x z) (*.f64 y t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) -2291112313477997/229111231347799689635350271469398707925773913377365220235531597618488512042823233274762274126597027003434876073751997760595174886056587013603560208332516636964102994463833696818134410091831830209960320065853961979807444428853900668922870296851794362368) (*.f64 (*.f64 y (-.f64 x z)) t) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 0) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 (-.f64 (*.f64 x y) (*.f64 z y)) 10000000000000000369475456880582265409809179829842688451922778552150543659347219597216513109705408327446511753687232667314337003349573404171046192448274432) (*.f64 (-.f64 (*.f64 x y) (*.f64 z y)) t) (*.f64 (-.f64 x z) (*.f64 y t))))))
(if (<=.f64 t 6646139978924579/1329227995784915872903807060280344576) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (-.f64 x z) (*.f64 y t)))
(if (<=.f64 y -110591769249305/21267647932558653966460912964485513216) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 (*.f64 y (-.f64 x z)) t))
(if (<=.f64 t 9500000000000000191788138251073787270440437664406942334148299741657315301612655609785157271086381080266547487313558700305820969165270100793957509435185387930543478623446928655610821750710871943647320052193393056996343016858635468800) (*.f64 y (*.f64 (-.f64 x z) t)) (if (<=.f64 t 849999999999999952260352153441064112578543860874655090914950237442793249012163368493535886834821112297253056977499667223042877488417775838208406381383220314836769912109127665975400375153634979525197209042954110135876837459489893394298271647213919571619610624) (*.f64 (*.f64 y (neg.f64 z)) t) (if (<=.f64 t 1649999999999999927931904188509194111486089763448696854717030118231244333527766834699805318940270310494699168637087973612377046208671940490676639914980931869530156792308537537928973321899092588621900675137887237925970452512438105850026364231082507710040046000767814072270848) (*.f64 y (*.f64 (-.f64 x z) t)) (*.f64 x (*.f64 y t)))))
(if (<=.f64 x -4533471823554859/9444732965739290427392) (*.f64 x (*.f64 y t)) (if (<=.f64 x 8684406692798715/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 y (*.f64 (neg.f64 z) t)) (if (<=.f64 x 359999999999999983619735486328608172174855738600907781772569547648911518847232763378141717441005492567551710545786501308013417506907829720134789675686066292523008) (*.f64 (*.f64 y x) t) (*.f64 x (*.f64 y t)))))
(if (<=.f64 x -8717790067256469/601226901190101306339707032778070279008174732520529886901066488712245510429339761526706943586500787976175353856) (*.f64 x (*.f64 y t)) (if (<=.f64 x 6156563468186637/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (neg.f64 (*.f64 z (*.f64 t y))) (if (<=.f64 x 49999999999999997643667726825605503998723091390929041589542693874892976119602893534497849501708255388193655030747466210492481655783901101005318643863821221888) (*.f64 (*.f64 y x) t) (*.f64 x (*.f64 y t)))))
(if (<=.f64 y -6829486688100709/803469022129495137770981046170581301261101496891396417650688) (*.f64 y (*.f64 t x)) (*.f64 (*.f64 y x) t))
(if (<=.f64 t 6646139978924579/332306998946228968225951765070086144) (*.f64 y (*.f64 t x)) (*.f64 x (*.f64 y t)))
(*.f64 x (*.f64 y t))
Compiler

Compiled 285 to 140 computations (50.9% saved)

soundness251.0ms (2.4%)

Algorithm
egg-herbie
Rules
1798×rational.json-simplify-47
1142×rational.json-simplify-41
1016×rational.json-simplify-49
980×rational.json-simplify-2
924×rational.json-simplify-54
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0972537
12072173
26452065
318162049
459882041
01025
11319
21519
31819
42419
52519
01025
11319
21519
31819
42419
52519
Stop Event
saturated
saturated
node limit
Compiler

Compiled 99 to 42 computations (57.6% saved)

end95.0ms (0.9%)

Compiler

Compiled 415 to 133 computations (68% saved)

Profiling

Loading profile data...