Details

Time bar (total: 27.0s)

analyze285.0ms (1.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.5%)

Results
810.0ms8256×body256valid
385.0ms3902×body256infinite
Bogosity

preprocess12.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)

simplify9.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.1b
(*.f64 (-.f64 y z) (-.f64 t x))
Compiler

Compiled 30 to 8 computations (73.3% saved)

series6.0ms (0%)

Counts
2 → 96
Calls

24 calls:

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

rewrite120.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)))))

simplify473.0ms (1.8%)

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)))

eval14.0ms (0.1%)

Compiler

Compiled 1132 to 399 computations (64.8% saved)

prune17.0ms (0.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New87794
Fresh000
Picked101
Done000
Total88795
Error
0.0b
Counts
95 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
24.7b
(+.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 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
23.7b
(+.f64 x (*.f64 z (-.f64 x t)))
20.6b
(+.f64 x (*.f64 t (-.f64 y z)))
28.6b
(*.f64 x (-.f64 z (-.f64 y 1)))
Compiler

Compiled 198 to 124 computations (37.4% saved)

localize13.0ms (0%)

Local error

Found 3 expressions with local error:

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

Compiled 51 to 14 computations (72.5% saved)

series9.0ms (0%)

Counts
3 → 90
Calls

30 calls:

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

rewrite114.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1694×rational.json-1
1694×rational.json-2
1694×rational.json-3
1314×rational.json-simplify-35
1070×exponential.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01369
19367
221055
345455
499355
5226055
6434255
7721055
Stop Event
node limit
Counts
3 → 49
Calls
Call 1
Inputs
(*.f64 (-.f64 y z) x)
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(*.f64 t (-.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y z) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 y z) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 y z) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 x (*.f64 (-.f64 y z) t)) (-.f64 1 (*.f64 (-.f64 y z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) t)) 1/2) (*.f64 (-.f64 y z) (*.f64 x -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (+.f64 z (-.f64 1 y)) (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 t (neg.f64 x)) (*.f64 (-.f64 y z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) t)) 2) (*.f64 (-.f64 y z) (*.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 y z) (+.f64 t t)) (*.f64 (*.f64 x (+.f64 z (-.f64 1 y))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 y z) t) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 y z) t))))) (#(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 (-.f64 y z) t) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (+.f64 t t)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (*.f64 t 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y z) t) 1)))))

simplify233.0ms (0.9%)

Algorithm
egg-herbie
Rules
2252×rational.json-simplify-2
1870×rational.json-simplify-35
1420×rational.json-simplify-1
872×rational.json-simplify-48
788×rational.json-simplify-41
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01744127
14123873
29133327
320733229
440993225
548343225
655073225
759433225
863993225
969613225
Stop Event
node limit
Counts
139 → 139
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) 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 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) 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 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 t (-.f64 y z))
(*.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 y z) x) 0)
(+.f64 0 (*.f64 (-.f64 y z) x))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 x 1/2)))
(-.f64 (*.f64 (-.f64 y z) x) 0)
(/.f64 (*.f64 (-.f64 y z) x) 1)
(/.f64 (*.f64 (-.f64 y z) (+.f64 x x)) 2)
(/.f64 (*.f64 (-.f64 y z) (*.f64 x 4)) 4)
(/.f64 (*.f64 (*.f64 (-.f64 y z) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8)))) 64)
(pow.f64 (*.f64 (-.f64 y z) x) 1)
(-.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 0)
(-.f64 (+.f64 (+.f64 x (*.f64 (-.f64 y z) t)) (-.f64 1 (*.f64 (-.f64 y z) x))) 1)
(*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)
(*.f64 1 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))))
(*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1/2))
(*.f64 2 (+.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) t)) 1/2) (*.f64 (-.f64 y z) (*.f64 x -1/2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (+.f64 z (-.f64 1 y)) (*.f64 x 1/2))))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 t (neg.f64 x)) (*.f64 (-.f64 y z) 1/2))))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) t)) 2) (*.f64 (-.f64 y z) (*.f64 x -2))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 y z) (+.f64 t t)) (*.f64 (*.f64 x (+.f64 z (-.f64 1 y))) 2)))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4))
(*.f64 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 4)
(/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8)))) 64)
(pow.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)
(+.f64 (*.f64 (-.f64 y z) t) 0)
(+.f64 0 (*.f64 (-.f64 y z) t))
(+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (-.f64 y z) (*.f64 t 1/2)))
(-.f64 (*.f64 (-.f64 y z) t) 0)
(/.f64 (*.f64 (-.f64 y z) t) 1)
(/.f64 (*.f64 (-.f64 y z) (+.f64 t t)) 2)
(/.f64 (*.f64 (-.f64 y z) (*.f64 t 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))))) 64)
(pow.f64 (*.f64 (-.f64 y z) t) 1)
Outputs
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(*.f64 y x)
(*.f64 x y)
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 z x))
(*.f64 z (neg.f64 x))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 z (neg.f64 x)) (*.f64 x y))
(*.f64 x (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) x))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 x (*.f64 z x)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 t (neg.f64 z))))
(+.f64 x (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (+.f64 (*.f64 z x) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (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 z x) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (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 z x) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (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)) (*.f64 y -1))
(*.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 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (*.f64 (+.f64 x (*.f64 -1 t)) (*.f64 y -1)) (+.f64 x (*.f64 z x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y)))))
(+.f64 x (+.f64 (*.f64 z (+.f64 x (neg.f64 t))) (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y))))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (+.f64 (neg.f64 y) z)))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (+.f64 z (neg.f64 y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (*.f64 (+.f64 x (*.f64 -1 t)) (*.f64 y -1)) (+.f64 x (*.f64 z x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y)))))
(+.f64 x (+.f64 (*.f64 z (+.f64 x (neg.f64 t))) (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y))))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (+.f64 (neg.f64 y) z)))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (+.f64 z (neg.f64 y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (*.f64 (+.f64 x (*.f64 -1 t)) (*.f64 y -1)) (+.f64 x (*.f64 z x))))
(+.f64 (*.f64 z x) (+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y)))))
(+.f64 x (+.f64 (*.f64 z (+.f64 x (neg.f64 t))) (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y))))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (+.f64 (neg.f64 y) z)))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (+.f64 z (neg.f64 y))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 y t) (+.f64 x (*.f64 y (neg.f64 x))))
(+.f64 x (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(*.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 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (+.f64 (+.f64 x (*.f64 z x)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z x))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 x (neg.f64 t)))) (*.f64 y (+.f64 t (neg.f64 x))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 (+.f64 t (neg.f64 x)) (*.f64 z -1))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 y t) (+.f64 (+.f64 x (*.f64 y (neg.f64 x))) (*.f64 (+.f64 t (neg.f64 x)) (*.f64 z -1))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 y t) (+.f64 (+.f64 x (*.f64 y (neg.f64 x))) (*.f64 (+.f64 t (neg.f64 x)) (*.f64 z -1))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (+.f64 (*.f64 -1 (*.f64 y x)) x)))
(+.f64 (*.f64 y t) (+.f64 (+.f64 x (*.f64 y (neg.f64 x))) (*.f64 (+.f64 t (neg.f64 x)) (*.f64 z -1))))
(+.f64 x (+.f64 (*.f64 y (+.f64 t (neg.f64 x))) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) (+.f64 y (neg.f64 z))))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 y -1)))
(*.f64 x (-.f64 z (+.f64 -1 y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (+.f64 1 (*.f64 -1 (-.f64 y z))) x))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 y -1)))
(*.f64 x (-.f64 z (+.f64 -1 y)))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y (+.f64 1 z)) x)) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.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 x (+.f64 1 (*.f64 -1 (-.f64 y z)))) (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 x (+.f64 1 (neg.f64 (-.f64 y z)))) (*.f64 t (-.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 y -1))))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x)
(+.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 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (-.f64 y z)) (+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) x))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 t (-.f64 y z))
(*.f64 t (-.f64 y z))
(*.f64 -1 (*.f64 t z))
(*.f64 -1 (*.f64 z t))
(*.f64 t (neg.f64 z))
(*.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 t (neg.f64 z))
(*.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 t (neg.f64 z))
(*.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 y z) x) 0)
(*.f64 x (-.f64 y z))
(+.f64 0 (*.f64 (-.f64 y z) x))
(*.f64 x (-.f64 y z))
(+.f64 (*.f64 (-.f64 y z) (*.f64 x 1/2)) (*.f64 (-.f64 y z) (*.f64 x 1/2)))
(*.f64 x (-.f64 y z))
(-.f64 (*.f64 (-.f64 y z) x) 0)
(*.f64 x (-.f64 y z))
(/.f64 (*.f64 (-.f64 y z) x) 1)
(*.f64 x (-.f64 y z))
(/.f64 (*.f64 (-.f64 y z) (+.f64 x x)) 2)
(*.f64 x (-.f64 y z))
(/.f64 (*.f64 (-.f64 y z) (*.f64 x 4)) 4)
(*.f64 x (-.f64 y z))
(/.f64 (*.f64 (*.f64 (-.f64 y z) x) 8) 8)
(*.f64 x (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8)) 16)
(*.f64 x (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8))) 32)
(*.f64 x (-.f64 y z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) x) 8)))) 64)
(*.f64 x (-.f64 y z))
(pow.f64 (*.f64 (-.f64 y z) x) 1)
(*.f64 x (-.f64 y z))
(-.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 0)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(-.f64 (+.f64 (+.f64 x (*.f64 (-.f64 y z) t)) (-.f64 1 (*.f64 (-.f64 y z) x))) 1)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 1 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1/2))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 2 (+.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) t)) 1/2) (*.f64 (-.f64 y z) (*.f64 x -1/2))))
(*.f64 2 (+.f64 (*.f64 1/2 (+.f64 x (*.f64 t (-.f64 y z)))) (*.f64 x (*.f64 -1/2 (-.f64 y z)))))
(*.f64 2 (+.f64 (*.f64 1/2 (+.f64 x (*.f64 t (-.f64 y z)))) (*.f64 x (*.f64 (-.f64 y z) -1/2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 y z) (*.f64 t 1/2)) (*.f64 (+.f64 z (-.f64 1 y)) (*.f64 x 1/2))))
(*.f64 2 (+.f64 (*.f64 t (*.f64 (-.f64 y z) 1/2)) (*.f64 x (*.f64 1/2 (+.f64 z (-.f64 1 y))))))
(*.f64 2 (+.f64 (*.f64 t (*.f64 (-.f64 y z) 1/2)) (*.f64 (*.f64 x 1/2) (+.f64 z (-.f64 1 y)))))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 y -1))))))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y))))))
(*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y)))) 1/2))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (+.f64 t (neg.f64 x)) (*.f64 (-.f64 y z) 1/2))))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2) 1/2)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 4 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 1/4)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) t)) 2) (*.f64 (-.f64 y z) (*.f64 x -2))))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 x (*.f64 t (-.f64 y z)))) (*.f64 (-.f64 y z) (*.f64 x -2))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 y z) (+.f64 t t)) (*.f64 (*.f64 x (+.f64 z (-.f64 1 y))) 2)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 y z) (+.f64 t t)) (*.f64 2 (*.f64 x (+.f64 z (-.f64 1 y))))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 z (-.f64 1 y)) (*.f64 x 2)) (*.f64 (-.f64 y z) (+.f64 t t))))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 x (+.f64 z (-.f64 1 y))) (*.f64 t (-.f64 y z)))))
(*.f64 1/2 (*.f64 2 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (+.f64 z (-.f64 1 y))))))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 y -1)))) 2))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (+.f64 -1 y)))) 2))
(*.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1/2) 2)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4))
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(*.f64 (/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 4)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(/.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 2) 2)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 4) 4)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(/.f64 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8) 8)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8)) 16)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8))) 32)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 8)))) 64)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(pow.f64 (+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x)))) 1)
(+.f64 (*.f64 (-.f64 y z) (neg.f64 x)) (+.f64 x (*.f64 t (-.f64 y z))))
(+.f64 x (*.f64 (-.f64 y z) (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 (-.f64 y z) t) 0)
(*.f64 t (-.f64 y z))
(+.f64 0 (*.f64 (-.f64 y z) t))
(*.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 (-.f64 y z) t) 0)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 (-.f64 y z) t) 1)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 (-.f64 y z) (+.f64 t t)) 2)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 (-.f64 y z) (*.f64 t 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 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 t 8) (-.f64 y z))))) 64)
(*.f64 t (-.f64 y z))
(pow.f64 (*.f64 (-.f64 y z) t) 1)
(*.f64 t (-.f64 y z))

