Details

Time bar (total: 15.7s)

analyze244.0ms (1.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
25%25%74.9%0.1%0%0%0%7
37.5%37.4%62.4%0.1%0%0%0%8
37.5%37.4%62.4%0.1%0%0%0%9
56.3%56.2%43.7%0.1%0%0%0%10
65.6%65.5%34.3%0.1%0%0%0%11
65.6%65.5%34.3%0.1%0%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample3.7s (23.4%)

Results
2.1s6186×body256valid
1.2s1378×body1024valid
373.0ms690×body512valid
2.0msbody2048valid
Bogosity

preprocess113.0ms (0.7%)

Algorithm
egg-herbie
Rules
1806×rational.json-simplify-35
1342×rational.json-simplify-48
1096×rational.json-simplify-26
1022×rational.json-simplify-41
920×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024108
154108
289108
3129108
4207108
5353108
6836108
72239108
85314108
96425108
107633108
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 y (cos.f64 x)) (*.f64 z (sin.f64 x)))
(-.f64 (+.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(-.f64 (+.f64 x (cos.f64 z)) (*.f64 y (sin.f64 z)))
Outputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 y (cos.f64 x)) (*.f64 z (sin.f64 x)))
(+.f64 (cos.f64 x) (-.f64 y (*.f64 z (sin.f64 x))))
(+.f64 y (-.f64 (cos.f64 x) (*.f64 z (sin.f64 x))))
(-.f64 (+.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y)))
(+.f64 z (-.f64 (cos.f64 y) (*.f64 x (sin.f64 y))))
(-.f64 (+.f64 x (cos.f64 z)) (*.f64 y (sin.f64 z)))
(+.f64 (cos.f64 z) (-.f64 x (*.f64 y (sin.f64 z))))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify179.0ms (1.1%)

Algorithm
egg-herbie
Rules
2198×rational.json-simplify-35
1816×rational.json-simplify-1
1284×rational.json-simplify-26
916×rational.json-simplify-2
656×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
12127
23327
34827
47927
513527
629727
774027
8205227
9332527
10408327
11456927
12532327
13574327
14635527
15693427
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Outputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))

eval1.0ms (0%)

Compiler

Compiled 30 to 12 computations (60% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New213
Fresh011
Picked000
Done000
Total224
Error
0.1b
Counts
4 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.0b
(sin.f64 y)
0.0b
(+.f64 x (cos.f64 y))
0.2b
(*.f64 z (sin.f64 y))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series6.0ms (0%)

Counts
4 → 68
Calls

24 calls:

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

rewrite270.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1332×bool.json-1
1332×bool.json-2
1298×rational.json-1
1298×rational.json-2
1298×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01154
111454
233554
376154
4173454
5419754
Stop Event
node limit
Counts
4 → 95
Calls
Call 1
Inputs
(*.f64 z (sin.f64 y))
(+.f64 x (cos.f64 y))
(sin.f64 y)
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (cos.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (cos.f64 y)) (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (cos.f64 y)) (+.f64 x (cos.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 y) (sin.f64 y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))))

simplify348.0ms (2.2%)

Algorithm
egg-herbie
Rules
1758×rational.json-simplify-35
1710×rational.json-simplify-1
1540×rational.json-simplify-52
1018×rational.json-simplify-51
800×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02262951
14782945
211922927
324092901
441202901
557312901
665762901
776362901
877612901
979792901
Stop Event
node limit
Counts
163 → 161
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 z (sin.f64 y)) 0)
(+.f64 0 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))
(-.f64 (*.f64 z (sin.f64 y)) 0)
(/.f64 (*.f64 z (sin.f64 y)) 1)
(/.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32)
(-.f64 (+.f64 x (cos.f64 y)) 0)
(*.f64 (+.f64 x (cos.f64 y)) 1)
(*.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 1/2))
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (cos.f64 y)) 4))
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (cos.f64 y)) 2))
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (cos.f64 y)) 4))
(*.f64 (/.f64 (+.f64 x (cos.f64 y)) 4) 4)
(/.f64 (+.f64 x (cos.f64 y)) 1)
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 2)
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)))) 32)
(+.f64 (sin.f64 y) 0)
(+.f64 0 (sin.f64 y))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 y))))
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))
(+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2))
(-.f64 (sin.f64 y) 0)
(-.f64 0 (neg.f64 (sin.f64 y)))
(-.f64 0 (sin.f64 (neg.f64 y)))
(*.f64 (sin.f64 y) 1)
(*.f64 1 (sin.f64 y))
(*.f64 -1 (neg.f64 (sin.f64 y)))
(*.f64 2 (*.f64 (sin.f64 y) 1/2))
(*.f64 (*.f64 (sin.f64 y) 2) 1/2)
(*.f64 4 (/.f64 (sin.f64 y) 4))
(*.f64 (*.f64 (sin.f64 y) 4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 y) 2))
(*.f64 (*.f64 (sin.f64 y) 1/2) 2)
(*.f64 (neg.f64 (sin.f64 y)) -1)
(*.f64 1/4 (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 (sin.f64 y) 4) 4)
(*.f64 (sin.f64 (neg.f64 y)) -1)
(/.f64 (sin.f64 y) 1)
(/.f64 (*.f64 (sin.f64 y) 2) 2)
(/.f64 (*.f64 (sin.f64 y) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)
(/.f64 (neg.f64 (sin.f64 y)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)
(/.f64 (sin.f64 (neg.f64 y)) -1)
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)
(neg.f64 (neg.f64 (sin.f64 y)))
(neg.f64 (sin.f64 (neg.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0)
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1)
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2)
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2)
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4)
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
Outputs
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 z (pow.f64 y 3))))
(+.f64 (*.f64 y z) (*.f64 z (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 -1/6 (*.f64 z (pow.f64 y 3))) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 z (pow.f64 y 5)))))
(+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 y z) (*.f64 z (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 z -1/6)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(+.f64 (*.f64 y z) (+.f64 (+.f64 (*.f64 1/120 (*.f64 z (pow.f64 y 5))) (*.f64 -1/5040 (*.f64 z (pow.f64 y 7)))) (*.f64 -1/6 (*.f64 z (pow.f64 y 3)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 z (*.f64 1/120 (pow.f64 y 5))) (*.f64 z (*.f64 -1/5040 (pow.f64 y 7))))))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 z -1/6)) (+.f64 (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))) (*.f64 z (*.f64 -1/5040 (pow.f64 y 7)))))
(+.f64 (*.f64 z (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))))) (*.f64 z (*.f64 -1/5040 (pow.f64 y 7))))
(+.f64 (*.f64 -1/6 (*.f64 z (pow.f64 y 3))) (*.f64 z (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7))))))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1))
(+.f64 (+.f64 x 1) (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 1 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (+.f64 x 1) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 1 (+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 x (+.f64 1 (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 y (*.f64 -1/6 (pow.f64 y 3)))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5))))
(+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7)))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 x (*.f64 y (*.f64 z -1))))
(+.f64 x (+.f64 (*.f64 y (neg.f64 z)) 1))
(+.f64 (+.f64 x 1) (*.f64 z (neg.f64 y)))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 1 (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)) (*.f64 y (neg.f64 z)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x 1) (*.f64 z (neg.f64 y))))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 1 (*.f64 y z))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (*.f64 z (pow.f64 y 3)) 1/6)))))
(+.f64 1 (+.f64 (*.f64 y (neg.f64 z)) (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 -1/2 (pow.f64 y 2))))))
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (+.f64 (+.f64 x 1) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (+.f64 x (*.f64 z (+.f64 (*.f64 (pow.f64 y 3) 1/6) (neg.f64 y)))) (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 1 (+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (*.f64 z (+.f64 (neg.f64 y) (*.f64 (pow.f64 y 3) 1/6)))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 z (sin.f64 y)) 0)
(*.f64 z (sin.f64 y))
(+.f64 0 (*.f64 z (sin.f64 y)))
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))
(*.f64 z (sin.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) 0)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16)
(*.f64 z (sin.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32)
(*.f64 z (sin.f64 y))
(-.f64 (+.f64 x (cos.f64 y)) 0)
(+.f64 (cos.f64 y) x)
(*.f64 (+.f64 x (cos.f64 y)) 1)
(+.f64 (cos.f64 y) x)
(*.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (cos.f64 y) x)
(*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 1/2))
(+.f64 (cos.f64 y) x)
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 1/2)
(+.f64 (cos.f64 y) x)
(*.f64 4 (/.f64 (+.f64 x (cos.f64 y)) 4))
(+.f64 (cos.f64 y) x)
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 1/4)
(+.f64 (cos.f64 y) x)
(*.f64 1/2 (*.f64 (+.f64 x (cos.f64 y)) 2))
(+.f64 (cos.f64 y) x)
(*.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) 2)
(+.f64 (cos.f64 y) x)
(*.f64 1/4 (*.f64 (+.f64 x (cos.f64 y)) 4))
(+.f64 (cos.f64 y) x)
(*.f64 (/.f64 (+.f64 x (cos.f64 y)) 4) 4)
(+.f64 (cos.f64 y) x)
(/.f64 (+.f64 x (cos.f64 y)) 1)
(+.f64 (cos.f64 y) x)
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) 2)
(+.f64 (cos.f64 y) x)
(/.f64 (*.f64 (+.f64 x (cos.f64 y)) 4) 4)
(+.f64 (cos.f64 y) x)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)) 8)
(+.f64 (cos.f64 y) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) 16)
(+.f64 (cos.f64 y) x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (cos.f64 y)) 4)))) 32)
(+.f64 (cos.f64 y) x)
(+.f64 (sin.f64 y) 0)
(sin.f64 y)
(+.f64 0 (sin.f64 y))
(sin.f64 y)
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 y))))
(sin.f64 y)
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))
(sin.f64 y)
(+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2))
(sin.f64 y)
(-.f64 (sin.f64 y) 0)
(sin.f64 y)
(-.f64 0 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 0 (sin.f64 (neg.f64 y)))
(sin.f64 y)
(*.f64 (sin.f64 y) 1)
(sin.f64 y)
(*.f64 1 (sin.f64 y))
(sin.f64 y)
(*.f64 -1 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 2 (*.f64 (sin.f64 y) 1/2))
(sin.f64 y)
(*.f64 (*.f64 (sin.f64 y) 2) 1/2)
(sin.f64 y)
(*.f64 4 (/.f64 (sin.f64 y) 4))
(sin.f64 y)
(*.f64 (*.f64 (sin.f64 y) 4) 1/4)
(sin.f64 y)
(*.f64 1/2 (*.f64 (sin.f64 y) 2))
(sin.f64 y)
(*.f64 (*.f64 (sin.f64 y) 1/2) 2)
(sin.f64 y)
(*.f64 (neg.f64 (sin.f64 y)) -1)
(sin.f64 y)
(*.f64 1/4 (*.f64 (sin.f64 y) 4))
(sin.f64 y)
(*.f64 (/.f64 (sin.f64 y) 4) 4)
(sin.f64 y)
(*.f64 (sin.f64 (neg.f64 y)) -1)
(sin.f64 y)
(/.f64 (sin.f64 y) 1)
(sin.f64 y)
(/.f64 (*.f64 (sin.f64 y) 2) 2)
(sin.f64 y)
(/.f64 (*.f64 (sin.f64 y) 4) 4)
(sin.f64 y)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)
(sin.f64 y)
(/.f64 (neg.f64 (sin.f64 y)) -1)
(sin.f64 y)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)
(sin.f64 y)
(/.f64 (sin.f64 (neg.f64 y)) -1)
(sin.f64 y)
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2)
(sin.f64 y)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)
(sin.f64 y)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(neg.f64 (sin.f64 (neg.f64 y)))
(sin.f64 y)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))

