Details

Time bar (total: 28.2s)

analyze293.0ms (1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
12.7%12.5%85.6%0.2%1.8%0%0%11
17.8%17.2%79.4%0.2%3.2%0%0%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.2s (4.3%)

Results
820.0ms8256×body256valid
389.0ms3886×body256infinite
Bogosity

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

simplify8.0ms (0%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 13 to 8 computations (38.5% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 13 to 8 computations (38.5% saved)

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

series6.0ms (0%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
1.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))

rewrite89.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1696×bool.json-1
1696×bool.json-2
1654×rational.json-1
1654×rational.json-2
1106×bool.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
19744
225744
355944
4119444
5272544
6604644
Stop Event
node limit
Counts
2 → 31
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 y z) (/.f64 (-.f64 x t) -2)) (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -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 y z) (*.f64 (-.f64 t x) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 y z) (*.f64 (-.f64 t x) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 y z) (-.f64 t x)) (*.f64 (-.f64 y z) (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 y z) (-.f64 t x)) (*.f64 (-.f64 y z) (-.f64 t x)))))))
((#(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 2 (+.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -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 y z) (*.f64 (-.f64 t x) 2)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (-.f64 y z) (*.f64 (-.f64 t x) 2))))))) (#(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 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 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)) (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))))))))

simplify362.0ms (1.3%)

Algorithm
egg-herbie
Rules
1878×rational.json-simplify-2
1848×rational.json-simplify-35
1838×rational.json-simplify-42
1616×rational.json-simplify-45
1090×rational.json-simplify-26
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01054585
12183251
24913245
311383177
421133161
526683161
629753161
732773161
835123161
937962941
1043792941
1146842941
1249352941
1351562941
1453932941
1555982941
1675892941
Stop Event
node limit
Counts
127 → 88
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 y z) (/.f64 (-.f64 x t) -2)) (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -2)))
(-.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 0)
(/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 1)
(/.f64 (*.f64 (-.f64 y z) (*.f64 (-.f64 t x) 2)) 2)
(/.f64 (*.f64 (-.f64 y z) (*.f64 (-.f64 t x) 4)) 4)
(/.f64 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8))) 32)
(-.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 2 (+.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -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 y z) (*.f64 (-.f64 t x) 2)) (+.f64 x x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (-.f64 y z) (*.f64 (-.f64 t x) 2))))
(*.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 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 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)) (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8))) 32)
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 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 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 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 (+.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 (+.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 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 (*.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 (+.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 (+.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 -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 (*.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 -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 -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 -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 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 y z) (/.f64 (-.f64 x t) -2)) (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -2)))
(*.f64 (/.f64 (-.f64 x t) -2) (+.f64 (-.f64 y z) (-.f64 y z)))
(*.f64 (/.f64 (-.f64 x t) -2) (*.f64 (-.f64 y z) 2))
(-.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 y z) (*.f64 (-.f64 t x) 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 y z) (*.f64 (-.f64 t x) 4)) 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 (-.f64 y z) (-.f64 t x)) 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 (-.f64 y z) (-.f64 t x)) 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 (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 8)) (*.f64 2 (*.f64 (*.f64 (-.f64 y z) (-.f64 t x)) 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 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 2 (+.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 y z) (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))
(*.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 y z) (*.f64 (-.f64 t x) 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 1/2 (+.f64 (+.f64 x x) (*.f64 (-.f64 y z) (*.f64 (-.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 (*.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 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 (*.f64 2 (*.f64 (+.f64 x (*.f64 (-.f64 y z) (-.f64 t x))) 8)) (*.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)))

eval14.0ms (0%)

Compiler

Compiled 1044 to 352 computations (66.3% saved)

prune15.0ms (0.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New83588
Fresh000
Picked101
Done000
Total84589
Error
0b
Counts
89 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
24.7b
(+.f64 (*.f64 y (-.f64 t x)) x)
0.0b
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
23.5b
(+.f64 x (*.f64 z (-.f64 x t)))
17.8b
(+.f64 x (*.f64 t (-.f64 y z)))
29.3b
(*.f64 x (-.f64 z (-.f64 y 1)))
Compiler

Compiled 122 to 80 computations (34.4% saved)

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 45 to 21 computations (53.3% saved)

series7.0ms (0%)

Counts
3 → 108
Calls

30 calls:

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

rewrite105.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1896×bool.json-1
1896×bool.json-2
1146×bool.json-3
1094×rational.json-1
1094×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01369
113669
237069
375869
4156769
5358869
6720269
Stop Event
node limit
Counts
3 → 37
Calls
Call 1
Inputs
(*.f64 t (-.f64 y z))
(*.f64 x (-.f64 z (-.f64 y 1)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (-.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 t (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 t (*.f64 (-.f64 y z) 1/2)) (*.f64 t (*.f64 (-.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 t (-.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (-.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 t (*.f64 (-.f64 y z) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4)))) (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 t (-.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 t (-.f64 y z)) (*.f64 t (-.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 t (-.f64 y z)) (*.f64 t (-.f64 y z)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (-.f64 (+.f64 z 1) y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (+.f64 z 1) y) (*.f64 x 1/2)) (*.f64 (-.f64 (+.f64 z 1) y) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)))) (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 x (-.f64 (+.f64 z 1) y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 x (-.f64 (+.f64 z 1) y)) (*.f64 x (-.f64 (+.f64 z 1) y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 x (-.f64 (+.f64 z 1) y)) (*.f64 x (-.f64 (+.f64 z 1) y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))))))))

simplify1.1s (3.9%)

Algorithm
egg-herbie
Rules
4570×rational.json-simplify-35
4296×rational.json-simplify-49
2400×rational.json-simplify-2
1028×rational.json-simplify-53
1028×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01204081
12743823
26153769
313793763
428593763
537973763
642373763
745073763
847303763
949033763
1050633763
1154493763
1254593763
1354733763
1454773763
1554773763
1656863763
1759053763
1861183763
1963513763
2065283763
2166893763
2268483763
2370073763
2471663763
2571663763
2672583763
2772623763
2872663763
2972663763
3074253763
3175843763
Stop Event
node limit
Counts
145 → 108
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 y t)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 (-.f64 (+.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 (+.f64 1 z) y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) 0)
(+.f64 0 (*.f64 t (-.f64 y z)))
(+.f64 (*.f64 t (*.f64 (-.f64 y z) 1/2)) (*.f64 t (*.f64 (-.f64 y z) 1/2)))
(-.f64 (*.f64 t (-.f64 y z)) 0)
(/.f64 (*.f64 t (-.f64 y z)) 1)
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) 2)
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 4)) 4)
(/.f64 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4)))) (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4))))) 32)
(+.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 0)
(+.f64 0 (*.f64 x (-.f64 (+.f64 z 1) y)))
(+.f64 (*.f64 (-.f64 (+.f64 z 1) y) (*.f64 x 1/2)) (*.f64 (-.f64 (+.f64 z 1) y) (*.f64 x 1/2)))
(-.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 0)
(/.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 1)
(/.f64 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 2)) 2)
(/.f64 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)) 4)
(/.f64 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)))) (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4))))) 32)
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 0)
(*.f64 1 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))))
(*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1/2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 4)
(/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4)))) 32)
Outputs
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t 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 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t 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 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t 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 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 t y))
(*.f64 t (+.f64 y (neg.f64 z)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 z x)
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 z x) (*.f64 (-.f64 1 y) x))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 z 1) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(*.f64 -1 (*.f64 y x))
(*.f64 y (neg.f64 x))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (*.f64 y x)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (neg.f64 x)))
(*.f64 x (+.f64 (+.f64 z 1) (neg.f64 y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x))
(+.f64 (*.f64 z (neg.f64 t)) (*.f64 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 y (+.f64 t (*.f64 -1 x))) (+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x)))
(+.f64 (+.f64 (*.f64 z (neg.f64 t)) (*.f64 (+.f64 z 1) x)) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 (+.f64 z 1) x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 y (+.f64 t (*.f64 -1 x))) (+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x)))
(+.f64 (+.f64 (*.f64 z (neg.f64 t)) (*.f64 (+.f64 z 1) x)) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 (+.f64 z 1) x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) (*.f64 (+.f64 1 z) x)))
(+.f64 (*.f64 y (+.f64 t (*.f64 -1 x))) (+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x)))
(+.f64 (+.f64 (*.f64 z (neg.f64 t)) (*.f64 (+.f64 z 1) x)) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 (+.f64 z 1) x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 y (+.f64 t (neg.f64 x)))))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 y (+.f64 t (*.f64 -1 x)))
(*.f64 y (+.f64 t (neg.f64 x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 y (+.f64 t (*.f64 -1 x))) (+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x)))
(+.f64 (+.f64 (*.f64 z (neg.f64 t)) (*.f64 (+.f64 z 1) x)) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 (+.f64 z 1) x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 y (+.f64 t (*.f64 -1 x))) (+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x)))
(+.f64 (+.f64 (*.f64 z (neg.f64 t)) (*.f64 (+.f64 z 1) x)) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 (+.f64 z 1) x) (+.f64 (*.f64 t (neg.f64 z)) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 (+.f64 t (*.f64 -1 x)) y)))
(+.f64 (*.f64 y (+.f64 t (*.f64 -1 x))) (+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x)))
(+.f64 (+.f64 (*.f64 z (neg.f64 t)) (*.f64 (+.f64 z 1) x)) (*.f64 y (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 t (neg.f64 z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 y (+.f64 t (neg.f64 x)))))
(+.f64 (*.f64 (+.f64 z 1) x) (+.f64 (*.f64 t (neg.f64 z)) (*.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 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 x (*.f64 -1 t)) (*.f64 y -1))))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (+.f64 (*.f64 t z) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 (+.f64 z 1) x) (neg.f64 (+.f64 (*.f64 t z) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 x (*.f64 -1 t)) (*.f64 y -1))))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (+.f64 (*.f64 t z) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 (+.f64 z 1) x) (neg.f64 (+.f64 (*.f64 t z) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 1 z) x) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))))
(+.f64 (*.f64 -1 (*.f64 t z)) (+.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 x (*.f64 -1 t)) (*.f64 y -1))))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 -1 (+.f64 (*.f64 t z) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 (+.f64 z 1) x) (neg.f64 (+.f64 (*.f64 t z) (*.f64 y (+.f64 x (neg.f64 t))))))
(+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 t y) (*.f64 x (-.f64 1 y)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (*.f64 -1 t)))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 (*.f64 t y) (*.f64 x (-.f64 1 y))) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (*.f64 -1 t)))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 (*.f64 t y) (*.f64 x (-.f64 1 y))) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (*.f64 -1 t)))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 (*.f64 t y) (*.f64 x (-.f64 1 y))) (*.f64 z (+.f64 x (neg.f64 t))))
(*.f64 (+.f64 (*.f64 -1 t) x) z)
(*.f64 z (+.f64 x (*.f64 -1 t)))
(*.f64 z (+.f64 x (neg.f64 t)))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (*.f64 -1 t)))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 (*.f64 t y) (*.f64 x (-.f64 1 y))) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (*.f64 -1 t)))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 (*.f64 t y) (*.f64 x (-.f64 1 y))) (*.f64 z (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 (+.f64 (*.f64 -1 t) x) z) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (*.f64 -1 t)))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (+.f64 x (neg.f64 t)))))
(+.f64 (+.f64 (*.f64 t y) (*.f64 x (-.f64 1 y))) (*.f64 z (+.f64 x (neg.f64 t))))
(*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z))
(*.f64 (+.f64 t (*.f64 -1 x)) (*.f64 z -1))
(*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))
(*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 (+.f64 t (*.f64 -1 x)) (*.f64 z -1))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 (+.f64 t (*.f64 -1 x)) (*.f64 z -1))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 t (*.f64 -1 x)) z)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 (+.f64 t (*.f64 -1 x)) (*.f64 z -1))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z)) (*.f64 t y)))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(+.f64 (*.f64 x (-.f64 1 y)) (+.f64 (*.f64 t y) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 (+.f64 t (neg.f64 x)) (neg.f64 z))))
(+.f64 (*.f64 t y) (+.f64 (*.f64 x (-.f64 1 y)) (*.f64 z (neg.f64 (+.f64 t (neg.f64 x))))))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.f64 (*.f64 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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(*.f64 (-.f64 (+.f64 1 z) y) x)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 (-.f64 (+.f64 1 z) y) x))
(+.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 (+.f64 z 1) y)))
(+.f64 (*.f64 t (-.f64 y z)) 0)
(*.f64 t (-.f64 y z))
(+.f64 0 (*.f64 t (-.f64 y z)))
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 t (*.f64 (-.f64 y z) 1/2)) (*.f64 t (*.f64 (-.f64 y z) 1/2)))
(*.f64 t (-.f64 y z))
(-.f64 (*.f64 t (-.f64 y z)) 0)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 t (-.f64 y z)) 1)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 2)) 2)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 t (*.f64 (-.f64 y z) 4)) 4)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4))) 8)
(*.f64 t (-.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4)))) 16)
(*.f64 t (-.f64 y z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4)))) (*.f64 2 (*.f64 2 (*.f64 t (*.f64 (-.f64 y z) 4))))) 32)
(*.f64 t (-.f64 y z))
(+.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 0)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 0 (*.f64 x (-.f64 (+.f64 z 1) y)))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(+.f64 (*.f64 (-.f64 (+.f64 z 1) y) (*.f64 x 1/2)) (*.f64 (-.f64 (+.f64 z 1) y) (*.f64 x 1/2)))
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(-.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 0)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(/.f64 (*.f64 x (-.f64 (+.f64 z 1) y)) 1)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(/.f64 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 2)) 2)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(/.f64 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)) 4)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(/.f64 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4))) 8)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)))) 16)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4)))) (*.f64 2 (*.f64 2 (*.f64 x (*.f64 (-.f64 (+.f64 z 1) y) 4))))) 32)
(*.f64 x (+.f64 1 (-.f64 z y)))
(*.f64 x (+.f64 z (-.f64 1 y)))
(*.f64 x (-.f64 (+.f64 z 1) y))
(-.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 0)
(+.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 (+.f64 z 1) y)))
(*.f64 1 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))))
(+.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 (+.f64 z 1) y)))
(*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) 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 (+.f64 z 1) y)))
(*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1/2))
(+.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 (+.f64 z 1) y)))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2) 1/2)
(+.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 (+.f64 z 1) y)))
(*.f64 4 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))
(+.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 (+.f64 z 1) y)))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 1/4)
(+.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 (+.f64 z 1) y)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2))
(+.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 (+.f64 z 1) y)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))
(+.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 (+.f64 z 1) y)))
(*.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 1/2) 2)
(+.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 (+.f64 z 1) y)))
(*.f64 (/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 4)
(+.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 (+.f64 z 1) y)))
(/.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) 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 (+.f64 z 1) y)))
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 2) 2)
(+.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 (+.f64 z 1) y)))
(/.f64 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4) 4)
(+.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 (+.f64 z 1) y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4)) 8)
(+.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 (+.f64 z 1) y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))) 16)
(+.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 (+.f64 z 1) y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 (+.f64 z 1) y))) 4)))) 32)
(+.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 (+.f64 z 1) y)))

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)

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