localize9.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 14 computations (39.1% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite112.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1652×rational.json-1
1652×rational.json-2
1652×rational.json-3
1648×rational.json-simplify-35
1086×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17119
216719
332419
463019
5144319
6306419
7495919
8732319
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 x (-.f64 z (-.f64 y 1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (-.f64 z (+.f64 y -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 1/2)) (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 z (+.f64 y -1)) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 1)))))

simplify542.0ms (2%)

Algorithm
egg-herbie
Rules
3318×rational.json-simplify-2
2936×rational.json-simplify-35
1798×rational.json-simplify-53
932×exponential.json-simplify-26
848×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055883
1132879
2245879
3518879
41839879
53560879
64099879
74270879
84394879
94515879
104635879
115629879
126650879
136653879
146653879
156788879
166909879
177030879
187151879
197614879
Stop Event
node limit
Counts
49 → 29
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 (*.f64 x (-.f64 z (+.f64 y -1))) 0)
(+.f64 0 (*.f64 x (-.f64 z (+.f64 y -1))))
(+.f64 (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 1/2)) (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 1/2)))
(-.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 0)
(/.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 1)
(/.f64 (*.f64 (-.f64 z (+.f64 y -1)) (+.f64 x x)) 2)
(/.f64 (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 4)) 4)
(/.f64 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)))))) 128)
(pow.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 1)
Outputs
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (*.f64 x -1))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (+.f64 z (-.f64 1 y)) x)
(*.f64 (+.f64 1 (-.f64 z y)) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 0)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(+.f64 0 (*.f64 x (-.f64 z (+.f64 y -1))))
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(+.f64 (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 1/2)) (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 1/2)))
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(-.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 0)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 1)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (*.f64 (-.f64 z (+.f64 y -1)) (+.f64 x x)) 2)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (*.f64 (-.f64 z (+.f64 y -1)) (*.f64 x 4)) 4)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)) 8)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))) 16)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)))) 32)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))))) 64)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 z (+.f64 y -1)) 8)))))) 128)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))
(pow.f64 (*.f64 x (-.f64 z (+.f64 y -1))) 1)
(*.f64 x (-.f64 z (+.f64 y -1)))
(*.f64 x (-.f64 1 (-.f64 y z)))

localize8.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

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
z
@inf
(*.f64 z (-.f64 x t))
0.0ms
x
@-inf
(*.f64 z (-.f64 x t))
0.0ms
x
@inf
(*.f64 z (-.f64 x t))

rewrite115.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)))))

simplify451.0ms (1.7%)

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)

series5.0ms (0%)

Counts
2 → 57
Calls

18 calls:

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

rewrite115.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)))))

simplify463.0ms (1.7%)

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)))

eval52.0ms (0.2%)

Compiler

Compiled 3795 to 1603 computations (57.8% saved)

prune60.0ms (0.2%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New28914303
Fresh202
Picked011
Done314
Total29416310
Error
0.0b
Counts
310 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
23.7b
(+.f64 (*.f64 z x) (+.f64 x (*.f64 t (neg.f64 z))))
28.6b
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
38.3b
(+.f64 (*.f64 z x) x)
24.7b
(+.f64 (*.f64 y (-.f64 t x)) x)
34.7b
(+.f64 (*.f64 y t) x)
24.8b
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
20.6b
(+.f64 x (+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t)))
34.0b
(+.f64 x (*.f64 z (neg.f64 t)))
38.4b
(*.f64 (-.f64 1 y) x)
38.5b
(*.f64 z (+.f64 x (neg.f64 t)))
53.0b
(*.f64 z x)
39.3b
(*.f64 y (-.f64 t x))
53.0b
(*.f64 y (neg.f64 x))
28.6b
(*.f64 x (-.f64 z (-.f64 y 1)))
35.2b
(*.f64 t (-.f64 y z))
47.8b
x
Compiler

Compiled 301 to 207 computations (31.2% saved)

localize12.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 40 to 16 computations (60% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite120.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1712×rational.json-simplify-35
1594×rational.json-1
1594×rational.json-2
1594×rational.json-3
1568×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01025
17223
216417
333517
467417
5169217
6354817
7548517
8739817
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 t (+.f64 y (neg.f64 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 t y) (-.f64 1 (*.f64 z t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t (+.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 t (+.f64 y (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 1/2 (+.f64 y (neg.f64 z))) t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 t t) (*.f64 1/2 (+.f64 y (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 t t) (/.f64 (+.f64 y (neg.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 t t) (+.f64 (/.f64 y 2) (*.f64 (neg.f64 z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (*.f64 t 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (+.f64 t t)) (*.f64 t (*.f64 z -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (neg.f64 z)) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 y (neg.f64 z))) (*.f64 t 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/2) (*.f64 2 (+.f64 y (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/2) (+.f64 (+.f64 y y) (*.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 y (neg.f64 z))) (+.f64 t t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 y y) (*.f64 z -2)) (*.f64 t 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)))))

simplify270.0ms (1%)

Algorithm
egg-herbie
Rules
2038×rational.json-simplify-2
1990×rational.json-simplify-1
1644×rational.json-simplify-35
1260×rational.json-simplify-41
914×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0961560
12181192
25751192
319621192
439371192
555361192
657931192
760061192
861831192
963281192
1068481192
1176441192
1277911192
Stop Event
node limit
Counts
70 → 47
Calls
Call 1
Inputs
(*.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 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.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 (*.f64 t (+.f64 y (neg.f64 z))) 0)
(-.f64 (+.f64 (*.f64 t y) (-.f64 1 (*.f64 z t))) 1)
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(*.f64 1 (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1/2))
(*.f64 2 (*.f64 (*.f64 1/2 (+.f64 y (neg.f64 z))) t))
(*.f64 (+.f64 t t) (*.f64 1/2 (+.f64 y (neg.f64 z))))
(*.f64 (+.f64 t t) (/.f64 (+.f64 y (neg.f64 z)) 2))
(*.f64 (+.f64 t t) (+.f64 (/.f64 y 2) (*.f64 (neg.f64 z) 1/2)))
(*.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 1/2)
(*.f64 4 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4))
(*.f64 4 (*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (*.f64 t 1/2)))
(*.f64 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))) 1/4)
(*.f64 1/2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2))
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 t t)) (*.f64 t (*.f64 z -2))))
(*.f64 (+.f64 y (neg.f64 z)) t)
(*.f64 (*.f64 2 (+.f64 y (neg.f64 z))) (*.f64 t 1/2))
(*.f64 (*.f64 t 1/2) (*.f64 2 (+.f64 y (neg.f64 z))))
(*.f64 (*.f64 t 1/2) (+.f64 (+.f64 y y) (*.f64 z -2)))
(*.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1/2) 2)
(*.f64 (*.f64 1/2 (+.f64 y (neg.f64 z))) (+.f64 t t))
(*.f64 1/4 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))))
(*.f64 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4) 4)
(*.f64 (+.f64 (+.f64 y y) (*.f64 z -2)) (*.f64 t 1/2))
(/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 2)
(/.f64 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))) 4)
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))))) 128)
(pow.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
Outputs
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(neg.f64 (*.f64 t z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(neg.f64 (*.f64 t z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 y -1))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 y -1))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 y -1))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 y -1))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(neg.f64 (*.f64 t z))
(*.f64 z (neg.f64 t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(-.f64 (*.f64 t (+.f64 y (neg.f64 z))) 0)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(-.f64 (+.f64 (*.f64 t y) (-.f64 1 (*.f64 z t))) 1)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1 (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1/2))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 2 (*.f64 (*.f64 1/2 (+.f64 y (neg.f64 z))) t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 t t) (*.f64 1/2 (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 t t) (/.f64 (+.f64 y (neg.f64 z)) 2))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 t t) (+.f64 (/.f64 y 2) (*.f64 (neg.f64 z) 1/2)))
(*.f64 (+.f64 t t) (+.f64 (/.f64 y 2) (*.f64 z -1/2)))
(*.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 1/2)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 4 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 4 (*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (*.f64 t 1/2)))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))) 1/4)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1/2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 t t)) (*.f64 t (*.f64 z -2))))
(*.f64 (+.f64 y (neg.f64 z)) t)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 2 (+.f64 y (neg.f64 z))) (*.f64 t 1/2))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t 1/2) (*.f64 2 (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t 1/2) (+.f64 (+.f64 y y) (*.f64 z -2)))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1/2) 2)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 1/2 (+.f64 y (neg.f64 z))) (+.f64 t t))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1/4 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4) 4)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 (+.f64 y y) (*.f64 z -2)) (*.f64 t 1/2))
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 2)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 t (*.f64 4 (+.f64 y (neg.f64 z)))) 4)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8) 8)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)) 16)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))) 32)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) 64)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))))) 128)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(pow.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize6.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)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 6 computations (57.1% saved)