eval34.0ms (0.2%)

Compiler

Compiled 2400 to 1119 computations (53.4% saved)

prune80.0ms (0.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1538161
Fresh000
Picked011
Done000
Total1539162
Error
0.1b
Counts
162 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
4.2b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
21.3b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y))
8.0b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.8b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
19.0b
(-.f64 x (*.f64 z (sin.f64 y)))
25.2b
(+.f64 x (-.f64 1 (*.f64 y z)))
0.2b
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
45.3b
(*.f64 (sin.f64 y) (neg.f64 z))
Compiler

Compiled 196 to 140 computations (28.6% saved)

localize134.0ms (0.9%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.1b
(+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))
0.1b
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
0.2b
(*.f64 z (sin.f64 y))
Compiler

Compiled 54 to 19 computations (64.8% saved)

series2.0ms (0%)

Counts
3 → 76
Calls

21 calls:

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

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1376×bool.json-1
1376×bool.json-2
1338×rational.json-1
1338×rational.json-2
1338×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01577
115977
243665
397165
4231565
5515565
Stop Event
node limit
Counts
3 → 63
Calls
Call 1
Inputs
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
(+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y))
(cos.f64 y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 -1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (cos.f64 (-.f64 (PI.f64) y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 (-.f64 (PI.f64) y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (cos.f64 y) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 y) (cos.f64 y))))))

simplify769.0ms (4.9%)

Algorithm
egg-herbie
Rules
2168×rational.json-simplify-1
1702×rational.json-simplify-35
1170×rational.json-simplify-52
1000×rational.json-simplify-2
828×rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01613269
13483249
28323249
323113229
438333229
547083229
654913229
762313229
870133229
974953229
Stop Event
node limit
Counts
139 → 126
Calls
Call 1
Inputs
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(+.f64 2 x)
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 0)
(-.f64 (+.f64 -1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) -1)
(*.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))
(*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)
(*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2))
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2))
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2) 2)
(/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2)
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)))) 32)
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 0)
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) -1)
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) 2)) 1)
(*.f64 1 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))
(*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)
(*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2))
(*.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 1/4)
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2))
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2) 2)
(/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)
(/.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 2)
(/.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)))) 32)
(+.f64 -1 (+.f64 1 (cos.f64 y)))
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))
(+.f64 1 (+.f64 -1 (cos.f64 y)))
(+.f64 (cos.f64 y) 0)
(+.f64 0 (cos.f64 y))
(+.f64 (+.f64 -1 (cos.f64 y)) 1)
(+.f64 (+.f64 1 (cos.f64 y)) -1)
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))
(-.f64 (cos.f64 y) 0)
(-.f64 0 (cos.f64 (-.f64 (PI.f64) y)))
(-.f64 (+.f64 -1 (cos.f64 y)) -1)
(-.f64 (+.f64 1 (cos.f64 y)) 1)
(*.f64 1 (cos.f64 y))
(*.f64 (cos.f64 y) 1)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(*.f64 4 (/.f64 (cos.f64 y) 4))
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(*.f64 (*.f64 (cos.f64 y) 4) 1/4)
(*.f64 1/2 (*.f64 (cos.f64 y) 2))
(*.f64 (*.f64 (cos.f64 y) 1/2) 2)
(*.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)
(/.f64 (cos.f64 y) 1)
(/.f64 (*.f64 (cos.f64 y) 2) 2)
(/.f64 (*.f64 (cos.f64 y) 4) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16)
(/.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32)
(neg.f64 (cos.f64 (-.f64 (PI.f64) y)))
Outputs
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (sin.f64 y) -1))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (sin.f64 y) -1))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x 1))
(+.f64 x (+.f64 1 (*.f64 z (neg.f64 y))))
(+.f64 (+.f64 x 1) (*.f64 y (neg.f64 z)))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 1 (+.f64 x (+.f64 (*.f64 z (neg.f64 y)) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 x (+.f64 (+.f64 1 (*.f64 y (neg.f64 z))) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 1 (*.f64 y z))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (pow.f64 y 3) (*.f64 z 1/6))))))
(+.f64 1 (+.f64 (*.f64 z (neg.f64 y)) (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 -1/2 (pow.f64 y 2))))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (pow.f64 y 3) (*.f64 z 1/6))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (cos.f64 y)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) 1) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 1 (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (sin.f64 y) -1))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (*.f64 (sin.f64 y) -1))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 2 x)
(+.f64 x 2)
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x 2))
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 x 2))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 x 2))
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 2 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 z (neg.f64 y)) (+.f64 x 2)))
(+.f64 x (+.f64 (+.f64 (*.f64 y (neg.f64 z)) 2) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 y (neg.f64 z)) 2)))
(+.f64 (+.f64 x (*.f64 y (neg.f64 z))) (+.f64 2 (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 2 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (pow.f64 y 3) (*.f64 z 1/6)))) 2))
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 2 (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 -1/2 (pow.f64 y 2))))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 z 1/6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 2))))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))))))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (cos.f64 y) x)) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))))
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 0)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 -1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) -1)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 1/2)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 4 (/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 1/4)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 1/2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1/2) 2)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 1)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4) 4)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)) 8)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) 16)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 4)))) 32)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 0)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) -1)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) 2)) 1)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 1 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 1/2)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 4 (/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 1/4)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(*.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1/2) 2)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 1)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 (*.f64 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y)) 2) 2) 2)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4) 4)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)) 8)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) 16)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))) 4)))) 32)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (cos.f64 y) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))))
(+.f64 -1 (+.f64 1 (cos.f64 y)))
(cos.f64 y)
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))
(cos.f64 y)
(+.f64 1 (+.f64 -1 (cos.f64 y)))
(cos.f64 y)
(+.f64 (cos.f64 y) 0)
(cos.f64 y)
(+.f64 0 (cos.f64 y))
(cos.f64 y)
(+.f64 (+.f64 -1 (cos.f64 y)) 1)
(cos.f64 y)
(+.f64 (+.f64 1 (cos.f64 y)) -1)
(cos.f64 y)
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))
(cos.f64 y)
(-.f64 (cos.f64 y) 0)
(cos.f64 y)
(-.f64 0 (cos.f64 (-.f64 (PI.f64) y)))
(cos.f64 y)
(-.f64 (+.f64 -1 (cos.f64 y)) -1)
(cos.f64 y)
(-.f64 (+.f64 1 (cos.f64 y)) 1)
(cos.f64 y)
(*.f64 1 (cos.f64 y))
(cos.f64 y)
(*.f64 (cos.f64 y) 1)
(cos.f64 y)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(cos.f64 y)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 4) 1/4)
(cos.f64 y)
(*.f64 1/2 (*.f64 (cos.f64 y) 2))
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 1/2) 2)
(cos.f64 y)
(*.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)
(cos.f64 y)
(/.f64 (cos.f64 y) 1)
(cos.f64 y)
(/.f64 (*.f64 (cos.f64 y) 2) 2)
(cos.f64 y)
(/.f64 (*.f64 (cos.f64 y) 4) 4)
(cos.f64 y)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8)
(cos.f64 y)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16)
(cos.f64 y)
(/.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)
(cos.f64 y)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32)
(cos.f64 y)
(neg.f64 (cos.f64 (-.f64 (PI.f64) y)))
(cos.f64 y)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 10 computations (54.5% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite80.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1480×rational.json-simplify-35
1332×bool.json-1
1332×bool.json-2
1286×rational.json-1
1286×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
19619
227619
355119
4110419
5242919
6507519
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 x (-.f64 1 (*.f64 y z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (neg.f64 (+.f64 (*.f64 y z) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (-.f64 1 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 y z) -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 y z) -1) -2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 y z) -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (-.f64 1 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x (-.f64 1 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x (-.f64 1 (*.f64 y z))))))))

simplify912.0ms (5.8%)

Algorithm
egg-herbie
Rules
2714×rational.json-simplify-42
2146×rational.json-simplify-2
1848×rational.json-simplify-35
1226×rational.json-simplify-1
1188×rational.json-simplify-52
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0691103
11441095
23461095
38101095
413451095
522111095
626601095
728071095
830541095
934761095
1039401095
1144181095
1246071095
1347501095
1449331095
1554221095
1663891095
1768021095
1869451095
1970731095
2071961095
2173181095
2273181095
Stop Event
node limit
Counts
59 → 37
Calls
Call 1
Inputs
(-.f64 1 (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
x
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
x
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(*.f64 -1 (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(*.f64 -1 (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(*.f64 -1 (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(*.f64 -1 (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(-.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 0)
(-.f64 (+.f64 x (neg.f64 (+.f64 (*.f64 y z) -2))) 1)
(*.f64 1 (+.f64 x (-.f64 1 (*.f64 y z))))
(*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)
(*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2))
(*.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 y z) -1) -2)))
(*.f64 4 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 1/2)
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 y z) -1) -2) (+.f64 x x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 y z) -1) -2)))
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))
(*.f64 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)
(/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 2)
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)))) 64)
Outputs
(-.f64 1 (*.f64 y z))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
x
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
x
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(+.f64 1 x)
(-.f64 x -1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 x)
(-.f64 x -1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 -1 (*.f64 y z))
(*.f64 y (*.f64 z -1))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 0)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(-.f64 (+.f64 x (neg.f64 (+.f64 (*.f64 y z) -2))) 1)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 1 (+.f64 x (-.f64 1 (*.f64 y z))))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 y z) -1) -2)))
(*.f64 2 (+.f64 (/.f64 (+.f64 (*.f64 y z) -1) -2) (*.f64 x 1/2)))
(*.f64 4 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 1/2)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 1/4)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 1/2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 y z) -1) -2) (+.f64 x x)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 -2 (+.f64 (*.f64 y z) -1)))))
(*.f64 1/2 (+.f64 (*.f64 -2 (+.f64 (*.f64 y z) -1)) (+.f64 x x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (+.f64 (*.f64 y z) -1) -2)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 -2 (+.f64 (*.f64 y z) -1)))))
(*.f64 1/2 (+.f64 (*.f64 -2 (+.f64 (*.f64 y z) -1)) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1/2) 2)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 1/4 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4))
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(*.f64 (/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(/.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 1)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 2) 2)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 4) 4)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(/.f64 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8) 8)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)) 16)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) 32)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 x (-.f64 1 (*.f64 y z))) 8)))) 64)
(+.f64 (-.f64 1 (*.f64 y z)) x)
(+.f64 1 (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 1 x) (*.f64 y z))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 y)
0.2b
(*.f64 z (sin.f64 y))
Compiler