rewrite83.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1440×rational.json-simplify-35
1334×bool.json-1
1334×bool.json-2
1292×rational.json-1
1292×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
17932
221732
347032
499132
5222932
6482632
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 z (-.f64 x t))
Outputs
((#(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 2 (+.f64 (*.f64 z (/.f64 (-.f64 t x) -2)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (/.f64 (-.f64 t x) -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))) 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 1/2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z (*.f64 (-.f64 t x) -2)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 (-.f64 t x) -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))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (*.f64 z (-.f64 x t)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (*.f64 z (-.f64 x t))) (+.f64 x (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (*.f64 z (-.f64 x t))) (+.f64 x (*.f64 z (-.f64 x t))))))))
((#(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 z (/.f64 (-.f64 t x) -2)) (*.f64 z (/.f64 (-.f64 t x) -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 z (*.f64 (-.f64 t x) -2)) 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 (*.f64 z (-.f64 x t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (-.f64 x t))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (-.f64 x t)) (*.f64 z (-.f64 x t)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (-.f64 x t)) (*.f64 z (-.f64 x t)))))))

simplify334.0ms (1.2%)

Algorithm
egg-herbie
Rules
2156×rational.json-simplify-35
1850×rational.json-simplify-42
1802×rational.json-simplify-2
1570×rational.json-simplify-45
1546×rational.json-simplify-48
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0931647
12021599
24841599
311301599
421041599
526491599
629561599
732581599
834471599
936321599
1038501599
1141321599
1247111599
1348811599
1450141599
1551421599
1653171599
1755271599
Stop Event
node limit
Counts
93 → 55
Calls
Call 1
Inputs
(*.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 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(-.f64 (+.f64 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 2 (+.f64 (*.f64 z (/.f64 (-.f64 t x) -2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (/.f64 (-.f64 t x) -2))))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2))
(*.f64 1/2 (+.f64 (*.f64 z (*.f64 (-.f64 t x) -2)) (+.f64 x x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 (-.f64 t x) -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))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) 64)
(+.f64 (*.f64 z (-.f64 x t)) 0)
(+.f64 0 (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (/.f64 (-.f64 t x) -2)) (*.f64 z (/.f64 (-.f64 t x) -2)))
(-.f64 (*.f64 z (-.f64 x t)) 0)
(/.f64 (*.f64 z (-.f64 x t)) 1)
(/.f64 (*.f64 z (*.f64 (-.f64 t x) -2)) 2)
(/.f64 (*.f64 (-.f64 x t) (*.f64 z 4)) 4)
(/.f64 (*.f64 (*.f64 z (-.f64 x t)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8)))) 64)
Outputs
(*.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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 z 1) x)
(*.f64 x (+.f64 z 1))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 1 z) x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 x (+.f64 z 1)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 (+.f64 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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.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 (+.f64 z 1) x))
(+.f64 (*.f64 t (neg.f64 z)) (*.f64 (+.f64 z 1) x))
(+.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 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 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 -1 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(*.f64 z x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.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 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.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 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 z x))
(*.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 2 (+.f64 (*.f64 z (/.f64 (-.f64 t x) -2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (/.f64 (-.f64 t x) -2))))
(*.f64 2 (+.f64 (*.f64 z (/.f64 (-.f64 t x) -2)) (*.f64 x 1/2)))
(*.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))) 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 1/2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 2))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 1/2 (+.f64 (*.f64 z (*.f64 (-.f64 t x) -2)) (+.f64 x x)))
(+.f64 x (*.f64 z (-.f64 x t)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 (-.f64 t x) -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))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (-.f64 x t))) 8)))) 64)
(+.f64 x (*.f64 z (-.f64 x t)))
(+.f64 (*.f64 z (-.f64 x t)) 0)
(*.f64 z (-.f64 x t))
(+.f64 0 (*.f64 z (-.f64 x t)))
(*.f64 z (-.f64 x t))
(+.f64 (*.f64 z (/.f64 (-.f64 t x) -2)) (*.f64 z (/.f64 (-.f64 t x) -2)))
(*.f64 (/.f64 (-.f64 t x) -2) (+.f64 z z))
(*.f64 2 (*.f64 z (/.f64 (-.f64 t x) -2)))
(-.f64 (*.f64 z (-.f64 x t)) 0)
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (-.f64 x t)) 1)
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 z (*.f64 (-.f64 t x) -2)) 2)
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 (-.f64 x t) (*.f64 z 4)) 4)
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 (*.f64 z (-.f64 x t)) 8) 8)
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8)) 16)
(*.f64 z (-.f64 x t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8))) 32)
(*.f64 z (-.f64 x t))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z (-.f64 x t)) 8)))) 64)
(*.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)

