Details

Time bar (total: 30.5s)

analyze296.0ms (1%)

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.6%0.2%1.8%0%0%11
17.8%17.2%79.4%0.2%3.2%0%0%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.2s (4.1%)

Results
834.0ms8256×body256valid
386.0ms3883×body256infinite
Bogosity

preprocess5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
030175
144175
044
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
Call 2
Inputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 y (*.f64 (-.f64 x z) (-.f64 t y)))
(+.f64 z (*.f64 (-.f64 y x) (-.f64 t z)))
(+.f64 t (*.f64 (-.f64 y z) (-.f64 x t)))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 t x)))
(+.f64 x (*.f64 (-.f64 t z) (-.f64 y x)))
(+.f64 x (*.f64 (-.f64 y t) (-.f64 z x)))
Outputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 y (*.f64 (-.f64 x z) (-.f64 t y)))
(+.f64 z (*.f64 (-.f64 y x) (-.f64 t z)))
(+.f64 t (*.f64 (-.f64 y z) (-.f64 x t)))
(+.f64 x (*.f64 (-.f64 z y) (-.f64 t x)))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 z y)))
(+.f64 x (*.f64 (-.f64 t z) (-.f64 y x)))
(+.f64 x (*.f64 (-.f64 y x) (-.f64 t z)))
(+.f64 x (*.f64 (-.f64 y t) (-.f64 z x)))
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify10.0ms (0%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 13 to 8 computations (38.5% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 13 to 8 computations (38.5% saved)

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

series7.0ms (0%)

Counts
2 → 96
Calls

24 calls:

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

rewrite123.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1826×rational.json-1
1800×rational.json-simplify-35
1164×rational.json-simplify-2
1154×exponential.json-3
1154×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
16444
213644
330244
458644
5140444
6304344
7528444
8789544
Stop Event
node limit
Counts
2 → 35
Calls
Call 1
Inputs
(*.f64 (-.f64 y z) (-.f64 t x))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1/2) (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 z y) 4) (-.f64 x t)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) (+.f64 x x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)))))

simplify477.0ms (1.6%)

Algorithm
egg-herbie
Rules
2504×rational.json-simplify-35
2262×rational.json-simplify-2
1064×rational.json-simplify-1
884×rational.json-simplify-53
842×exponential.json-simplify-26
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01124721
12463307
25673307
314233239
426513223
534173223
637743223
742703223
846823223
950442975
1057942975
1163192975
1265222975
1367442975
1470432975
1571742975
1674492975
1778252975
Stop Event
node limit
Counts
131 → 94
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 0)
(+.f64 0 (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1/2) (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1/2))
(-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 0)
(/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)
(/.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) 2)
(/.f64 (*.f64 (*.f64 (-.f64 z y) 4) (-.f64 x t)) 4)
(/.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)))))) 128)
(pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)
(-.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 0)
(*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)
(*.f64 1 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))
(*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1/2))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4))
(*.f64 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 4)
(*.f64 (+.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) (+.f64 x x)) 1/2)
(/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))))) 128)
(pow.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)
Outputs
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (-.f64 t x) (*.f64 z -1))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (-.f64 t x) (*.f64 z -1))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (-.f64 t x) (*.f64 z -1))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) y) (*.f64 (-.f64 t x) (*.f64 z -1)))
(*.f64 (-.f64 t x) (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 (-.f64 y z) (*.f64 x -1))
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 (-.f64 y z) (neg.f64 x))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 (-.f64 y z) (*.f64 x -1))
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 (-.f64 y z) (neg.f64 x))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 -1 (*.f64 (-.f64 y z) x))
(*.f64 (-.f64 y z) (*.f64 x -1))
(*.f64 x (neg.f64 (-.f64 y z)))
(*.f64 (-.f64 y z) (neg.f64 x))
(*.f64 x (-.f64 z y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 -1 (*.f64 (-.f64 y z) x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x)
(*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z))))
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(*.f64 x (-.f64 z (-.f64 y 1)))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 z (+.f64 -1 y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x))
(*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z))))
(*.f64 x (+.f64 1 (neg.f64 (-.f64 y z))))
(*.f64 x (-.f64 z (-.f64 y 1)))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 z (+.f64 -1 y)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) x)
(+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1)))
(+.f64 x (*.f64 (-.f64 t x) (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 (-.f64 t x))))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 t x) z)) (+.f64 (*.f64 y (-.f64 t x)) x))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(*.f64 y (-.f64 t x))
(*.f64 (-.f64 t x) y)
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 (-.f64 t x) y))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (-.f64 t x) (*.f64 z -1))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(*.f64 -1 (*.f64 z (-.f64 t x)))
(*.f64 (-.f64 t x) (*.f64 z -1))
(*.f64 (-.f64 t x) (neg.f64 z))
(*.f64 z (neg.f64 (-.f64 t x)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 z (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
(+.f64 x (*.f64 (-.f64 t x) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1)))
(+.f64 x (*.f64 x (neg.f64 (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (neg.f64 x)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 0)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 0 (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(+.f64 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1/2) (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1/2))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 0)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) 2)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (*.f64 (*.f64 (-.f64 z y) 4) (-.f64 x t)) 4)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)) 8)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))) 16)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)))) 32)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))))) 64)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 t x) (*.f64 (-.f64 y z) 8)))))) 128)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(pow.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)
(+.f64 (*.f64 (-.f64 y z) (*.f64 x -1)) (*.f64 t (-.f64 y z)))
(*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))
(*.f64 (-.f64 t x) (-.f64 y z))
(-.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 0)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 1 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1/2))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2) 1/2)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 1/4)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) (+.f64 x x)))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1/2) 2)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 4)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(*.f64 (+.f64 (*.f64 (-.f64 t x) (*.f64 (-.f64 z y) -2)) (+.f64 x x)) 1/2)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 2) 2)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 4) 4)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8) 8)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)) 16)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))) 32)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)))) 64)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))))) 128)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))
(pow.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 1)
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 x (*.f64 (-.f64 y z) (*.f64 x -1))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 x (*.f64 (-.f64 t x) (-.f64 y z)))

eval15.0ms (0.1%)

Compiler

Compiled 1132 to 399 computations (64.8% saved)