Compiled 18 to 6 computations (66.7% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite91.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1928×bool.json-1
1928×bool.json-2
1086×rational.json-1
1086×rational.json-2
1086×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
110123
228623
365023
4147423
5354723
6722123
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (cos.f64 y) (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 y z)) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 y z)) (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) (*.f64 z (*.f64 y 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) (*.f64 y (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))))))

simplify392.0ms (2.5%)

Algorithm
egg-herbie
Rules
2112×rational.json-simplify-1
1926×rational.json-simplify-35
1754×rational.json-simplify-2
952×rational.json-simplify-52
838×rational.json-simplify-42
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01041607
12171607
24751595
39641595
423461595
532151595
635911595
742351595
851501595
957371595
1063531595
1170261595
1272801595
1378111595
1478831595
1578901595
Stop Event
node limit
Counts
73 → 64
Calls
Call 1
Inputs
(-.f64 (cos.f64 y) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 y z)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 y z)))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 0)
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))
(+.f64 (-.f64 x (*.f64 y z)) (cos.f64 y))
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (neg.f64 (*.f64 y z)) (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))) -1)
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))
(*.f64 -1 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))
(*.f64 2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) (*.f64 z (*.f64 y 1/2))))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 1/2)
(*.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2))
(*.f64 1/2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) (*.f64 y (+.f64 z z))))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 2)
(/.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))))) 4)
(neg.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))
Outputs
(-.f64 (cos.f64 y) (*.f64 y z))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 y z))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (neg.f64 (*.f64 y z)) (+.f64 x 1))
(+.f64 (+.f64 x 1) (*.f64 y (neg.f64 z)))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 1 (-.f64 x (*.f64 y z)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x 1) (*.f64 y (neg.f64 z))))
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (-.f64 1 (*.f64 y z)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 x (*.f64 y z))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 1 (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 y (neg.f64 z)))))
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (-.f64 1 (*.f64 y z))))
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 1 (*.f64 y z))))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 x (*.f64 y z))) (+.f64 1 (*.f64 1/24 (pow.f64 y 4))))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (-.f64 1 (*.f64 y z)))))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 y z)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 y z)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 0)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (-.f64 x (*.f64 y z)) (cos.f64 y))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (neg.f64 (*.f64 y z)) (+.f64 x (cos.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (+.f64 (cos.f64 y) (+.f64 x (-.f64 1 (*.f64 y z)))) -1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 -1 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 1/2) (*.f64 z (*.f64 y 1/2))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 1/2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 1/4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 1/2 (-.f64 (*.f64 (+.f64 x (cos.f64 y)) 2) (*.f64 y (+.f64 z z))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1/2) 2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 2) 2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))) -1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4) 4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))) -2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)) 8)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) -4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) 16)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) 2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 y z))) 4)))) 32)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y)))))) 4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))
(neg.f64 (-.f64 (*.f64 y z) (+.f64 x (cos.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 y z)) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 y z)))

localize425.0ms (2.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (cos.f64 y))
0.2b
(*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))
0.5b
(-.f64 1 (sin.f64 (neg.f64 y)))
3.4b
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))
Compiler

Compiled 54 to 26 computations (51.9% saved)

series4.0ms (0%)

Counts
3 → 44
Calls

12 calls:

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