series3.0ms (0%)

Counts
2 → 57
Calls

18 calls:

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

rewrite82.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1440×rational.json-simplify-35
1334×bool.json-1
1334×bool.json-2
1292×rational.json-1
1292×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
17932
221732
347032
499132
5222932
6482732
Stop Event
node limit
Counts
2 → 33
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 y (/.f64 (-.f64 x t) -2)) (*.f64 y (/.f64 (-.f64 x t) -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 y (*.f64 (-.f64 x t) -2)) 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 (*.f64 y (-.f64 t x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 y (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 y (-.f64 t x)) (*.f64 y (-.f64 t x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 y (-.f64 t x)) (*.f64 y (-.f64 t x)))))))
((#(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 2 (+.f64 (*.f64 y (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (/.f64 (-.f64 x t) -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))) 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 1/2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (*.f64 (-.f64 x t) -2)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 (-.f64 x t) -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))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (*.f64 y (-.f64 t x)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (*.f64 y (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (*.f64 y (-.f64 t x))) (+.f64 x (*.f64 y (-.f64 t x))))))))

simplify361.0ms (1.3%)

Algorithm
egg-herbie
Rules
4200×rational.json-simplify-51
3400×rational.json-simplify-41
2450×rational.json-simplify-35
1266×rational.json-simplify-2
536×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0941914
12041650
24821650
311211606
420881606
526581606
629691606
731521606
832961606
934241606
1035511606
1136751606
1238901606
1339111606
1439401606
1539561606
1639851606
1740001606
1841351606
1942671606
Stop Event
node limit
Counts
90 → 60
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 y (/.f64 (-.f64 x t) -2)) (*.f64 y (/.f64 (-.f64 x t) -2)))
(-.f64 (*.f64 y (-.f64 t x)) 0)
(/.f64 (*.f64 y (-.f64 t x)) 1)
(/.f64 (*.f64 y (*.f64 (-.f64 x t) -2)) 2)
(/.f64 (*.f64 (-.f64 t x) (*.f64 y 4)) 4)
(/.f64 (*.f64 (*.f64 y (-.f64 t x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8)))) 64)
(-.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 2 (+.f64 (*.f64 y (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (/.f64 (-.f64 x t) -2))))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2))
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 (-.f64 x t) -2)) (+.f64 x x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 (-.f64 x t) -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))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) 64)
Outputs
(*.f64 -1 (*.f64 y x))
(*.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 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 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 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 y (/.f64 (-.f64 x t) -2)) (*.f64 y (/.f64 (-.f64 x t) -2)))
(*.f64 (/.f64 (-.f64 x t) -2) (+.f64 y y))
(*.f64 y (*.f64 (/.f64 (-.f64 x t) -2) 2))
(-.f64 (*.f64 y (-.f64 t x)) 0)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 y (-.f64 t x)) 1)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 y (*.f64 (-.f64 x t) -2)) 2)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 (-.f64 t x) (*.f64 y 4)) 4)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 (*.f64 y (-.f64 t x)) 8) 8)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8)) 16)
(*.f64 y (-.f64 t x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8))) 32)
(*.f64 y (-.f64 t x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 y (-.f64 t x)) 8)))) 64)
(*.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 2 (+.f64 (*.f64 y (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 y (/.f64 (-.f64 x t) -2))))
(*.f64 2 (+.f64 (*.f64 y (/.f64 (-.f64 x t) -2)) (*.f64 x 1/2)))
(*.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))) 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 1/2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 2))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 (-.f64 x t) -2)) (+.f64 x x)))
(+.f64 x (*.f64 y (-.f64 t x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (*.f64 (-.f64 x t) -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))) 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 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (*.f64 y (-.f64 t x))) 8)))) 64)
(+.f64 x (*.f64 y (-.f64 t x)))

eval51.0ms (0.2%)

Compiler

Compiled 3258 to 1540 computations (52.7% saved)

prune49.0ms (0.2%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New25512267
Fresh000
Picked101
Done314
Total25913272
Error
0b
Counts
272 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
39.3b
(+.f64 (*.f64 z x) x)
24.7b
(+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x))
34.4b
(+.f64 (*.f64 y t) x)
31.3b
(+.f64 x (*.f64 z (neg.f64 t)))
37.6b
(*.f64 (-.f64 1 y) x)
38.5b
(*.f64 z (-.f64 x t))
54.3b
(*.f64 z x)
39.7b
(*.f64 y (-.f64 t x))
52.5b
(*.f64 y (neg.f64 x))
29.3b
(*.f64 x (-.f64 z (-.f64 y 1)))
32.9b
(*.f64 t (-.f64 y z))
46.2b
(*.f64 t (neg.f64 z))
47.3b
x
Compiler

Compiled 216 to 152 computations (29.6% saved)

localize11.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series4.0ms (0%)

Counts
2 → 30
Calls

15 calls:

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

