Details

Time bar (total: 3.8s)

analyze284.0ms (7.5%)

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
13%12.5%83.4%0.2%3.9%0%0%11
19.6%18.7%76.8%0.2%4.3%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.1s (27.9%)

Results
824.0ms8256×body256valid
221.0ms2137×body256infinite
Bogosity

preprocess12.0ms (0.3%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-2
swap-z-t
swap-x-y
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023133
127133
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
0
2
3
2
Call 2
Inputs
(-.f64 (*.f64 x y) (*.f64 z t))
(-.f64 (*.f64 y x) (*.f64 z t))
(-.f64 (*.f64 z y) (*.f64 x t))
(-.f64 (*.f64 t y) (*.f64 z x))
(-.f64 (*.f64 x z) (*.f64 y t))
(-.f64 (*.f64 x t) (*.f64 z y))
(-.f64 (*.f64 x y) (*.f64 t z))
Outputs
(-.f64 (*.f64 x y) (*.f64 z t))
(-.f64 (*.f64 y x) (*.f64 z t))
(-.f64 (*.f64 x y) (*.f64 z t))
(-.f64 (*.f64 z y) (*.f64 x t))
(-.f64 (*.f64 y z) (*.f64 x t))
(-.f64 (*.f64 t y) (*.f64 z x))
(-.f64 (*.f64 y t) (*.f64 x z))
(-.f64 (*.f64 x z) (*.f64 y t))
(-.f64 (*.f64 x t) (*.f64 z y))
(-.f64 (*.f64 x t) (*.f64 y z))
(-.f64 (*.f64 x y) (*.f64 t z))
(-.f64 (*.f64 x y) (*.f64 z t))
Symmetry

(sort x y)

(sort z t)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% 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 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize8.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 7 computations (66.7% saved)

series3.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

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

rewrite111.0ms (2.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15819
212419
326619
449119
5113919
6255919
7464119
8650719
Stop Event
node limit
Counts
1 → 43
Calls
Call 1
Inputs
(-.f64 (*.f64 x y) (*.f64 z t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x y) (neg.f64 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 x y) (-.f64 -1 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z t)) (*.f64 x y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 x y) (-.f64 1 (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x y) (-.f64 1 (*.f64 z t))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 z t)) (+.f64 (*.f64 x y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 x y) 1) (-.f64 -1 (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 x y) 4) (/.f64 (*.f64 z t) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (*.f64 y 1/2) (*.f64 x 1/2)) (/.f64 (*.f64 z t) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (*.f64 x 1/2) (*.f64 y 1/2)) (/.f64 (*.f64 z t) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z t) (*.f64 x y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z t) (*.f64 x y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z t) (*.f64 x y)))))))

simplify309.0ms (8.1%)