rewrite72.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1312×bool.json-1
1312×bool.json-2
1270×rational.json-1
1270×rational.json-2
1270×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01263
113063
236747
380127
4179427
5427127
Stop Event
node limit
Counts
3 → 74
Calls
Call 1
Inputs
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))
(-.f64 1 (sin.f64 (neg.f64 y)))
(*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sin.f64 y)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 (neg.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (sin.f64 y)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 (neg.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 y)))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (neg.f64 y) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (PI.f64) y))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (sin.f64 y) (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (sin.f64 y) (sin.f64 y))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (sin.f64 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (-.f64 (sin.f64 y) -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sin.f64 y) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) (*.f64 (+.f64 1 (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 1 (sin.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 1 (sin.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (sin.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 -2 (*.f64 (sin.f64 y) -2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 1 (sin.f64 y)) (+.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (sin.f64 y)) (+.f64 1 (sin.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (sin.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (sin.f64 y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))))

simplify221.0ms (1.4%)

Algorithm
egg-herbie
Rules
2382×rational.json-simplify-2
1844×rational.json-simplify-35
1622×rational.json-simplify-1
886×rational.json-simplify-51
744×rational.json-simplify-41
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01752034
13792034
29041336
324141324
446261320
552121320
658461320
762061320
866351320
969601320
Stop Event
node limit
Counts
118 → 124
Calls
Call 1
Inputs
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(*.f64 -1 (sin.f64 (neg.f64 y)))
(*.f64 -1 (sin.f64 (neg.f64 y)))
(*.f64 -1 (sin.f64 (neg.f64 y)))
(*.f64 -1 (sin.f64 (neg.f64 y)))
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
1
(+.f64 1 y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(-.f64 -1 (-.f64 -1 (sin.f64 y)))
(-.f64 1 (-.f64 1 (sin.f64 y)))
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(-.f64 0 (sin.f64 (neg.f64 y)))
(-.f64 (sin.f64 y) 0)
(-.f64 (+.f64 -1 (sin.f64 y)) -1)
(*.f64 -1 (sin.f64 (neg.f64 y)))
(*.f64 1 (sin.f64 y))
(*.f64 (sin.f64 (neg.f64 y)) -1)
(*.f64 2 (*.f64 (sin.f64 y) 1/2))
(*.f64 (sin.f64 y) 1)
(*.f64 4 (/.f64 (sin.f64 y) 4))
(*.f64 (*.f64 2 (sin.f64 y)) 1/2)
(*.f64 (*.f64 (sin.f64 y) 4) 1/4)
(*.f64 1/2 (*.f64 2 (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) 1/2) 2)
(*.f64 1/4 (*.f64 (sin.f64 y) 4))
(*.f64 (/.f64 (sin.f64 y) 4) 4)
(/.f64 (sin.f64 (neg.f64 y)) -1)
(/.f64 (sin.f64 y) 1)
(/.f64 (*.f64 (sin.f64 y) -2) -2)
(/.f64 (*.f64 2 (sin.f64 y)) 2)
(/.f64 (*.f64 (sin.f64 y) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)
(neg.f64 (sin.f64 (neg.f64 y)))
(sin.f64 y)
(sin.f64 (-.f64 (neg.f64 y) (PI.f64)))
(sin.f64 (-.f64 (PI.f64) y))
(sin.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64))))
(sin.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y))))
(+.f64 -1 (-.f64 (sin.f64 y) -2))
(+.f64 1 (sin.f64 y))
(+.f64 (+.f64 1 (sin.f64 y)) 0)
(+.f64 0 (+.f64 1 (sin.f64 y)))
(+.f64 (sin.f64 y) 1)
(+.f64 -2 (+.f64 (-.f64 (sin.f64 y) -2) 1))
(+.f64 (-.f64 (sin.f64 y) -2) -1)
(+.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) (*.f64 (+.f64 1 (sin.f64 y)) 1/2))
(*.f64 -1 (-.f64 -1 (sin.f64 y)))
(*.f64 1 (+.f64 1 (sin.f64 y)))
(*.f64 (+.f64 1 (sin.f64 y)) 1)
(*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2))
(*.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4))
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2)
(*.f64 (-.f64 -1 (sin.f64 y)) -1)
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 1 (sin.f64 y)) 2))
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 1 (sin.f64 y)) 4))
(*.f64 (/.f64 (+.f64 1 (sin.f64 y)) 4) 4)
(/.f64 (+.f64 1 (sin.f64 y)) 1)
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 2)
(/.f64 (-.f64 -1 (sin.f64 y)) -1)
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)) 8)
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2)
(/.f64 (*.f64 2 (+.f64 -2 (*.f64 (sin.f64 y) -2))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) 16)
(/.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)))) 4)
(neg.f64 (-.f64 -1 (sin.f64 y)))
(+.f64 (*.f64 z (sin.f64 y)) 0)
(+.f64 0 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))
(-.f64 (*.f64 z (sin.f64 y)) 0)
(/.f64 (*.f64 z (sin.f64 y)) 1)
(/.f64 (*.f64 (*.f64 z (sin.f64 y)) 2) 2)
(/.f64 (*.f64 z (*.f64 (sin.f64 y) 4)) 4)
(/.f64 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))))) 32)
Outputs
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 y (*.f64 -1/6 (pow.f64 y 3)))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5))))
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7)))))
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7)))))
(+.f64 (+.f64 y (*.f64 1/120 (pow.f64 y 5))) (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 7))))
(+.f64 y (+.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5))) (*.f64 -1/5040 (pow.f64 y 7))))
(*.f64 -1 (sin.f64 (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (*.f64 -1 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
1
(+.f64 1 y)
(+.f64 y 1)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y 1))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 1 (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) 1)))
(+.f64 y (+.f64 (+.f64 (*.f64 1/120 (pow.f64 y 5)) 1) (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) 1)))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(-.f64 1 (sin.f64 (*.f64 -1 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)))
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 (+.f64 y (*.f64 -1/6 (pow.f64 y 3))) z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 -1/6 z)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))) z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(+.f64 (*.f64 y z) (+.f64 (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z))) (*.f64 -1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)))))
(+.f64 (+.f64 (*.f64 (pow.f64 y 3) (*.f64 -1/6 z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))) (*.f64 z (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 -1/6 z)) (*.f64 z (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))) z))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 (neg.f64 y))))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(*.f64 -1 (*.f64 (sin.f64 (*.f64 -1 y)) z))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(-.f64 -1 (-.f64 -1 (sin.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 1 (-.f64 1 (sin.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 0 (sin.f64 (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 (sin.f64 y) 0)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 (+.f64 -1 (sin.f64 y)) -1)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 -1 (sin.f64 (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 1 (sin.f64 y))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (sin.f64 (neg.f64 y)) -1)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 2 (*.f64 (sin.f64 y) 1/2))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (sin.f64 y) 1)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 4 (/.f64 (sin.f64 y) 4))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (*.f64 2 (sin.f64 y)) 1/2)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (*.f64 (sin.f64 y) 4) 1/4)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 1/2 (*.f64 2 (sin.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (*.f64 (sin.f64 y) 1/2) 2)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 1/4 (*.f64 (sin.f64 y) 4))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (/.f64 (sin.f64 y) 4) 4)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (sin.f64 (neg.f64 y)) -1)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (sin.f64 y) 1)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (*.f64 (sin.f64 y) -2) -2)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (*.f64 2 (sin.f64 y)) 2)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (*.f64 (sin.f64 y) 4) 4)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) 8)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) 16)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) 4)))) 32)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(neg.f64 (sin.f64 (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(sin.f64 y)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 (-.f64 (neg.f64 y) (PI.f64)))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(sin.f64 (-.f64 (PI.f64) y))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(sin.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64))))
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(sin.f64 (neg.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y))))
(neg.f64 (sin.f64 (+.f64 (PI.f64) (-.f64 (PI.f64) y))))
(sin.f64 (-.f64 (-.f64 y (PI.f64)) (PI.f64)))
(+.f64 -1 (-.f64 (sin.f64 y) -2))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(+.f64 1 (sin.f64 y))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 (+.f64 1 (sin.f64 y)) 0)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(+.f64 0 (+.f64 1 (sin.f64 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(+.f64 -2 (+.f64 (-.f64 (sin.f64 y) -2) 1))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(+.f64 (-.f64 (sin.f64 y) -2) -1)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(+.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) (*.f64 (+.f64 1 (sin.f64 y)) 1/2))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 -1 (-.f64 -1 (sin.f64 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 1 (+.f64 1 (sin.f64 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 (+.f64 1 (sin.f64 y)) 1)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 (-.f64 -1 (sin.f64 y)) -1)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 1/4)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 1/2 (*.f64 (+.f64 1 (sin.f64 y)) 2))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) 2)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 1/4 (*.f64 (+.f64 1 (sin.f64 y)) 4))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(*.f64 (/.f64 (+.f64 1 (sin.f64 y)) 4) 4)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (+.f64 1 (sin.f64 y)) 1)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 2)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (-.f64 -1 (sin.f64 y)) -1)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 4)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)) 8)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2)
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2)
(/.f64 (*.f64 2 (+.f64 -2 (*.f64 (sin.f64 y) -2))) -4)
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2)
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) 16)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) 2)
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2)
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 4)))) 32)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(/.f64 (+.f64 (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2))) (neg.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)))) 4)
(/.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -2)
(*.f64 (+.f64 -2 (*.f64 (sin.f64 y) -2)) -1/2)
(neg.f64 (-.f64 -1 (sin.f64 y)))
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 1 (sin.f64 y))
(+.f64 (*.f64 z (sin.f64 y)) 0)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(+.f64 0 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) 0)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 (*.f64 z (sin.f64 y)) 2) 2)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 z (*.f64 (sin.f64 y) 4)) 4)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))) 8)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) 16)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4)))) (*.f64 2 (*.f64 2 (*.f64 z (*.f64 (sin.f64 y) 4))))) 32)
(*.f64 z (neg.f64 (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(*.f64 z (sin.f64 y))

eval133.0ms (0.8%)

Compiler

Compiled 8300 to 4530 computations (45.4% saved)

prune102.0ms (0.6%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New54110551
Fresh033
Picked101
Done325
Total54515560
Error
0.1b
Counts
560 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
21.3b
(-.f64 (+.f64 x (-.f64 (+.f64 1 (cos.f64 y)) 1)) (*.f64 z y))
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
12.1b
(-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
8.0b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.8b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
22.9b
(-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
19.0b
(-.f64 x (*.f64 z (sin.f64 y)))
35.8b
(-.f64 x (*.f64 z y))
25.3b
(-.f64 x -1)
47.6b
(-.f64 1 (*.f64 y z))
17.7b
(+.f64 (cos.f64 y) x)
17.7b
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
45.3b
(*.f64 (sin.f64 y) (neg.f64 z))
58.1b
(*.f64 z (neg.f64 y))
36.2b
x
Compiler

Compiled 267 to 199 computations (25.5% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 y)
0.2b
(*.f64 z (sin.f64 y))
Compiler

Compiled 24 to 11 computations (54.2% saved)

localize3.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize5.0ms (0%)

Compiler

Compiled 14 to 7 computations (50% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.0b
(+.f64 (cos.f64 y) x)
Compiler

Compiled 11 to 5 computations (54.5% saved)

series0.0ms (0%)

Counts
1 → 7
Calls

6 calls:

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

rewrite108.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1826×bool.json-1
1826×bool.json-2
1324×rational.json-simplify-35
1140×rational.json-1
1140×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
17111
221011
346411
4100311
5223411
6460711
7743511
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (cos.f64 y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))))

simplify349.0ms (2.2%)

Algorithm
egg-herbie
Rules
2042×rational.json-simplify-2
1828×rational.json-simplify-1
1272×rational.json-simplify-35
1208×rational.json-simplify-49
1200×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068381
1142381
2344381
3813381
41350381
52987381
63403381
73473381
83551381
93648381
103761381
114603381
124767381
134896381
144998381
155083381
165167381
176311381
186682381
197781381
Stop Event
node limit
Counts
27 → 42
Calls
Call 1
Inputs
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(cos.f64 y)
x
x
(-.f64 (+.f64 (cos.f64 y) x) 0)
(*.f64 (+.f64 (cos.f64 y) x) 1)
(*.f64 1 (+.f64 (cos.f64 y) x))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) x) 2))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) x) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)
(/.f64 (+.f64 (cos.f64 y) x) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)))) 64)
Outputs
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 (+.f64 1 x) (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 1 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 1 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (+.f64 1 x) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 1 (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 1 (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 1 x))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 1 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))))
(+.f64 x (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))) (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 x (+.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))))
(cos.f64 y)
x
x
(-.f64 (+.f64 (cos.f64 y) x) 0)
(+.f64 x (cos.f64 y))
(*.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 x (cos.f64 y))
(*.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (cos.f64 y))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))
(+.f64 x (cos.f64 y))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 1/2)
(+.f64 x (cos.f64 y))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 1/4)
(+.f64 x (cos.f64 y))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) x) 2))
(+.f64 x (cos.f64 y))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 2 (cos.f64 y))))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (cos.f64 y)))))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)
(+.f64 x (cos.f64 y))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) x) 4))
(+.f64 x (cos.f64 y))
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)
(+.f64 x (cos.f64 y))
(/.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 2) 2)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 4) 4)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)
(+.f64 x (cos.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)))) 64)
(+.f64 x (cos.f64 y))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.2b
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
0.2b
(+.f64 (cos.f64 y) (+.f64 x 1))
Compiler

Compiled 26 to 16 computations (38.5% saved)

series1.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@0
(+.f64 (cos.f64 y) (+.f64 x 1))
0.0ms
y
@0
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
0.0ms
x
@-inf
(+.f64 (cos.f64 y) (+.f64 x 1))
0.0ms
x
@inf
(+.f64 (cos.f64 y) (+.f64 x 1))
0.0ms
x
@0
(+.f64 (cos.f64 y) (+.f64 x 1))

rewrite89.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1742×bool.json-1
1742×bool.json-2
1692×rational.json-1
1162×bool.json-3
980×rational.json-simplify-35
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01140
112140
235628
378128
4180228
5381528
6669928
Stop Event
node limit
Counts
2 → 48
Calls
Call 1
Inputs
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (cos.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (+.f64 x 1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (cos.f64 y) 1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (*.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (+.f64 x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (+.f64 x 1)) (+.f64 (cos.f64 y) (+.f64 x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (+.f64 x 1)) (+.f64 (cos.f64 y) (+.f64 x 1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))))

simplify414.0ms (2.6%)

Algorithm
egg-herbie
Rules
1936×rational.json-simplify-1
1900×rational.json-simplify-35
1878×rational.json-simplify-2
1572×rational.json-simplify-48
1522×rational.json-simplify-51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01271554
12581554
26341554
314861554
422881554
528151554
632661554
734271554
835451554
936511554
1044861554
1146201554
1254221554
1359631554
1464761554
1567741554
1673951554
1775761554
1877731554
1979511554
Stop Event
node limit
Counts
96 → 94
Calls
Call 1
Inputs
(+.f64 2 x)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 0)
(-.f64 (+.f64 (cos.f64 y) x) -1)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 1)))
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2))
(*.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (cos.f64 y) 1/2)))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (+.f64 x 1) 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (cos.f64 y) 1) 2)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 1/2)
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2))
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (*.f64 (cos.f64 y) 2)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 x x)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x (+.f64 x 2))))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2) 2)
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8))) 32)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)
(-.f64 (+.f64 (cos.f64 y) x) 0)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)
(*.f64 1 (+.f64 (cos.f64 y) x))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) 1/2)))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))
(*.f64 (+.f64 (cos.f64 y) x) 1)
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x x)))
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)
(/.f64 (+.f64 (cos.f64 y) x) 1)
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)
Outputs
(+.f64 2 x)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 2 x))
(+.f64 2 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 x (+.f64 2 (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 2 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 2 (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 2))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1)
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) -1))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) 1))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) 1)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1))
(+.f64 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (+.f64 1 (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (+.f64 1 (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 1)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 1)))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
x
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
x
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 0)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) -1)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 1)))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 2 (+.f64 (*.f64 (+.f64 x 1) 1/2) (*.f64 (cos.f64 y) 1/2)))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (+.f64 x 1) 1/2)))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (cos.f64 y) 1) 2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 1 (cos.f64 y)) 2)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 1/2)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 1/4)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x 2)) (*.f64 (cos.f64 y) 2)))
(*.f64 1/2 (+.f64 x (+.f64 (+.f64 2 x) (*.f64 2 (cos.f64 y)))))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x))))
(*.f64 1/2 (+.f64 (+.f64 2 x) (+.f64 x (*.f64 2 (cos.f64 y)))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (cos.f64 y) 1) 2) (+.f64 x x)))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 1 (cos.f64 y))) (+.f64 x x)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 1 (cos.f64 y))))))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x (+.f64 x 2))))
(*.f64 1/2 (+.f64 x (+.f64 (+.f64 2 x) (*.f64 2 (cos.f64 y)))))
(*.f64 1/2 (+.f64 2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x))))
(*.f64 1/2 (+.f64 (+.f64 2 x) (+.f64 x (*.f64 2 (cos.f64 y)))))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4))
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1/2) 2)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 2) 2)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 4) 4)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8) 8)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) 16)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 8))) 32)
(+.f64 (cos.f64 y) (+.f64 x 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 1)) 1)
(+.f64 x (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) x) 0)
(+.f64 x (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)
(+.f64 x (cos.f64 y))
(*.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (cos.f64 y))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))
(+.f64 x (cos.f64 y))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) 1/2)))
(+.f64 x (cos.f64 y))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 x 1/2)))
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)
(+.f64 x (cos.f64 y))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))
(+.f64 x (cos.f64 y))
(*.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)
(+.f64 x (cos.f64 y))
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))
(+.f64 x (cos.f64 y))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) 2)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (cos.f64 y)))))
(*.f64 1/2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x)))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) 2) (+.f64 x x)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (cos.f64 y)))))
(*.f64 1/2 (+.f64 (*.f64 2 (cos.f64 y)) (+.f64 x x)))
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)
(+.f64 x (cos.f64 y))
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)
(+.f64 x (cos.f64 y))
(/.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) x) 8) 8)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) 16)
(+.f64 x (cos.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 8))) 32)
(+.f64 x (cos.f64 y))