series1.0ms (0%)

Counts
1 → 15
Calls

6 calls:

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

rewrite196.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1734×rational.json-simplify-1
1654×rational.json-simplify-35
1514×exponential.json-3
1514×rational.json-1
1514×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
14013
29413
320913
439713
590713
6246713
7468313
8558213
9693113
10799813
11799813
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(+.f64 (*.f64 z x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 z x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 z 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 z x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (*.f64 (+.f64 z 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 2 (+.f64 z z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 z 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 2 (+.f64 z z)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 x (/.f64 (+.f64 z 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 x 8) (+.f64 2 (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 (+.f64 z 1) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 (+.f64 z 1) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (/.f64 (+.f64 z 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 4) (*.f64 1/8 (+.f64 2 (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (/.f64 x 8) (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 8 (*.f64 (*.f64 1/2 (*.f64 x 1/4)) (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) (*.f64 x 8)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (+.f64 z z)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 8) (*.f64 1/8 (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (+.f64 2 (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 (+.f64 z 1) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 2 (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 x 8)) (*.f64 1/16 (+.f64 z 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) 4) (*.f64 x 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 x (*.f64 (+.f64 z 1) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (/.f64 (+.f64 z 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/4) (*.f64 (+.f64 z 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 z 1) (*.f64 x 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z 1) 1/4) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z 1) 4) (*.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1/2 (*.f64 z 1/2)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 z x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 2 (+.f64 z z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (+.f64 z 1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z 1) (*.f64 x 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 x (*.f64 z x)) 1)))))

simplify142.0ms (0.5%)

Algorithm
egg-herbie
Rules
1880×rational.json-simplify-35
1270×rational.json-simplify-51
1184×rational.json-simplify-41
1036×rational.json-simplify-2
770×rational.json-simplify-42
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0105767
1250767
2485767
3885767
41621767
54535767
65752767
76384767
86964767
97408767
Stop Event
node limit
Counts
59 → 49
Calls
Call 1
Inputs
x
(*.f64 z x)
(*.f64 z x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(-.f64 (+.f64 x (*.f64 z x)) 0)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 x (*.f64 z x)) 1)
(*.f64 1 (+.f64 x (*.f64 z x)))
(*.f64 2 (*.f64 x (*.f64 (+.f64 z 1) 1/2)))
(*.f64 (*.f64 x (+.f64 2 (+.f64 z z))) 1/2)
(*.f64 (+.f64 x x) (*.f64 (+.f64 z 1) 1/2))
(*.f64 (+.f64 x x) (*.f64 (+.f64 2 (+.f64 z z)) 1/4))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z 1/2)))
(*.f64 (+.f64 z 1) x)
(*.f64 4 (*.f64 x (/.f64 (+.f64 z 1) 4)))
(*.f64 4 (*.f64 (/.f64 x 8) (+.f64 2 (+.f64 z z))))
(*.f64 (*.f64 x (*.f64 (+.f64 z 1) 4)) 1/4)
(*.f64 (*.f64 x 4) (*.f64 (+.f64 z 1) 1/4))
(*.f64 (*.f64 x 4) (/.f64 (+.f64 z 1) 4))
(*.f64 (*.f64 x 4) (*.f64 1/8 (+.f64 2 (+.f64 z z))))
(*.f64 8 (*.f64 (/.f64 x 8) (+.f64 z 1)))
(*.f64 8 (*.f64 (*.f64 1/2 (*.f64 x 1/4)) (+.f64 z 1)))
(*.f64 (*.f64 (+.f64 z 1) (*.f64 x 8)) 1/8)
(*.f64 (+.f64 2 (+.f64 z z)) (*.f64 x 1/2))
(*.f64 (*.f64 x 8) (*.f64 1/8 (+.f64 z 1)))
(*.f64 1/2 (*.f64 x (+.f64 2 (+.f64 z z))))
(*.f64 (*.f64 x (*.f64 (+.f64 z 1) 1/2)) 2)
(*.f64 (*.f64 x 1/2) (+.f64 2 (+.f64 z z)))
(*.f64 (*.f64 2 (*.f64 x 8)) (*.f64 1/16 (+.f64 z 1)))
(*.f64 (*.f64 (+.f64 z 1) 4) (*.f64 x 1/4))
(*.f64 1/4 (*.f64 x (*.f64 (+.f64 z 1) 4)))
(*.f64 (*.f64 (+.f64 z 1) 1/2) (+.f64 x x))
(*.f64 (*.f64 x (/.f64 (+.f64 z 1) 4)) 4)
(*.f64 (*.f64 x 1/4) (*.f64 (+.f64 z 1) 4))
(*.f64 1/8 (*.f64 (+.f64 z 1) (*.f64 x 8)))
(*.f64 (*.f64 (+.f64 z 1) 1/4) (*.f64 x 4))
(*.f64 (/.f64 (+.f64 z 1) 4) (*.f64 x 4))
(*.f64 (+.f64 1/2 (*.f64 z 1/2)) (+.f64 x x))
(/.f64 (+.f64 x (*.f64 z x)) 1)
(/.f64 (*.f64 x (+.f64 2 (+.f64 z z))) 2)
(/.f64 (*.f64 x (*.f64 (+.f64 z 1) 4)) 4)
(/.f64 (*.f64 (+.f64 z 1) (*.f64 x 8)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))))))) 256)
(pow.f64 (+.f64 x (*.f64 z x)) 1)
Outputs
x
(*.f64 z x)
(*.f64 x z)
(*.f64 z x)
(*.f64 x z)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(-.f64 (+.f64 x (*.f64 z x)) 0)
(*.f64 x (+.f64 z 1))
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 x (*.f64 z x)) 1)
(*.f64 x (+.f64 z 1))
(*.f64 1 (+.f64 x (*.f64 z x)))
(*.f64 x (+.f64 z 1))
(*.f64 2 (*.f64 x (*.f64 (+.f64 z 1) 1/2)))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x (+.f64 2 (+.f64 z z))) 1/2)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 x x) (*.f64 (+.f64 z 1) 1/2))
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 x x) (*.f64 (+.f64 2 (+.f64 z z)) 1/4))
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z 1/2)))
(*.f64 (+.f64 z 1) x)
(*.f64 x (+.f64 z 1))
(*.f64 4 (*.f64 x (/.f64 (+.f64 z 1) 4)))
(*.f64 x (+.f64 z 1))
(*.f64 4 (*.f64 (/.f64 x 8) (+.f64 2 (+.f64 z z))))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x (*.f64 (+.f64 z 1) 4)) 1/4)
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x 4) (*.f64 (+.f64 z 1) 1/4))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x 4) (/.f64 (+.f64 z 1) 4))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x 4) (*.f64 1/8 (+.f64 2 (+.f64 z z))))
(*.f64 x (+.f64 z 1))
(*.f64 8 (*.f64 (/.f64 x 8) (+.f64 z 1)))
(*.f64 x (+.f64 z 1))
(*.f64 8 (*.f64 (*.f64 1/2 (*.f64 x 1/4)) (+.f64 z 1)))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 (+.f64 z 1) (*.f64 x 8)) 1/8)
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 2 (+.f64 z z)) (*.f64 x 1/2))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x 8) (*.f64 1/8 (+.f64 z 1)))
(*.f64 x (+.f64 z 1))
(*.f64 1/2 (*.f64 x (+.f64 2 (+.f64 z z))))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x (*.f64 (+.f64 z 1) 1/2)) 2)
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x 1/2) (+.f64 2 (+.f64 z z)))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 2 (*.f64 x 8)) (*.f64 1/16 (+.f64 z 1)))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 (+.f64 z 1) 4) (*.f64 x 1/4))
(*.f64 x (+.f64 z 1))
(*.f64 1/4 (*.f64 x (*.f64 (+.f64 z 1) 4)))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 (+.f64 z 1) 1/2) (+.f64 x x))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x (/.f64 (+.f64 z 1) 4)) 4)
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 x 1/4) (*.f64 (+.f64 z 1) 4))
(*.f64 x (+.f64 z 1))
(*.f64 1/8 (*.f64 (+.f64 z 1) (*.f64 x 8)))
(*.f64 x (+.f64 z 1))
(*.f64 (*.f64 (+.f64 z 1) 1/4) (*.f64 x 4))
(*.f64 x (+.f64 z 1))
(*.f64 (/.f64 (+.f64 z 1) 4) (*.f64 x 4))
(*.f64 x (+.f64 z 1))
(*.f64 (+.f64 1/2 (*.f64 z 1/2)) (+.f64 x x))
(*.f64 (+.f64 x x) (+.f64 1/2 (*.f64 z 1/2)))
(/.f64 (+.f64 x (*.f64 z x)) 1)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 x (+.f64 2 (+.f64 z z))) 2)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 x (*.f64 (+.f64 z 1) 4)) 4)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 (+.f64 z 1) (*.f64 x 8)) 8)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))) 16)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8)))) 32)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))))) 64)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8)))))) 128)
(*.f64 x (+.f64 z 1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z 1) (*.f64 x 8))))))) 256)
(*.f64 x (+.f64 z 1))
(pow.f64 (+.f64 x (*.f64 z x)) 1)
(*.f64 x (+.f64 z 1))