Algorithm
egg-herbie
Rules
2038×rational.json-simplify-35
1958×rational.json-simplify-51
1098×rational.json-simplify-45
1052×rational.json-simplify-48
884×rational.json-simplify-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01061871
12351859
25051859
312351859
424261859
530541859
632711859
734231859
835471859
937001859
1050161859
1155031859
1263811859
1373801859
1477341859
Stop Event
node limit
Counts
91 → 56
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z t)))
(+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 0)
(+.f64 0 (-.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 1 (+.f64 (*.f64 x y) (-.f64 -1 (*.f64 z t))))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 x y))
(+.f64 -1 (+.f64 (*.f64 x y) (-.f64 1 (*.f64 z t))))
(+.f64 (+.f64 (*.f64 x y) (-.f64 1 (*.f64 z t))) -1)
(+.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z t)))
(+.f64 (-.f64 1 (*.f64 z t)) (+.f64 (*.f64 x y) -1))
(+.f64 -2 (+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2))
(+.f64 (+.f64 (*.f64 x y) 1) (-.f64 -1 (*.f64 z t)))
(+.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) -2)
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)
(*.f64 1 (-.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 4 (-.f64 (/.f64 (*.f64 x y) 4) (/.f64 (*.f64 z t) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 y 1/2) (*.f64 x 1/2)) (/.f64 (*.f64 z t) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 x 1/2) (*.f64 y 1/2)) (/.f64 (*.f64 z t) 4)))
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(*.f64 -1 (-.f64 (*.f64 z t) (*.f64 x y)))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2))
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(/.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 z t) (*.f64 x y))) -2)
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8) 8)
(/.f64 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4))) -16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8))))) 128)
(pow.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)
(neg.f64 (-.f64 (*.f64 z t) (*.f64 x y)))
Outputs
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 x y) (neg.f64 (*.f64 z t)))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 0)
(-.f64 (*.f64 y x) (*.f64 t z))
(+.f64 0 (-.f64 (*.f64 x y) (*.f64 z t)))
(-.f64 (*.f64 y x) (*.f64 t z))
(+.f64 1 (+.f64 (*.f64 x y) (-.f64 -1 (*.f64 z t))))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (neg.f64 (*.f64 z t)) (*.f64 x y))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 -1 (+.f64 (*.f64 x y) (-.f64 1 (*.f64 z t))))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (+.f64 (*.f64 x y) (-.f64 1 (*.f64 z t))) -1)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(-.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 x (*.f64 y 1/2)) (-.f64 (*.f64 x (*.f64 y 1/2)) (*.f64 z t)))
(+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
(+.f64 (-.f64 1 (*.f64 z t)) (+.f64 (*.f64 x y) -1))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 -2 (+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2))
(-.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (+.f64 (*.f64 x y) 1) (-.f64 -1 (*.f64 z t)))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (+.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) -2)
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1 (-.f64 (*.f64 x y) (*.f64 z t)))
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 4 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4))
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 4 (-.f64 (/.f64 (*.f64 x y) 4) (/.f64 (*.f64 z t) 4)))
(*.f64 4 (-.f64 (*.f64 y (/.f64 x 4)) (*.f64 t (/.f64 z 4))))
(*.f64 4 (-.f64 (*.f64 x (/.f64 y 4)) (*.f64 t (/.f64 z 4))))
(*.f64 4 (-.f64 (*.f64 (*.f64 y 1/2) (*.f64 x 1/2)) (/.f64 (*.f64 z t) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 y 1/2) (*.f64 x 1/2)) (*.f64 t (/.f64 z 4))))
(*.f64 4 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 t (/.f64 z 4))))
(*.f64 4 (-.f64 (*.f64 (*.f64 x 1/2) (*.f64 y 1/2)) (/.f64 (*.f64 z t) 4)))
(*.f64 4 (-.f64 (*.f64 (*.f64 y 1/2) (*.f64 x 1/2)) (*.f64 t (/.f64 z 4))))
(*.f64 4 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 t (/.f64 z 4))))
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 -1 (-.f64 (*.f64 z t) (*.f64 x y)))
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2))
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/4 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4))
(-.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (-.f64 (*.f64 z t) (*.f64 x y)) -1)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (-.f64 (*.f64 z t) (*.f64 x y))) -2)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8) 8)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4) -4)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)) 16)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4)) -8)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8))) 32)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) 4))) -16)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)))) 64)
(-.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 8))))) 128)
(-.f64 (*.f64 y x) (*.f64 t z))
(pow.f64 (-.f64 (*.f64 x y) (*.f64 z t)) 1)
(-.f64 (*.f64 y x) (*.f64 t z))
(neg.f64 (-.f64 (*.f64 z t) (*.f64 x y)))
(-.f64 (*.f64 y x) (*.f64 t z))

eval9.0ms (0.2%)

Compiler

Compiled 629 to 271 computations (56.9% saved)