prune18.0ms (0.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New89594
Fresh000
Picked011
Done000
Total89695
Error
0.0b
Counts
95 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
24.4b
(+.f64 (*.f64 y (-.f64 t x)) x)
0.0b
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
0.0b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
23.0b
(+.f64 x (*.f64 z (-.f64 x t)))
21.3b
(+.f64 x (*.f64 t (-.f64 y z)))
25.1b
(*.f64 x (-.f64 z (-.f64 y 1)))
Compiler

Compiled 135 to 88 computations (34.8% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 45 to 21 computations (53.3% saved)

series8.0ms (0%)

Counts
4 → 132
Calls

36 calls:

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

rewrite107.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1402×rational.json-1
1402×rational.json-2
1402×rational.json-3
1394×exponential.json-3
1394×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01382
19682
220482
341182
480082
5188482
6404382
7610582
Stop Event
node limit
Counts
4 → 89
Calls
Call 1
Inputs
(*.f64 x (-.f64 z (-.f64 y 1)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(-.f64 z (-.f64 y 1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (+.f64 1 (-.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (-.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 t (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 t (-.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (-.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 (-.f64 y z) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 t 8) (-.f64 y z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (-.f64 y z)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2)) (*.f64 t (*.f64 (-.f64 y z) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 z (-.f64 1 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 z y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (-.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 1 (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 z (-.f64 2 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 z y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 y) z)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 y) (+.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z (-.f64 2 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 z (-.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 z 1) (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 (-.f64 z y)) 1/2) (*.f64 (+.f64 1 (-.f64 z y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 1/2 (+.f64 y (-.f64 -1 z)))) (-.f64 1 (*.f64 1/2 (+.f64 y (-.f64 -1 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (-.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (-.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 y (-.f64 -1 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (-.f64 z y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 y (-.f64 -1 z)) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 z 4) (/.f64 (-.f64 y 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (-.f64 -1 z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (-.f64 z y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 1 (-.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (-.f64 z y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 (-.f64 z y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 z 4) (*.f64 (-.f64 y 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (-.f64 -1 z)) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (-.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (-.f64 z y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (-.f64 -1 z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (-.f64 z y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (-.f64 z y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (-.f64 y z) 2) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 y (-.f64 -1 z)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (-.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 y (-.f64 -1 z)))))))

simplify268.0ms (0.9%)

Algorithm
egg-herbie
Rules
2246×rational.json-simplify-2
1936×rational.json-simplify-35
1748×rational.json-simplify-1
1032×rational.json-simplify-53
1024×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02175205
15024973
211564973
326304967
445214967
553184967
657344967
761964967
867414967
971324967
Stop Event
node limit
Counts
221 → 162
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 1 y) x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(-.f64 1 y)
(-.f64 (+.f64 1 z) y)
(-.f64 (+.f64 1 z) y)
(-.f64 (+.f64 1 z) y)
z
(-.f64 (+.f64 1 z) y)
(-.f64 (+.f64 1 z) y)
(-.f64 (+.f64 1 z) y)
z
(-.f64 (+.f64 1 z) y)
(-.f64 (+.f64 1 z) y)
(-.f64 (+.f64 1 z) y)
(+.f64 1 z)
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(*.f64 -1 y)
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(*.f64 -1 y)
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 0)
(+.f64 0 (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)))
(-.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 0)
(/.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 1)
(/.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2)) 2)
(/.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 4)) 4)
(/.f64 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8)))) 64)
(pow.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 1)
(+.f64 (*.f64 t (-.f64 y z)) 0)
(+.f64 0 (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2)))
(-.f64 (*.f64 t (-.f64 y z)) 0)
(/.f64 (*.f64 t (-.f64 y z)) 1)
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) 2)
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 4)) 4)
(/.f64 (*.f64 (*.f64 t 8) (-.f64 y z)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))))) 64)
(pow.f64 (*.f64 t (-.f64 y z)) 1)
(-.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 0)
(*.f64 1 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))))
(*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1/2))
(*.f64 2 (+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2))))
(*.f64 2 (+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2))))
(*.f64 4 (/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2))
(*.f64 1/2 (+.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2))))
(*.f64 1/2 (+.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2)) (*.f64 t (*.f64 (-.f64 y z) 2))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 4)
(/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8)))) 64)
(pow.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (+.f64 1 (-.f64 z y)) 0)
(+.f64 0 (+.f64 1 (-.f64 z y)))
(+.f64 -1 (+.f64 z (-.f64 2 y)))
(+.f64 (-.f64 z y) 1)
(+.f64 (-.f64 1 y) z)
(+.f64 (neg.f64 y) (+.f64 z 1))
(+.f64 (+.f64 z (-.f64 2 y)) -1)
(+.f64 -2 (-.f64 z (-.f64 y 3)))
(+.f64 (+.f64 z 1) (neg.f64 y))
(+.f64 (*.f64 (+.f64 1 (-.f64 z y)) 1/2) (*.f64 (+.f64 1 (-.f64 z y)) 1/2))
(+.f64 (-.f64 -1 (*.f64 1/2 (+.f64 y (-.f64 -1 z)))) (-.f64 1 (*.f64 1/2 (+.f64 y (-.f64 -1 z)))))
(*.f64 1 (+.f64 1 (-.f64 z y)))
(*.f64 (+.f64 1 (-.f64 z y)) 1)
(*.f64 -1 (+.f64 y (-.f64 -1 z)))
(*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 1/2))
(*.f64 (*.f64 (+.f64 1 (-.f64 z y)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 y (-.f64 -1 z)) -4))
(*.f64 4 (-.f64 (/.f64 z 4) (/.f64 (-.f64 y 1) 4)))
(*.f64 (+.f64 y (-.f64 -1 z)) -1)
(*.f64 (*.f64 (+.f64 1 (-.f64 z y)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 1 (-.f64 z y)) 2))
(*.f64 (*.f64 (+.f64 1 (-.f64 z y)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 1 (-.f64 z y)) 4))
(*.f64 1/4 (-.f64 (*.f64 z 4) (*.f64 (-.f64 y 1) 4)))
(*.f64 (/.f64 (+.f64 y (-.f64 -1 z)) -4) 4)
(/.f64 (+.f64 1 (-.f64 z y)) 1)
(/.f64 (*.f64 (+.f64 1 (-.f64 z y)) 2) 2)
(/.f64 (+.f64 y (-.f64 -1 z)) -1)
(/.f64 (*.f64 (+.f64 1 (-.f64 z y)) 4) 4)
(/.f64 (*.f64 (+.f64 1 (-.f64 z y)) 8) 8)
(/.f64 (+.f64 (*.f64 (-.f64 y z) 2) -2) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8)) 16)
(/.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 (+.f64 y (-.f64 -1 z)) 4)) -8)
(/.f64 (neg.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4)) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8)))) 64)
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4))) 8)
(pow.f64 (+.f64 1 (-.f64 z y)) 1)
(neg.f64 (+.f64 y (-.f64 -1 z)))
Outputs
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(neg.f64 (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(neg.f64 (*.f64 y x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 z t)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 z (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 y (+.f64 t (*.f64 x -1))) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 z (neg.f64 t)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 y (+.f64 t (*.f64 x -1))) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 z (neg.f64 t)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 y (+.f64 t (*.f64 x -1))) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 z (neg.f64 t)) (*.f64 y (+.f64 t (neg.f64 x)))))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 y (+.f64 t (*.f64 x -1)))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 y (+.f64 t (*.f64 x -1))) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 z (neg.f64 t)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 y (+.f64 t (*.f64 x -1))) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 z (neg.f64 t)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 y (+.f64 t (*.f64 x -1))) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 z (neg.f64 t)) (*.f64 y (+.f64 t (neg.f64 x)))))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(*.f64 (+.f64 x (*.f64 -1 t)) (neg.f64 y))
(*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y))
(*.f64 y (neg.f64 (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 (+.f64 x (*.f64 -1 t)) (neg.f64 y)) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (+.f64 (*.f64 z t) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 (+.f64 1 z) x) (neg.f64 (+.f64 (*.f64 z t) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 (+.f64 x (*.f64 -1 t)) (neg.f64 y)) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (+.f64 (*.f64 z t) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 (+.f64 1 z) x) (neg.f64 (+.f64 (*.f64 z t) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 (+.f64 1 z) x) (+.f64 (*.f64 (+.f64 x (*.f64 -1 t)) (neg.f64 y)) (*.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (+.f64 (*.f64 z t) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 (+.f64 1 z) x) (neg.f64 (+.f64 (*.f64 z t) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (*.f64 -1 t))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (*.f64 -1 t))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (*.f64 -1 t))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (+.f64 x (neg.f64 t)))))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (*.f64 -1 t)))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (*.f64 -1 t))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (*.f64 -1 t))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (*.f64 -1 t))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (+.f64 x (neg.f64 t)))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1))))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 y t) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1))))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)) (*.f64 y t)))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 y t) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1))))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)) (*.f64 y t)))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 y t) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1))))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)) (*.f64 y t)))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 y t) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 y t)) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x)))))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(-.f64 1 y)
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
z
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
z
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(-.f64 (+.f64 1 z) y)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 z)
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 -1 y)
(neg.f64 y)
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 -1 y)
(neg.f64 y)
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 (+.f64 z (*.f64 -1 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 0)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 0 (*.f64 x (+.f64 1 (-.f64 z y))))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)))
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(-.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 0)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(/.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 1)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(/.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2)) 2)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(/.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 4)) 4)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(/.f64 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8) 8)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8)) 16)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8))) 32)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 8)))) 64)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(pow.f64 (*.f64 x (+.f64 1 (-.f64 z y))) 1)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(+.f64 (*.f64 t (-.f64 y z)) 0)
(*.f64 t (-.f64 y z))
(+.f64 0 (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2)))
(*.f64 t (-.f64 y z))
(-.f64 (*.f64 t (-.f64 y z)) 0)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 t (-.f64 y z)) 1)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) 2)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 4)) 4)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 (*.f64 t 8) (-.f64 y z)) 8)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))) 16)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z)))) 32)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))))) 64)
(*.f64 t (-.f64 y z))
(pow.f64 (*.f64 t (-.f64 y z)) 1)
(*.f64 t (-.f64 y z))
(-.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 0)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 1 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1/2))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 2 (+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2))))
(*.f64 2 (+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 t (*.f64 1/2 (-.f64 y z)))))
(*.f64 2 (+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 t (*.f64 (-.f64 y z) 1/2))))
(*.f64 2 (+.f64 (*.f64 (+.f64 z (-.f64 1 y)) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2))))
(*.f64 2 (+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2))))
(*.f64 2 (+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 t (*.f64 1/2 (-.f64 y z)))))
(*.f64 2 (+.f64 (*.f64 (+.f64 1 (-.f64 z y)) (*.f64 x 1/2)) (*.f64 t (*.f64 (-.f64 y z) 1/2))))
(*.f64 2 (+.f64 (*.f64 (+.f64 z (-.f64 1 y)) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2))))
(*.f64 4 (/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2) 1/2)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 1/4)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 1/2 (+.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2))))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 1/2 (+.f64 (*.f64 x (*.f64 (+.f64 1 (-.f64 z y)) 2)) (*.f64 t (*.f64 (-.f64 y z) 2))))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4))
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1/2) 2)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(*.f64 (/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 4)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(/.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 2) 2)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 4) 4)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(/.f64 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8) 8)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8)) 16)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8))) 32)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 8)))) 64)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(pow.f64 (+.f64 (*.f64 x (+.f64 1 (-.f64 z y))) (*.f64 t (-.f64 y z))) 1)
(+.f64 (*.f64 (+.f64 z (-.f64 1 y)) x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 1 (-.f64 z y))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 1 (-.f64 z y))
(+.f64 z (-.f64 1 y))
(+.f64 (+.f64 1 (-.f64 z y)) 0)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 0 (+.f64 1 (-.f64 z y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 -1 (+.f64 z (-.f64 2 y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (-.f64 z y) 1)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (-.f64 1 y) z)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (neg.f64 y) (+.f64 z 1))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (+.f64 z (-.f64 2 y)) -1)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 -2 (-.f64 z (-.f64 y 3)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (+.f64 z 1) (neg.f64 y))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (*.f64 (+.f64 1 (-.f64 z y)) 1/2) (*.f64 (+.f64 1 (-.f64 z y)) 1/2))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(+.f64 (-.f64 -1 (*.f64 1/2 (+.f64 y (-.f64 -1 z)))) (-.f64 1 (*.f64 1/2 (+.f64 y (-.f64 -1 z)))))
(*.f64 1 (+.f64 1 (-.f64 z y)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 (+.f64 1 (-.f64 z y)) 1)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 -1 (+.f64 y (-.f64 -1 z)))
(neg.f64 (+.f64 y (-.f64 -1 z)))
(*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 1/2))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 (*.f64 (+.f64 1 (-.f64 z y)) 2) 1/2)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 4 (/.f64 (+.f64 y (-.f64 -1 z)) -4))
(neg.f64 (+.f64 y (-.f64 -1 z)))
(*.f64 4 (-.f64 (/.f64 z 4) (/.f64 (-.f64 y 1) 4)))
(*.f64 4 (-.f64 (/.f64 z 4) (/.f64 (+.f64 y -1) 4)))
(*.f64 (+.f64 y (-.f64 -1 z)) -1)
(neg.f64 (+.f64 y (-.f64 -1 z)))
(*.f64 (*.f64 (+.f64 1 (-.f64 z y)) 4) 1/4)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 1/2 (*.f64 (+.f64 1 (-.f64 z y)) 2))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 (*.f64 (+.f64 1 (-.f64 z y)) 1/2) 2)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 1/4 (*.f64 (+.f64 1 (-.f64 z y)) 4))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 1/4 (-.f64 (*.f64 z 4) (*.f64 (-.f64 y 1) 4)))
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(*.f64 (/.f64 (+.f64 y (-.f64 -1 z)) -4) 4)
(neg.f64 (+.f64 y (-.f64 -1 z)))
(/.f64 (+.f64 1 (-.f64 z y)) 1)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(/.f64 (*.f64 (+.f64 1 (-.f64 z y)) 2) 2)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(/.f64 (+.f64 y (-.f64 -1 z)) -1)
(neg.f64 (+.f64 y (-.f64 -1 z)))
(/.f64 (*.f64 (+.f64 1 (-.f64 z y)) 4) 4)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(/.f64 (*.f64 (+.f64 1 (-.f64 z y)) 8) 8)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(/.f64 (+.f64 (*.f64 (-.f64 y z) 2) -2) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8)) 16)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(/.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4) -4)
(neg.f64 (+.f64 y (-.f64 -1 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8))) 32)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(/.f64 (*.f64 2 (*.f64 (+.f64 y (-.f64 -1 z)) 4)) -8)
(neg.f64 (+.f64 y (-.f64 -1 z)))
(/.f64 (neg.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4)) 4)
(neg.f64 (+.f64 y (-.f64 -1 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (-.f64 z y)) 8)))) 64)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(/.f64 (*.f64 2 (neg.f64 (*.f64 (+.f64 y (-.f64 -1 z)) 4))) 8)
(neg.f64 (+.f64 y (-.f64 -1 z)))
(pow.f64 (+.f64 1 (-.f64 z y)) 1)
(+.f64 z (-.f64 1 y))
(+.f64 1 (-.f64 z y))
(neg.f64 (+.f64 y (-.f64 -1 z)))

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