rewrite92.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1586×rational.json-simplify-35
1432×bool.json-1
1432×bool.json-2
1386×rational.json-1
1386×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
110638
229638
359038
4118638
5262638
6548838
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x))
(*.f64 (-.f64 1 y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 y (*.f64 t 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y (*.f64 t 1/2)) (*.f64 (-.f64 1 y) (/.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 t (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 t (+.f64 y y)) (*.f64 (-.f64 1 y) (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))))))
((#(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 2)) (*.f64 (-.f64 1 y) (/.f64 x 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 (-.f64 1 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 1 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 1 y) x) (*.f64 (-.f64 1 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 1 y) x) (*.f64 (-.f64 1 y) x))))))

simplify345.0ms (1.2%)

Algorithm
egg-herbie
Rules
4524×rational.json-simplify-51
3578×rational.json-simplify-41
2468×rational.json-simplify-35
1180×rational.json-simplify-2
552×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0921275
11931223
24531223
310971223
421281223
527141223
629661223
731711223
833251223
934551223
1035841223
1137061223
1238281223
1338551223
1438631223
1538751223
1638831223
1738931223
1840191223
1941411223
Stop Event
node limit
Counts
63 → 64
Calls
Call 1
Inputs
x
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)
(*.f64 (-.f64 1 y) x)
(*.f64 y t)
(*.f64 y t)
(*.f64 y t)
(*.f64 (-.f64 1 y) x)
(*.f64 (-.f64 1 y) x)
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(*.f64 -1 (*.f64 y x))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(-.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 0)
(*.f64 1 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1)
(*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1/2))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 y (*.f64 t 1/2))))
(*.f64 2 (+.f64 (*.f64 y (*.f64 t 1/2)) (*.f64 (-.f64 1 y) (/.f64 x 2))))
(*.f64 4 (/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2) 1/2)
(*.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 t (+.f64 y y))))
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 y y)) (*.f64 (-.f64 1 y) (+.f64 x x))))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1/2) 2)
(*.f64 (/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 4)
(/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8)))) 64)
(+.f64 (*.f64 (-.f64 1 y) x) 0)
(+.f64 0 (*.f64 (-.f64 1 y) x))
(+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 (-.f64 1 y) (/.f64 x 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 (-.f64 1 y) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8)))) 64)
Outputs
x
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 x (*.f64 (+.f64 t (*.f64 x -1)) y))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) y))
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 x (*.f64 (+.f64 t (*.f64 x -1)) y))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) y))
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 x (*.f64 (+.f64 t (*.f64 x -1)) y))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) y))
(*.f64 (+.f64 t (*.f64 -1 x)) y)
(*.f64 (+.f64 t (*.f64 x -1)) y)
(*.f64 (+.f64 t (neg.f64 x)) y)
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 x (*.f64 (+.f64 t (*.f64 x -1)) y))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) y))
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 x (*.f64 (+.f64 t (*.f64 x -1)) y))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) y))
(+.f64 (*.f64 (+.f64 t (*.f64 -1 x)) y) x)
(+.f64 x (*.f64 (+.f64 t (*.f64 x -1)) y))
(+.f64 x (*.f64 (+.f64 t (neg.f64 x)) y))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y))
(*.f64 -1 (*.f64 y (+.f64 x (*.f64 t -1))))
(*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y))
(*.f64 y (neg.f64 (+.f64 x (neg.f64 t))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)
(+.f64 x (*.f64 -1 (*.f64 y (+.f64 x (*.f64 t -1)))))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y)))
(+.f64 x (*.f64 y (neg.f64 (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)
(+.f64 x (*.f64 -1 (*.f64 y (+.f64 x (*.f64 t -1)))))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y)))
(+.f64 x (*.f64 y (neg.f64 (+.f64 x (neg.f64 t)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 t) x) y)) x)
(+.f64 x (*.f64 -1 (*.f64 y (+.f64 x (*.f64 t -1)))))
(+.f64 x (*.f64 (+.f64 x (neg.f64 t)) (neg.f64 y)))
(+.f64 x (*.f64 y (neg.f64 (+.f64 x (neg.f64 t)))))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(*.f64 y t)
(*.f64 t y)
(*.f64 y t)
(*.f64 t y)
(*.f64 y t)
(*.f64 t y)
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
(*.f64 (-.f64 1 y) x)
(*.f64 x (-.f64 1 y))
x
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(+.f64 (*.f64 -1 (*.f64 y x)) x)
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(*.f64 -1 (*.f64 y x))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(neg.f64 (*.f64 x y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(*.f64 -1 (*.f64 y x))
(*.f64 -1 (*.f64 x y))
(*.f64 x (neg.f64 y))
(neg.f64 (*.f64 x y))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(+.f64 x (*.f64 -1 (*.f64 y x)))
(+.f64 x (*.f64 -1 (*.f64 x y)))
(+.f64 x (*.f64 x (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 x y)))
(-.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 0)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 1 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1/2))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 y (*.f64 t 1/2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 t (*.f64 1/2 y))))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 t (*.f64 y 1/2))))
(*.f64 2 (+.f64 (*.f64 y (*.f64 t 1/2)) (*.f64 (-.f64 1 y) (/.f64 x 2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 t (*.f64 1/2 y))))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 t (*.f64 y 1/2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 y (*.f64 t 1/2))))
(*.f64 4 (/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2) 1/2)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 1/4)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) (*.f64 t (+.f64 y y))))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 1/2 (+.f64 (*.f64 t (+.f64 y y)) (*.f64 (-.f64 1 y) (+.f64 x x))))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4))
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1/2) 2)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(*.f64 (/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 4)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(/.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 1)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(/.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 2) 2)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(/.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 4) 4)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(/.f64 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8) 8)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8)) 16)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8))) 32)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) (*.f64 (-.f64 1 y) x)) 8)))) 64)
(+.f64 (*.f64 x (-.f64 1 y)) (*.f64 t y))
(+.f64 (*.f64 (-.f64 1 y) x) 0)
(*.f64 x (-.f64 1 y))
(+.f64 0 (*.f64 (-.f64 1 y) x))
(*.f64 x (-.f64 1 y))
(+.f64 (*.f64 (-.f64 1 y) (/.f64 x 2)) (*.f64 (-.f64 1 y) (/.f64 x 2)))
(*.f64 x (-.f64 1 y))
(-.f64 (*.f64 (-.f64 1 y) x) 0)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) x) 1)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) (+.f64 x x)) 2)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (-.f64 1 y) (*.f64 x 4)) 4)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 (*.f64 (-.f64 1 y) x) 8) 8)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8)) 16)
(*.f64 x (-.f64 1 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8))) 32)
(*.f64 x (-.f64 1 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 1 y) x) 8)))) 64)
(*.f64 x (-.f64 1 y))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize5.0ms (0%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 10 computations (33.3% saved)

eval20.0ms (0.1%)

Compiler

Compiled 1083 to 601 computations (44.5% saved)

prune22.0ms (0.1%)

Pruning

14 alts after pruning (9 fresh and 5 done)

PrunedKeptTotal
New1012103
Fresh077
Picked011
Done145
Total10214116
Error
0b
Counts
116 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
39.3b
(+.f64 (*.f64 z x) x)
39.7b
(+.f64 (*.f64 y t) (*.f64 x (neg.f64 y)))
34.4b
(+.f64 (*.f64 y t) x)
31.3b
(+.f64 x (*.f64 z (neg.f64 t)))
37.6b
(*.f64 (-.f64 1 y) x)
38.5b
(*.f64 z (-.f64 x t))
54.3b
(*.f64 z x)
39.7b
(*.f64 y (-.f64 t x))
52.5b
(*.f64 y (neg.f64 x))
49.5b
(*.f64 y t)
29.3b
(*.f64 x (-.f64 z (-.f64 y 1)))
32.9b
(*.f64 t (-.f64 y z))
46.2b
(*.f64 t (neg.f64 z))
47.3b
x
Compiler

Compiled 195 to 136 computations (30.3% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 7 computations (63.2% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite117.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1518×bool.json-1
1518×bool.json-2
1464×rational.json-1
1464×rational.json-2
1464×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
19217
225617
355517
4120717
5276817
6578917
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(+.f64 x (*.f64 z (neg.f64 t)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (*.f64 z (neg.f64 t))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (*.f64 z (neg.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z (*.f64 t -1/2)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 t -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z (*.f64 t -2)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 t -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8)) (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (*.f64 z (neg.f64 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (*.f64 z (neg.f64 t))) (+.f64 x (*.f64 z (neg.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (*.f64 z (neg.f64 t))) (+.f64 x (*.f64 z (neg.f64 t))))))))

simplify642.0ms (2.3%)

Algorithm
egg-herbie
Rules
3362×rational.json-simplify-48
3124×rational.json-simplify-1
1522×rational.json-simplify-35
1232×rational.json-simplify-2
1102×rational.json-simplify-49
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0621005
1122903
2294903
3665903
41054903
52448903
63314903
73465903
83646903
94027903
104384903
114534903
124630903
134673903
144712903
154751903
164790903
174829903
184891903
195717903
205772903
215821903
226360903
236501903
247084903
257870903
Stop Event
node limit
Counts
57 → 30
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(-.f64 (+.f64 x (*.f64 z (neg.f64 t))) 0)
(*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1)
(*.f64 1 (+.f64 x (*.f64 z (neg.f64 t))))
(*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1/2))
(*.f64 2 (+.f64 (*.f64 z (*.f64 t -1/2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 t -1/2))))
(*.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4))
(*.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2))
(*.f64 1/2 (+.f64 (*.f64 z (*.f64 t -2)) (+.f64 x x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 t -2))))
(*.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4))
(*.f64 (/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 4)
(/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1)
(/.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2) 2)
(/.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 4)
(/.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8)) (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8))) 32)
Outputs
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
x
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(*.f64 z (neg.f64 t))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(-.f64 (+.f64 x (*.f64 z (neg.f64 t))) 0)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 1 (+.f64 x (*.f64 z (neg.f64 t))))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1/2))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 2 (+.f64 (*.f64 z (*.f64 t -1/2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 (*.f64 t z) -1/2) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 t (*.f64 z -1/2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 z (*.f64 t -1/2))))
(*.f64 2 (+.f64 (*.f64 z (*.f64 t -1/2)) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 (*.f64 t z) -1/2) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 t (*.f64 z -1/2)) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2) 1/2)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 4 (/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 1/4)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 1/2 (+.f64 (*.f64 z (*.f64 t -2)) (+.f64 x x)))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 z (*.f64 t -2))))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1/2) 2)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 1/4 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4))
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(*.f64 (/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 4)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(/.f64 (+.f64 x (*.f64 z (neg.f64 t))) 1)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 2) 2)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 4) 4)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8) 8)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8)) 16)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8)) (*.f64 2 (*.f64 (+.f64 x (*.f64 z (neg.f64 t))) 8))) 32)
(+.f64 (*.f64 -1 (*.f64 t z)) x)
(+.f64 x (*.f64 z (neg.f64 t)))
(+.f64 x (*.f64 t (neg.f64 z)))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