eval66.0ms (0.4%)

Compiler

Compiled 3466 to 2394 computations (30.9% saved)

prune49.0ms (0.3%)

Pruning

18 alts after pruning (11 fresh and 7 done)

PrunedKeptTotal
New2734277
Fresh178
Picked011
Done066
Total27418292
Error
0.1b
Counts
292 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
12.1b
(-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
8.0b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.8b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
22.9b
(-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
19.0b
(-.f64 x (*.f64 z (sin.f64 y)))
35.8b
(-.f64 x (*.f64 z y))
25.3b
(-.f64 x -1)
47.6b
(-.f64 1 (*.f64 y z))
17.7b
(+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x)
17.7b
(+.f64 (cos.f64 y) x)
17.8b
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1))
17.7b
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
35.7b
(+.f64 -1 x)
45.3b
(*.f64 (sin.f64 y) (neg.f64 z))
58.1b
(*.f64 z (neg.f64 y))
44.1b
(cos.f64 y)
36.2b
x
Compiler

Compiled 264 to 202 computations (23.5% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 (neg.f64 y))
0.2b
(*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))))
0.5b
(-.f64 1 (sin.f64 (neg.f64 y)))
3.4b
(+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))
Compiler

Compiled 50 to 28 computations (44% saved)

series0.0ms (0%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
0.0ms
y
@0
(sin.f64 (neg.f64 y))
0.0ms
y
@-inf
(sin.f64 (neg.f64 y))
0.0ms
y
@inf
(sin.f64 (neg.f64 y))

rewrite85.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1808×bool.json-1
1808×bool.json-2
1248×bool.json-3
894×rational.json-1
894×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
1619
22349
35539
412489
529969
670399
Stop Event
node limit
Counts
1 → 44
Calls
Call 1
Inputs
(sin.f64 (neg.f64 y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 -1 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) -1/2) (*.f64 (sin.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (+.f64 -1 (sin.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 -1 (sin.f64 y)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (sin.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (sin.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (/.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sin.f64 y) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sin.f64 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 y) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (*.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sin.f64 y) -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) -4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 2 (*.f64 (sin.f64 y) 4))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (neg.f64 (*.f64 (sin.f64 y) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y)))))))

simplify233.0ms (1.5%)

Algorithm
egg-herbie
Rules
2040×rational.json-simplify-35
1854×rational.json-simplify-2
1616×rational.json-simplify-1
722×rational.json-simplify-51
658×rational.json-simplify-48
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0101664
1207560
2463560
31507560
43337560
54171560
65310560
76069560
86333560
96539560
106750560
117046560
127900560
Stop Event
node limit
Counts
52 → 61
Calls
Call 1
Inputs
(*.f64 -1 y)
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))
(+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)))
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))))
(sin.f64 (*.f64 -1 y))
(sin.f64 (*.f64 -1 y))
(sin.f64 (*.f64 -1 y))
(sin.f64 (*.f64 -1 y))
(+.f64 (neg.f64 (sin.f64 y)) 0)
(+.f64 0 (neg.f64 (sin.f64 y)))
(+.f64 -1 (-.f64 1 (sin.f64 y)))
(+.f64 (-.f64 1 (sin.f64 y)) -1)
(+.f64 -2 (-.f64 1 (+.f64 -1 (sin.f64 y))))
(+.f64 (*.f64 (sin.f64 y) -1/2) (*.f64 (sin.f64 y) -1/2))
(+.f64 (-.f64 1 (+.f64 -1 (sin.f64 y))) -2)
(-.f64 (neg.f64 (sin.f64 y)) 0)
(-.f64 0 (sin.f64 y))
(-.f64 0 (-.f64 (+.f64 -1 (sin.f64 y)) -1))
(-.f64 1 (-.f64 (sin.f64 y) -1))
(-.f64 -1 (+.f64 -1 (sin.f64 y)))
(-.f64 (-.f64 1 (sin.f64 y)) 1)
(*.f64 (neg.f64 (sin.f64 y)) 1)
(*.f64 1 (neg.f64 (sin.f64 y)))
(*.f64 -1 (sin.f64 y))
(*.f64 (sin.f64 y) -1)
(*.f64 2 (*.f64 (sin.f64 y) -1/2))
(*.f64 (*.f64 (sin.f64 y) -2) 1/2)
(*.f64 -2 (/.f64 (sin.f64 y) 2))
(*.f64 4 (/.f64 (sin.f64 y) -4))
(*.f64 (*.f64 (sin.f64 y) 2) -1/2)
(*.f64 (*.f64 (sin.f64 y) -4) 1/4)
(*.f64 1/2 (*.f64 (sin.f64 y) -2))
(*.f64 (*.f64 (sin.f64 y) -1/2) 2)
(*.f64 -1/2 (*.f64 (sin.f64 y) 2))
(*.f64 (/.f64 (sin.f64 y) 2) -2)
(*.f64 1/4 (*.f64 (sin.f64 y) -4))
(*.f64 (/.f64 (sin.f64 y) -4) 4)
(/.f64 (neg.f64 (sin.f64 y)) 1)
(/.f64 (sin.f64 y) -1)
(/.f64 (*.f64 (sin.f64 y) -2) 2)
(/.f64 (*.f64 (sin.f64 y) 2) -2)
(/.f64 (*.f64 (sin.f64 y) -4) 4)
(/.f64 (*.f64 (sin.f64 y) 4) -4)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -8)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) 16)
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 2 (*.f64 (sin.f64 y) 4))) -16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (neg.f64 (*.f64 (sin.f64 y) 4))) 8)
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -1) 8)
(neg.f64 (sin.f64 y))
Outputs
(*.f64 -1 y)
(neg.f64 y)
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))
(+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3)))
(+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))
(+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y)))
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1 y) (*.f64 -1/120 (pow.f64 y 5))))
(+.f64 (neg.f64 y) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5))))
(+.f64 (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))) (*.f64 -1/120 (pow.f64 y 5)))
(+.f64 (*.f64 1/6 (pow.f64 y 3)) (+.f64 (neg.f64 y) (*.f64 -1/120 (pow.f64 y 5))))
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1 y))))
(+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (+.f64 (*.f64 -1 y) (*.f64 1/6 (pow.f64 y 3))) (*.f64 1/5040 (pow.f64 y 7))))
(+.f64 (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))) (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 -1/120 (pow.f64 y 5))))
(+.f64 (neg.f64 y) (+.f64 (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5))) (*.f64 1/5040 (pow.f64 y 7))))
(+.f64 (neg.f64 y) (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 -1/120 (pow.f64 y 5)))))
(+.f64 (neg.f64 y) (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (+.f64 (*.f64 1/6 (pow.f64 y 3)) (*.f64 1/5040 (pow.f64 y 7)))))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(+.f64 (neg.f64 (sin.f64 y)) 0)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(+.f64 0 (neg.f64 (sin.f64 y)))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(+.f64 -1 (-.f64 1 (sin.f64 y)))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(+.f64 (-.f64 1 (sin.f64 y)) -1)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(+.f64 -2 (-.f64 1 (+.f64 -1 (sin.f64 y))))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(+.f64 (*.f64 (sin.f64 y) -1/2) (*.f64 (sin.f64 y) -1/2))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(+.f64 (-.f64 1 (+.f64 -1 (sin.f64 y))) -2)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(-.f64 (neg.f64 (sin.f64 y)) 0)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(-.f64 0 (sin.f64 y))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(-.f64 0 (-.f64 (+.f64 -1 (sin.f64 y)) -1))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(-.f64 1 (-.f64 (sin.f64 y) -1))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(-.f64 -1 (+.f64 -1 (sin.f64 y)))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(-.f64 (-.f64 1 (sin.f64 y)) 1)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (neg.f64 (sin.f64 y)) 1)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 1 (neg.f64 (sin.f64 y)))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 -1 (sin.f64 y))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (sin.f64 y) -1)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 2 (*.f64 (sin.f64 y) -1/2))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) -2) 1/2)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 -2 (/.f64 (sin.f64 y) 2))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 4 (/.f64 (sin.f64 y) -4))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) 2) -1/2)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) -4) 1/4)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 1/2 (*.f64 (sin.f64 y) -2))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) -1/2) 2)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 -1/2 (*.f64 (sin.f64 y) 2))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (/.f64 (sin.f64 y) 2) -2)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 1/4 (*.f64 (sin.f64 y) -4))
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(*.f64 (/.f64 (sin.f64 y) -4) 4)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (neg.f64 (sin.f64 y)) 1)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (sin.f64 y) -1)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) -2) 2)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) 2) -2)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) -4) 4)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) 4) -4)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) 8)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -8)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) 16)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) 4)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) (*.f64 2 (*.f64 (sin.f64 y) 4))) -16)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8))) 32)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 4)) (neg.f64 (*.f64 (sin.f64 y) 4))) 8)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(/.f64 (/.f64 (*.f64 2 (*.f64 (sin.f64 y) 4)) -1) 8)
(sin.f64 (*.f64 -1 y))
(neg.f64 (sin.f64 y))
(neg.f64 (sin.f64 y))
(sin.f64 (*.f64 -1 y))