series1.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite106.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1480×rational.json-1
1480×rational.json-2
1480×rational.json-3
1474×exponential.json-3
1474×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15819
212419
326819
451119
5120019
6274419
7438419
8659419
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(+.f64 x (*.f64 t (-.f64 y z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 t (-.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 t (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 t (*.f64 (-.f64 z y) -2)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)))))

simplify1.7s (5.7%)

Algorithm
egg-herbie
Rules
3656×rational.json-simplify-35
2464×rational.json-simplify-2
1446×rational.json-simplify-49
1234×rational.json-simplify-1
1106×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0661450
11371408
23801300
310011300
415421300
529481300
637941300
738561300
838931300
939271300
1044141300
1145421300
1246321300
1346981300
1447481300
1547981300
1648481300
1748981300
1849481300
1959011300
2066081300
2168021300
2268481300
2368931300
2469381300
2569831300
2670281300
2770731300
2871181300
2971631300
3071631300
3172081300
3272531300
3372981300
3473431300
3573881300
3674331300
3774781300
3875231300
3975681300
4076131300
4176581300
4277031300
4377481300
4477931300
4578381300
4678831300
4779281300
4879731300
Stop Event
node limit
Counts
70 → 40
Calls
Call 1
Inputs
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 y t) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(-.f64 (+.f64 x (*.f64 t (-.f64 y z))) 0)
(*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)
(*.f64 1 (+.f64 x (*.f64 t (-.f64 y z))))
(*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/2))
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/4))
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4) 1/4)
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2))
(*.f64 1/2 (+.f64 (*.f64 t (*.f64 (-.f64 z y) -2)) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/4) 4)
(/.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8))))) 128)
(pow.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)
Outputs
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
x
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 t (-.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 t (*.f64 z -1)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 y t) x)
(+.f64 x (*.f64 t y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 -1 (*.f64 t z))
(*.f64 t (*.f64 z -1))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 -1 (*.f64 t z))
(*.f64 t (*.f64 z -1))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 y t) x))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 x (*.f64 t y)))
(+.f64 x (+.f64 (*.f64 t y) (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 t (+.f64 y (neg.f64 z))))
(-.f64 (+.f64 x (*.f64 t (-.f64 y z))) 0)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 1 (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/2))
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2) 1/2)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 4 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/4))
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4) 1/4)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8) 1/8)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2))
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 1/2 (+.f64 (*.f64 t (*.f64 (-.f64 z y) -2)) (+.f64 x x)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 t (*.f64 (-.f64 z y) -2)))))
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/2) 2)
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4))
(+.f64 (*.f64 t (-.f64 y z)) x)
(*.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1/4) 4)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 2) 2)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 4) 4)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8) 8)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)) 16)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8))) 32)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)))) 64)
(+.f64 (*.f64 t (-.f64 y z)) x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 t (-.f64 y z))) 8))))) 128)
(+.f64 (*.f64 t (-.f64 y z)) x)
(pow.f64 (+.f64 x (*.f64 t (-.f64 y z))) 1)
(+.f64 (*.f64 t (-.f64 y z)) x)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series3.0ms (0%)

Counts
2 → 60
Calls

18 calls:

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

rewrite117.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1812×rational.json-1
1576×rational.json-simplify-35
1284×rational.json-2
1284×rational.json-3
1276×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15232
211432
324832
447432
5111432
6316832
7587432
8786832
Stop Event
node limit
Counts
2 → 34
Calls
Call 1
Inputs
(*.f64 z (-.f64 x t))
(+.f64 x (*.f64 z (-.f64 x t)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (-.f64 x t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x t) (*.f64 z 1/2)) (*.f64 (-.f64 x t) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (-.f64 x t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 x t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x t) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x t) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (-.f64 x t) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (-.f64 x t)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 z (-.f64 x t))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)))))

simplify449.0ms (1.5%)

Algorithm
egg-herbie
Rules
3950×rational.json-simplify-41
2378×rational.json-simplify-35
1980×rational.json-simplify-2
696×rational.json-simplify-53
682×rational.json-simplify-51
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0911984
12111888
25461690
314301690
427031558
534791558
639151558
742031558
843831558
945201558
1046471558
1150101558
1251741558
1352281558
1452791558
1553851558
1654661558
1755241558
1856481558
1957721558
Stop Event
node limit
Counts
94 → 54
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
x
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 z (-.f64 x t)) 0)
(+.f64 0 (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 (-.f64 x t) (*.f64 z 1/2)) (*.f64 (-.f64 x t) (*.f64 z 1/2)))
(-.f64 (*.f64 z (-.f64 x t)) 0)
(/.f64 (*.f64 z (-.f64 x t)) 1)
(/.f64 (*.f64 (-.f64 x t) (+.f64 z z)) 2)
(/.f64 (*.f64 (-.f64 x t) (*.f64 z 4)) 4)
(/.f64 (*.f64 z (*.f64 (-.f64 x t) 8)) 8)
(/.f64 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8)))))) 128)
(pow.f64 (*.f64 z (-.f64 x t)) 1)
(-.f64 (+.f64 x (*.f64 z (-.f64 x t))) 0)
(*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)
(*.f64 1 (+.f64 x (*.f64 z (-.f64 x t))))
(*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/2))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/4))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4) 1/4)
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/4) 4)
(/.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))))) 128)
(pow.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)
Outputs
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
x
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z x) x)
(+.f64 x (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) 0)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 0 (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 (-.f64 x t) (*.f64 z 1/2)) (*.f64 (-.f64 x t) (*.f64 z 1/2)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(-.f64 (*.f64 z (-.f64 x t)) 0)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 x t)) 1)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 (-.f64 x t) (+.f64 z z)) 2)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 (-.f64 x t) (*.f64 z 4)) 4)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (*.f64 (-.f64 x t) 8)) 8)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))) 16)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8)))) 32)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))))) 64)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (-.f64 x t) 8)))))) 128)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(pow.f64 (*.f64 z (-.f64 x t)) 1)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (-.f64 x t))
(-.f64 (+.f64 x (*.f64 z (-.f64 x t))) 0)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 1 (+.f64 x (*.f64 z (-.f64 x t))))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/2))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2) 1/2)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 4 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/4))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4) 1/4)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8) 1/8)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/2) 2)
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1/4) 4)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2) 2)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4) 4)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8) 8)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)) 16)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))) 32)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) 64)
(+.f64 x (*.f64 z (-.f64 x t)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))))) 128)
(+.f64 x (*.f64 z (-.f64 x t)))
(pow.f64 (+.f64 x (*.f64 z (-.f64 x t))) 1)
(+.f64 x (*.f64 z (-.f64 x t)))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series4.0ms (0%)

Counts
2 → 57
Calls

18 calls:

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