localize48.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series1.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite131.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1618×bool.json-1
1618×bool.json-2
1586×rational.json-1
1586×rational.json-2
1586×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
17013
219613
341713
486113
5188513
6389913
7638113
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (*.f64 y t) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y t) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y t) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y (*.f64 t 1/2)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y t) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y t) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (+.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y t) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y t) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y t) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 y t) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 y t) x) (+.f64 (*.f64 y t) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 y t) x) (+.f64 (*.f64 y t) x))))))

simplify982.0ms (3.5%)

Algorithm
egg-herbie
Rules
5902×rational.json-simplify-51
1980×rational.json-simplify-35
1694×rational.json-simplify-2
1284×rational.json-simplify-1
1106×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053299
1109299
2275299
3686299
41100299
52512299
63357299
73415299
83445299
93471299
103497299
113523299
123572299
133598299
143624299
153650299
163676299
173702299
183728299
194540299
204912299
214944299
224974299
235003299
245032299
255061299
265090299
275119299
285148299
295177299
305206299
315235299
325264299
335293299
345322299
355351299
365380299
375409299
385438299
395467299
405467299
Stop Event
node limit
Counts
29 → 23
Calls
Call 1
Inputs
x
(*.f64 y t)
(*.f64 y t)
x
(*.f64 y t)
(*.f64 y t)
(*.f64 y t)
x
x
(-.f64 (+.f64 (*.f64 y t) x) 0)
(*.f64 (+.f64 (*.f64 y t) x) 1)
(*.f64 1 (+.f64 (*.f64 y t) x))
(*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 1/2))
(*.f64 2 (+.f64 (*.f64 y (*.f64 t 1/2)) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 y t) x) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y t) x) 2))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (+.f64 t t))))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y t) x) 4))
(*.f64 (/.f64 (+.f64 (*.f64 y t) x) 4) 4)
(/.f64 (+.f64 (*.f64 y t) x) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))) 64)
Outputs
x
(*.f64 y t)
(*.f64 y t)
x
(*.f64 y t)
(*.f64 y t)
(*.f64 y t)
x
x
(-.f64 (+.f64 (*.f64 y t) x) 0)
(+.f64 x (*.f64 y t))
(*.f64 (+.f64 (*.f64 y t) x) 1)
(+.f64 x (*.f64 y t))
(*.f64 1 (+.f64 (*.f64 y t) x))
(+.f64 x (*.f64 y t))
(*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 1/2))
(+.f64 x (*.f64 y t))
(*.f64 2 (+.f64 (*.f64 y (*.f64 t 1/2)) (*.f64 x 1/2)))
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 1/2)
(+.f64 x (*.f64 y t))
(*.f64 4 (/.f64 (+.f64 (*.f64 y t) x) 4))
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 1/4)
(+.f64 x (*.f64 y t))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y t) x) 2))
(+.f64 x (*.f64 y t))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 y (+.f64 t t))))
(+.f64 x (*.f64 y t))
(*.f64 (*.f64 (+.f64 (*.f64 y t) x) 1/2) 2)
(+.f64 x (*.f64 y t))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y t) x) 4))
(+.f64 x (*.f64 y t))
(*.f64 (/.f64 (+.f64 (*.f64 y t) x) 4) 4)
(+.f64 x (*.f64 y t))
(/.f64 (+.f64 (*.f64 y t) x) 1)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 2) 2)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 4) 4)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 (+.f64 (*.f64 y t) x) 8) 8)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)) 16)
(+.f64 x (*.f64 y t))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) 32)
(+.f64 x (*.f64 y t))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y t) x) 8)))) 64)
(+.f64 x (*.f64 y t))

localize9.0ms (0%)

Compiler

Compiled 24 to 8 computations (66.7% saved)

eval11.0ms (0%)

Compiler

Compiled 640 to 297 computations (53.6% saved)

prune14.0ms (0.1%)

Pruning

14 alts after pruning (4 fresh and 10 done)

PrunedKeptTotal
New70171
Fresh134
Picked011
Done099
Total711485
Error
0b
Counts
85 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
39.3b
(+.f64 (*.f64 z x) x)
39.7b
(+.f64 (*.f64 y t) (*.f64 x (neg.f64 y)))
34.4b
(+.f64 (*.f64 y t) x)
31.3b
(+.f64 x (*.f64 z (neg.f64 t)))
37.6b
(*.f64 (-.f64 1 y) x)
38.5b
(*.f64 z (-.f64 x t))
46.2b
(*.f64 z (neg.f64 t))
54.3b
(*.f64 z x)
39.7b
(*.f64 y (-.f64 t x))
52.5b
(*.f64 y (neg.f64 x))
49.5b
(*.f64 y t)
29.3b
(*.f64 x (-.f64 z (-.f64 y 1)))
32.9b
(*.f64 t (-.f64 y z))
47.3b
x
Compiler

Compiled 122 to 86 computations (29.5% saved)

regimes70.0ms (0.2%)

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

6 calls:

13.0ms
(-.f64 y z)
11.0ms
y
11.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
11.0ms
z
11.0ms
t
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 166 to 74 computations (55.4% saved)

regimes69.0ms (0.2%)

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

6 calls:

13.0ms
t
12.0ms
x
10.0ms
(-.f64 y z)
10.0ms
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
10.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 153 to 69 computations (54.9% saved)

regimes191.0ms (0.7%)

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

5 calls:

52.0ms
(-.f64 y z)
41.0ms
y
36.0ms
x
33.0ms
z
26.0ms
t
Results
ErrorSegmentsBranch
11.3b3x
7.9b5y
7.9b4z
8.2b3t
13.6b6(-.f64 y z)
Compiler

Compiled 122 to 55 computations (54.9% saved)

bsearch28.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
5.2970439519813465e+25
1.1049090440562393e+26
2.0ms
6.398101599496529e-171
6.832535049551151e-171
16.0ms
-8.007627221238978e-34
-3.3604941988527135e-39
Results
24.0ms240×body256valid
1.0msbody256infinite
Compiler