prune9.0ms (0.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New53356
Fresh000
Picked011
Done000
Total53457
Error
0.0b
Counts
57 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (*.f64 x y) (*.f64 z t))
0.0b
(+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
30.5b
(*.f64 y x)
30.3b
(*.f64 t (neg.f64 z))
Compiler

Compiled 45 to 31 computations (31.1% saved)

localize6.0ms (0.1%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize4.0ms (0.1%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize16.0ms (0.4%)

Local error

Found 2 expressions with local error:

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

Compiled 44 to 23 computations (47.7% saved)

series5.0ms (0.1%)

Counts
2 → 96
Calls

24 calls:

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

rewrite320.0ms (8.4%)

Algorithm
batch-egg-rewrite
Rules
1520×rational.json-simplify-35
1498×rational.json-1
1498×rational.json-2
1498×rational.json-3
1486×exponential.json-3
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01268
18068
216868
336368
468748
5159948
6324948
7500048
8695548
Stop Event
node limit
Counts
2 → 64
Calls
Call 1
Inputs
(-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z))
(+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 1/2)) (neg.f64 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 -1 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 t z)) (*.f64 y (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 1/4)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 t z)) (+.f64 (*.f64 y (*.f64 x 1/2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) 1) (-.f64 -1 (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) -1) (+.f64 1 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 (*.f64 y x) 8) (/.f64 (*.f64 t z) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (*.f64 (/.f64 x 8) y) (/.f64 (*.f64 t z) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z (+.f64 t t)) (*.f64 y x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x)))) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)))))

simplify1.4s (37.5%)