rewrite114.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1812×rational.json-1
1576×rational.json-simplify-35
1284×rational.json-2
1284×rational.json-3
1276×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
15232
211432
324832
447432
5111432
6317032
7588132
8787532
Stop Event
node limit
Counts
2 → 34
Calls
Call 1
Inputs
(*.f64 y (-.f64 t x))
(+.f64 (*.f64 y (-.f64 t x)) 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 (-.f64 t x) (*.f64 y 1/2)) (*.f64 (-.f64 t x) (*.f64 y 1/2)))))) (#(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 (-.f64 t x) (+.f64 y y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 t x) (*.f64 y 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 (-.f64 t x) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 y (-.f64 t x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 y (-.f64 t x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 y (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)))))

simplify459.0ms (1.5%)

Algorithm
egg-herbie
Rules
3688×rational.json-simplify-41
2412×rational.json-simplify-35
2064×rational.json-simplify-2
750×rational.json-simplify-53
678×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0921855
12131609
25451609
314311565
427081565
534851565
639191565
742321565
844271565
945571565
1046851565
1150841565
1252501565
1353081565
1453591565
1554771565
1655731565
1756431565
1857751565
1959051565
Stop Event
node limit
Counts
91 → 61
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
x
(*.f64 y (-.f64 t x))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(*.f64 -1 (*.f64 (-.f64 y 1) x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y (-.f64 t x)) 0)
(+.f64 0 (*.f64 y (-.f64 t x)))
(+.f64 (*.f64 (-.f64 t x) (*.f64 y 1/2)) (*.f64 (-.f64 t x) (*.f64 y 1/2)))
(-.f64 (*.f64 y (-.f64 t x)) 0)
(/.f64 (*.f64 y (-.f64 t x)) 1)
(/.f64 (*.f64 (-.f64 t x) (+.f64 y y)) 2)
(/.f64 (*.f64 (-.f64 t x) (*.f64 y 4)) 4)
(/.f64 (*.f64 y (*.f64 (-.f64 t x) 8)) 8)
(/.f64 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8)))))) 128)
(pow.f64 (*.f64 y (-.f64 t x)) 1)
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) 0)
(*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)
(*.f64 1 (+.f64 x (*.f64 y (-.f64 t x))))
(*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/2))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/4))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4) 1/4)
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/4) 4)
(/.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))))) 128)
(pow.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)
Outputs
(*.f64 -1 (*.f64 y x))
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 -1 (*.f64 y x))
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(*.f64 -1 (*.f64 y x))
(*.f64 x (neg.f64 y))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 y x)) (*.f64 y t))
(*.f64 y (+.f64 t (neg.f64 x)))
x
(*.f64 y (-.f64 t x))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 y (-.f64 t x))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(*.f64 y t)
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(*.f64 y t)
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(*.f64 (+.f64 1 (*.f64 -1 y)) x)
(*.f64 x (+.f64 1 (*.f64 -1 y)))
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(+.f64 (*.f64 y t) (*.f64 (+.f64 1 (*.f64 -1 y)) x))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(*.f64 -1 (*.f64 (-.f64 y 1) x))
(*.f64 x (+.f64 1 (*.f64 -1 y)))
(*.f64 x (+.f64 1 (neg.f64 y)))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(+.f64 (*.f64 y t) (*.f64 -1 (*.f64 (-.f64 y 1) x)))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (*.f64 -1 y))))
(+.f64 (*.f64 y t) (*.f64 x (+.f64 1 (neg.f64 y))))
(+.f64 (*.f64 y t) (*.f64 x (-.f64 1 y)))
(+.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 (-.f64 t x) (*.f64 y 1/2)) (*.f64 (-.f64 t x) (*.f64 y 1/2)))
(*.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 (-.f64 t x) (+.f64 y y)) 2)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 (-.f64 t x) (*.f64 y 4)) 4)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 y (*.f64 (-.f64 t x) 8)) 8)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))) 16)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8)))) 32)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))))) 64)
(*.f64 y (-.f64 t x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 y (*.f64 (-.f64 t x) 8)))))) 128)
(*.f64 y (-.f64 t x))
(pow.f64 (*.f64 y (-.f64 t x)) 1)
(*.f64 y (-.f64 t x))
(-.f64 (+.f64 x (*.f64 y (-.f64 t x))) 0)
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 1 (+.f64 x (*.f64 y (-.f64 t x))))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/2))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2) 1/2)
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 4 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/4))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4) 1/4)
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8) 1/8)
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/2) 2)
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1/4) 4)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2) 2)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4) 4)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8) 8)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)) 16)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))) 32)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) 64)
(+.f64 x (*.f64 y (-.f64 t x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))))) 128)
(+.f64 x (*.f64 y (-.f64 t x)))
(pow.f64 (+.f64 x (*.f64 y (-.f64 t x))) 1)
(+.f64 x (*.f64 y (-.f64 t x)))

eval197.0ms (0.6%)

Compiler

Compiled 4996 to 2390 computations (52.2% saved)

prune217.0ms (0.7%)

Pruning

17 alts after pruning (13 fresh and 4 done)

PrunedKeptTotal
New39913412
Fresh000
Picked101
Done145
Total40117418
Error
0.0b
Counts
418 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
34.2b
(+.f64 (*.f64 z x) x)
33.4b
(+.f64 (*.f64 y t) x)
25.9b
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x))
0.0b
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
0.0b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
34.9b
(+.f64 x (*.f64 z (neg.f64 t)))
21.3b
(+.f64 x (*.f64 t (-.f64 y z)))
37.0b
(*.f64 (-.f64 1 y) x)
39.6b
(*.f64 z (+.f64 x (neg.f64 t)))
50.7b
(*.f64 z x)
40.8b
(*.f64 y (-.f64 t x))
53.4b
(*.f64 y (neg.f64 x))
49.7b
(*.f64 y t)
25.1b
(*.f64 x (-.f64 z (-.f64 y 1)))
37.8b
(*.f64 t (-.f64 y z))
51.5b
(*.f64 t (neg.f64 z))
45.9b
x
Compiler

Compiled 273 to 188 computations (31.1% saved)

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 8 computations (71.4% saved)

series2.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite137.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1460×rational.json-simplify-35
1398×exponential.json-3
1398×rational.json-1
1398×rational.json-2
1398×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
16525
213525
329125
455525
5131625
6271625
7452525
8614625
9745225
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 (-.f64 y z) (+.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 (-.f64 y z) (+.f64 t t))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)))))

simplify494.0ms (1.6%)

Algorithm
egg-herbie
Rules
3194×rational.json-simplify-51
2978×rational.json-simplify-2
2150×rational.json-simplify-35
1494×rational.json-simplify-49
1154×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0741822
11561772
23591670
39901670
416151670
523931670
628531670
729261670
829791670
930191670
1035131670
1136801670
1237521670
1338241670
1438801670
1539361670
1639921670
1740481670
1841041670
1951071670
2076031670
2176871670
2277361670
2377841670
2478321670
Stop Event
node limit
Counts
70 → 46
Calls
Call 1
Inputs
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(*.f64 y t)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (*.f64 y t))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 0)
(*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)
(*.f64 1 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)))
(*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2))
(*.f64 1/2 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 (-.f64 y z) (+.f64 t t))))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 4)
(*.f64 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 (-.f64 y z) (+.f64 t t))) 1/2)
(/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8))))) 128)
(pow.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)
Outputs
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 z x) (*.f64 t (*.f64 z -1)))
(+.f64 (*.f64 z x) (*.f64 t (neg.f64 z)))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (*.f64 y t)))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 z x) (*.f64 t (*.f64 z -1)))
(+.f64 (*.f64 z x) (*.f64 t (neg.f64 z)))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (*.f64 y t))
(+.f64 (*.f64 t (*.f64 z -1)) (+.f64 (*.f64 z x) (*.f64 t y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 (neg.f64 z) y)))
(+.f64 (*.f64 z x) (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1))))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (*.f64 y t))
(+.f64 (*.f64 t y) (*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1)))))
(+.f64 (*.f64 t y) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)))
(+.f64 (*.f64 t y) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (*.f64 y t))
(+.f64 (*.f64 t y) (*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1)))))
(+.f64 (*.f64 t y) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)))
(+.f64 (*.f64 t y) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (*.f64 y t))
(+.f64 (*.f64 t y) (*.f64 -1 (*.f64 z (+.f64 t (*.f64 x -1)))))
(+.f64 (*.f64 t y) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)))
(+.f64 (*.f64 t y) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x)))))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 0)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 1 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1/2))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2) 1/2)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 1/4)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 1/2 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 (-.f64 y z) (+.f64 t t))))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1/2) 2)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4))
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 4)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(*.f64 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 (-.f64 y z) (+.f64 t t))) 1/2)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 2) 2)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 4) 4)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8) 8)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8)) 16)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8))) 32)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8)))) 64)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 8))))) 128)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))
(pow.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 z x)) 1)
(+.f64 (*.f64 z x) (*.f64 t (-.f64 y z)))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize6.0ms (0%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 10 computations (33.3% saved)

series6.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
3.0ms
y
@0
(*.f64 (-.f64 1 y) x)
2.0ms
y
@inf
(*.f64 (-.f64 1 y) x)
0.0ms
x
@inf
(*.f64 (-.f64 1 y) x)
0.0ms
x
@-inf
(*.f64 (-.f64 1 y) x)
0.0ms
x
@0
(*.f64 (-.f64 1 y) x)

rewrite193.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1618×rational.json-simplify-35
1384×exponential.json-3
1384×rational.json-1
1384×rational.json-2
1384×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15513
212813
323813
442813
591213
6233813
7422913
8530613
9656613
10766613
11784813
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 (-.f64 1 y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 x (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 y) (*.f64 x 1/2)) (*.f64 (-.f64 1 y) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 1 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 x (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 y) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 y) (*.f64 x 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 y -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 x (+.f64 y -1)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)))))))

simplify453.0ms (1.5%)

Algorithm
egg-herbie
Rules
2988×rational.json-simplify-35
1920×rational.json-simplify-2
1694×rational.json-simplify-53
988×rational.json-simplify-1
912×rational.json-simplify-43
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
064484
1166462
2329462
3718462
42353462
54060462
64685462
74924462
85113462
95320462
106042462
117111462
127197462
137265462
147286462
157468462
167639462
177806462
187971462
Stop Event
node limit
Counts
34 → 33
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (-.f64 1 y) x) 0)
(+.f64 0 (*.f64 (-.f64 1 y) x))
(+.f64 -1 (-.f64 1 (*.f64 x (+.f64 y -1))))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2))))
(+.f64 (*.f64 (-.f64 1 y) (*.f64 x 1/2)) (*.f64 (-.f64 1 y) (*.f64 x 1/2)))
(-.f64 (*.f64 (-.f64 1 y) x) 0)
(-.f64 0 (*.f64 x (+.f64 y -1)))
(-.f64 0 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)))
(/.f64 (*.f64 (-.f64 1 y) x) 1)
(/.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) 2)
(/.f64 (*.f64 (-.f64 1 y) (*.f64 x 4)) 4)
(/.f64 (*.f64 (-.f64 1 y) (*.f64 x 8)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))) 32)
(/.f64 (*.f64 x (+.f64 y -1)) -1)
(/.f64 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))))))) 256)
(pow.f64 (*.f64 (-.f64 1 y) x) 1)
(neg.f64 (*.f64 x (+.f64 y -1)))
(neg.f64 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)))
Outputs
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 (-.f64 1 y) x) 0)
(*.f64 x (-.f64 1 y))
(+.f64 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(+.f64 -1 (-.f64 1 (*.f64 x (+.f64 y -1))))
(*.f64 x (-.f64 1 y))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2))))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 (-.f64 1 y) (*.f64 x 1/2)) (*.f64 (-.f64 1 y) (*.f64 x 1/2)))
(*.f64 x (-.f64 1 y))
(-.f64 (*.f64 (-.f64 1 y) x) 0)
(*.f64 x (-.f64 1 y))
(-.f64 0 (*.f64 x (+.f64 y -1)))
(*.f64 x (-.f64 1 y))
(-.f64 0 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)))
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) x) 1)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) 2)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) (*.f64 x 4)) 4)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) (*.f64 x 8)) 8)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))) 16)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))) 32)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 x (+.f64 y -1)) -1)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)) -1)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))))) 64)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))))) 128)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))))))) 256)
(*.f64 x (-.f64 1 y))
(pow.f64 (*.f64 (-.f64 1 y) x) 1)
(*.f64 x (-.f64 1 y))
(neg.f64 (*.f64 x (+.f64 y -1)))
(*.f64 x (-.f64 1 y))
(neg.f64 (*.f64 (+.f64 x x) (*.f64 (+.f64 y -1) 1/2)))
(*.f64 x (-.f64 1 y))