Compiled 370 to 249 computations (32.7% saved)

regimes325.0ms (1.2%)

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

5 calls:

115.0ms
x
114.0ms
y
45.0ms
(-.f64 y z)
25.0ms
z
23.0ms
t
Results
ErrorSegmentsBranch
11.3b3x
8.1b4y
11.8b3z
8.2b3t
13.6b6(-.f64 y z)
Compiler

Compiled 107 to 51 computations (52.3% saved)

bsearch131.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
103.0ms
9.836660671285625e+27
1.2508735999964332e+31
10.0ms
1.5399991007320669e-186
1.934431309182556e-185
17.0ms
-8.404192154426253e-5
-4.4026364530609285e-10
Results
126.0ms368×body256valid
1.0msbody256infinite
Compiler

Compiled 538 to 365 computations (32.2% saved)

regimes272.0ms (1%)

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

5 calls:

143.0ms
(-.f64 y z)
47.0ms
y
32.0ms
x
24.0ms
t
23.0ms
z
Results
ErrorSegmentsBranch
11.3b3x
10.1b5y
12.1b3z
8.2b3t
13.6b6(-.f64 y z)
Compiler

Compiled 100 to 50 computations (50% saved)

bsearch25.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
4.304081720235485e-174
1.3922285624196329e-173
15.0ms
-9.398581776904234e-120
-3.940329407607018e-124
Results
23.0ms208×body256valid
Compiler

Compiled 332 to 235 computations (29.2% saved)

regimes1.5s (5.2%)

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

5 calls:

1.1s
x
223.0ms
t
130.0ms
(-.f64 y z)
35.0ms
y
28.0ms
z
Results
ErrorSegmentsBranch
13.4b5x
13.8b5y
15.0b4z
14.7b3t
15.3b10(-.f64 y z)
Compiler

Compiled 93 to 49 computations (47.3% saved)

bsearch57.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
4.4517951517136305e-96
4.341961966395666e-77
10.0ms
2.8812969152787973e-170
3.044982678711429e-169
14.0ms
1.792321515794312e-193
1.9770821143284703e-190
14.0ms
-1.1846991161105548e-92
-1.2223375852551473e-96
Results
50.0ms512×body256valid
Compiler

Compiled 724 to 526 computations (27.3% saved)

regimes781.0ms (2.8%)

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

5 calls:

494.0ms
t
123.0ms
(-.f64 y z)
100.0ms
x
33.0ms
y
29.0ms
z
Results
ErrorSegmentsBranch
18.7b3x
13.8b5y
15.0b4z
19.0b7t
17.0b8(-.f64 y z)
Compiler

Compiled 86 to 45 computations (47.7% saved)

bsearch488.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
1.6082594644246077e-13
2.4764639893231978e-12
14.0ms
3.3075397425668916e-201
1.5163209492283117e-198
448.0ms
1.2118097082040248e-228
1.5245882848896724e-215
16.0ms
-8.404192154426253e-5
-4.4026364530609285e-10
Results
50.0ms528×body256valid
Compiler

Compiled 713 to 509 computations (28.6% saved)

regimes586.0ms (2.1%)

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

5 calls:

377.0ms
z
113.0ms
t
37.0ms
(-.f64 y z)
31.0ms
y
25.0ms
x
Results
ErrorSegmentsBranch
18.7b3x
19.9b5y
15.0b4z
19.0b7t
19.2b6(-.f64 y z)
Compiler

Compiled 80 to 44 computations (45% saved)

bsearch35.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
5.2970439519813465e+25
1.1049090440562393e+26
8.0ms
2.5617557683709298e-59
5.021273076428457e-59
18.0ms
-2250.585144407188
-8.57856477446696e-8
Results
31.0ms304×body256valid
0.0msbody256infinite
Compiler

Compiled 400 to 280 computations (30% saved)

regimes520.0ms (1.8%)

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

5 calls:

318.0ms
x
101.0ms
y
38.0ms
(-.f64 y z)
32.0ms
z
28.0ms
t
Results
ErrorSegmentsBranch
19.4b3x
20.8b7y
17.4b6z
20.3b5t
21.5b6(-.f64 y z)
Compiler

Compiled 70 to 42 computations (40% saved)

bsearch136.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
5.2970439519813465e+25
1.1049090440562393e+26
78.0ms
1.2885789933315151e-83
2.6838344369529143e-79
14.0ms
6.946918196462834e-136
5.082404446517148e-133
18.0ms
1.5697410059445972e-166
1.7234926728723472e-153
16.0ms
-8.007627221238978e-34
-3.3604941988527135e-39
Results
128.0ms640×body256valid
0.0msbody256infinite
Compiler

Compiled 820 to 609 computations (25.7% saved)

regimes1.6s (5.6%)

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

5 calls:

558.0ms
x
434.0ms
(-.f64 y z)
396.0ms
z
101.0ms
y
93.0ms
t
Results
ErrorSegmentsBranch
22.6b4x
20.8b7y
19.5b9z
26.2b4t
21.5b6(-.f64 y z)
Compiler

Compiled 65 to 39 computations (40% saved)