localize3.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite108.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1320×bool.json-1
1320×bool.json-2
1278×rational.json-1
1278×rational.json-2
1278×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16913
219713
342913
488313
5194513
6443513
7795613
Stop Event
node limit
Counts
1 → 37
Calls
Call 1
Inputs
(-.f64 x (*.f64 z y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z y)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 x (-.f64 1 (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (*.f64 z y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (-.f64 1 (*.f64 z y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) (*.f64 (-.f64 x (*.f64 z y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 2 (-.f64 (*.f64 z y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 x (*.f64 z y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 z y) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 x (*.f64 z y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 x (*.f64 z y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 z (*.f64 y 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (*.f64 z y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (*.f64 z y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z y) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z y) x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 x (*.f64 z y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 z y) x) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z y) x) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z y) x))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 x (*.f64 z y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 x (*.f64 z y)) (-.f64 x (*.f64 z y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 x (*.f64 z y)) (-.f64 x (*.f64 z y)))))))

simplify420.0ms (2.7%)

Algorithm
egg-herbie
Rules
1986×rational.json-simplify-35
1902×rational.json-simplify-1
1816×rational.json-simplify-2
1310×rational.json-simplify-52
898×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0881037
11891037
24221037
39671037
418541037
530061037
636621037
738101037
839221037
940581037
1042621037
1147571037
1258521037
1365731037
1475461037
1575981037
1676111037
1776111037
1876111037
Stop Event
node limit
Counts
73 → 49
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 z y)))
(+.f64 (-.f64 x (*.f64 z y)) 0)
(+.f64 0 (-.f64 x (*.f64 z y)))
(+.f64 (neg.f64 (*.f64 z y)) x)
(+.f64 -1 (+.f64 x (-.f64 1 (*.f64 z y))))
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 z y)) x))
(+.f64 (+.f64 x (-.f64 1 (*.f64 z y))) -1)
(+.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) (*.f64 (-.f64 x (*.f64 z y)) 1/2))
(+.f64 -2 (-.f64 2 (-.f64 (*.f64 z y) x)))
(*.f64 (-.f64 x (*.f64 z y)) 1)
(*.f64 1 (-.f64 x (*.f64 z y)))
(*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 1/2))
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 1/2)
(*.f64 (-.f64 (*.f64 z y) x) -1)
(*.f64 4 (/.f64 (-.f64 x (*.f64 z y)) 4))
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 z y) 4)))
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 1/4)
(*.f64 -1 (-.f64 (*.f64 z y) x))
(*.f64 1/2 (*.f64 (-.f64 x (*.f64 z y)) 2))
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 x (*.f64 z y)) 4))
(*.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 z (*.f64 y 4))))
(*.f64 (/.f64 (-.f64 x (*.f64 z y)) 4) 4)
(/.f64 (-.f64 x (*.f64 z y)) 1)
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 2)
(/.f64 (-.f64 (*.f64 z y) x) -1)
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 z y) x)) -2)
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 8) 8)
(/.f64 (*.f64 (-.f64 (*.f64 z y) x) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z y) x) 4)) -8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) 32)
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)))) 64)
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4))) 8)
(neg.f64 (-.f64 (*.f64 z y) x))
Outputs
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
x
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(*.f64 -1 (*.f64 y z))
(neg.f64 (*.f64 y z))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 x (neg.f64 (*.f64 z y)))
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (-.f64 x (*.f64 z y)) 0)
(-.f64 x (*.f64 y z))
(+.f64 0 (-.f64 x (*.f64 z y)))
(-.f64 x (*.f64 y z))
(+.f64 (neg.f64 (*.f64 z y)) x)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 -1 (+.f64 x (-.f64 1 (*.f64 z y))))
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 z y)) x))
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (+.f64 x (-.f64 1 (*.f64 z y))) -1)
(+.f64 x (neg.f64 (*.f64 y z)))
(+.f64 x (*.f64 y (neg.f64 z)))
(+.f64 x (*.f64 z (neg.f64 y)))
(+.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) (*.f64 (-.f64 x (*.f64 z y)) 1/2))
(-.f64 x (*.f64 y z))
(+.f64 -2 (-.f64 2 (-.f64 (*.f64 z y) x)))
(-.f64 x (*.f64 y z))
(*.f64 (-.f64 x (*.f64 z y)) 1)
(-.f64 x (*.f64 y z))
(*.f64 1 (-.f64 x (*.f64 z y)))
(-.f64 x (*.f64 y z))
(*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 1/2))
(-.f64 x (*.f64 y z))
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 1/2)
(-.f64 x (*.f64 y z))
(*.f64 (-.f64 (*.f64 z y) x) -1)
(-.f64 x (*.f64 y z))
(*.f64 4 (/.f64 (-.f64 x (*.f64 z y)) 4))
(-.f64 x (*.f64 y z))
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 z y) 4)))
(*.f64 4 (-.f64 (/.f64 x 4) (*.f64 y (/.f64 z 4))))
(*.f64 4 (-.f64 (/.f64 x 4) (/.f64 (*.f64 y z) 4)))
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 1/4)
(-.f64 x (*.f64 y z))
(*.f64 -1 (-.f64 (*.f64 z y) x))
(-.f64 x (*.f64 y z))
(*.f64 1/2 (*.f64 (-.f64 x (*.f64 z y)) 2))
(-.f64 x (*.f64 y z))
(*.f64 (*.f64 (-.f64 x (*.f64 z y)) 1/2) 2)
(-.f64 x (*.f64 y z))
(*.f64 1/4 (*.f64 (-.f64 x (*.f64 z y)) 4))
(-.f64 x (*.f64 y z))
(*.f64 1/4 (-.f64 (*.f64 x 4) (*.f64 z (*.f64 y 4))))
(-.f64 x (*.f64 y z))
(*.f64 (/.f64 (-.f64 x (*.f64 z y)) 4) 4)
(-.f64 x (*.f64 y z))
(/.f64 (-.f64 x (*.f64 z y)) 1)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 2) 2)
(-.f64 x (*.f64 y z))
(/.f64 (-.f64 (*.f64 z y) x) -1)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 4) 4)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 2 (-.f64 (*.f64 z y) x)) -2)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 (-.f64 x (*.f64 z y)) 8) 8)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 (-.f64 (*.f64 z y) x) 4) -4)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)) 16)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 (-.f64 (*.f64 z y) x) 4)) -8)
(-.f64 x (*.f64 y z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) 32)
(-.f64 x (*.f64 y z))
(/.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) 4)
(-.f64 x (*.f64 y z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 x (*.f64 z y)) 8)))) 64)
(-.f64 x (*.f64 y z))
(/.f64 (+.f64 (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4)) (neg.f64 (*.f64 (-.f64 (*.f64 z y) x) 4))) 8)
(-.f64 x (*.f64 y z))
(neg.f64 (-.f64 (*.f64 z y) x))
(-.f64 x (*.f64 y z))

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 y)
0.2b
(*.f64 (sin.f64 y) (neg.f64 z))
Compiler

Compiled 14 to 6 computations (57.1% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1700×bool.json-1
1700×bool.json-2
1646×rational.json-1
1138×bool.json-3
842×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
18615
226615
358915
4128615
5296115
6647415
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (sin.f64 y) (neg.f64 z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (sin.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (/.f64 z -2)) (*.f64 (sin.f64 y) (/.f64 z -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) z) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sin.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (sin.f64 y) (neg.f64 z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (sin.f64 y) (neg.f64 z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (sin.f64 y) (neg.f64 z)) (*.f64 (sin.f64 y) (neg.f64 z)))))))

simplify293.0ms (1.9%)

Algorithm
egg-herbie
Rules
2246×rational.json-simplify-2
1916×rational.json-simplify-35
1626×rational.json-simplify-1
846×rational.json-simplify-53
776×rational.json-simplify-52
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
066698
1151698
2291698
3641674
42179674
53021674
63740674
74262674
85235674
95747674
106806674
117030674
127275674
137530674
Stop Event
node limit
Counts
38 → 37
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (neg.f64 z)))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 y) z)))
(+.f64 (*.f64 (sin.f64 y) (/.f64 z -2)) (*.f64 (sin.f64 y) (/.f64 z -2)))
(-.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)
(-.f64 0 (*.f64 (sin.f64 y) z))
(/.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1)
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2)
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -4)) 4)
(/.f64 (*.f64 (sin.f64 y) z) -1)
(/.f64 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8))) 32)
(neg.f64 (*.f64 (sin.f64 y) z))
Outputs
(*.f64 -1 (*.f64 y z))
(*.f64 y (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 z (*.f64 1/6 (pow.f64 y 3))))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))
(*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 -1/120 (*.f64 z (pow.f64 y 5)))))
(+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (+.f64 (*.f64 y (neg.f64 z)) (*.f64 (pow.f64 y 5) (*.f64 z -1/120))))
(+.f64 (+.f64 (*.f64 y (neg.f64 z)) (*.f64 z (*.f64 1/6 (pow.f64 y 3)))) (*.f64 (pow.f64 y 5) (*.f64 z -1/120)))
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 (pow.f64 y 5) (*.f64 z -1/120)))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/6 (pow.f64 y 3)))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 -1/120 (*.f64 z (pow.f64 y 5)))) (*.f64 1/5040 (*.f64 z (pow.f64 y 7)))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (*.f64 (pow.f64 y 5) (*.f64 z -1/120))) (*.f64 (pow.f64 y 7) (*.f64 z 1/5040))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 z -1/120)) (*.f64 (pow.f64 y 7) (*.f64 z 1/5040)))))
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/5040 (pow.f64 y 7)))))
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/5040 (pow.f64 y 7)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(+.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(+.f64 0 (*.f64 (sin.f64 y) (neg.f64 z)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(+.f64 -1 (-.f64 1 (*.f64 (sin.f64 y) z)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(+.f64 (*.f64 (sin.f64 y) (/.f64 z -2)) (*.f64 (sin.f64 y) (/.f64 z -2)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(-.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 0)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(-.f64 0 (*.f64 (sin.f64 y) z))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(/.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 1)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -4)) 4)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(/.f64 (*.f64 (sin.f64 y) z) -1)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(/.f64 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8) 8)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) 16)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8)) (*.f64 2 (*.f64 (*.f64 (sin.f64 y) (neg.f64 z)) 8))) 32)
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))
(neg.f64 (*.f64 (sin.f64 y) z))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 z (sin.f64 (neg.f64 y)))

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.0b
(+.f64 (cos.f64 y) (+.f64 x 2))
0.2b
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1))
0.3b
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
Compiler