eval26.0ms (0.1%)

Compiler

Compiled 1188 to 535 computations (55% saved)

prune26.0ms (0.1%)

Pruning

17 alts after pruning (9 fresh and 8 done)

PrunedKeptTotal
New1161117
Fresh088
Picked011
Done178
Total11717134
Error
0.0b
Counts
134 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
39.6b
(+.f64 (*.f64 z (neg.f64 t)) (*.f64 z x))
34.2b
(+.f64 (*.f64 z x) x)
33.4b
(+.f64 (*.f64 y t) x)
0.0b
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
0.0b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
34.9b
(+.f64 x (*.f64 z (neg.f64 t)))
21.3b
(+.f64 x (*.f64 t (-.f64 y z)))
37.0b
(*.f64 (-.f64 1 y) x)
39.6b
(*.f64 z (+.f64 x (neg.f64 t)))
50.7b
(*.f64 z x)
40.8b
(*.f64 y (-.f64 t x))
53.4b
(*.f64 y (neg.f64 x))
49.7b
(*.f64 y t)
25.1b
(*.f64 x (-.f64 z (-.f64 y 1)))
37.8b
(*.f64 t (-.f64 y z))
51.5b
(*.f64 t (neg.f64 z))
45.9b
x
Compiler

Compiled 238 to 164 computations (31.1% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series1.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite185.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1524×rational.json-simplify-35
1424×rational.json-simplify-1
1386×exponential.json-3
1386×rational.json-1
1386×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
210213
321413
439713
589613
6231413
7416913
8535313
9686413
10767513
11767513
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 y t) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y t) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 y t) x) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y t) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y t) x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y t) x) 1)))))

simplify784.0ms (2.6%)

Algorithm
egg-herbie
Rules
6176×rational.json-simplify-51
3534×rational.json-simplify-35
1360×rational.json-simplify-49
1156×rational.json-simplify-2
1124×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053338
1121338
2423338
31174338
41878338
52772338
63259338
73333338
83381338
93413338
103445338
113477338
123509338
133541338
143573338
153605338
163637338
173669338
183701338
194608338
204867338
214960338
225049338
235136338
245222338
255435338
265435338
275521338
285607338
295693338
305779338
315865338
325951338
336037338
346123338
356209338
Stop Event
node limit
Counts
32 → 26
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 y t)
x
(*.f64 y t)
(*.f64 y t)
(*.f64 y t)
x
x
(-.f64 (+.f64 (*.f64 y t) x) 0)
(*.f64 (+.f64 (*.f64 y t) x) 1)
(*.f64 1 (+.f64 (*.f64 y t) x))
(*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 y t) x) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y t) x) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y t) x) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y t) x) 8))
(/.f64 (+.f64 (*.f64 y t) x) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 y t) x) 1)
Outputs
x
(*.f64 y t)
(*.f64 y t)
x
(*.f64 y t)
(*.f64 y t)
(*.f64 y t)
x
x
(-.f64 (+.f64 (*.f64 y t) x) 0)
(+.f64 x (*.f64 y t))
(*.f64 (+.f64 (*.f64 y t) x) 1)
(+.f64 x (*.f64 y t))
(*.f64 1 (+.f64 (*.f64 y t) x))
(+.f64 x (*.f64 y t))
(*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 1/2))
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 1/2)
(+.f64 x (*.f64 y t))
(*.f64 4 (*.f64 (+.f64 (*.f64 y t) x) 1/4))
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 1/4)
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 1/8)
(+.f64 x (*.f64 y t))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y t) x) 2))
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/2) 2)
(+.f64 x (*.f64 y t))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y t) x) 4))
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/4) 4)
(+.f64 x (*.f64 y t))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y t) x) 8))
(+.f64 x (*.f64 y t))
(/.f64 (+.f64 (*.f64 y t) x) 1)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 2)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 4)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 8)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)) 16)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) 32)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))) 64)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))))) 128)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))))) 256)
(+.f64 x (*.f64 y t))
(pow.f64 (+.f64 (*.f64 y t) x) 1)
(+.f64 x (*.f64 y t))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 7 computations (63.2% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite216.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1746×rational.json-simplify-1
1390×rational.json-1
1390×rational.json-2
1390×rational.json-3
1370×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
16217
213917
329217
458617
5141117
6276717
7417017
8541817
9645717
10699317
11740517
12762717
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 z (+.f64 x (neg.f64 t)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (+.f64 x (neg.f64 t))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (+.f64 x (neg.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 z 4) (*.f64 (+.f64 x (neg.f64 t)) 2)) (*.f64 (/.f64 z 4) (*.f64 (+.f64 x (neg.f64 t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 x (neg.f64 t)) 4) (+.f64 z z)) (*.f64 (/.f64 (+.f64 x (neg.f64 t)) 4) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 2)) (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (+.f64 z z)) (*.f64 (*.f64 1/2 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/4 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (*.f64 z 4)) (*.f64 (*.f64 1/4 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/4 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 (*.f64 1/4 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (+.f64 (*.f64 t -2) (+.f64 x x))) (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (+.f64 (*.f64 t -2) (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (/.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 z 4)) (*.f64 (*.f64 1/2 (/.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (/.f64 z 4)) (*.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 (*.f64 1/2 (/.f64 z 4)) (*.f64 (+.f64 x (neg.f64 t)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (+.f64 x (neg.f64 t))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 x (neg.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (neg.f64 t)) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (+.f64 x (neg.f64 t)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 x (neg.f64 t))) 1)))))

simplify170.0ms (0.6%)

Algorithm
egg-herbie
Rules
2804×rational.json-simplify-51
1694×rational.json-simplify-1
1462×rational.json-simplify-35
1414×rational.json-simplify-2
1154×rational.json-simplify-49
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0851216
12061130
2460890
31053890
43126890
54625890
64863890
74991890
85094890
95193890
107373890
Stop Event
node limit
Counts
58 → 32
Calls
Call 1
Inputs
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 z (+.f64 x (neg.f64 t))) 0)
(+.f64 0 (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 1/2)))
(+.f64 (*.f64 (/.f64 z 4) (*.f64 (+.f64 x (neg.f64 t)) 2)) (*.f64 (/.f64 z 4) (*.f64 (+.f64 x (neg.f64 t)) 2)))
(+.f64 (*.f64 (/.f64 (+.f64 x (neg.f64 t)) 4) (+.f64 z z)) (*.f64 (/.f64 (+.f64 x (neg.f64 t)) 4) (+.f64 z z)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 2)) (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 2)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (+.f64 z z)) (*.f64 (*.f64 1/2 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (+.f64 z z)))
(+.f64 (*.f64 (*.f64 1/4 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (*.f64 z 4)) (*.f64 (*.f64 1/4 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (*.f64 z 4)))
(+.f64 (*.f64 (*.f64 1/4 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 (*.f64 1/4 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 4)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (+.f64 (*.f64 t -2) (+.f64 x x))) (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (+.f64 (*.f64 t -2) (+.f64 x x))))
(+.f64 (*.f64 (*.f64 1/2 (/.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 z 4)) (*.f64 (*.f64 1/2 (/.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 z 4)))
(+.f64 (*.f64 (*.f64 1/2 (/.f64 z 4)) (*.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 (*.f64 1/2 (/.f64 z 4)) (*.f64 (+.f64 x (neg.f64 t)) 4)))
(-.f64 (*.f64 z (+.f64 x (neg.f64 t))) 0)
(/.f64 (*.f64 z (+.f64 x (neg.f64 t))) 1)
(/.f64 (*.f64 (+.f64 x (neg.f64 t)) (+.f64 z z)) 2)
(/.f64 (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 4)) 4)
(/.f64 (*.f64 z (*.f64 (+.f64 x (neg.f64 t)) 8)) 8)
(/.f64 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t)))) 16)
(/.f64 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t)))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t))))))) 128)
(pow.f64 (*.f64 z (+.f64 x (neg.f64 t))) 1)
Outputs
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 z (-.f64 x t))
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 z t))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 z t))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 z t))
(neg.f64 (*.f64 z t))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 z (+.f64 x (neg.f64 t))) 0)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 0 (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 1/2)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (/.f64 z 4) (*.f64 (+.f64 x (neg.f64 t)) 2)) (*.f64 (/.f64 z 4) (*.f64 (+.f64 x (neg.f64 t)) 2)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (/.f64 (+.f64 x (neg.f64 t)) 4) (+.f64 z z)) (*.f64 (/.f64 (+.f64 x (neg.f64 t)) 4) (+.f64 z z)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 2)) (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 2)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (+.f64 z z)) (*.f64 (*.f64 1/2 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (+.f64 z z)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (*.f64 1/4 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (*.f64 z 4)) (*.f64 (*.f64 1/4 (*.f64 (+.f64 x (neg.f64 t)) 1/2)) (*.f64 z 4)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (*.f64 1/4 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 (*.f64 1/4 (*.f64 z 1/2)) (*.f64 (+.f64 x (neg.f64 t)) 4)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (+.f64 (*.f64 t -2) (+.f64 x x))) (*.f64 (*.f64 1/2 (*.f64 z 1/2)) (+.f64 (*.f64 t -2) (+.f64 x x))))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (*.f64 1/2 (/.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 z 4)) (*.f64 (*.f64 1/2 (/.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 z 4)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (*.f64 1/2 (/.f64 z 4)) (*.f64 (+.f64 x (neg.f64 t)) 4)) (*.f64 (*.f64 1/2 (/.f64 z 4)) (*.f64 (+.f64 x (neg.f64 t)) 4)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(-.f64 (*.f64 z (+.f64 x (neg.f64 t))) 0)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 z (+.f64 x (neg.f64 t))) 1)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 (+.f64 x (neg.f64 t)) (+.f64 z z)) 2)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 (+.f64 x (neg.f64 t)) (*.f64 z 4)) 4)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 z (*.f64 (+.f64 x (neg.f64 t)) 8)) 8)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t)))) 16)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t))))) 32)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t)))))) 64)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 z (+.f64 x (neg.f64 t))))))) 128)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(pow.f64 (*.f64 z (+.f64 x (neg.f64 t))) 1)
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 z x))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 24 to 8 computations (66.7% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite117.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1640×rational.json-simplify-35
1616×rational.json-1
1616×rational.json-2
1616×rational.json-3
1596×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01023
16917
215617
334817
470417
5172517
6353317
7553617
8740417
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(+.f64 (*.f64 z (neg.f64 t)) (*.f64 z x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (+.f64 (neg.f64 t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 z (+.f64 (neg.f64 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 z (/.f64 (+.f64 (neg.f64 t) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 t) x) 1/2) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z z) (*.f64 (+.f64 (neg.f64 t) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z z) (/.f64 (+.f64 (neg.f64 t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 t) x) z)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 (neg.f64 t) x) 2) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (neg.f64 t) x)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 t (*.f64 z -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z 1/2) (*.f64 2 (+.f64 (neg.f64 t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z 1/2) (+.f64 (+.f64 x x) (*.f64 t -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 z (/.f64 (+.f64 (neg.f64 t) x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (neg.f64 t) x) 1/2) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (neg.f64 t) x) 2) (+.f64 z z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 x x) (*.f64 t -2)) (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)))))