localize10.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series3.0ms (0%)

Counts
2 → 39
Calls

15 calls:

TimeVariablePointExpression
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)
0.0ms
z
@0
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
0.0ms
y
@0
(*.f64 (-.f64 1 y) x)

rewrite198.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
2792×rational.json-simplify-2
1406×rational.json-simplify-35
1308×rational.json-1
1308×rational.json-2
1308×rational.json-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01038
17532
216432
332432
460732
5138332
6288932
7447632
8585732
9674632
10679832
11684332
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(*.f64 (-.f64 1 y) x)
(+.f64 (*.f64 z x) (*.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 (*.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 (*.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 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 pow.f64 (*.f64 (-.f64 1 y) x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 (-.f64 1 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 (-.f64 1 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 x (*.f64 (+.f64 (-.f64 1 y) z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (*.f64 (+.f64 (-.f64 1 y) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x x) (/.f64 (+.f64 (-.f64 1 y) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 x 1/2) (/.f64 (+.f64 (-.f64 1 y) z) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 1 y) z) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 z (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (-.f64 1 y) z)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 (-.f64 1 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x 1/2) (+.f64 (+.f64 z z) (*.f64 (-.f64 1 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 1 y) z) 1/2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 1 y) z) 2) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 z (+.f64 x x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 z z) (*.f64 (-.f64 1 y) 2)) (*.f64 x 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x 1/2) (/.f64 (+.f64 (-.f64 1 y) z) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (*.f64 (+.f64 (-.f64 1 y) z) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)))))

simplify182.0ms (0.7%)

Algorithm
egg-herbie
Rules
2442×rational.json-simplify-2
1984×rational.json-simplify-35
1040×rational.json-simplify-51
878×exponential.json-simplify-26
874×rational.json-simplify-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01161600
12801546
26301546
319131546
442921454
552891454
655711454
758231454
860761454
964121454
Stop Event
node limit
Counts
88 → 71
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 1 y) x)
(*.f64 z x)
(*.f64 z 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 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 -1 (*.f64 y x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(+.f64 (*.f64 (-.f64 1 y) x) 0)
(+.f64 0 (*.f64 (-.f64 1 y) x))
(+.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 (*.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 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)
(pow.f64 (*.f64 (-.f64 1 y) x) 1)
(-.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 0)
(*.f64 1 (*.f64 x (+.f64 (-.f64 1 y) z)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)
(*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1/2))
(*.f64 2 (*.f64 x (*.f64 (+.f64 (-.f64 1 y) z) 1/2)))
(*.f64 (+.f64 x x) (*.f64 (+.f64 (-.f64 1 y) z) 1/2))
(*.f64 (+.f64 x x) (/.f64 (+.f64 (-.f64 1 y) z) 2))
(*.f64 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))) 1/2)
(*.f64 4 (/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 4))
(*.f64 4 (*.f64 (*.f64 x 1/2) (/.f64 (+.f64 (-.f64 1 y) z) 2)))
(*.f64 (+.f64 (-.f64 1 y) z) x)
(*.f64 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)) 1/4)
(*.f64 1/2 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 z (+.f64 x x))))
(*.f64 (*.f64 2 (+.f64 (-.f64 1 y) z)) (*.f64 x 1/2))
(*.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 (-.f64 1 y) z)))
(*.f64 (*.f64 x 1/2) (+.f64 (+.f64 z z) (*.f64 (-.f64 1 y) 2)))
(*.f64 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)))
(*.f64 (*.f64 (+.f64 (-.f64 1 y) z) 1/2) (+.f64 x x))
(*.f64 (/.f64 (+.f64 (-.f64 1 y) z) 2) (+.f64 x x))
(*.f64 (/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 4) 4)
(*.f64 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 z (+.f64 x x))) 1/2)
(*.f64 (+.f64 (+.f64 z z) (*.f64 (-.f64 1 y) 2)) (*.f64 x 1/2))
(*.f64 (*.f64 (*.f64 x 1/2) (/.f64 (+.f64 (-.f64 1 y) z) 2)) 4)
(*.f64 (*.f64 x (*.f64 (+.f64 (-.f64 1 y) z) 1/2)) 2)
(/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)
(/.f64 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))) 2)
(/.f64 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)) 4)
(/.f64 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8))))) 128)
(pow.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)
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 x (-.f64 1 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 x (-.f64 1 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 x (-.f64 1 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 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 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 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 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 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 y))
(*.f64 (-.f64 1 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 y))
(*.f64 z x)
(*.f64 x z)
(*.f64 z x)
(*.f64 x z)
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (-.f64 1 y))) x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) x)
(+.f64 x (*.f64 x z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (+.f64 (*.f64 -1 (*.f64 y x)) x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 -1 (*.f64 y x))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 -1 (*.f64 y x))
(*.f64 -1 (*.f64 x y))
(*.f64 y (neg.f64 x))
(*.f64 x (neg.f64 y))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y x))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(+.f64 (*.f64 (-.f64 1 y) x) 0)
(+.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 y))
(+.f64 0 (*.f64 (-.f64 1 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 y))
(+.f64 (*.f64 (-.f64 1 y) (*.f64 x 1/2)) (*.f64 (-.f64 1 y) (*.f64 x 1/2)))
(+.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 y))
(-.f64 (*.f64 (-.f64 1 y) x) 0)
(+.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 y))
(/.f64 (*.f64 (-.f64 1 y) x) 1)
(+.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 y))
(/.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) 2)
(+.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 y))
(/.f64 (*.f64 (-.f64 1 y) (*.f64 x 4)) 4)
(+.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 y))
(/.f64 (*.f64 (-.f64 1 y) (*.f64 x 8)) 8)
(+.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 y))
(/.f64 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))) 16)
(+.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 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))) 32)
(+.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 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8))))) 64)
(+.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 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 1 y) (*.f64 x 8)))))) 128)
(+.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 y))
(pow.f64 (*.f64 (-.f64 1 y) x) 1)
(+.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 y))
(-.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 0)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 1 (*.f64 x (+.f64 (-.f64 1 y) z)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1/2))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 2 (*.f64 x (*.f64 (+.f64 (-.f64 1 y) z) 1/2)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (+.f64 x x) (*.f64 (+.f64 (-.f64 1 y) z) 1/2))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (+.f64 x x) (/.f64 (+.f64 (-.f64 1 y) z) 2))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))) 1/2)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 4 (/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 4))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 4 (*.f64 (*.f64 x 1/2) (/.f64 (+.f64 (-.f64 1 y) z) 2)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (+.f64 (-.f64 1 y) z) x)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)) 1/4)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 1/2 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 z (+.f64 x x))))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 2 (+.f64 (-.f64 1 y) z)) (*.f64 x 1/2))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 x 1/2) (*.f64 2 (+.f64 (-.f64 1 y) z)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 x 1/2) (+.f64 (+.f64 z z) (*.f64 (-.f64 1 y) 2)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1/2) 2)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 (+.f64 (-.f64 1 y) z) 1/2) (+.f64 x x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (/.f64 (+.f64 (-.f64 1 y) z) 2) (+.f64 x x))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 4) 4)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 z (+.f64 x x))) 1/2)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (+.f64 (+.f64 z z) (*.f64 (-.f64 1 y) 2)) (*.f64 x 1/2))
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 (*.f64 x 1/2) (/.f64 (+.f64 (-.f64 1 y) z) 2)) 4)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(*.f64 (*.f64 x (*.f64 (+.f64 (-.f64 1 y) z) 1/2)) 2)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 x (*.f64 2 (+.f64 (-.f64 1 y) z))) 2)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 (+.f64 (-.f64 1 y) z) (*.f64 x 4)) 4)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8) 8)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8)) 16)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8))) 32)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8)))) 64)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 8))))) 128)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))
(pow.f64 (*.f64 x (+.f64 (-.f64 1 y) z)) 1)
(*.f64 x (+.f64 (-.f64 1 y) z))
(*.f64 x (+.f64 1 (-.f64 z y)))
(+.f64 x (*.f64 x (-.f64 z y)))

eval36.0ms (0.1%)

Compiler

Compiled 1951 to 1118 computations (42.7% saved)

prune232.0ms (0.9%)

Pruning

17 alts after pruning (12 fresh and 5 done)

PrunedKeptTotal
New1843187
Fresh099
Picked101
Done156
Total18617203
Error
0.0b
Counts
203 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
23.7b
(+.f64 (*.f64 z x) (+.f64 x (*.f64 t (neg.f64 z))))
43.5b
(+.f64 (*.f64 z x) (*.f64 y (neg.f64 x)))
38.3b
(+.f64 (*.f64 z x) x)
24.7b
(+.f64 (*.f64 y (-.f64 t x)) x)
34.7b
(+.f64 (*.f64 y t) x)
24.8b
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
20.6b
(+.f64 x (+.f64 (*.f64 y t) (*.f64 t (neg.f64 z))))
34.0b
(+.f64 x (*.f64 z (neg.f64 t)))
38.4b
(*.f64 (-.f64 1 y) x)
38.5b
(*.f64 z (+.f64 x (neg.f64 t)))
53.0b
(*.f64 z x)
39.3b
(*.f64 y (-.f64 t x))
53.0b
(*.f64 y (neg.f64 x))
49.2b
(*.f64 y t)
28.6b
(*.f64 x (-.f64 z (-.f64 y 1)))
35.2b
(*.f64 t (-.f64 y z))
47.8b
x
Compiler

Compiled 286 to 196 computations (31.5% saved)