Compiled 37 to 24 computations (35.1% saved)

series1.0ms (0%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
0.0ms
y
@0
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
0.0ms
y
@0
(+.f64 (cos.f64 y) (+.f64 x 2))
0.0ms
y
@inf
(+.f64 (cos.f64 y) (+.f64 x 2))
0.0ms
y
@-inf
(+.f64 (cos.f64 y) (+.f64 x 2))
0.0ms
y
@0
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1))

rewrite74.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1300×bool.json-1
1300×bool.json-2
1260×rational.json-1
1260×rational.json-2
1260×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01369
113963
238457
383745
4219145
5498545
Stop Event
node limit
Counts
3 → 69
Calls
Call 1
Inputs
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1))
(+.f64 (cos.f64 y) (+.f64 x 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (-.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (+.f64 (cos.f64 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (cos.f64 y) (+.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x 2) (+.f64 (cos.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 2) (+.f64 x -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) -1) (+.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x -1) (+.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x -1) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (-.f64 x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (-.f64 x -1)) (+.f64 (cos.f64 y) (-.f64 x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (-.f64 x -1)) (+.f64 (cos.f64 y) (-.f64 x -1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) x) (+.f64 (cos.f64 y) x))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (+.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (+.f64 x 2)) (+.f64 (cos.f64 y) (+.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (+.f64 x 2)) (+.f64 (cos.f64 y) (+.f64 x 2)))))))

simplify617.0ms (3.9%)

Algorithm
egg-herbie
Rules
2536×rational.json-simplify-51
1792×rational.json-simplify-1
1790×rational.json-simplify-35
1666×rational.json-simplify-49
1032×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01442265
12842265
27292265
318782265
430142265
536392265
638322265
739912265
841652265
943342265
1047942265
1150342265
1253302265
1356482265
1459972265
1562222265
1662912265
1763072265
1863072265
1972392265
Stop Event
node limit
Counts
141 → 128
Calls
Call 1
Inputs
(+.f64 2 x)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
x
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 (cos.f64 y) x)
(+.f64 3 x)
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (cos.f64 y))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
x
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
x
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (-.f64 x -1))
(+.f64 x (+.f64 (cos.f64 y) 1))
(+.f64 2 (+.f64 (cos.f64 y) (+.f64 x -1)))
(+.f64 (+.f64 x 2) (+.f64 (cos.f64 y) -1))
(+.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) -1)
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 0)
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 2)))
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x -1)))
(+.f64 (+.f64 (cos.f64 y) 2) (+.f64 x -1))
(+.f64 (+.f64 (cos.f64 y) -1) (+.f64 x 2))
(+.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 (+.f64 x -1) (+.f64 (cos.f64 y) 2))
(+.f64 (-.f64 x -1) (cos.f64 y))
(+.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) 2)
(+.f64 (+.f64 (cos.f64 y) 1) x)
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x -1)))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)
(*.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 1/4)
(*.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) 2)
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)
(/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)
(/.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)))) 32)
(-.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)
(-.f64 (+.f64 (cos.f64 y) x) 0)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))
(*.f64 1 (+.f64 (cos.f64 y) x))
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))
(*.f64 (+.f64 (cos.f64 y) x) 1)
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)
(/.f64 (+.f64 (cos.f64 y) x) 1)
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))))) 32)
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 0)
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2))
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 2)))
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)))) 32)
Outputs
(+.f64 2 x)
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 2 x))
(+.f64 2 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 2 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 2 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 2 (+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 2 x)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 2 (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 2))
(+.f64 2 (+.f64 x (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 2 x))))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
x
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1))
(+.f64 x (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1)
(+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (-.f64 (*.f64 1/24 (pow.f64 y 4)) -1))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 1)))
(+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 1))
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 1 (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 1))))
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1)))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 1)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 1 (+.f64 (+.f64 x (*.f64 1/24 (pow.f64 y 4))) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
x
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
x
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 (cos.f64 y) x)
(+.f64 x (cos.f64 y))
(+.f64 3 x)
(+.f64 x 3)
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x 3))
(+.f64 x (+.f64 3 (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 3))
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x)))
(+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 3)
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (+.f64 3 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) 3)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) x))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x (*.f64 -1/2 (pow.f64 y 2)))) 3))
(+.f64 (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))) (+.f64 3 (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 x 3))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 x (+.f64 (*.f64 1/24 (pow.f64 y 4)) 3))))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (cos.f64 y))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
x
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
x
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) x))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x -1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 x (+.f64 (cos.f64 y) 1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 2 (+.f64 (cos.f64 y) (+.f64 x -1)))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 x 2) (+.f64 (cos.f64 y) -1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) -1)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 0)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 2)))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x -1)))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) 2) (+.f64 x -1))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) -1) (+.f64 x 2))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 x -1) (+.f64 (cos.f64 y) 2))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (-.f64 x -1) (cos.f64 y))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) 2)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) 1) x)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x -1)))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 1/2)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 1/4)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 1/2 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1/2) 2)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(/.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(/.f64 (+.f64 2 (*.f64 2 (+.f64 (cos.f64 y) x))) 2)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4) 4)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)) 8)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) 16)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 4)))) 32)
(+.f64 x (+.f64 1 (cos.f64 y)))
(+.f64 1 (+.f64 x (cos.f64 y)))
(-.f64 (+.f64 (cos.f64 y) (-.f64 x -1)) 1)
(+.f64 x (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) x) 0)
(+.f64 x (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x -1)) -1)
(+.f64 x (cos.f64 y))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) x) 1/2))
(+.f64 x (cos.f64 y))
(*.f64 1 (+.f64 (cos.f64 y) x))
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 1/2)
(+.f64 x (cos.f64 y))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) x) 4))
(+.f64 x (cos.f64 y))
(*.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 1/4)
(+.f64 x (cos.f64 y))
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) x)))
(+.f64 x (cos.f64 y))
(*.f64 1/4 (*.f64 4 (+.f64 (cos.f64 y) x)))
(+.f64 x (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) x) 1/2) 2)
(+.f64 x (cos.f64 y))
(*.f64 (/.f64 (+.f64 (cos.f64 y) x) 4) 4)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) x)) 2)
(+.f64 x (cos.f64 y))
(/.f64 (+.f64 (cos.f64 y) x) 1)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 4 (+.f64 (cos.f64 y) x)) 4)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))) 8)
(+.f64 x (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) 16)
(+.f64 x (cos.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x)))) (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 (cos.f64 y) x))))) 32)
(+.f64 x (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 0)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 1 (+.f64 (cos.f64 y) (+.f64 x 2)))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 1/2)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 1/4)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 1/2 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1/2) 2)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(/.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(/.f64 (*.f64 2 (+.f64 (cos.f64 y) (+.f64 x 2))) 2)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4) 4)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)) 8)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) 16)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 4)))) 32)
(+.f64 (cos.f64 y) (+.f64 2 x))
(+.f64 2 (+.f64 x (cos.f64 y)))

eval1.1s (7%)

Compiler

Compiled 6642 to 4587 computations (30.9% saved)

prune433.0ms (2.8%)

Pruning

19 alts after pruning (9 fresh and 10 done)

PrunedKeptTotal
New4734477
Fresh156
Picked101
Done11011
Total47619495
Error
0.1b
Counts
495 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
12.1b
(-.f64 (+.f64 x 1) (*.f64 z (-.f64 (+.f64 1 (sin.f64 y)) 1)))
8.0b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.8b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
19.0b
(-.f64 x (*.f64 z (sin.f64 y)))
35.8b
(-.f64 x (*.f64 z y))
25.3b
(-.f64 x -1)
47.6b
(-.f64 1 (*.f64 y z))
17.7b
(+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x)
17.7b
(+.f64 (cos.f64 y) x)
44.3b
(+.f64 -1 (-.f64 (+.f64 2 (cos.f64 y)) 1))
25.4b
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1))
17.7b
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
35.7b
(+.f64 -1 x)
49.1b
(*.f64 (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) (neg.f64 z))
45.3b
(*.f64 (sin.f64 y) (neg.f64 z))
58.1b
(*.f64 z (neg.f64 y))
44.1b
(cos.f64 y)
36.2b
x
Compiler

Compiled 174 to 135 computations (22.4% saved)

regimes60.0ms (0.4%)