simplify792.0ms (2.6%)

Algorithm
egg-herbie
Rules
3282×rational.json-simplify-35
2322×rational.json-simplify-2
1336×rational.json-simplify-1
906×rational.json-simplify-51
848×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0891163
12011141
24651141
315881141
434491141
548241141
656231141
759031141
860681141
961871141
1062961141
1166771141
1267831141
1368881141
1469921141
1569921141
1670091141
1770641141
1872211141
1973351141
2074411141
2175451141
2276491141
2377531141
2478571141
2579611141
Stop Event
node limit
Counts
69 → 45
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(-.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 0)
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)
(*.f64 1 (*.f64 z (+.f64 (neg.f64 t) x)))
(*.f64 2 (*.f64 z (/.f64 (+.f64 (neg.f64 t) x) 2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 t) x) 1/2) z))
(*.f64 (+.f64 z z) (*.f64 (+.f64 (neg.f64 t) x) 1/2))
(*.f64 (+.f64 z z) (/.f64 (+.f64 (neg.f64 t) x) 2))
(*.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2) 1/2)
(*.f64 (+.f64 (neg.f64 t) x) z)
(*.f64 4 (/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 4))
(*.f64 4 (*.f64 (/.f64 (+.f64 (neg.f64 t) x) 2) (*.f64 z 1/2)))
(*.f64 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))) 1/4)
(*.f64 (*.f64 2 (+.f64 (neg.f64 t) x)) (*.f64 z 1/2))
(*.f64 1/2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2))
(*.f64 1/2 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 t (*.f64 z -2))))
(*.f64 (*.f64 z 1/2) (*.f64 2 (+.f64 (neg.f64 t) x)))
(*.f64 (*.f64 z 1/2) (+.f64 (+.f64 x x) (*.f64 t -2)))
(*.f64 (*.f64 z (/.f64 (+.f64 (neg.f64 t) x) 2)) 2)
(*.f64 (*.f64 (+.f64 (neg.f64 t) x) 1/2) (+.f64 z z))
(*.f64 1/4 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))))
(*.f64 (/.f64 (+.f64 (neg.f64 t) x) 2) (+.f64 z z))
(*.f64 (/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 4) 4)
(*.f64 (+.f64 (+.f64 x x) (*.f64 t -2)) (*.f64 z 1/2))
(/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)
(/.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2) 2)
(/.f64 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))) 4)
(/.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8))))) 128)
(pow.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)
Outputs
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 z (+.f64 t (*.f64 -1 x))))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 z (+.f64 t (*.f64 -1 x))))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 z (+.f64 t (*.f64 -1 x))))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 -1 (*.f64 z (+.f64 t (*.f64 -1 x))))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (+.f64 x (neg.f64 t)))
(-.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 0)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 z (+.f64 (neg.f64 t) x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 1 (*.f64 z (+.f64 (neg.f64 t) x)))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 2 (*.f64 z (/.f64 (+.f64 (neg.f64 t) x) 2)))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 2 (*.f64 (*.f64 (+.f64 (neg.f64 t) x) 1/2) z))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 z z) (*.f64 (+.f64 (neg.f64 t) x) 1/2))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 z z) (/.f64 (+.f64 (neg.f64 t) x) 2))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2) 1/2)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (neg.f64 t) x) z)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 4 (/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 4))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 4 (*.f64 (/.f64 (+.f64 (neg.f64 t) x) 2) (*.f64 z 1/2)))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))) 1/4)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 2 (+.f64 (neg.f64 t) x)) (*.f64 z 1/2))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 1/2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 1/2 (+.f64 (*.f64 z (+.f64 x x)) (*.f64 t (*.f64 z -2))))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 z 1/2) (*.f64 2 (+.f64 (neg.f64 t) x)))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 z 1/2) (+.f64 (+.f64 x x) (*.f64 t -2)))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 z (/.f64 (+.f64 (neg.f64 t) x) 2)) 2)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (*.f64 (+.f64 (neg.f64 t) x) 1/2) (+.f64 z z))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 1/4 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (/.f64 (+.f64 (neg.f64 t) x) 2) (+.f64 z z))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 4) 4)
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 (+.f64 (+.f64 x x) (*.f64 t -2)) (*.f64 z 1/2))
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 2) 2)
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 z (*.f64 4 (+.f64 (neg.f64 t) x))) 4)
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8) 8)
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)) 16)
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8))) 32)
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)))) 64)
(*.f64 z (+.f64 x (neg.f64 t)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 8))))) 128)
(*.f64 z (+.f64 x (neg.f64 t)))
(pow.f64 (*.f64 z (+.f64 (neg.f64 t) x)) 1)
(*.f64 z (+.f64 x (neg.f64 t)))

eval26.0ms (0.1%)

Compiler

Compiled 1266 to 602 computations (52.4% saved)

prune111.0ms (0.4%)

Pruning

17 alts after pruning (5 fresh and 12 done)

PrunedKeptTotal
New1221123
Fresh044
Picked011
Done11112
Total12317140
Error
0.0b
Counts
140 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
39.6b
(+.f64 (*.f64 z (neg.f64 t)) (*.f64 z x))
34.2b
(+.f64 (*.f64 z x) x)
33.4b
(+.f64 (*.f64 y t) x)
0.0b
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
0.0b
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
34.9b
(+.f64 x (*.f64 z (neg.f64 t)))
21.3b
(+.f64 x (*.f64 t (-.f64 y z)))
37.0b
(*.f64 (-.f64 1 y) x)
39.6b
(*.f64 z (-.f64 x t))
50.7b
(*.f64 z x)
40.8b
(*.f64 y (-.f64 t x))
53.4b
(*.f64 y (neg.f64 x))
49.7b
(*.f64 y t)
25.1b
(*.f64 x (-.f64 z (-.f64 y 1)))
37.8b
(*.f64 t (-.f64 y z))
51.5b
(*.f64 t (neg.f64 z))
45.9b
x
Compiler

Compiled 163 to 112 computations (31.3% saved)

regimes162.0ms (0.5%)

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

6 calls:

97.0ms
(-.f64 y z)
12.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
12.0ms
x
12.0ms
y
12.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.0b1(-.f64 y z)
Compiler

Compiled 168 to 71 computations (57.7% saved)

regimes241.0ms (0.8%)

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

6 calls:

115.0ms
t
13.0ms
z
12.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
12.0ms
y
11.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
0.0b1(-.f64 y z)
Compiler

Compiled 155 to 66 computations (57.4% saved)

regimes346.0ms (1.1%)

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

5 calls:

109.0ms
t
103.0ms
z
55.0ms
(-.f64 y z)
47.0ms
y
28.0ms
x
Results
ErrorSegmentsBranch
10.8b3x
8.8b5y
8.5b5z
10.5b3t
12.3b6(-.f64 y z)
Compiler

Compiled 124 to 55 computations (55.6% saved)

bsearch51.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
18793216718.580708
2600306267229.948
11.0ms
4.264025529458561e-24
5.166261416031435e-23
16.0ms
2.4617059935479294e-116
1.178279545406959e-108
11.0ms
-2.508962968417625e-48
-3.528431220242459e-49
Results
45.0ms448×body256valid
Compiler

Compiled 692 to 462 computations (33.2% saved)

regimes358.0ms (1.2%)

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

5 calls:

140.0ms
y
113.0ms
z
48.0ms
(-.f64 y z)
29.0ms
t
24.0ms
x
Results
ErrorSegmentsBranch
10.8b3x
8.9b5y
11.6b5z
10.5b3t
12.3b6(-.f64 y z)
Compiler

Compiled 109 to 53 computations (51.4% saved)

bsearch148.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
107.0ms
2.6713345050879138e+20
4.599070595554277e+22
12.0ms
-2.0811662413830354e-11
-1.1999550294011226e-13
11.0ms
-2345485158769392000.0
-402171263660787500.0
18.0ms
-1.0555229433274956e+156
-3.276512595032343e+153
Results
138.0ms448×body256valid
4.0ms36×body256infinite
Compiler

Compiled 662 to 461 computations (30.4% saved)

regimes1.0s (3.4%)

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

5 calls:

510.0ms
(-.f64 y z)
362.0ms
x
91.0ms
y
45.0ms
z
25.0ms
t
Results
ErrorSegmentsBranch
10.8b3x
13.4b4y
11.6b5z
10.5b3t
12.3b6(-.f64 y z)
Compiler

Compiled 102 to 52 computations (49% saved)

bsearch36.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
5.67667568862138e-53
5.014028801171392e-34
18.0ms
-2.9133019910396354e-139
-4.1478357659683294e-149
Results
32.0ms320×body256valid
Compiler

Compiled 500 to 354 computations (29.2% saved)

regimes469.0ms (1.5%)

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

5 calls:

197.0ms
z
141.0ms
t
54.0ms
(-.f64 y z)
52.0ms
y
23.0ms
x
Results
ErrorSegmentsBranch
12.5b3x
15.2b7y
15.6b5z
15.0b7t
16.6b7(-.f64 y z)
Compiler

Compiled 95 to 51 computations (46.3% saved)

bsearch19.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
1.3073468311108236e-107
5.490039845170974e-103
4.0ms
-2.172273348862385e-35
-1.9308234223522886e-35
Results
17.0ms160×body256valid
Compiler

Compiled 240 to 174 computations (27.5% saved)

regimes4.7s (15.4%)

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

5 calls:

4.5s
x
55.0ms
t
49.0ms
y
42.0ms
(-.f64 y z)
38.0ms
z
Results
ErrorSegmentsBranch
17.4b4x
16.2b7y
15.6b5z
19.8b7t
19.2b5(-.f64 y z)
Compiler

Compiled 88 to 47 computations (46.6% saved)