localize10.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 35 to 9 computations (74.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite287.0ms (1.1%)

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
5172617
6352617
7553817
8740617
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(+.f64 (*.f64 y t) (*.f64 t (neg.f64 z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 t (+.f64 y (neg.f64 z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t (+.f64 y (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 t (+.f64 y (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 t (/.f64 (+.f64 y (neg.f64 z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 y (neg.f64 z)) 1/2) t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 t t) (*.f64 (+.f64 y (neg.f64 z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 t t) (/.f64 (+.f64 y (neg.f64 z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (neg.f64 z)) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (*.f64 t 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 y (neg.f64 z))) (*.f64 t 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 t (+.f64 y y)) (*.f64 t (*.f64 z -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/2) (*.f64 2 (+.f64 y (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/2) (+.f64 (*.f64 z -2) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t (/.f64 (+.f64 y (neg.f64 z)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (neg.f64 z)) 1/2) (+.f64 t t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (+.f64 t t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z -2) (+.f64 y y)) (*.f64 t 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)))))

simplify1.2s (4.3%)

Algorithm
egg-herbie
Rules
2946×rational.json-simplify-35
2284×rational.json-simplify-2
1554×rational.json-simplify-1
956×rational.json-simplify-41
896×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0881511
12031141
24611141
314881141
432621141
546601141
649931141
752581141
854131141
955191141
1056131141
1164861141
1265961141
1367041141
1468301141
1569621141
1670781141
1771141141
1871891141
1972571141
2072681141
2172701141
2273541141
2374381141
2475221141
2576061141
2676901141
2777741141
2878581141
2979421141
Stop Event
node limit
Counts
69 → 43
Calls
Call 1
Inputs
(*.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 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.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 t (+.f64 y (neg.f64 z))) 0)
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(*.f64 1 (*.f64 t (+.f64 y (neg.f64 z))))
(*.f64 2 (*.f64 t (/.f64 (+.f64 y (neg.f64 z)) 2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 y (neg.f64 z)) 1/2) t))
(*.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 1/2)
(*.f64 (+.f64 t t) (*.f64 (+.f64 y (neg.f64 z)) 1/2))
(*.f64 (+.f64 t t) (/.f64 (+.f64 y (neg.f64 z)) 2))
(*.f64 (+.f64 y (neg.f64 z)) t)
(*.f64 4 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4))
(*.f64 4 (*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (*.f64 t 1/2)))
(*.f64 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)) 1/4)
(*.f64 (*.f64 2 (+.f64 y (neg.f64 z))) (*.f64 t 1/2))
(*.f64 1/2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2))
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 y y)) (*.f64 t (*.f64 z -2))))
(*.f64 (*.f64 t 1/2) (*.f64 2 (+.f64 y (neg.f64 z))))
(*.f64 (*.f64 t 1/2) (+.f64 (*.f64 z -2) (+.f64 y y)))
(*.f64 (*.f64 t (/.f64 (+.f64 y (neg.f64 z)) 2)) 2)
(*.f64 (*.f64 (+.f64 y (neg.f64 z)) 1/2) (+.f64 t t))
(*.f64 1/4 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)))
(*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (+.f64 t t))
(*.f64 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4) 4)
(*.f64 (+.f64 (*.f64 z -2) (+.f64 y y)) (*.f64 t 1/2))
(/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 2)
(/.f64 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)) 4)
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))))) 128)
(pow.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
Outputs
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 (*.f64 -1 z) y))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 -1 (*.f64 t (+.f64 z (*.f64 -1 y))))
(*.f64 t (neg.f64 (+.f64 z (neg.f64 y))))
(*.f64 (+.f64 z (neg.f64 y)) (neg.f64 t))
(*.f64 y t)
(*.f64 t y)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(-.f64 (*.f64 t (+.f64 y (neg.f64 z))) 0)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1 (*.f64 t (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 2 (*.f64 t (/.f64 (+.f64 y (neg.f64 z)) 2)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 2 (*.f64 (*.f64 (+.f64 y (neg.f64 z)) 1/2) t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 1/2)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 t t) (*.f64 (+.f64 y (neg.f64 z)) 1/2))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 t t) (/.f64 (+.f64 y (neg.f64 z)) 2))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 y (neg.f64 z)) t)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 4 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 4 (*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (*.f64 t 1/2)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)) 1/4)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 2 (+.f64 y (neg.f64 z))) (*.f64 t 1/2))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1/2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 y y)) (*.f64 t (*.f64 z -2))))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t 1/2) (*.f64 2 (+.f64 y (neg.f64 z))))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t 1/2) (+.f64 (*.f64 z -2) (+.f64 y y)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 t (/.f64 (+.f64 y (neg.f64 z)) 2)) 2)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (*.f64 (+.f64 y (neg.f64 z)) 1/2) (+.f64 t t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 1/4 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (/.f64 (+.f64 y (neg.f64 z)) 2) (+.f64 t t))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 4) 4)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (+.f64 (*.f64 z -2) (+.f64 y y)) (*.f64 t 1/2))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 2) 2)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 t (*.f64 (+.f64 y (neg.f64 z)) 4)) 4)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8) 8)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)) 16)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))) 32)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) 64)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 t (+.f64 y (neg.f64 z))) 8))))) 128)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(pow.f64 (*.f64 t (+.f64 y (neg.f64 z))) 1)
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize7.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)

localize5.0ms (0%)

Compiler

Compiled 15 to 6 computations (60% saved)

localize7.0ms (0%)

Compiler

Compiled 19 to 7 computations (63.2% saved)

eval11.0ms (0%)

Compiler

Compiled 675 to 311 computations (53.9% saved)

prune17.0ms (0.1%)

Pruning

18 alts after pruning (9 fresh and 9 done)

PrunedKeptTotal
New61263
Fresh077
Picked011
Done189
Total621880
Error
0.0b
Counts
80 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
23.7b
(+.f64 (*.f64 z x) (+.f64 x (*.f64 t (neg.f64 z))))
43.5b
(+.f64 (*.f64 z x) (*.f64 y (neg.f64 x)))
38.3b
(+.f64 (*.f64 z x) x)
24.7b
(+.f64 (*.f64 y (-.f64 t x)) x)
34.7b
(+.f64 (*.f64 y t) x)
35.2b
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
24.8b
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
34.0b
(+.f64 x (*.f64 z (neg.f64 t)))
38.4b
(*.f64 (-.f64 1 y) x)
38.5b
(*.f64 z (+.f64 x (neg.f64 t)))
48.6b
(*.f64 z (neg.f64 t))
53.0b
(*.f64 z x)
39.3b
(*.f64 y (-.f64 t x))
53.0b
(*.f64 y (neg.f64 x))
49.2b
(*.f64 y t)
28.6b
(*.f64 x (-.f64 z (-.f64 y 1)))
35.2b
(*.f64 t (-.f64 y z))
47.8b
x
Compiler

Compiled 176 to 122 computations (30.7% saved)

regimes89.0ms (0.3%)

Counts
27 → 1
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 z x)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.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 x) (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 x (+.f64 (*.f64 y t) (*.f64 t (neg.f64 z))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 t (neg.f64 z))))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 (*.f64 -1 (*.f64 (-.f64 y z) x)) (+.f64 (*.f64 t (-.f64 y z)) x))
(+.f64 (*.f64 (-.f64 t x) y) (+.f64 x (*.f64 (-.f64 t x) (*.f64 z -1))))
Outputs
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
Calls

6 calls:

15.0ms
(-.f64 y z)
14.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
14.0ms
z
14.0ms
t
13.0ms
y
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 244 to 102 computations (58.2% saved)

regimes81.0ms (0.3%)

Counts
24 → 1
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 z x)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.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 x) (*.f64 y (neg.f64 x)))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(+.f64 x (+.f64 (*.f64 y t) (*.f64 t (neg.f64 z))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 t (neg.f64 z))))
(+.f64 x (+.f64 (*.f64 -1 (*.f64 z t)) (*.f64 y t)))
(+.f64 (*.f64 -1 (*.f64 y x)) (+.f64 x (*.f64 y t)))
Outputs
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
Calls

6 calls:

14.0ms
t
13.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
13.0ms
(-.f64 y z)
12.0ms
x
12.0ms
y
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 201 to 86 computations (57.2% saved)

regimes223.0ms (0.8%)

Counts
17 → 5
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 z x)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.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 x) (*.f64 y (neg.f64 x)))
Outputs
(+.f64 (*.f64 y (-.f64 t x)) x)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 x (*.f64 t (-.f64 y z)))
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 y (-.f64 t x)) x)
Calls

5 calls:

66.0ms
(-.f64 y z)
51.0ms
z
51.0ms
y
27.0ms
t
25.0ms
x
Results
ErrorSegmentsBranch
10.9b3x
7.3b5y
8.0b6z
12.4b3t
12.4b7(-.f64 y z)
Compiler

Compiled 119 to 53 computations (55.5% saved)

bsearch63.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
7.174892701627739
12173.318849706826
16.0ms
4.677448298044943e-109
2.246217174067452e-102
10.0ms
7.678347565289115e-181
9.414397666469122e-180
19.0ms
-2448345.140329242
-1.559706059784629e-14
Results
56.0ms544×body256valid
0.0msbody256infinite
Compiler

Compiled 836 to 558 computations (33.3% saved)

regimes479.0ms (1.8%)

Counts
15 → 5
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 z x)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.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 x t)))
(+.f64 x (*.f64 t (-.f64 y z)))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 y (-.f64 t x))
Calls

5 calls:

229.0ms
(-.f64 y z)
100.0ms
y
98.0ms
z
25.0ms
x
24.0ms
t
Results
ErrorSegmentsBranch
10.9b3x
7.6b5y
12.2b5z
12.4b3t
12.5b7(-.f64 y z)
Compiler

Compiled 104 to 51 computations (51% saved)

bsearch141.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
7.174892701627739
12173.318849706826
97.0ms
4.677448298044943e-109
2.246217174067452e-102
10.0ms
7.678347565289115e-181
9.414397666469122e-180
19.0ms
-2448345.140329242
-1.559706059784629e-14
Results
134.0ms544×body256valid
0.0msbody256infinite
Compiler