Algorithm
egg-herbie
Rules
3204×rational.json-simplify-35
2552×rational.json-simplify-51
1586×rational.json-simplify-1
1210×rational.json-simplify-2
1182×rational.json-simplify-42
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01473864
13173864
26773864
317223864
432603864
540523864
644243864
749213864
852123864
954783864
1056323864
1158103864
1261453864
1362403864
1462423864
1563963864
1665483864
1768203864
1871533864
1974863864
Stop Event
node limit
Counts
160 → 87
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(*.f64 -1 (*.f64 t z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y (*.f64 x 1/2)) (neg.f64 (*.f64 t z)))
(+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 0)
(+.f64 0 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
(+.f64 1 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 -1 (*.f64 t z))))
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y (*.f64 x 1/2)))
(+.f64 -1 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z))))
(+.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z))) -1)
(+.f64 (*.f64 y (*.f64 x 1/4)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 t z)))
(+.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))))
(+.f64 (-.f64 1 (*.f64 t z)) (+.f64 (*.f64 y (*.f64 x 1/2)) -1))
(+.f64 -2 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 2))
(+.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) 1) (-.f64 -1 (*.f64 t z)))
(+.f64 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 2) -2)
(+.f64 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) -1) (+.f64 1 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z)))))
(*.f64 1/2 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))))
(*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)
(*.f64 1 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
(*.f64 2 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))))
(*.f64 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))) 1/2)
(*.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)) -1)
(*.f64 4 (/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 4))
(*.f64 4 (-.f64 (/.f64 (*.f64 y x) 8) (/.f64 (*.f64 t z) 4)))
(*.f64 4 (-.f64 (*.f64 (/.f64 x 8) y) (/.f64 (*.f64 t z) 4)))
(*.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)) 1/4)
(*.f64 -1 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)))
(*.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) 2)
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 4) 4)
(/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)
(/.f64 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))) 2)
(/.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)) -1)
(/.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)) 4)
(/.f64 (-.f64 (*.f64 z (+.f64 t t)) (*.f64 y x)) -2)
(/.f64 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)) 16)
(/.f64 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8))) 32)
(/.f64 (*.f64 2 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x)))) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))))) -16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8))))) 128)
(pow.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)
(neg.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))
(-.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 0)
(-.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z)))) 1)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2))
(*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)
(*.f64 1 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 1/4)
(*.f64 (*.f64 1/2 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 4)
(/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8))))) 128)
(pow.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)
Outputs
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 y x))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 1/2 (*.f64 y x)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 y x)
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 -1 (*.f64 t z))
(neg.f64 (*.f64 t z))
(*.f64 t (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 -1 (*.f64 t z)) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 x 1/2)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 0)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(+.f64 0 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(+.f64 1 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 -1 (*.f64 t z))))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (neg.f64 (*.f64 t z)) (*.f64 y (*.f64 x 1/2)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 -1 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z))))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z))) -1)
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (*.f64 y (*.f64 x 1/4)) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 t z)))
(+.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))))
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(+.f64 (-.f64 1 (*.f64 t z)) (+.f64 (*.f64 y (*.f64 x 1/2)) -1))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 -2 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 2))
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(+.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) 1) (-.f64 -1 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t (neg.f64 z)))
(+.f64 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 2) -2)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(+.f64 (+.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) -1) (+.f64 1 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z)))))
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(*.f64 1/2 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))))
(*.f64 1/2 (-.f64 (*.f64 y x) (*.f64 t (+.f64 z z))))
(*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(*.f64 1 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(*.f64 2 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))))
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(*.f64 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))) 1/2)
(*.f64 1/2 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))))
(*.f64 1/2 (-.f64 (*.f64 y x) (*.f64 t (+.f64 z z))))
(*.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)) -1)
(neg.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))
(neg.f64 (+.f64 (*.f64 t z) (*.f64 x (/.f64 y -2))))
(*.f64 4 (/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 4))
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(*.f64 4 (-.f64 (/.f64 (*.f64 y x) 8) (/.f64 (*.f64 t z) 4)))
(*.f64 4 (-.f64 (/.f64 (*.f64 y x) 8) (*.f64 z (/.f64 t 4))))
(*.f64 4 (-.f64 (*.f64 y (/.f64 x 8)) (*.f64 t (/.f64 z 4))))
(*.f64 4 (-.f64 (*.f64 (/.f64 x 8) y) (/.f64 (*.f64 t z) 4)))
(*.f64 4 (-.f64 (/.f64 (*.f64 y x) 8) (*.f64 z (/.f64 t 4))))
(*.f64 4 (-.f64 (*.f64 y (/.f64 x 8)) (*.f64 t (/.f64 z 4))))
(*.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)) 1/4)
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)))
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 t (*.f64 z 4))))
(*.f64 -1 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))
(neg.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))
(neg.f64 (+.f64 (*.f64 t z) (*.f64 x (/.f64 y -2))))
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)))
(*.f64 1/4 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 t (*.f64 z 4))))
(*.f64 (-.f64 (*.f64 y (*.f64 x 1/4)) (*.f64 1/2 (*.f64 t z))) 2)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(*.f64 (/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 4) 4)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(/.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(/.f64 (-.f64 (*.f64 y x) (*.f64 z (+.f64 t t))) 2)
(/.f64 (-.f64 (*.f64 y x) (*.f64 t (+.f64 z z))) 2)
(/.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)) -1)
(neg.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))
(neg.f64 (+.f64 (*.f64 t z) (*.f64 x (/.f64 y -2))))
(/.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 (*.f64 t z) 4)) 4)
(/.f64 (-.f64 (*.f64 y (+.f64 x x)) (*.f64 t (*.f64 z 4))) 4)
(/.f64 (-.f64 (*.f64 z (+.f64 t t)) (*.f64 y x)) -2)
(/.f64 (-.f64 (*.f64 t (+.f64 z z)) (*.f64 y x)) -2)
(/.f64 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8) 8)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)) 16)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(/.f64 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))) -4)
(/.f64 (-.f64 (*.f64 t (*.f64 z 4)) (*.f64 y (+.f64 x x))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8))) 32)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(/.f64 (*.f64 2 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x)))) -8)
(*.f64 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))) -1/4)
(*.f64 (-.f64 (*.f64 t (*.f64 z 4)) (*.f64 y (+.f64 x x))) -1/4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)))) 64)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))))) -16)
(*.f64 (-.f64 (*.f64 (*.f64 t z) 4) (*.f64 y (+.f64 x x))) -1/4)
(*.f64 (-.f64 (*.f64 t (*.f64 z 4)) (*.f64 y (+.f64 x x))) -1/4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 8))))) 128)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(pow.f64 (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)) 1)
(-.f64 (*.f64 1/2 (*.f64 y x)) (*.f64 t z))
(neg.f64 (+.f64 (*.f64 t z) (/.f64 (*.f64 y x) -2)))
(neg.f64 (+.f64 (*.f64 t z) (*.f64 x (/.f64 y -2))))
(-.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 0)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(-.f64 (+.f64 (*.f64 y (*.f64 x 1/2)) (+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 1 (*.f64 t z)))) 1)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 1 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 2 (*.f64 1/2 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2) 1/2)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 1/4)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 (*.f64 1/2 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))) 2)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4))
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(*.f64 (/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 4)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 2) 2)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 4) 4)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8) 8)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)) 16)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8))) 32)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)))) 64)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 8))))) 128)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))
(pow.f64 (+.f64 (*.f64 y x) (neg.f64 (*.f64 t z))) 1)
(+.f64 (*.f64 y x) (neg.f64 (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t (neg.f64 z)))

eval20.0ms (0.5%)

Compiler

Compiled 1472 to 775 computations (47.4% saved)

prune15.0ms (0.4%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New87087
Fresh000
Picked011
Done033
Total87491
Error
0.0b
Counts
91 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (*.f64 x y) (*.f64 z t))
0.0b
(+.f64 (*.f64 y (*.f64 x 1/2)) (-.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 t z)))
30.5b
(*.f64 y x)
30.3b
(*.f64 t (neg.f64 z))
Compiler