bsearch6.4s (21%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
2351269840.795184
18793216718.580708
6.4s
-3.0339666132813555e-178
-2.6565824365394495e-180
15.0ms
-8.496469198675922e-134
-2.1732403264580664e-137
0.0ms
-1656.1101697419367
-1633.8237139027071
Results
6.4s336×body256valid
0.0msbody256infinite
Compiler

Compiled 440 to 323 computations (26.6% saved)

regimes364.0ms (1.2%)

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

5 calls:

143.0ms
t
123.0ms
z
40.0ms
(-.f64 y z)
32.0ms
y
23.0ms
x
Results
ErrorSegmentsBranch
19.5b4x
22.0b6y
18.4b5z
20.5b13t
22.3b6(-.f64 y z)
Compiler

Compiled 66 to 40 computations (39.4% saved)

bsearch143.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
96.0ms
18793216718.580708
2600306267229.948
15.0ms
220572989.98190868
2351269840.795184
16.0ms
2.381844963863614e-58
1.1751215265382553e-55
16.0ms
-1633.8237139027071
-0.838851170483029
Results
51.0ms464×body256valid
0.0msbody256infinite
Compiler

Compiled 587 to 436 computations (25.7% saved)

regimes822.0ms (2.7%)

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

5 calls:

546.0ms
t
112.0ms
(-.f64 y z)
81.0ms
x
47.0ms
z
34.0ms
y
Results
ErrorSegmentsBranch
22.8b5x
22.0b6y
20.6b9z
24.5b13t
22.7b5(-.f64 y z)
Compiler

Compiled 61 to 37 computations (39.3% saved)

bsearch752.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
218.0ms
18793216718.580708
2600306267229.948
10.0ms
4.281608922141688e-17
3.9842230774360617e-16
116.0ms
1.142392735903562e-75
6.242190789079477e-66
12.0ms
6.062847083492258e-105
1.43134505889249e-103
16.0ms
7.122625099340332e-183
3.2699229134084005e-174
176.0ms
7.946084225701873e-260
7.029366938011977e-252
10.0ms
-2.8568748936411994e-229
-3.821321027753526e-230
194.0ms
-2.508962968417625e-48
-3.528431220242459e-49
Results
740.0ms960×body256valid
0.0msbody256infinite
Compiler

Compiled 1032 to 760 computations (26.4% saved)

regimes958.0ms (3.1%)

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

5 calls:

620.0ms
t
130.0ms
(-.f64 y z)
110.0ms
y
71.0ms
z
23.0ms
x
Results
ErrorSegmentsBranch
24.4b4x
26.0b4y
24.7b11z
27.4b10t
22.6b7(-.f64 y z)
Compiler

Compiled 56 to 35 computations (37.5% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
8.01400492540295e+76
3.5889433362259248e+81
0.0ms
9.924902823614511e-9
0.0008144087091972653
0.0ms
-2.0811662413830354e-11
-1.1999550294011226e-13
0.0ms
-3.1878547123417447e+118
-1.805547139655693e+117
0.0ms
-7.00358767393134e+182
-3.1075335311549753e+181
0.0ms
-1.1221852285151137e+265
-4.745447200506292e+254
Compiler

Compiled 20 to 14 computations (30% saved)

regimes355.0ms (1.2%)

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

5 calls:

152.0ms
t
113.0ms
(-.f64 y z)
39.0ms
z
35.0ms
y
14.0ms
x
Results
ErrorSegmentsBranch
26.1b3x
29.3b7y
28.0b7z
27.1b11t
26.7b5(-.f64 y z)
Compiler

Compiled 51 to 33 computations (35.3% saved)

bsearch22.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
1.0495025522552458e-16
2.6133012850338112e-15
9.0ms
-732922.7944972543
-290560.9062297234
Results
19.0ms192×body256valid
0.0msbody256infinite
Compiler

Compiled 212 to 158 computations (25.5% saved)

regimes323.0ms (1.1%)

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

4 calls:

133.0ms
t
130.0ms
y
37.0ms
z
21.0ms
x
Results
ErrorSegmentsBranch
33.9b5x
34.4b4y
34.5b3z
34.8b10t
Compiler

Compiled 39 to 26 computations (33.3% saved)

bsearch53.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
1.0495025522552458e-16
2.6133012850338112e-15
16.0ms
2.7381501033637456e-291
5.672512157818972e-285
15.0ms
-4.575744988179429e-74
-2.1808939166201083e-78
11.0ms
-3.513171706923513e+63
-5.937249656447515e+62
Results
46.0ms480×body256valid
1.0msbody256infinite
Compiler

Compiled 491 to 378 computations (23% saved)

regimes615.0ms (2%)

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

4 calls:

575.0ms
t
16.0ms
y
13.0ms
x
9.0ms
z
Results
ErrorSegmentsBranch
35.6b4x
35.3b5y
34.5b3z
37.4b8t
Compiler

Compiled 31 to 22 computations (29% saved)

bsearch27.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
2351269840.795184
18793216718.580708
16.0ms
-37308868919.66731
-1656.1101697419367
Results
23.0ms240×body256valid
0.0msbody256infinite
Compiler

Compiled 230 to 179 computations (22.2% saved)

regimes40.0ms (0.1%)

Accuracy

Total -25.8b remaining (-70.7%)

Threshold costs -25.8b (-70.7%)

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

4 calls:

11.0ms
t
10.0ms
x
9.0ms
y
9.0ms
z
Results
ErrorSegmentsBranch
37.1b3x
36.5b3y
42.0b3z
41.1b4t
Compiler

Compiled 28 to 21 computations (25% saved)

bsearch701.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
538.0ms
7.1958392627725815e-19
0.0008144087091972653
163.0ms
-2.0811662413830354e-11
-1.1999550294011226e-13
Results
547.0ms272×body256valid
Compiler

Compiled 258 to 201 computations (22.1% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01651135
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -822752278660603/411376139330301510538742295639337626245683966408394965837152256) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 z 3682451937504207/21661481985318866090456360813617841433097164651373566993519371723551728967231450179999800047688590453885868835635965404913860608) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 z 5172291977198265/680564733841876926926749214863536422912) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 z 20000000000) (+.f64 (*.f64 y (-.f64 t x)) x) (+.f64 x (*.f64 z (-.f64 x t)))))))
(if (<=.f64 y -5000000000000000184737728440291132704904589914921344225961389276075271829673609798608256554852704163723255876843616333657168501674786702085523096224137216) (*.f64 y (-.f64 t x)) (if (<=.f64 y -1120000000000000000) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 y -2574915281713591/4951760157141521099596496896) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 y 280000000000000000000) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 y (-.f64 t x))))))
(if (<=.f64 t -7293847513888773/429049853758163107186368799942587076079339706258956588087153966199096448962353503257659977541340909686081019461967553627320124249982290238285876768194691072) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 t 6200787733444647/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 x (-.f64 z (-.f64 y 1))) (+.f64 x (*.f64 t (-.f64 y z)))))
(if (<=.f64 x -7295816173555867/374144419156711147060143317175368453031918731001856) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 8004974622069417/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1)))))
(if (<=.f64 z -1650) (*.f64 z (-.f64 x t)) (if (<=.f64 z -2147344238779869/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (+.f64 (*.f64 y t) x) (if (<=.f64 z -6204919239966185/36499524940977561749129372845602330599145828057988479444633540143194201337669419092047302490538971198229138476588755258485509637771003503986021290557777713506015957394882119600662993537972830208) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 2400000000) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t))))))
(if (<=.f64 z -6530219459687219/4503599627370496) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5079685311237855/55213970774324510299478046898216203619608871777363092441300193790394368) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 1250000000) (*.f64 t (-.f64 y z)) (if (<=.f64 z 19000000000) (*.f64 y (neg.f64 x)) (*.f64 z (-.f64 x t))))))
(if (<=.f64 z -4113761393303015/1645504557321206042154969182557350504982735865633579863348609024) (*.f64 z (-.f64 x t)) (if (<=.f64 z -3058964957112499/27312187117075883106631072934794271937104930088205959824983071996985496526101020964951786294769886374883040913790702552866360531575272919369168306390347079868805765445689403631464768659094790245289840706092591521717005303961503585448607241732096) (*.f64 y (-.f64 t x)) (if (<=.f64 z 6424061498609689/67621699985365151533099492469314125634412457732623554832378970755414259527260782012725408753620120050518322559136912470896940487616343748768068989243256265844273495551872650773597634262582584454787101812251032115730947621472199902571314803042180668990660938354910463787008) x (if (<=.f64 z 284696294539625/72999049881955123498258745691204661198291656115976958889267080286388402675338838184094604981077942396458276953177510516971019275542007007972042581115555427012031914789764239201325987075945660416) (*.f64 y (-.f64 t x)) (if (<=.f64 z 451893728665209/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584) x (if (<=.f64 z 6874996420128891/254629497041810760783555711051172270131433549208242031329517556169297662470417088272924672) (*.f64 t (-.f64 y z)) (if (<=.f64 z 4867778304876401/81129638414606681695789005144064) x (if (<=.f64 z 30000000000) (*.f64 y (-.f64 t x)) (*.f64 z (-.f64 x t))))))))))
(if (<=.f64 (-.f64 y z) -10000000000000000665146625892038512202385663455660488454393649015417666847091561892050024218738072068873230315530385293355842295457722371828081471997976097396944572485441978737408807927440086615867529487142240269942705389409665241931447200154303102433395309881065472) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -499999999999999973297436475782614169496763434109744428272285720156797353246877991443480012589546764662496833043557678065517614119776368694263139634039071761845879577452943421992861696) (*.f64 z x) (if (<=.f64 (-.f64 y z) -19999999999999999331299997886547518366483030189726856989175506568457504104549882393640764156980535349390222311028686848) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -6189700196426901/309485009821345068724781056) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) 3022314549036573/302231454903657293676544) x (if (<=.f64 (-.f64 y z) 99999999999999998278261272554585856747747644714015897553975120217811154108416) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 x -370000) x (if (<=.f64 x 6591783121186793/2535301200456458802993406410752) (*.f64 t (-.f64 y z)) x))
(if (<=.f64 x -1799999999999999994531705097090826824031719186793846314515824640) x (if (<=.f64 x -8962958295871739/4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794752) (*.f64 z x) (if (<=.f64 x 2413894590269223/21944496275174754733023745004748837080297570543729328280448007953824789527038691788660702798145451174453138901351488446979832735450978591612896414872982681198457994802840025058142360791167736098566050165049439180766375815715632675961171034001565824849041810386302038359368560295224574744242597208206082048) (*.f64 t (neg.f64 z)) (if (<=.f64 x 5476250592985951/40564819207303340847894502572032) (*.f64 y t) x))))
(if (<=.f64 z -1700) (*.f64 z x) (if (<=.f64 z 2400000000) x (*.f64 z x)))
(if (<=.f64 y -3249592603124123/309485009821345068724781056) (*.f64 y t) (if (<=.f64 y 3590026113927603/2475880078570760549798248448) x (*.f64 y t)))
x
Outputs
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -822752278660603/411376139330301510538742295639337626245683966408394965837152256) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 z 3682451937504207/21661481985318866090456360813617841433097164651373566993519371723551728967231450179999800047688590453885868835635965404913860608) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 z 5172291977198265/680564733841876926926749214863536422912) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 z 20000000000) (+.f64 (*.f64 y (-.f64 t x)) x) (+.f64 x (*.f64 z (-.f64 x t)))))))
(if (<=.f64 y -5000000000000000184737728440291132704904589914921344225961389276075271829673609798608256554852704163723255876843616333657168501674786702085523096224137216) (*.f64 y (-.f64 t x)) (if (<=.f64 y -1120000000000000000) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 y -2574915281713591/4951760157141521099596496896) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 y 280000000000000000000) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 y (-.f64 t x))))))
(if (<=.f64 t -7293847513888773/429049853758163107186368799942587076079339706258956588087153966199096448962353503257659977541340909686081019461967553627320124249982290238285876768194691072) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 t 6200787733444647/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 x (-.f64 z (-.f64 y 1))) (+.f64 x (*.f64 t (-.f64 y z)))))
(if (<=.f64 x -7295816173555867/374144419156711147060143317175368453031918731001856) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 8004974622069417/1291124939043454294827959586001505937164852896414611756415329678270323811008420597314822676640068915717951585986373746688) (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1)))))
(if (<=.f64 z -1650) (*.f64 z (-.f64 x t)) (if (<=.f64 z -2147344238779869/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (+.f64 (*.f64 y t) x) (if (<=.f64 z -6204919239966185/36499524940977561749129372845602330599145828057988479444633540143194201337669419092047302490538971198229138476588755258485509637771003503986021290557777713506015957394882119600662993537972830208) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 2400000000) (+.f64 (*.f64 y t) x) (*.f64 z (-.f64 x t))))))
(if (<=.f64 z -6530219459687219/4503599627370496) (*.f64 z (-.f64 x t)) (if (<=.f64 z 5079685311237855/55213970774324510299478046898216203619608871777363092441300193790394368) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 1250000000) (*.f64 t (-.f64 y z)) (if (<=.f64 z 19000000000) (*.f64 y (neg.f64 x)) (*.f64 z (-.f64 x t))))))
(if (<=.f64 z -4113761393303015/1645504557321206042154969182557350504982735865633579863348609024) (*.f64 z (-.f64 x t)) (if (<=.f64 z -3058964957112499/27312187117075883106631072934794271937104930088205959824983071996985496526101020964951786294769886374883040913790702552866360531575272919369168306390347079868805765445689403631464768659094790245289840706092591521717005303961503585448607241732096) (*.f64 y (-.f64 t x)) (if (<=.f64 z 6424061498609689/67621699985365151533099492469314125634412457732623554832378970755414259527260782012725408753620120050518322559136912470896940487616343748768068989243256265844273495551872650773597634262582584454787101812251032115730947621472199902571314803042180668990660938354910463787008) x (if (<=.f64 z 284696294539625/72999049881955123498258745691204661198291656115976958889267080286388402675338838184094604981077942396458276953177510516971019275542007007972042581115555427012031914789764239201325987075945660416) (*.f64 y (-.f64 t x)) (if (<=.f64 z 451893728665209/40347654345107946713373737062547060536401653012956617387979052445947619094013143666088208645002153616185987062074179584) x (if (<=.f64 z 6874996420128891/254629497041810760783555711051172270131433549208242031329517556169297662470417088272924672) (*.f64 t (-.f64 y z)) (if (<=.f64 z 4867778304876401/81129638414606681695789005144064) x (if (<=.f64 z 30000000000) (*.f64 y (-.f64 t x)) (*.f64 z (-.f64 x t))))))))))
(if (<=.f64 (-.f64 y z) -10000000000000000665146625892038512202385663455660488454393649015417666847091561892050024218738072068873230315530385293355842295457722371828081471997976097396944572485441978737408807927440086615867529487142240269942705389409665241931447200154303102433395309881065472) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -499999999999999973297436475782614169496763434109744428272285720156797353246877991443480012589546764662496833043557678065517614119776368694263139634039071761845879577452943421992861696) (*.f64 z x) (if (<=.f64 (-.f64 y z) -19999999999999999331299997886547518366483030189726856989175506568457504104549882393640764156980535349390222311028686848) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -6189700196426901/309485009821345068724781056) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) 3022314549036573/302231454903657293676544) x (if (<=.f64 (-.f64 y z) 99999999999999998278261272554585856747747644714015897553975120217811154108416) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 x -370000) x (if (<=.f64 x 6591783121186793/2535301200456458802993406410752) (*.f64 t (-.f64 y z)) x))
(if (<=.f64 x -1799999999999999994531705097090826824031719186793846314515824640) x (if (<=.f64 x -8962958295871739/4074071952668972172536891376818756322102936787331872501272280898708762599526673412366794752) (*.f64 z x) (if (<=.f64 x 2413894590269223/21944496275174754733023745004748837080297570543729328280448007953824789527038691788660702798145451174453138901351488446979832735450978591612896414872982681198457994802840025058142360791167736098566050165049439180766375815715632675961171034001565824849041810386302038359368560295224574744242597208206082048) (*.f64 t (neg.f64 z)) (if (<=.f64 x 5476250592985951/40564819207303340847894502572032) (*.f64 y t) x))))
(if (<=.f64 z -1700) (*.f64 z x) (if (<=.f64 z 2400000000) x (*.f64 z x)))
(if (<=.f64 y -3249592603124123/309485009821345068724781056) (*.f64 y t) (if (<=.f64 y 3590026113927603/2475880078570760549798248448) x (*.f64 y t)))
x
Compiler

Compiled 521 to 276 computations (47% saved)

soundness600.0ms (2%)

Algorithm
egg-herbie
Rules
2504×rational.json-simplify-35
2262×rational.json-simplify-2
1064×rational.json-simplify-1
884×rational.json-simplify-53
842×exponential.json-simplify-26
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01124721
12463307
25673307
314233239
426513223
534173223
637743223
742703223
846823223
950442975
1057942975
1163192975
1265222975
1367442975
1470432975
1571742975
1674492975
1778252975
Stop Event
node limit
Compiler

Compiled 134 to 56 computations (58.2% saved)

end909.0ms (3%)

Compiler

Compiled 465 to 181 computations (61.1% saved)

Profiling

Loading profile data...