Counts
27 → 1
Calls
Call 1
Inputs
x
(+.f64 -1 x)
(-.f64 x -1)
(*.f64 z (neg.f64 y))
(-.f64 1 (*.f64 y z))
(-.f64 x (*.f64 z y))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(*.f64 (sin.f64 y) (neg.f64 z))
(-.f64 x (*.f64 z (sin.f64 y)))
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
(+.f64 -1 (-.f64 (+.f64 2 (cos.f64 y)) 1))
(+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x)
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y))
(*.f64 (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) (neg.f64 z))
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1))
(-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
(-.f64 (+.f64 x 1) (*.f64 z (-.f64 (+.f64 1 (sin.f64 y)) 1)))
(-.f64 (+.f64 x (-.f64 (+.f64 1 (cos.f64 y)) 1)) (*.f64 z y))
(-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
Outputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Calls

4 calls:

14.0ms
x
14.0ms
z
13.0ms
y
12.0ms
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Results
ErrorSegmentsBranch
0.1b1x
0.1b1y
0.1b1z
0.1b1(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 232 to 124 computations (46.6% saved)

regimes859.0ms (5.5%)

Counts
24 → 3
Calls
Call 1
Inputs
x
(+.f64 -1 x)
(-.f64 x -1)
(*.f64 z (neg.f64 y))
(-.f64 1 (*.f64 y z))
(-.f64 x (*.f64 z y))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(*.f64 (sin.f64 y) (neg.f64 z))
(-.f64 x (*.f64 z (sin.f64 y)))
(+.f64 -1 (+.f64 (cos.f64 y) (+.f64 x 1)))
(+.f64 -1 (-.f64 (+.f64 2 (cos.f64 y)) 1))
(+.f64 (-.f64 (+.f64 1 (cos.f64 y)) 1) x)
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z y))
(*.f64 (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y)))) (neg.f64 z))
(+.f64 -1 (-.f64 (+.f64 (cos.f64 y) (+.f64 x 2)) 1))
(-.f64 x (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
(-.f64 (+.f64 x 1) (*.f64 z (-.f64 (+.f64 1 (sin.f64 y)) 1)))
(-.f64 (+.f64 x (-.f64 (+.f64 1 (cos.f64 y)) 1)) (*.f64 z y))
(-.f64 (+.f64 x 1) (*.f64 z (+.f64 -1 (-.f64 1 (sin.f64 (neg.f64 y))))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
Outputs
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
Calls

3 calls:

787.0ms
y
34.0ms
x
33.0ms
z
Results
ErrorSegmentsBranch
0.5b3x
6.7b3y
0.4b3z
Compiler

Compiled 184 to 104 computations (43.5% saved)

bsearch561.0ms (3.6%)

Algorithm
binary-search
Steps
TimeLeftRight
480.0ms
2.1872686632363805e-8
6.162303252407949e-8
81.0ms
-3.577370718482088e+33
-1.9169520782054402e+30
Results
491.0ms117×body256valid
63.0ms26×body1024valid
5.0ms17×body512valid
Compiler

Compiled 218 to 163 computations (25.2% saved)

regimes288.0ms (1.8%)

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

3 calls:

200.0ms
y
53.0ms
x
30.0ms
z
Results
ErrorSegmentsBranch
9.1b5x
7.2b4y
2.5b3z
Compiler

Compiled 93 to 57 computations (38.7% saved)

bsearch63.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
7338313.172730743
149870060554.7033
31.0ms
-3.577370718482088e+33
-1.9169520782054402e+30
Results
32.0ms191×body256valid
22.0ms45×body1024valid
6.0ms20×body512valid
Compiler

Compiled 306 to 221 computations (27.8% saved)

regimes110.0ms (0.7%)

Counts
11 → 3
Calls
Call 1
Inputs
x
(+.f64 -1 x)
(-.f64 x -1)
(*.f64 z (neg.f64 y))
(-.f64 1 (*.f64 y z))
(-.f64 x (*.f64 z y))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
(*.f64 (sin.f64 y) (neg.f64 z))
Outputs
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (cos.f64 y) x)
(*.f64 (sin.f64 y) (neg.f64 z))
Calls

3 calls:

46.0ms
x
33.0ms
y
29.0ms
z
Results
ErrorSegmentsBranch
12.5b7x
11.3b5y
9.5b3z
Compiler

Compiled 63 to 39 computations (38.1% saved)

bsearch83.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
34.0ms
3.419643350310442e+61
4.143322969997955e+64
47.0ms
-1.8455524438385234e+137
-1.1702815112371461e+117
Results
39.0ms219×body256valid
30.0ms55×body1024valid
9.0ms30×body512valid
Compiler

Compiled 341 to 260 computations (23.8% saved)

regimes48.0ms (0.3%)

Counts
10 → 3
Calls
Call 1
Inputs
x
(+.f64 -1 x)
(-.f64 x -1)
(*.f64 z (neg.f64 y))
(-.f64 1 (*.f64 y z))
(-.f64 x (*.f64 z y))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1))
(cos.f64 y)
(+.f64 (cos.f64 y) x)
Outputs
(+.f64 (cos.f64 y) x)
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 (cos.f64 y) x)
Calls

3 calls:

20.0ms
y
20.0ms
z
6.0ms
x
Results
ErrorSegmentsBranch
17.7b1x
13.3b3y
14.3b3z
Compiler

Compiled 58 to 36 computations (37.9% saved)

bsearch55.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
2.2672321248419857e-8
0.00017573250958829027
29.0ms
-4423724562333958.5
-5280360.007553062
Results
52.0ms272×body256valid
Compiler

Compiled 341 to 251 computations (26.4% saved)

regimes66.0ms (0.4%)

Counts
9 → 3
Calls
Call 1
Inputs
x
(+.f64 -1 x)
(-.f64 x -1)
(*.f64 z (neg.f64 y))
(-.f64 1 (*.f64 y z))
(-.f64 x (*.f64 z y))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 -1 (-.f64 (+.f64 1 (+.f64 x 2)) 1))
(cos.f64 y)
Outputs
(-.f64 x -1)
(cos.f64 y)
(-.f64 x -1)
Calls

3 calls:

29.0ms
z
18.0ms
x
17.0ms
y
Results
ErrorSegmentsBranch
18.1b3x
20.7b3y
20.8b5z
Compiler

Compiled 54 to 35 computations (35.2% saved)

bsearch91.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
44.0ms
9.452905440180123e-16
7.408727490092422e-10
48.0ms
-458943229088.4748
-0.002607335514921187
Results
45.0ms85×body1024valid
29.0ms176×body256valid
12.0ms43×body512valid
Compiler

Compiled 265 to 222 computations (16.2% saved)

regimes48.0ms (0.3%)

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

3 calls:

15.0ms
x
15.0ms
y
15.0ms
z
Results
ErrorSegmentsBranch
21.9b3x
20.7b3y
22.0b3z
Compiler

Compiled 52 to 34 computations (34.6% saved)

bsearch53.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
3.572326818729012e+22
1.0666845780516216e+34
24.0ms
-7.145253587169301e+30
-1.6207689024080748e+27
Results
49.0ms288×body256valid
Compiler

Compiled 342 to 265 computations (22.5% saved)

regimes37.0ms (0.2%)

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

3 calls:

17.0ms
z
13.0ms
x
5.0ms
y
Results
ErrorSegmentsBranch
22.0b3x
25.3b1y
22.6b3z
Compiler

Compiled 36 to 23 computations (36.1% saved)

bsearch84.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
49.0ms
5.679999718801412e-168
2.1970533941329772e-144
35.0ms
-2.5603412135012383e-26
-4.322801147823336e-30
Results
38.0ms83×body1024valid
26.0ms165×body256valid
16.0ms56×body512valid
Compiler

Compiled 322 to 260 computations (19.3% saved)

regimes20.0ms (0.1%)

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

3 calls:

11.0ms
x
4.0ms
y
4.0ms
z
Results
ErrorSegmentsBranch
24.1b3x
25.3b1y
25.3b1z
Compiler

Compiled 26 to 18 computations (30.8% saved)

bsearch68.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
-2.6498896846216874e-135
-2.2573638575326593e-138
33.0ms
-2.5603412135012383e-26
-4.322801147823336e-30
Results
31.0ms68×body1024valid
23.0ms148×body256valid
12.0ms40×body512valid
Compiler

Compiled 258 to 205 computations (20.5% saved)

regimes12.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
x
(+.f64 -1 x)
(-.f64 x -1)
Outputs
(-.f64 x -1)
Calls

3 calls:

4.0ms
x
3.0ms
z
3.0ms
y
Results
ErrorSegmentsBranch
25.3b1x
25.3b1y
25.3b1z
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes10.0ms (0.1%)

Accuracy

Total -0.9b remaining (-2.5%)

Threshold costs -0.9b (-2.5%)

Counts
2 → 1
Calls
Call 1
Inputs
x
(+.f64 -1 x)
Outputs
(+.f64 -1 x)
Calls

3 calls:

3.0ms
x
3.0ms
y
3.0ms
z
Results
ErrorSegmentsBranch
35.7b1x
35.7b1y
35.7b1z
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077474
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 z -1950000000000000052848767270912) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 944473296573929/18889465931478580854784) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -1400000000000000039097473842544640) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 z 55000000000) (+.f64 (cos.f64 y) x) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -85000000000000003317323032006788532090519149869560907038521020311230613419307027823400893412609875032321551318791487488) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 17000000000000000800897614359995622290226833626440309991943438336) (+.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z))))
(if (<=.f64 y -5500000) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1152921504606847/9223372036854775808) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x)))
(if (<=.f64 x -6110483974416289/2305843009213693952) (-.f64 x -1) (if (<=.f64 x 6034957691516229/309485009821345068724781056) (cos.f64 y) (-.f64 x -1)))
(if (<=.f64 y -3399999999999999990202105856) (-.f64 x -1) (if (<=.f64 y 1020000000000000041943040) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 -1 x)))
(if (<=.f64 x -8084020134467351/2787593149816327892691964784081045188247552) (-.f64 x -1) (if (<=.f64 x 2712535492840483/29484081443918291814387145163970850710288447034503440846689111720668938768688662906922865040450459121417721679927842538279457692421287442441886205089317937841010900992) (-.f64 1 (*.f64 y z)) (-.f64 x -1)))
(if (<=.f64 x -6279889847906223/1427247692705959881058285969449495136382746624) (-.f64 x -1) (if (<=.f64 x -8510815580529969/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 z (neg.f64 y)) (-.f64 x -1)))
(-.f64 x -1)
(+.f64 -1 x)
x
Outputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 z -1950000000000000052848767270912) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 944473296573929/18889465931478580854784) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -1400000000000000039097473842544640) (-.f64 x (*.f64 z (sin.f64 y))) (if (<=.f64 z 55000000000) (+.f64 (cos.f64 y) x) (-.f64 x (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -85000000000000003317323032006788532090519149869560907038521020311230613419307027823400893412609875032321551318791487488) (*.f64 (sin.f64 y) (neg.f64 z)) (if (<=.f64 z 17000000000000000800897614359995622290226833626440309991943438336) (+.f64 (cos.f64 y) x) (*.f64 (sin.f64 y) (neg.f64 z))))
(if (<=.f64 y -5500000) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1152921504606847/9223372036854775808) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x)))
(if (<=.f64 x -6110483974416289/2305843009213693952) (-.f64 x -1) (if (<=.f64 x 6034957691516229/309485009821345068724781056) (cos.f64 y) (-.f64 x -1)))
(if (<=.f64 y -3399999999999999990202105856) (-.f64 x -1) (if (<=.f64 y 1020000000000000041943040) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 -1 x)))
(if (<=.f64 x -8084020134467351/2787593149816327892691964784081045188247552) (-.f64 x -1) (if (<=.f64 x 2712535492840483/29484081443918291814387145163970850710288447034503440846689111720668938768688662906922865040450459121417721679927842538279457692421287442441886205089317937841010900992) (-.f64 1 (*.f64 y z)) (-.f64 x -1)))
(if (<=.f64 x -6279889847906223/1427247692705959881058285969449495136382746624) (-.f64 x -1) (if (<=.f64 x -8510815580529969/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 z (neg.f64 y)) (-.f64 x -1)))
(-.f64 x -1)
(+.f64 -1 x)
x
Compiler

Compiled 223 to 145 computations (35% saved)

soundness0.0ms (0%)

end83.0ms (0.5%)

Compiler

Compiled 190 to 97 computations (48.9% saved)

Profiling

Loading profile data...