Compiled 798 to 539 computations (32.5% saved)

regimes245.0ms (0.9%)

Counts
14 → 3
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 z x)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.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 z (-.f64 y 1)))
(+.f64 x (*.f64 t (-.f64 y z)))
(*.f64 x (-.f64 z (-.f64 y 1)))
Calls

5 calls:

109.0ms
(-.f64 y z)
39.0ms
z
38.0ms
y
31.0ms
x
25.0ms
t
Results
ErrorSegmentsBranch
10.9b3x
12.0b5y
12.2b5z
12.4b3t
12.5b7(-.f64 y z)
Compiler

Compiled 97 to 48 computations (50.5% saved)

bsearch30.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
2.6510541814148047e-51
4.604327262613163e-50
17.0ms
-2.7962392979372622e-14
-9.809194844403807e-29
Results
26.0ms272×body256valid
Compiler

Compiled 428 to 303 computations (29.2% saved)

regimes1.0s (3.7%)

Counts
13 → 3
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 z x)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.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:

500.0ms
x
221.0ms
t
155.0ms
y
66.0ms
(-.f64 y z)
56.0ms
z
Results
ErrorSegmentsBranch
13.7b3x
15.2b6y
15.2b8z
16.3b5t
15.6b8(-.f64 y z)
Compiler

Compiled 90 to 47 computations (47.8% saved)

bsearch36.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
2.0480343758121995e-111
1.9586768025476085e-105
20.0ms
-4.7402938438677796e-58
-1.0270180181328715e-84
Results
31.0ms320×body256valid
Compiler

Compiled 460 to 334 computations (27.4% saved)

regimes657.0ms (2.4%)