bsearch11.0s (38.9%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
5.2970439519813465e+25
1.1049090440562393e+26
295.0ms
3.05157476336305e-96
1.2885789933315151e-83
13.0ms
-2.7175455028242082e-294
-9.824842313898435e-296
94.0ms
-1.8609608862373242e-220
-1.6550675306471843e-223
6.2s
-3.218278204421215e-109
-3.2036250731442526e-113
16.0ms
-9.050291218908337e-82
-7.514608832033201e-88
12.0ms
-1.2003118801765927e-57
-1.515546951996521e-59
4.3s
-3.3604941988527135e-39
-8.562396008811206e-42
Results
10.9s992×body256valid
0.0msbody256infinite
Compiler

Compiled 1072 to 788 computations (26.5% saved)

regimes1.1s (3.8%)

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

5 calls:

632.0ms
x
267.0ms
z
105.0ms
y
29.0ms
t
25.0ms
(-.f64 y z)
Results
ErrorSegmentsBranch
22.6b4x
21.7b7y
24.8b8z
26.5b4t
22.6b5(-.f64 y z)
Compiler

Compiled 60 to 37 computations (38.3% saved)

bsearch655.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
504.0ms
9.836660671285625e+27
1.2508735999964332e+31
15.0ms
4.754029299340742e-84
1.6222045131293135e-79
85.0ms
2.776799305162091e-147
4.6105362466487715e-142
19.0ms
1.2118097082040248e-228
1.5245882848896724e-215
18.0ms
-1.368057574556857e-225
-6.009218585481935e-226
14.0ms
-9785676314362.652
-1072390959.9166719
Results
646.0ms768×body256valid
1.0ms11×body256infinite
Compiler

Compiled 852 to 622 computations (27% saved)

regimes389.0ms (1.4%)

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

5 calls:

186.0ms
y
143.0ms
(-.f64 y z)
21.0ms
z
19.0ms
t
18.0ms
x
Results
ErrorSegmentsBranch
23.4b4x
27.4b6y
28.6b5z
26.7b4t
22.6b5(-.f64 y z)
Compiler

Compiled 55 to 35 computations (36.4% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.999197021832132e-29
7.6840370905658555e-28
0.0ms
-5.021273076428457e-59
-2.5617557683709298e-59
0.0ms
-3.0379361444547246e+78
-7.665128277164512e+75
0.0ms
-4.170572608898608e+120
-5.333936810409678e+116
Compiler

Compiled 20 to 14 computations (30% saved)

regimes310.0ms (1.1%)

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

4 calls:

74.0ms
y
44.0ms
t
22.0ms
z
16.0ms
x
Results
ErrorSegmentsBranch
34.5b4x
32.6b7y
32.4b5z
36.2b7t
Compiler

Compiled 43 to 28 computations (34.9% saved)

bsearch55.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
5.333936810409678e+116
4.170572608898608e+120
16.0ms
7.665128277164512e+75
3.0379361444547246e+78
7.0ms
2.5617557683709298e-59
5.021273076428457e-59
14.0ms
-3.3604941988527135e-39
-8.562396008811206e-42
Results
45.0ms448×body256valid
5.0ms49×body256infinite
Compiler

Compiled 472 to 366 computations (22.5% saved)

regimes121.0ms (0.4%)

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

4 calls:

79.0ms
y
15.0ms
t
12.0ms
z
12.0ms
x
Results
ErrorSegmentsBranch
40.0b3x
35.7b5y
38.5b4z
41.4b4t
Compiler

Compiled 31 to 22 computations (29% saved)

bsearch167.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
1.6082594644246077e-13
2.4764639893231978e-12
11.0ms
1.5399991007320669e-186
1.934431309182556e-185
18.0ms
1.2118097082040248e-228
1.5245882848896724e-215
127.0ms
-8.404192154426253e-5
-4.4026364530609285e-10
Results
161.0ms496×body256valid
Compiler

Compiled 454 to 355 computations (21.8% saved)

regimes106.0ms (0.4%)

Accuracy

Total -25.5b remaining (-69%)

Threshold costs -25.5b (-69%)

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

4 calls:

76.0ms
x
11.0ms
t
9.0ms
z
9.0ms
y
Results
ErrorSegmentsBranch
40.0b3x
37.0b3y
44.6b3z
42.4b3t
Compiler

Compiled 28 to 21 computations (25% saved)

bsearch28.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
1.6082594644246077e-13
2.4764639893231978e-12
17.0ms
-8.404192154426253e-5
-4.4026364530609285e-10
Results
24.0ms240×body256valid
Compiler

Compiled 230 to 179 computations (22.2% saved)

simplify149.0ms (0.5%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01921306
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -979206097011705/1461501637330902918203684832716283019655932542976) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 z 1767627240094201/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 z 61000000000000002734686208) (+.f64 x (*.f64 t (-.f64 y z))) (*.f64 z (-.f64 x t)))))
(if (<=.f64 y -7673845534663173/295147905179352825856) (*.f64 y (-.f64 t x)) (if (<=.f64 y 8266865586734265/612360413832167804618481300175204950565278972827733245154176943827040045789568780701801476101110276210469073715640490142747228062965884323130340172286597179476547016660734615078156785793174374530940928) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 539999999999999999478698344448) (+.f64 x (*.f64 t (-.f64 y z))) (*.f64 y (-.f64 t x)))))
(if (<=.f64 t -6430603855783981/11908525658859223294760121268437066290850060053501019099651935423375594096449911575776314174894302258147533153997065059263030913083222523904) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 t 6683262623470013/556938551955834377275533643273961343370755433013740225900780336657626363184653001282460059975265063449541297555370411048668054775558525146271076821255153099151854818647493280039413353545728) (*.f64 x (-.f64 z (-.f64 y 1))) (+.f64 x (*.f64 t (-.f64 y z)))))
(if (<=.f64 x -7936195095709337/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 7825672155776465/40131652080904949243476790488282231640246122763238325954424140190648896440865179612073261537762363061729301215028215161995082338334532195000669973530974432754174985283877903733762083113741475809259744657408) (*.f64 t (-.f64 y z)) (if (<=.f64 x 3943168458671679/135971326161092377264534580877431968596375838138120172339057699379303311324378174141225600579898697131235668348479104259928724310439093053288837114564246362097620805333860664072122400768) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 70456277483215/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1)))))))
(if (<=.f64 y -6611313076017503/9444732965739290427392) (*.f64 y (-.f64 t x)) (if (<=.f64 y 3744246385650309/1627933211152308172382776316094057079381044512284157265721742629825204403764070329961287158415906809263410622703474912218234570716337735615323084973713581554222450580936038710562274972146438970881094974642550439936936217782587026682413056) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y 4688304423636689/1378913065775496824682182051857728448902028277271278088224317349054049721856053955032165000485952146958446223387833982704161766047792183079895777875237766653530662154044294980748355504146827894396365898183024673030144) (*.f64 z (-.f64 x t)) (if (<=.f64 y 4951760157141521/9903520314283042199192993792) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 y (-.f64 t x))))))
(if (<=.f64 z -6530219459687219/1125899906842624) (*.f64 z (-.f64 x t)) (if (<=.f64 z 8593944123082061/226156424291633194186662080095093570025917938800079226639565593765455331328) (+.f64 (*.f64 y t) x) (if (<=.f64 z 54000000000000000167772160) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t)))))
(if (<=.f64 z -4676805239458889/5846006549323611672814739330865132078623730171904) (*.f64 z (-.f64 x t)) (if (<=.f64 z 7667242445666241/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 6955955041779301/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 t (-.f64 y z)) (if (<=.f64 z 5006219615439633/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 55000000000000001761607680) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t)))))))
(if (<=.f64 z -5057235284857433/1532495540865888858358347027150309183618739122183602176) (*.f64 z (-.f64 x t)) (if (<=.f64 z -8480865910936245/7067388259113537318333190002971674063309935587502475832486424805170479104) x (if (<=.f64 z -1063878752534457/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (*.f64 y (-.f64 t x)) (if (<=.f64 z -7581518694861603/43322963970637732180912721627235682866194329302747133987038743447103457934462900359999600095377180907771737671271930809827721216) x (if (<=.f64 z -1400022561590985/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 y (-.f64 t x)) (if (<=.f64 z -2761256655148517/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) x (if (<=.f64 z 5774341913427151/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) (*.f64 y (-.f64 t x)) (if (<=.f64 z 63999999999999998926258176) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t))))))))))
(if (<=.f64 y -5800000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 y -7201455587510243/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 t (-.f64 y z)) (if (<=.f64 y 1790726532267539/406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728054558642679084433903830771243428395388555612645234009677640568743036609742720273743660637609984234054445646756670603264) x (if (<=.f64 y 7963165285751507/54918381281044877719855206392651145738155482401146443275155707673484345467181248416980477125291636439818370491131846864296975903997733150500592226328920457216) (*.f64 t (-.f64 y z)) (if (<=.f64 y 5339967589802275/4271974071841820164790043412339104229205409044713305539894083215644439451561281100045924173873152) x (if (<=.f64 y 16999999999999999951010529280) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 (-.f64 y z) -3999999999999999920013873389576804726675220771588034072754593247323089658509714901859157739719969759019104300724308148224) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -2000000000000000016987242867379405952297739849197521231789998205405593811812352) (*.f64 z x) (if (<=.f64 (-.f64 y z) -2826955303645415/56539106072908298546665520023773392506479484700019806659891398441363832832) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 8920298079412249/89202980794122492566142873090593446023921664) x (*.f64 t (-.f64 y z))))))
(if (<=.f64 z -13792459867793/766247770432944429179173513575154591809369561091801088) (*.f64 t (neg.f64 z)) (if (<=.f64 z 7010849153040629/226156424291633194186662080095093570025917938800079226639565593765455331328) x (if (<=.f64 z 2949999999999999994202972779612010489233494104616021848463949872343628434636800) (*.f64 t (neg.f64 z)) (if (<=.f64 z 1220000000000000036480493476213643884587223521184665871536475555271316704427166809262906169291365271953077078843195392) (*.f64 z x) (*.f64 t (neg.f64 z))))))
(if (<=.f64 y -332454600394023/75557863725914323419136) (*.f64 y t) (if (<=.f64 y 2813939042295035/194064761537588616893622436057812819407110752139587076392381504753256369085797110791359801103580809743810966337141384150771447505514351798930535909380147642400556872002606238193783160703949805603157874899214558593861605856727007232) x (if (<=.f64 y 2571913738095105/1224720827664335609236962600350409901130557945655466490308353887654080091579137561403602952202220552420938147431280980285494456125931768646260680344573194358953094033321469230156313571586348749061881856) (*.f64 z x) (if (<=.f64 y 5347900969712843/19807040628566084398385987584) x (*.f64 y t)))))
(if (<=.f64 y -1662273001970115/37778931862957161709568) (*.f64 y t) (if (<=.f64 y 5942112188569825/19807040628566084398385987584) x (*.f64 y t)))
x
Outputs
(+.f64 (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1))))
(+.f64 x (*.f64 (-.f64 y z) (-.f64 t x)))
(if (<=.f64 z -979206097011705/1461501637330902918203684832716283019655932542976) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 z 1767627240094201/271942652322184754529069161754863937192751676276240344678115398758606622648756348282451201159797394262471336696958208519857448620878186106577674229128492724195241610667721328144244801536) (+.f64 (*.f64 y (-.f64 t x)) x) (if (<=.f64 z 61000000000000002734686208) (+.f64 x (*.f64 t (-.f64 y z))) (*.f64 z (-.f64 x t)))))
(if (<=.f64 y -7673845534663173/295147905179352825856) (*.f64 y (-.f64 t x)) (if (<=.f64 y 8266865586734265/612360413832167804618481300175204950565278972827733245154176943827040045789568780701801476101110276210469073715640490142747228062965884323130340172286597179476547016660734615078156785793174374530940928) (+.f64 x (*.f64 z (-.f64 x t))) (if (<=.f64 y 539999999999999999478698344448) (+.f64 x (*.f64 t (-.f64 y z))) (*.f64 y (-.f64 t x)))))
(if (<=.f64 t -6430603855783981/11908525658859223294760121268437066290850060053501019099651935423375594096449911575776314174894302258147533153997065059263030913083222523904) (+.f64 x (*.f64 t (-.f64 y z))) (if (<=.f64 t 6683262623470013/556938551955834377275533643273961343370755433013740225900780336657626363184653001282460059975265063449541297555370411048668054775558525146271076821255153099151854818647493280039413353545728) (*.f64 x (-.f64 z (-.f64 y 1))) (+.f64 x (*.f64 t (-.f64 y z)))))
(if (<=.f64 x -7936195095709337/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 7825672155776465/40131652080904949243476790488282231640246122763238325954424140190648896440865179612073261537762363061729301215028215161995082338334532195000669973530974432754174985283877903733762083113741475809259744657408) (*.f64 t (-.f64 y z)) (if (<=.f64 x 3943168458671679/135971326161092377264534580877431968596375838138120172339057699379303311324378174141225600579898697131235668348479104259928724310439093053288837114564246362097620805333860664072122400768) (*.f64 x (-.f64 z (-.f64 y 1))) (if (<=.f64 x 70456277483215/293567822846729153486185074598667128421960318613539983838411371441526128139326055432962374798096087878991872) (*.f64 t (-.f64 y z)) (*.f64 x (-.f64 z (-.f64 y 1)))))))
(if (<=.f64 y -6611313076017503/9444732965739290427392) (*.f64 y (-.f64 t x)) (if (<=.f64 y 3744246385650309/1627933211152308172382776316094057079381044512284157265721742629825204403764070329961287158415906809263410622703474912218234570716337735615323084973713581554222450580936038710562274972146438970881094974642550439936936217782587026682413056) (+.f64 x (*.f64 z (neg.f64 t))) (if (<=.f64 y 4688304423636689/1378913065775496824682182051857728448902028277271278088224317349054049721856053955032165000485952146958446223387833982704161766047792183079895777875237766653530662154044294980748355504146827894396365898183024673030144) (*.f64 z (-.f64 x t)) (if (<=.f64 y 4951760157141521/9903520314283042199192993792) (+.f64 x (*.f64 z (neg.f64 t))) (*.f64 y (-.f64 t x))))))
(if (<=.f64 z -6530219459687219/1125899906842624) (*.f64 z (-.f64 x t)) (if (<=.f64 z 8593944123082061/226156424291633194186662080095093570025917938800079226639565593765455331328) (+.f64 (*.f64 y t) x) (if (<=.f64 z 54000000000000000167772160) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t)))))
(if (<=.f64 z -4676805239458889/5846006549323611672814739330865132078623730171904) (*.f64 z (-.f64 x t)) (if (<=.f64 z 7667242445666241/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 6955955041779301/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 t (-.f64 y z)) (if (<=.f64 z 5006219615439633/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (*.f64 (-.f64 1 y) x) (if (<=.f64 z 55000000000000001761607680) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t)))))))
(if (<=.f64 z -5057235284857433/1532495540865888858358347027150309183618739122183602176) (*.f64 z (-.f64 x t)) (if (<=.f64 z -8480865910936245/7067388259113537318333190002971674063309935587502475832486424805170479104) x (if (<=.f64 z -1063878752534457/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (*.f64 y (-.f64 t x)) (if (<=.f64 z -7581518694861603/43322963970637732180912721627235682866194329302747133987038743447103457934462900359999600095377180907771737671271930809827721216) x (if (<=.f64 z -1400022561590985/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 y (-.f64 t x)) (if (<=.f64 z -2761256655148517/2876309015779705452366888305262439573788763166307690516374881298523722812888015410123335637158520576337921822077942293722540636301030665959885558890231585990044286294797847764420835513619937505911249327233360092301410410917479406103582609768653235794613608170953380771839155935015675460877365701273987586195456) x (if (<=.f64 z 5774341913427151/8749002899132047697490008908470485461412677723572849745703082425639811996797503692894052708092215296) (*.f64 y (-.f64 t x)) (if (<=.f64 z 63999999999999998926258176) (*.f64 t (-.f64 y z)) (*.f64 z (-.f64 x t))))))))))
(if (<=.f64 y -5800000000000) (*.f64 y (-.f64 t x)) (if (<=.f64 y -7201455587510243/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 t (-.f64 y z)) (if (<=.f64 y 1790726532267539/406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728054558642679084433903830771243428395388555612645234009677640568743036609742720273743660637609984234054445646756670603264) x (if (<=.f64 y 7963165285751507/54918381281044877719855206392651145738155482401146443275155707673484345467181248416980477125291636439818370491131846864296975903997733150500592226328920457216) (*.f64 t (-.f64 y z)) (if (<=.f64 y 5339967589802275/4271974071841820164790043412339104229205409044713305539894083215644439451561281100045924173873152) x (if (<=.f64 y 16999999999999999951010529280) (*.f64 t (-.f64 y z)) (*.f64 y (-.f64 t x))))))))
(if (<=.f64 (-.f64 y z) -3999999999999999920013873389576804726675220771588034072754593247323089658509714901859157739719969759019104300724308148224) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) -2000000000000000016987242867379405952297739849197521231789998205405593811812352) (*.f64 z x) (if (<=.f64 (-.f64 y z) -2826955303645415/56539106072908298546665520023773392506479484700019806659891398441363832832) (*.f64 t (-.f64 y z)) (if (<=.f64 (-.f64 y z) 8920298079412249/89202980794122492566142873090593446023921664) x (*.f64 t (-.f64 y z))))))
(if (<=.f64 z -13792459867793/766247770432944429179173513575154591809369561091801088) (*.f64 t (neg.f64 z)) (if (<=.f64 z 7010849153040629/226156424291633194186662080095093570025917938800079226639565593765455331328) x (if (<=.f64 z 2949999999999999994202972779612010489233494104616021848463949872343628434636800) (*.f64 t (neg.f64 z)) (if (<=.f64 z 1220000000000000036480493476213643884587223521184665871536475555271316704427166809262906169291365271953077078843195392) (*.f64 z x) (*.f64 t (neg.f64 z))))))
(if (<=.f64 y -332454600394023/75557863725914323419136) (*.f64 y t) (if (<=.f64 y 2813939042295035/194064761537588616893622436057812819407110752139587076392381504753256369085797110791359801103580809743810966337141384150771447505514351798930535909380147642400556872002606238193783160703949805603157874899214558593861605856727007232) x (if (<=.f64 y 2571913738095105/1224720827664335609236962600350409901130557945655466490308353887654080091579137561403602952202220552420938147431280980285494456125931768646260680344573194358953094033321469230156313571586348749061881856) (*.f64 z x) (if (<=.f64 y 5347900969712843/19807040628566084398385987584) x (*.f64 y t)))))
(if (<=.f64 y -1662273001970115/37778931862957161709568) (*.f64 y t) (if (<=.f64 y 5942112188569825/19807040628566084398385987584) x (*.f64 y t)))
x
Compiler

Compiled 595 to 311 computations (47.7% saved)

soundness328.0ms (1.2%)

Algorithm
egg-herbie
Rules
1878×rational.json-simplify-2
1848×rational.json-simplify-35
1838×rational.json-simplify-42
1616×rational.json-simplify-45
1090×rational.json-simplify-26
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
01054585
12183251
24913245
311383177
421133161
526683161
629753161
732773161
835123161
937962941
1043792941
1146842941
1249352941
1351562941
1453932941
1555982941
1675892941
Stop Event
node limit
Compiler

Compiled 134 to 56 computations (58.2% saved)

end356.0ms (1.3%)

Compiler

Compiled 535 to 206 computations (61.5% saved)

Profiling

Loading profile data...