Compiled 45 to 31 computations (31.1% saved)

regimes29.0ms (0.8%)

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

7 calls:

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

Compiled 78 to 52 computations (33.3% saved)

regimes60.0ms (1.6%)

Accuracy

Total -45.8b remaining (-327.3%)

Threshold costs -45.8b (-327.3%)

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

4 calls:

22.0ms
x
14.0ms
y
14.0ms
z
9.0ms
t
Results
ErrorSegmentsBranch
15.6b7x
18.7b5y
14.0b5z
18.3b3t
Compiler

Compiled 31 to 23 computations (25.8% saved)

bsearch58.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
4.234101729010984e-170
2.2319854087400284e-169
15.0ms
-1.5059418449609256e-42
-1.0316132797863065e-47
19.0ms
-0.007391759972887009
-1.5543602035626908e-10
14.0ms
-488577494148.7104
-1033565688.5754807
Results
52.0ms512×body256valid
0.0msbody256infinite
Compiler

Compiled 562 to 429 computations (23.7% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
028109
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 z -1750000000) (*.f64 t (neg.f64 z)) (if (<=.f64 z -4150517416584649/576460752303423488) (*.f64 y x) (if (<=.f64 z -3640719006524275/6277101735386680763835789423207666416102355444464034512896) (*.f64 t (neg.f64 z)) (if (<=.f64 z 7478422938860081/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) (*.f64 y x) (*.f64 t (neg.f64 z))))))
(*.f64 y x)
Outputs
(-.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 z -1750000000) (*.f64 t (neg.f64 z)) (if (<=.f64 z -4150517416584649/576460752303423488) (*.f64 y x) (if (<=.f64 z -3640719006524275/6277101735386680763835789423207666416102355444464034512896) (*.f64 t (neg.f64 z)) (if (<=.f64 z 7478422938860081/33992831540273094316133645219357992149093959534530043084764424844825827831094543535306400144974674282808917087119776064982181077609773263322209278641061590524405201333465166018030600192) (*.f64 y x) (*.f64 t (neg.f64 z))))))
(*.f64 y x)
Compiler

Compiled 56 to 31 computations (44.6% saved)

soundness0.0ms (0%)

end27.0ms (0.7%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 92 to 50 computations (45.7% saved)

Profiling

Loading profile data...