Counts
12 → 10
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 z x)
(*.f64 y (neg.f64 x))
(*.f64 z (neg.f64 t))
(*.f64 t (-.f64 y z))
(*.f64 y (-.f64 t x))
(*.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 (neg.f64 t)))
(*.f64 y (-.f64 t x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 y t) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(*.f64 y (-.f64 t x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 y (-.f64 t x))
(*.f64 z (+.f64 x (neg.f64 t)))
(*.f64 y (-.f64 t x))
Calls

5 calls:

210.0ms
x
184.0ms
t
135.0ms
y
72.0ms
(-.f64 y z)
53.0ms
z
Results
ErrorSegmentsBranch
17.2b7x
15.2b6y
15.6b7z
22.5b5t
14.5b10(-.f64 y z)
Compiler

Compiled 83 to 43 computations (48.2% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2695654251372624e+245
2.2150525162060946e+250
0.0ms
3.815163121367986e+66
6.445698372874459e+68
0.0ms
8.17202554365956e+51
2.962190306199088e+52
0.0ms
6.228546834755937e+19
3.814425356790302e+20
0.0ms
1.1298553150303516e-8
12173.318849706826
0.0ms
7.013063964683148e-170
6.569952020780987e-165
0.0ms
-6.0409289899067435e-15
-5.215733169631198e-30
0.0ms
-2.0186874170589898e+20
-91088678249695570.0
0.0ms
-1.147263277641819e+81
-3.9650429711432886e+74
Compiler

Compiled 20 to 14 computations (30% saved)

regimes200.0ms (0.7%)

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

5 calls:

56.0ms
y
47.0ms
x
43.0ms
(-.f64 y z)
32.0ms
z
19.0ms
t
Results
ErrorSegmentsBranch
17.4b7x
15.9b8y
16.7b5z
23.9b3t
17.9b6(-.f64 y z)
Compiler

Compiled 77 to 42 computations (45.5% saved)

bsearch101.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
1.810765520404689e-8
2.3177342517533557e-5
13.0ms
1.4388742604093385e-97
1.1294996657833438e-95
13.0ms
1.4768761031431446e-176
2.797093739196828e-175
17.0ms
1.1188660288427476e-301
1.0763724221707645e-298
20.0ms
-5.574924796950343e-195
-4.2127051223933847e-206
17.0ms
-7.005008208389028e-48
-2.8185725447949752e-56
4.0ms
-4.9574121135549694e+30
-4.4298155336180335e+30
Results
91.0ms816×body256valid
0.0msbody256infinite
Compiler

Compiled 1058 to 746 computations (29.5% saved)

regimes245.0ms (0.9%)

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

5 calls:

88.0ms
z
49.0ms
(-.f64 y z)
43.0ms
y
43.0ms
x
19.0ms
t
Results
ErrorSegmentsBranch
17.4b7x
17.8b6y
19.4b13z
23.9b3t
20.4b8(-.f64 y z)
Compiler

Compiled 71 to 40 computations (43.7% saved)

bsearch96.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
1.044288634123302e+185
3.997202401234908e+198
17.0ms
2.0480343758121995e-111
1.9586768025476085e-105
7.0ms
-7.005534584158213e-39
-3.5792686018962145e-39
11.0ms
-3.3836725872524124e-37
-2.478189104327587e-38
17.0ms
-0.2135086124743686
-0.00019511069032067258
16.0ms
-1.4198536808157495e+61
-2.856969670008511e+57
Results
76.0ms720×body256valid
11.0ms96×body256infinite
Compiler

Compiled 920 to 654 computations (28.9% saved)

regimes672.0ms (2.5%)

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

5 calls:

220.0ms
y
179.0ms
x
140.0ms
(-.f64 y z)
81.0ms
t
51.0ms
z
Results
ErrorSegmentsBranch
20.9b5x
22.1b6y
20.8b9z
25.3b3t
20.4b8(-.f64 y z)
Compiler

Compiled 66 to 39 computations (40.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0547823142741834e+229
9.372730423301075e+234
0.0ms
7.780274741540175e+133
4.109804537717836e+139
0.0ms
9.128999795849559e+114
1.895869692402322e+118
0.0ms
1.9686675703186164e-16
1.1298553150303516e-8
0.0ms
-6.0409289899067435e-15
-5.215733169631198e-30
0.0ms
-2.0186874170589898e+20
-91088678249695570.0
0.0ms
-6.527780569576773e+70
-4.32650924066619e+66
Compiler

Compiled 20 to 14 computations (30% saved)

regimes1.1s (3.9%)

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

5 calls:

500.0ms
y
222.0ms
t
158.0ms
z
146.0ms
(-.f64 y z)
25.0ms
x
Results
ErrorSegmentsBranch
20.9b5x
22.6b9y
23.7b9z
25.3b3t
23.5b8(-.f64 y z)
Compiler

Compiled 61 to 38 computations (37.7% saved)

bsearch62.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
3.66366916844285e+145
8.531828657181192e+151
15.0ms
1.4009113672032697e+51
3.9136122907909906e+55
16.0ms
4.604327262613163e-50
1.3021044792879488e-41
10.0ms
-3.3836725872524124e-37
-2.478189104327587e-38
Results
50.0ms512×body256valid
6.0ms61×body256infinite
Compiler

Compiled 626 to 477 computations (23.8% saved)

regimes287.0ms (1.1%)

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

5 calls:

97.0ms
t
85.0ms
(-.f64 y z)
42.0ms
z
32.0ms
y
29.0ms
x
Results
ErrorSegmentsBranch
24.2b6x
23.6b7y
26.9b8z
29.0b4t
23.5b8(-.f64 y z)
Compiler

Compiled 56 to 35 computations (37.5% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0547823142741834e+229
9.372730423301075e+234
0.0ms
7.780274741540175e+133
4.109804537717836e+139
0.0ms
9.128999795849559e+114
1.895869692402322e+118
0.0ms
1.9686675703186164e-16
1.1298553150303516e-8
0.0ms
-7.005008208389028e-48
-1.6638326899573532e-49
0.0ms
-2.0186874170589898e+20
-91088678249695570.0
0.0ms
-6.527780569576773e+70
-4.32650924066619e+66
Compiler

Compiled 20 to 14 computations (30% saved)

regimes135.0ms (0.5%)

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

5 calls:

40.0ms
z
30.0ms
y
22.0ms
(-.f64 y z)
22.0ms
x
18.0ms
t
Results
ErrorSegmentsBranch
25.6b5x
29.8b7y
29.1b9z
30.5b3t
26.7b5(-.f64 y z)
Compiler

Compiled 51 to 33 computations (35.3% saved)

bsearch61.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
3.66366916844285e+145
8.531828657181192e+151
14.0ms
1.4009113672032697e+51
3.9136122907909906e+55
16.0ms
1025473307590447500.0
8.257251734417867e+23
10.0ms
-1.192686485230078e+68
-4.835766337426896e+67
Results
49.0ms496×body256valid
6.0ms65×body256infinite
Compiler

Compiled 482 to 369 computations (23.4% saved)

regimes368.0ms (1.4%)

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

4 calls:

195.0ms
z
104.0ms
t
37.0ms
x
31.0ms
y
Results
ErrorSegmentsBranch
33.3b9x
32.9b8y
34.0b7z
38.5b6t
Compiler

Compiled 39 to 26 computations (33.3% saved)

bsearch502.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
299.0ms
2.7400873140604985e+269
4.082605584147266e+281
12.0ms
7.011324980623158e+82
4.1950329442440374e+83
127.0ms
1.810765520404689e-8
2.3177342517533557e-5
14.0ms
1.1188660288427476e-301
1.0763724221707645e-298
17.0ms
-5.574924796950343e-195
-4.2127051223933847e-206
17.0ms
-1.1977934804117353e-57
-7.439635113976923e-76
15.0ms
-1.9409244341153144e+63
-5.315793021669981e+60
Results
285.0ms204×body256infinite
206.0ms960×body256valid
Compiler

Compiled 950 to 740 computations (22.1% saved)

regimes151.0ms (0.6%)

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

4 calls:

97.0ms
x
21.0ms
y
17.0ms
z
15.0ms
t
Results
ErrorSegmentsBranch
36.6b6x
34.5b6y
37.5b5z
41.5b3t
Compiler

Compiled 35 to 24 computations (31.4% saved)

bsearch418.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
172.0ms
2.7400873140604985e+269
4.082605584147266e+281
12.0ms
7.011324980623158e+82
4.1950329442440374e+83
14.0ms
1.810765520404689e-8
2.3177342517533557e-5
17.0ms
-1.1977934804117353e-57
-7.439635113976923e-76
204.0ms
-1.9409244341153144e+63
-5.315793021669981e+60
Results
253.0ms672×body256valid
158.0ms214×body256infinite
Compiler

Compiled 680 to 524 computations (22.9% saved)

regimes189.0ms (0.7%)

Accuracy

Total -25.3b remaining (-67.5%)

Threshold costs -25.3b (-67.5%)

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

4 calls:

153.0ms
z
15.0ms
x
10.0ms
y
9.0ms
t
Results
ErrorSegmentsBranch
38.1b5x
37.5b3y
37.5b5z
41.5b3t
Compiler

Compiled 31 to 22 computations (29% saved)

bsearch31.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
1.810765520404689e-8
2.3177342517533557e-5
17.0ms
-1.1977934804117353e-57
-7.439635113976923e-76
Results
28.0ms288×body256valid
Compiler

Compiled 272 to 212 computations (22.1% saved)

simplify21.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02281843
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 y -6050532056176733/147573952589676412928) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 y 2919961995278205/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 2685539873210385/5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 y 2050) (+.f64 x (*.f64 z (-.f64 x t))) (+.f64 (*.f64 y (-.f64 t x)) x)))))
(if (<=.f64 y -1120000) (*.f64 y (-.f64 t x)) (if (<=.f64 y 5255931591500769/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 1454323131338547/2644223875160994395807661232131084159313618731857124877138595181097623164945245383300756841758861139390364848100093433217024) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 y 1020) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 y (-.f64 t x))))))
(if (<=.f64 x -4361529361169255/20769187434139310514121985316880384) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 7582485000136117/210624583337114373395836055367340864637790190801098222508621955072) (+.f64 x (*.f64 t (-.f64 y z))) (*.f64 x (-.f64 z (-.f64 y 1)))))
(if (<=.f64 x -1821252086461621/242833611528216133864932738352939863330300854881517440156476551217363035650651062272) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 4777162274460781/2582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376) (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1)))))
(if (<=.f64 (-.f64 y z) -999999999999999921281879895665782741935503249059183851809998224123064148429897728) (*.f64 z (+.f64 x (neg.f64 t))) (if (<=.f64 (-.f64 y z) -200000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -6338253001141147/1267650600228229401496703205376) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 6798566308054619/67985663080546188632267290438715984298187919069060086169528849689651655662189087070612800289949348565617834174239552129964362155219546526644418557282123181048810402666930332036061200384) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 3022314549036573/151115727451828646838272) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 (-.f64 y z) 100000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) 9999999999999999932209486743616279764617084419440640) (*.f64 z (+.f64 x (neg.f64 t))) (if (<=.f64 (-.f64 y z) 4999999999999999913683878919592799158619891437790466139288573575168) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) 200000000000000008865591331916694877000857933217272512160395875661926954165237823719168356730340153384902021777125683944200820531246613453659458355377824296650910559620209942066205153823999633833272476105465504214545753911342860863491894855860224) (*.f64 z (+.f64 x (neg.f64 t))) (*.f64 y (-.f64 t x)))))))))))
(if (<=.f64 y -4499999999999999948743323418624) (*.f64 y (-.f64 t x)) (if (<=.f64 y -2830794400050817/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 t (-.f64 y z)) (if (<=.f64 y -7048738840935711/90368446678662959902371482950548091627243325179250480789868861787606202571558351996987965471847359903068731695945087890499945499708108510324049698831582275405785474927446915858324226319766512887160235503322704971703517184) (+.f64 (*.f64 z x) x) (if (<=.f64 y 4825645764048353/1508014301265110212210531135789433919262563062937126445449153766240405586123431823342743394534566435927056356253600209291203385124994765794776479899441737755548338772926974008712671009764769795099197087276523896072521861519103442867235119310387667688286379400732806098106007386857498456032472308789536403591243235328) (*.f64 z (+.f64 x (neg.f64 t))) (if (<=.f64 y 4901059257211343/17822033662586700072817076584766762987864173856439687228824970773044043621908896041038721919208482030385321521771853153557377752817872804680674458280164899172859354196719784961261227313463296) (+.f64 (*.f64 z x) x) (if (<=.f64 y 6974232053805175/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 (*.f64 y t) x) (if (<=.f64 y 6139076427730539/9444732965739290427392) (+.f64 (*.f64 z x) x) (*.f64 y (-.f64 t x)))))))))
(if (<=.f64 x -23999999999999999766524035865123871034699084260849748017152) (+.f64 (*.f64 z x) x) (if (<=.f64 x -5534023222112865/1152921504606846976) (*.f64 y (-.f64 t x)) (if (<=.f64 x -7901930132589739/23945242826029513411849172299223580994042798784118784) (+.f64 (*.f64 z x) x) (if (<=.f64 x -6436481271636733/1532495540865888858358347027150309183618739122183602176) (*.f64 y (-.f64 t x)) (if (<=.f64 x 6920429673272915/20657999024695268717247353376024094994637646342633788102645274852325180976134729557037162826241102651487225375781979947008) (*.f64 t (-.f64 y z)) (if (<=.f64 x 19000000000000000731528784366943934306402550352718272133965002289064432273387854324490061554590704993264982931499080403022356325696365409834068328424635385742913630068494982325949470783239073300480) (+.f64 (*.f64 z x) x) (*.f64 (-.f64 1 y) x)))))))
(if (<=.f64 (-.f64 y z) -50000000000000002094076278210572897949571693332016914157171385590349824) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -200000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -6338253001141147/1267650600228229401496703205376) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 2028240960365167/10141204801825835211973625643008) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 10000000000000000155594161294668430242682013969210614333697705804308337811647557032649853899150474476762062808678400) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 99999999999999992148203649670699315007549827372972461504375111049848301607660324472857261615145089428049364457837845490532419930947584) (*.f64 z x) (if (<=.f64 (-.f64 y z) 19999999999999999836777221245888555157266854023040746648359793341285923569054049205612780991738616816940675431370589468387985186797779692394447533106893958186103920770675008711375515345125281086808706628454884068855007427340271616) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x)))))))))
(if (<=.f64 x -838083498911033/2993155353253689176481146537402947624255349848014848) (*.f64 (-.f64 1 y) x) (if (<=.f64 x 7898421875141789/52656145834278593348959013841835216159447547700274555627155488768) (*.f64 t (-.f64 y z)) (if (<=.f64 x 37999999999999999572254866165272631373857617077990326272) (*.f64 (-.f64 1 y) x) (if (<=.f64 x 36999999999999999318954294327132539711262364749176657753522349681901961359659997089298086603330668922800197424373571615021800121496423864419221504) (*.f64 z x) (*.f64 (-.f64 1 y) x)))))
(if (<=.f64 (-.f64 y z) -50000000000000002094076278210572897949571693332016914157171385590349824) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -200000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -4113761393303015/822752278660603021077484591278675252491367932816789931674304512) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 2028240960365167/10141204801825835211973625643008) x (if (<=.f64 (-.f64 y z) 10000000000000000155594161294668430242682013969210614333697705804308337811647557032649853899150474476762062808678400) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 99999999999999992148203649670699315007549827372972461504375111049848301607660324472857261615145089428049364457837845490532419930947584) (*.f64 z x) (if (<=.f64 (-.f64 y z) 19999999999999999836777221245888555157266854023040746648359793341285923569054049205612780991738616816940675431370589468387985186797779692394447533106893958186103920770675008711375515345125281086808706628454884068855007427340271616) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x)))))))))
(if (<=.f64 x -91999999999999994221365877565342657445000850091217903005419966562304) x (if (<=.f64 x 54000000000000000000) (*.f64 t (-.f64 y z)) (if (<=.f64 x 5500000000000000260462288764810109400992177933489537024) x (if (<=.f64 x 115000000000000000131346883006613185247232364066157479587788715532249265175007759019132951177075557224898780727760758882411982238221510791282032640) (*.f64 z x) x))))
(if (<=.f64 y -699999999999999967425490093363732968991123446608377323924226048) (*.f64 y (neg.f64 x)) (if (<=.f64 y -4169759072876987/3533694129556768659166595001485837031654967793751237916243212402585239552) (*.f64 y t) (if (<=.f64 y -8189640480253831/5648027917416434993898217684409255726702707823703155049366803861725387660722396999811747841990459993941795730996567993156246593731756781895253106176973892212861592182965432241145264144985407055447514718957669060731469824) x (if (<=.f64 y 2639025027213943/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5742397643169489/302231454903657293676544) x (if (<=.f64 y 339999999999999980818324164662483574508169097904393636575846265041377820776555610112) (*.f64 y t) (if (<=.f64 y 18999999999999999082764761496136026486539077425301520304507750333480711777461758519184106095500537640490308115977156961419955581586922416384574847025233112057729048270530929786598628001416624059971423339241373093363531547704602175143853582262195756242957749927023146778492928) (*.f64 y (neg.f64 x)) (*.f64 y t))))))))
(if (<=.f64 y -11499999999999999774763979092841187234653409989027999936151552) (*.f64 y (neg.f64 x)) (if (<=.f64 y -5172161658661781/994646472819573284310764496293641680200912301594695434880927953786318994025066751066112) (*.f64 y t) (if (<=.f64 y 8854437155380585/1180591620717411303424) x (if (<=.f64 y 72000000000000002757278685972511293252798448625895822841927504180789519031830839296) (*.f64 y t) (if (<=.f64 y 360000000000000011801608553830355369485453901887737683134800087878739337151054760934056376322068245499374299129456694294732588483687850450557836796465495307604920369528423223693498378047853854736518277608503708226473336501280140834767141483337361663948362843651907838052455292076032) (*.f64 y (neg.f64 x)) (*.f64 y t))))))
(if (<=.f64 y -7067388259113537/7067388259113537318333190002971674063309935587502475832486424805170479104) (*.f64 y t) (if (<=.f64 y 5742397643169489/302231454903657293676544) 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 y -6050532056176733/147573952589676412928) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 y 2919961995278205/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 2685539873210385/5164499756173817179311838344006023748659411585658447025661318713081295244033682389259290706560275662871806343945494986752) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 y 2050) (+.f64 x (*.f64 z (-.f64 x t))) (+.f64 (*.f64 y (-.f64 t x)) x)))))
(if (<=.f64 y -1120000) (*.f64 y (-.f64 t x)) (if (<=.f64 y 5255931591500769/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 1454323131338547/2644223875160994395807661232131084159313618731857124877138595181097623164945245383300756841758861139390364848100093433217024) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 y 1020) (+.f64 x (*.f64 z (-.f64 x t))) (*.f64 y (-.f64 t x))))))
(if (<=.f64 x -4361529361169255/20769187434139310514121985316880384) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 7582485000136117/210624583337114373395836055367340864637790190801098222508621955072) (+.f64 x (*.f64 t (-.f64 y z))) (*.f64 x (-.f64 z (-.f64 y 1)))))
(if (<=.f64 x -1821252086461621/242833611528216133864932738352939863330300854881517440156476551217363035650651062272) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 4777162274460781/2582249878086908589655919172003011874329705792829223512830659356540647622016841194629645353280137831435903171972747493376) (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1)))))
(if (<=.f64 (-.f64 y z) -999999999999999921281879895665782741935503249059183851809998224123064148429897728) (*.f64 z (+.f64 x (neg.f64 t))) (if (<=.f64 (-.f64 y z) -200000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -6338253001141147/1267650600228229401496703205376) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 6798566308054619/67985663080546188632267290438715984298187919069060086169528849689651655662189087070612800289949348565617834174239552129964362155219546526644418557282123181048810402666930332036061200384) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 3022314549036573/151115727451828646838272) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 (-.f64 y z) 100000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) 9999999999999999932209486743616279764617084419440640) (*.f64 z (+.f64 x (neg.f64 t))) (if (<=.f64 (-.f64 y z) 4999999999999999913683878919592799158619891437790466139288573575168) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) 200000000000000008865591331916694877000857933217272512160395875661926954165237823719168356730340153384902021777125683944200820531246613453659458355377824296650910559620209942066205153823999633833272476105465504214545753911342860863491894855860224) (*.f64 z (+.f64 x (neg.f64 t))) (*.f64 y (-.f64 t x)))))))))))
(if (<=.f64 y -4499999999999999948743323418624) (*.f64 y (-.f64 t x)) (if (<=.f64 y -2830794400050817/26959946667150639794667015087019630673637144422540572481103610249216) (*.f64 t (-.f64 y z)) (if (<=.f64 y -7048738840935711/90368446678662959902371482950548091627243325179250480789868861787606202571558351996987965471847359903068731695945087890499945499708108510324049698831582275405785474927446915858324226319766512887160235503322704971703517184) (+.f64 (*.f64 z x) x) (if (<=.f64 y 4825645764048353/1508014301265110212210531135789433919262563062937126445449153766240405586123431823342743394534566435927056356253600209291203385124994765794776479899441737755548338772926974008712671009764769795099197087276523896072521861519103442867235119310387667688286379400732806098106007386857498456032472308789536403591243235328) (*.f64 z (+.f64 x (neg.f64 t))) (if (<=.f64 y 4901059257211343/17822033662586700072817076584766762987864173856439687228824970773044043621908896041038721919208482030385321521771853153557377752817872804680674458280164899172859354196719784961261227313463296) (+.f64 (*.f64 z x) x) (if (<=.f64 y 6974232053805175/4809815209520810450717656262224562232065397860164239095208531909697964083434718092213655548692006303809402830848) (+.f64 (*.f64 y t) x) (if (<=.f64 y 6139076427730539/9444732965739290427392) (+.f64 (*.f64 z x) x) (*.f64 y (-.f64 t x)))))))))
(if (<=.f64 x -23999999999999999766524035865123871034699084260849748017152) (+.f64 (*.f64 z x) x) (if (<=.f64 x -5534023222112865/1152921504606846976) (*.f64 y (-.f64 t x)) (if (<=.f64 x -7901930132589739/23945242826029513411849172299223580994042798784118784) (+.f64 (*.f64 z x) x) (if (<=.f64 x -6436481271636733/1532495540865888858358347027150309183618739122183602176) (*.f64 y (-.f64 t x)) (if (<=.f64 x 6920429673272915/20657999024695268717247353376024094994637646342633788102645274852325180976134729557037162826241102651487225375781979947008) (*.f64 t (-.f64 y z)) (if (<=.f64 x 19000000000000000731528784366943934306402550352718272133965002289064432273387854324490061554590704993264982931499080403022356325696365409834068328424635385742913630068494982325949470783239073300480) (+.f64 (*.f64 z x) x) (*.f64 (-.f64 1 y) x)))))))
(if (<=.f64 (-.f64 y z) -50000000000000002094076278210572897949571693332016914157171385590349824) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -200000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -6338253001141147/1267650600228229401496703205376) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 2028240960365167/10141204801825835211973625643008) (+.f64 (*.f64 y t) x) (if (<=.f64 (-.f64 y z) 10000000000000000155594161294668430242682013969210614333697705804308337811647557032649853899150474476762062808678400) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 99999999999999992148203649670699315007549827372972461504375111049848301607660324472857261615145089428049364457837845490532419930947584) (*.f64 z x) (if (<=.f64 (-.f64 y z) 19999999999999999836777221245888555157266854023040746648359793341285923569054049205612780991738616816940675431370589468387985186797779692394447533106893958186103920770675008711375515345125281086808706628454884068855007427340271616) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x)))))))))
(if (<=.f64 x -838083498911033/2993155353253689176481146537402947624255349848014848) (*.f64 (-.f64 1 y) x) (if (<=.f64 x 7898421875141789/52656145834278593348959013841835216159447547700274555627155488768) (*.f64 t (-.f64 y z)) (if (<=.f64 x 37999999999999999572254866165272631373857617077990326272) (*.f64 (-.f64 1 y) x) (if (<=.f64 x 36999999999999999318954294327132539711262364749176657753522349681901961359659997089298086603330668922800197424373571615021800121496423864419221504) (*.f64 z x) (*.f64 (-.f64 1 y) x)))))
(if (<=.f64 (-.f64 y z) -50000000000000002094076278210572897949571693332016914157171385590349824) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -200000000000000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 (-.f64 y z) -4113761393303015/822752278660603021077484591278675252491367932816789931674304512) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 2028240960365167/10141204801825835211973625643008) x (if (<=.f64 (-.f64 y z) 10000000000000000155594161294668430242682013969210614333697705804308337811647557032649853899150474476762062808678400) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 99999999999999992148203649670699315007549827372972461504375111049848301607660324472857261615145089428049364457837845490532419930947584) (*.f64 z x) (if (<=.f64 (-.f64 y z) 19999999999999999836777221245888555157266854023040746648359793341285923569054049205612780991738616816940675431370589468387985186797779692394447533106893958186103920770675008711375515345125281086808706628454884068855007427340271616) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x)))))))))
(if (<=.f64 x -91999999999999994221365877565342657445000850091217903005419966562304) x (if (<=.f64 x 54000000000000000000) (*.f64 t (-.f64 y z)) (if (<=.f64 x 5500000000000000260462288764810109400992177933489537024) x (if (<=.f64 x 115000000000000000131346883006613185247232364066157479587788715532249265175007759019132951177075557224898780727760758882411982238221510791282032640) (*.f64 z x) x))))
(if (<=.f64 y -699999999999999967425490093363732968991123446608377323924226048) (*.f64 y (neg.f64 x)) (if (<=.f64 y -4169759072876987/3533694129556768659166595001485837031654967793751237916243212402585239552) (*.f64 y t) (if (<=.f64 y -8189640480253831/5648027917416434993898217684409255726702707823703155049366803861725387660722396999811747841990459993941795730996567993156246593731756781895253106176973892212861592182965432241145264144985407055447514718957669060731469824) x (if (<=.f64 y 2639025027213943/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 z (neg.f64 t)) (if (<=.f64 y 5742397643169489/302231454903657293676544) x (if (<=.f64 y 339999999999999980818324164662483574508169097904393636575846265041377820776555610112) (*.f64 y t) (if (<=.f64 y 18999999999999999082764761496136026486539077425301520304507750333480711777461758519184106095500537640490308115977156961419955581586922416384574847025233112057729048270530929786598628001416624059971423339241373093363531547704602175143853582262195756242957749927023146778492928) (*.f64 y (neg.f64 x)) (*.f64 y t))))))))
(if (<=.f64 y -11499999999999999774763979092841187234653409989027999936151552) (*.f64 y (neg.f64 x)) (if (<=.f64 y -5172161658661781/994646472819573284310764496293641680200912301594695434880927953786318994025066751066112) (*.f64 y t) (if (<=.f64 y 8854437155380585/1180591620717411303424) x (if (<=.f64 y 72000000000000002757278685972511293252798448625895822841927504180789519031830839296) (*.f64 y t) (if (<=.f64 y 360000000000000011801608553830355369485453901887737683134800087878739337151054760934056376322068245499374299129456694294732588483687850450557836796465495307604920369528423223693498378047853854736518277608503708226473336501280140834767141483337361663948362843651907838052455292076032) (*.f64 y (neg.f64 x)) (*.f64 y t))))))
(if (<=.f64 y -7067388259113537/7067388259113537318333190002971674063309935587502475832486424805170479104) (*.f64 y t) (if (<=.f64 y 5742397643169489/302231454903657293676544) x (*.f64 y t)))
x
Compiler

Compiled 807 to 394 computations (51.2% saved)

soundness418.0ms (1.5%)

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)

end11.5s (42.7%)

Compiler

Compiled 743 to 269 computations (63.8% saved)

Profiling

Loading profile data...