Details

Time bar (total: 16.2s)

analyze227.0ms (1.4%)

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)

sample2.3s (14.1%)

Results
1.4s6187×body256valid
628.0ms1378×body1024valid
294.0ms689×body512valid
1.0msbody2048valid
Bogosity

preprocess171.0ms (1.1%)

Algorithm
egg-herbie
Rules
2560×rational.json-simplify-42
1726×rational.json-simplify-35
1368×rational.json-simplify-53
1012×rational.json-simplify-41
952×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024108
150108
289108
3141108
4219108
5365108
6805108
72073108
84650108
95558108
106550108
117417108
127720108
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 (+.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x)))
(+.f64 (+.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(+.f64 (+.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z)))
Outputs
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 z (cos.f64 y))))
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
(+.f64 (+.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x)))
(+.f64 y (+.f64 (sin.f64 x) (*.f64 z (cos.f64 x))))
(+.f64 (+.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(+.f64 (+.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))
(+.f64 (sin.f64 y) (+.f64 z (*.f64 x (cos.f64 y))))
(+.f64 (+.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z)))
(+.f64 (sin.f64 z) (+.f64 x (*.f64 y (cos.f64 z))))
(+.f64 x (+.f64 (sin.f64 z) (*.f64 y (cos.f64 z))))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify176.0ms (1.1%)

Algorithm
egg-herbie
Rules
2166×rational.json-simplify-35
1778×rational.json-simplify-1
1258×rational.json-simplify-26
910×rational.json-simplify-2
654×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
12027
23327
35127
48227
513827
629727
772227
8202227
9326127
10400427
11448027
12522727
13564127
14624527
15681627
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Outputs
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 z (cos.f64 y))))
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))

eval1.0ms (0%)

Compiler

Compiled 30 to 12 computations (60% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 8 computations (33.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 29 to 8 computations (72.4% saved)

series7.0ms (0%)

Counts
4 → 92
Calls

27 calls:

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

rewrite147.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
2006×bool.json-1
2006×bool.json-2
1044×rational.json-simplify-35
984×rational.json-1
984×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01160
111560
233460
374260
4168460
5368260
6741860
Stop Event
node limit
Counts
4 → 82
Calls
Call 1
Inputs
(*.f64 z (cos.f64 y))
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
(+.f64 x (*.f64 z (cos.f64 y)))
(sin.f64 y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (cos.f64 y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8)) (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (cos.f64 y)) (*.f64 z (cos.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2) (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 z (cos.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 z (cos.f64 y)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 z (cos.f64 y)) x) (+.f64 (*.f64 z (cos.f64 y)) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 z (cos.f64 y)) x) (+.f64 (*.f64 z (cos.f64 y)) x))))))
((#(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 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (neg.f64 (sin.f64 y))) -1)))) (#(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 (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 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 (sin.f64 y) 8) 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 (sin.f64 y) 8)) 16)))) (#(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 (sin.f64 y) 8)) (*.f64 2 (*.f64 (sin.f64 y) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.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))))))

simplify383.0ms (2.4%)

Algorithm
egg-herbie
Rules
1850×rational.json-simplify-2
1776×rational.json-simplify-35
1438×rational.json-simplify-1
802×rational.json-simplify-52
684×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02023176
14103176
210133176
323063176
430903176
535773176
644323176
750983176
856943176
958143176
1060413176
1164673176
Stop Event
node limit
Counts
174 → 150
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 z x)
(+.f64 y (+.f64 z x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
x
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
x
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
x
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
x
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
x
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 z x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) x))))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 (*.f64 (cos.f64 y) z) 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 (*.f64 z (cos.f64 y)) 0)
(+.f64 0 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(-.f64 (*.f64 z (cos.f64 y)) 0)
(/.f64 (*.f64 z (cos.f64 y)) 1)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 (*.f64 z (cos.f64 y)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8)) (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8))) 32)
(-.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 0)
(*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1)
(*.f64 1 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1/2))
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2) (*.f64 (sin.f64 y) 1/2)))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) 2)))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) (*.f64 (sin.f64 y) 2)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) 2) (+.f64 x x)))
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2)))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 4)
(/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8))) 32)
(-.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 0)
(*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1)
(*.f64 1 (+.f64 (*.f64 z (cos.f64 y)) x))
(*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) (*.f64 z 1/2))))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) (+.f64 z z))))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4))
(*.f64 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 4)
(/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1)
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8))) 32)
(+.f64 (sin.f64 y) 0)
(+.f64 0 (sin.f64 y))
(+.f64 -1 (-.f64 1 (neg.f64 (sin.f64 y))))
(+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2))
(+.f64 (-.f64 1 (neg.f64 (sin.f64 y))) -1)
(-.f64 (sin.f64 y) 0)
(-.f64 0 (neg.f64 (sin.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 y) 1)
(/.f64 (*.f64 (sin.f64 y) 2) 2)
(/.f64 (*.f64 (sin.f64 y) 4) 4)
(/.f64 (*.f64 (sin.f64 y) 8) 8)
(/.f64 (neg.f64 (sin.f64 y)) -1)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) 16)
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 2 (*.f64 (sin.f64 y) 8))) 32)
(neg.f64 (neg.f64 (sin.f64 y)))
Outputs
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 -1/2 (*.f64 z (pow.f64 y 2))))
(+.f64 z (*.f64 z (*.f64 (pow.f64 y 2) -1/2)))
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (*.f64 z (*.f64 (pow.f64 y 4) 1/24))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 (pow.f64 y 4) (*.f64 z 1/24))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 z (*.f64 z (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 -1/720 (*.f64 z (pow.f64 y 6))))))
(+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (+.f64 (+.f64 z (*.f64 z (*.f64 (pow.f64 y 4) 1/24))) (*.f64 z (*.f64 (pow.f64 y 6) -1/720))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 6) (*.f64 z -1/720)))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 z (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (*.f64 z (*.f64 -1/720 (pow.f64 y 6))))))
(+.f64 z x)
(+.f64 y (+.f64 z x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 y (+.f64 z x)))
(+.f64 y (+.f64 z (+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) x)))
(+.f64 z (+.f64 y (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) x)))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (+.f64 y (+.f64 z x)) (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 y (+.f64 (+.f64 z (+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) x)) (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 z (+.f64 (+.f64 y (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) x)) (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) x))))
(+.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) x))))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))
(+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
x
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
x
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (sin.f64 y) x)
(+.f64 x (sin.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
x
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
x
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
x
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 z x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z x))
(+.f64 z (+.f64 x (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) x))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) x))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 z x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) x)))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (+.f64 z x)))
(+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 4) 1/24)) (+.f64 z x)))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (+.f64 z x)))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (+.f64 z x)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) x))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (*.f64 -1/720 (*.f64 z (pow.f64 y 6))) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (+.f64 z x))))
(+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 6) -1/720)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 4) 1/24)) (+.f64 z x))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (+.f64 (*.f64 (pow.f64 y 6) (*.f64 z -1/720)) (+.f64 z x))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (+.f64 (*.f64 z (*.f64 -1/720 (pow.f64 y 6))) (+.f64 z x))))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) x)
(+.f64 x (*.f64 (cos.f64 y) z))
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 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7))) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (+.f64 y (*.f64 -1/6 (pow.f64 y 3))) (+.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 z (cos.f64 y)) 0)
(*.f64 (cos.f64 y) z)
(+.f64 0 (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(*.f64 (cos.f64 y) z)
(-.f64 (*.f64 z (cos.f64 y)) 0)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 z (cos.f64 y)) 1)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (*.f64 z (cos.f64 y)) 8) 8)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8)) 16)
(*.f64 (cos.f64 y) z)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8)) (*.f64 2 (*.f64 (*.f64 z (cos.f64 y)) 8))) 32)
(*.f64 (cos.f64 y) z)
(-.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 0)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 1 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1/2))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2) (*.f64 (sin.f64 y) 1/2)))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2)))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) 2)))
(*.f64 2 (+.f64 (*.f64 x 1/2) (/.f64 (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2) 1/2)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 1/4)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) (*.f64 (sin.f64 y) 2)))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) 2) (+.f64 x x)))
(*.f64 1/2 (+.f64 (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z))) (+.f64 x x)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2)))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1/2) 2)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4))
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 4)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(/.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 1)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 2) 2)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 4) 4)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8) 8)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8)) 16)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)) 8))) 32)
(+.f64 (+.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 x (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))
(-.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 0)
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1)
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 1 (+.f64 (*.f64 z (cos.f64 y)) x))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (cos.f64 y) (*.f64 z 1/2))))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 x 1/2)))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) 1/2)
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 4 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 1/4)
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (cos.f64 y) (+.f64 z z))))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (+.f64 x x)))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1/2) 2)
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4))
(+.f64 x (*.f64 (cos.f64 y) z))
(*.f64 (/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 4)
(+.f64 x (*.f64 (cos.f64 y) z))
(/.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 1)
(+.f64 x (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 2) 2)
(+.f64 x (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 4) 4)
(+.f64 x (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8) 8)
(+.f64 x (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8)) 16)
(+.f64 x (*.f64 (cos.f64 y) z))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8)) (*.f64 2 (*.f64 (+.f64 (*.f64 z (cos.f64 y)) x) 8))) 32)
(+.f64 x (*.f64 (cos.f64 y) z))
(+.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 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) 1/2))
(sin.f64 y)
(+.f64 (-.f64 1 (neg.f64 (sin.f64 y))) -1)
(sin.f64 y)
(-.f64 (sin.f64 y) 0)
(sin.f64 y)
(-.f64 0 (neg.f64 (sin.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 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 (sin.f64 y) 8) 8)
(sin.f64 y)
(/.f64 (neg.f64 (sin.f64 y)) -1)
(sin.f64 y)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) 16)
(sin.f64 y)
(/.f64 (+.f64 (neg.f64 (sin.f64 y)) (neg.f64 (sin.f64 y))) -2)
(sin.f64 y)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 2 (*.f64 (sin.f64 y) 8))) 32)
(sin.f64 y)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)

eval34.0ms (0.2%)

Compiler

Compiled 2283 to 1072 computations (53% saved)

prune27.0ms (0.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1428150
Fresh000
Picked011
Done000
Total1429151
Error
0.1b
Counts
151 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
25.7b
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))
0.1b
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
11.9b
(+.f64 (sin.f64 y) (+.f64 x z))
25.5b
(+.f64 (sin.f64 y) x)
23.8b
(+.f64 z x)
25.8b
(+.f64 y (+.f64 z x))
19.9b
(+.f64 y (+.f64 x (*.f64 z (cos.f64 y))))
0.1b
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z))))))
37.5b
x
Compiler

Compiled 154 to 105 computations (31.8% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 71 to 24 computations (66.2% saved)

series4.0ms (0%)

Counts
3 → 52
Calls

18 calls:

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

rewrite104.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1870×bool.json-1
1870×bool.json-2
1102×rational.json-simplify-35
1044×rational.json-simplify-2
1036×rational.json-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01455
114255
237455
378049
4174849
5386849
6746149
Stop Event
node limit
Counts
3 → 53
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) z)
(+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))))
(cos.f64 y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.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 -1 (-.f64 1 (neg.f64 (cos.f64 y))))))) (#(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 (neg.f64 (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 1 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 2) 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) 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 1/4 (*.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cos.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 (neg.f64 (cos.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 (neg.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 (+.f64 y (PI.f64))))))) (#(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))))))

simplify222.0ms (1.4%)

Algorithm
egg-herbie
Rules
2168×rational.json-simplify-1
1624×rational.json-simplify-35
1088×rational.json-simplify-2
930×rational.json-simplify-51
876×rational.json-simplify-26
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01532541
13382249
28352231
321832219
444612219
549342219
655722219
764452219
873182219
976902219
Stop Event
node limit
Counts
105 → 108
Calls
Call 1
Inputs
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 z) (*.f64 2 x))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (*.f64 2 x)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (pow.f64 y 3))))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (sin.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.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 (cos.f64 y) z) 0)
(+.f64 0 (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(-.f64 (*.f64 (cos.f64 y) z) 0)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))))) 32)
(-.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)
(*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(*.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(*.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1/2)
(*.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))
(*.f64 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)
(/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(/.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 2)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) 32)
(+.f64 (cos.f64 y) 0)
(+.f64 0 (cos.f64 y))
(+.f64 -1 (-.f64 1 (neg.f64 (cos.f64 y))))
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))
(-.f64 (cos.f64 y) 0)
(-.f64 0 (neg.f64 (cos.f64 y)))
(*.f64 (cos.f64 y) 1)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(*.f64 1 (cos.f64 y))
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(*.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 1/4 (*.f64 (cos.f64 y) 4))
(*.f64 (/.f64 (cos.f64 y) 4) 4)
(*.f64 (neg.f64 (cos.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 (neg.f64 (cos.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 (neg.f64 (cos.f64 y)))
(neg.f64 (cos.f64 (+.f64 y (PI.f64))))
Outputs
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 -1/2 (*.f64 z (pow.f64 y 2))))
(+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (*.f64 1/24 (*.f64 z (pow.f64 y 4)))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 (pow.f64 y 4) (*.f64 z 1/24))))
(+.f64 z (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 6) (*.f64 z -1/720)))))
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 z (+.f64 (*.f64 1/24 (*.f64 z (pow.f64 y 4))) (*.f64 -1/720 (*.f64 z (pow.f64 y 6))))))
(+.f64 (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 (pow.f64 y 4) (*.f64 z 1/24))) (+.f64 z (*.f64 (pow.f64 y 6) (*.f64 z -1/720))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 z (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 x))
(+.f64 (*.f64 2 x) (*.f64 z 2))
(*.f64 2 (+.f64 z x))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (*.f64 2 x)))
(+.f64 (*.f64 z 2) (+.f64 (*.f64 2 x) (*.f64 y 2)))
(+.f64 (*.f64 z 2) (*.f64 2 (+.f64 y x)))
(*.f64 2 (+.f64 y (+.f64 z x)))
(*.f64 2 (+.f64 x (+.f64 z y)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 z 2) (+.f64 (*.f64 2 x) (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1)) (*.f64 y 2))))
(+.f64 (*.f64 z 2) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 2 (+.f64 y x))))
(+.f64 (*.f64 z (neg.f64 (pow.f64 y 2))) (*.f64 2 (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 2 (+.f64 y x)) (*.f64 z (+.f64 2 (neg.f64 (pow.f64 y 2)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (pow.f64 y 3))))))
(+.f64 (*.f64 z 2) (+.f64 (*.f64 2 x) (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1)) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 y 2))))
(+.f64 (*.f64 z 2) (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 y x))))
(+.f64 (+.f64 (*.f64 z (neg.f64 (pow.f64 y 2))) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 2 (+.f64 x (+.f64 z y))) (+.f64 (*.f64 z (neg.f64 (pow.f64 y 2))) (*.f64 -1/3 (pow.f64 y 3))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (sin.f64 y)))
(*.f64 2 (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 z (*.f64 2 (cos.f64 y)))
(*.f64 (cos.f64 y) (+.f64 z z))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 z (*.f64 2 (cos.f64 y)))
(*.f64 (cos.f64 y) (+.f64 z z))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
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/2 (pow.f64 y 2)) (+.f64 1 (*.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/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 z (cos.f64 y))
(+.f64 0 (*.f64 (cos.f64 y) z))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(*.f64 z (cos.f64 y))
(-.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)
(*.f64 z (cos.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))))) 32)
(*.f64 z (cos.f64 y))
(-.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1/2)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/4)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 1/2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(*.f64 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 4)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))) 8)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) 16)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) 32)
(+.f64 (*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 z (cos.f64 y)) (+.f64 (sin.f64 y) x)))
(+.f64 (cos.f64 y) 0)
(cos.f64 y)
(+.f64 0 (cos.f64 y))
(cos.f64 y)
(+.f64 -1 (-.f64 1 (neg.f64 (cos.f64 y))))
(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 (neg.f64 (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 1 (cos.f64 y))
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(cos.f64 y)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(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 1/4 (*.f64 (cos.f64 y) 4))
(cos.f64 y)
(*.f64 (/.f64 (cos.f64 y) 4) 4)
(cos.f64 y)
(*.f64 (neg.f64 (cos.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 (neg.f64 (cos.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 (neg.f64 (cos.f64 y)))
(cos.f64 y)
(neg.f64 (cos.f64 (+.f64 y (PI.f64))))
(cos.f64 y)

localize3.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize5.0ms (0%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 y)
0.0b
(+.f64 (sin.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 (sin.f64 y) x)
0.0ms
y
@inf
(+.f64 (sin.f64 y) x)
0.0ms
x
@-inf
(+.f64 (sin.f64 y) x)
0.0ms
y
@-inf
(+.f64 (sin.f64 y) x)
0.0ms
x
@inf
(+.f64 (sin.f64 y) x)

rewrite72.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1536×bool.json-1
1536×bool.json-2
1494×rational.json-1
1494×rational.json-2
1494×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
17311
222411
348011
4102411
5229611
6535111
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (sin.f64 y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sin.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sin.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (sin.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sin.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (sin.f64 y) x) (+.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (sin.f64 y) x) (+.f64 (sin.f64 y) x))))))

simplify190.0ms (1.2%)

Algorithm
egg-herbie
Rules
2360×rational.json-simplify-1
1498×rational.json-simplify-52
1074×rational.json-simplify-48
1020×rational.json-simplify-41
974×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
069372
1136372
2339372
3737372
41141372
52571372
62966372
73117372
83520372
94389372
104812372
116039372
126507372
137121372
Stop Event
node limit
Counts
30 → 37
Calls
Call 1
Inputs
x
(+.f64 y x)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) x)))
(sin.f64 y)
x
x
(-.f64 (+.f64 (sin.f64 y) x) 0)
(*.f64 (+.f64 (sin.f64 y) x) 1)
(*.f64 1 (+.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 1/2))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) 1/2)))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (sin.f64 y) x) 4))
(*.f64 4 (*.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 1/2))
(*.f64 4 (*.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 1))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (sin.f64 y) x) 2))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (sin.f64 y) 2)))
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (sin.f64 y) x) 4))
(*.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 4)
(/.f64 (+.f64 (sin.f64 y) x) 1)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 2)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 4)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8))) 32)
Outputs
x
(+.f64 y x)
(+.f64 x y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (+.f64 x y) (*.f64 -1/6 (pow.f64 y 3)))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) x)))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 x (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 5)) y)))
(+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 x (*.f64 -1/6 (pow.f64 y 3)))))
(+.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(sin.f64 y)
x
x
(-.f64 (+.f64 (sin.f64 y) x) 0)
(+.f64 x (sin.f64 y))
(*.f64 (+.f64 (sin.f64 y) x) 1)
(+.f64 x (sin.f64 y))
(*.f64 1 (+.f64 (sin.f64 y) x))
(+.f64 x (sin.f64 y))
(*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 1/2))
(+.f64 x (sin.f64 y))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) 1/2)))
(+.f64 x (sin.f64 y))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x 1/2)))
(+.f64 x (sin.f64 y))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 1/2)
(+.f64 x (sin.f64 y))
(*.f64 4 (/.f64 (+.f64 (sin.f64 y) x) 4))
(+.f64 x (sin.f64 y))
(*.f64 4 (*.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 1/2))
(+.f64 x (sin.f64 y))
(*.f64 4 (*.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 1))
(+.f64 x (sin.f64 y))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 1/4)
(+.f64 x (sin.f64 y))
(*.f64 1/2 (*.f64 (+.f64 (sin.f64 y) x) 2))
(+.f64 x (sin.f64 y))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (sin.f64 y) 2)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (sin.f64 y) 2))))
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (+.f64 x x)))
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (sin.f64 y) 2))))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 2)
(+.f64 x (sin.f64 y))
(*.f64 1/4 (*.f64 (+.f64 (sin.f64 y) x) 4))
(+.f64 x (sin.f64 y))
(*.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 4)
(+.f64 x (sin.f64 y))
(/.f64 (+.f64 (sin.f64 y) x) 1)
(+.f64 x (sin.f64 y))
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 2)
(+.f64 x (sin.f64 y))
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 4)
(+.f64 x (sin.f64 y))
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 8) 8)
(+.f64 x (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) 16)
(+.f64 x (sin.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8))) 32)
(+.f64 x (sin.f64 y))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 y)
0.0b
(+.f64 (sin.f64 y) (+.f64 x z))
Compiler

Compiled 17 to 6 computations (64.7% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite84.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1904×bool.json-1
1904×bool.json-2
1060×rational.json-1
1060×rational.json-2
1060×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
19417
227917
360717
4136317
5330217
6719117
Stop Event
node limit
Counts
1 → 17
Calls
Call 1
Inputs
(+.f64 (sin.f64 y) (+.f64 x z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sin.f64 y) (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (sin.f64 y) (+.f64 x z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (sin.f64 y) (+.f64 x z)) (+.f64 (sin.f64 y) (+.f64 x z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (sin.f64 y) (+.f64 x z)) (+.f64 (sin.f64 y) (+.f64 x z)))))))

simplify224.0ms (1.4%)

Algorithm
egg-herbie
Rules
1888×rational.json-simplify-1
1440×rational.json-simplify-52
1146×rational.json-simplify-35
950×rational.json-simplify-2
886×rational.json-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059857
1122857
2318857
3694857
41671857
52550857
62866857
73002857
83430857
94249857
104664857
114906857
125303857
135740857
146237857
157488857
Stop Event
node limit
Counts
53 → 39
Calls
Call 1
Inputs
(+.f64 z x)
(+.f64 y (+.f64 z x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 z x))))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (sin.f64 y))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
x
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
x
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 (sin.f64 y) x)
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
z
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
z
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 (sin.f64 y) x))
(-.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 0)
(*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1)
(*.f64 1 (+.f64 (sin.f64 y) (+.f64 x z)))
(*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1/2))
(*.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))
(*.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2))
(*.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))
(*.f64 (/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 4)
(/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1)
(/.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2) 2)
(/.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4)))) 32)
Outputs
(+.f64 z x)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 x y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 z x)))
(+.f64 (+.f64 z (+.f64 x y)) (*.f64 -1/6 (pow.f64 y 3)))
(+.f64 (+.f64 z x) (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y))
(+.f64 x (+.f64 (+.f64 z y) (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (+.f64 x y) (+.f64 z (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 z (+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 z x))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 z (+.f64 x (*.f64 1/120 (pow.f64 y 5))))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (+.f64 z x) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y)))
(+.f64 (+.f64 z x) (+.f64 (+.f64 y (*.f64 1/120 (pow.f64 y 5))) (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 x (*.f64 1/120 (pow.f64 y 5))))))
(+.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (sin.f64 y))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
x
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
x
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 (sin.f64 y) x)
(+.f64 x (sin.f64 y))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
z
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
z
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(+.f64 z (+.f64 (sin.f64 y) x))
(+.f64 z (+.f64 x (sin.f64 y)))
(-.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 0)
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1)
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 1 (+.f64 (sin.f64 y) (+.f64 x z)))
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1/2))
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2) 1/2)
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 4 (/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 1/4)
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 1/2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2))
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1/2) 2)
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 1/4 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))
(+.f64 z (+.f64 x (sin.f64 y)))
(*.f64 (/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 4)
(+.f64 z (+.f64 x (sin.f64 y)))
(/.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 1)
(+.f64 z (+.f64 x (sin.f64 y)))
(/.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 2) 2)
(+.f64 z (+.f64 x (sin.f64 y)))
(/.f64 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4) 4)
(+.f64 z (+.f64 x (sin.f64 y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4)) 8)
(+.f64 z (+.f64 x (sin.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))) 16)
(+.f64 z (+.f64 x (sin.f64 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) (+.f64 x z)) 4)))) 32)
(+.f64 z (+.f64 x (sin.f64 y)))

eval71.0ms (0.4%)

Compiler

Compiled 4442 to 2610 computations (41.2% saved)

prune56.0ms (0.3%)

Pruning

16 alts after pruning (12 fresh and 4 done)

PrunedKeptTotal
New2929301
Fresh033
Picked101
Done145
Total29416310
Error
0.0b
Counts
310 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
28.8b
(+.f64 (+.f64 (-.f64 1 (neg.f64 (sin.f64 y))) -1) x)
25.7b
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))
0.1b
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
25.5b
(+.f64 (sin.f64 y) x)
37.4b
(+.f64 z (sin.f64 y))
23.8b
(+.f64 z x)
25.8b
(+.f64 y (+.f64 z x))
19.9b
(+.f64 y (+.f64 x (*.f64 z (cos.f64 y))))
45.0b
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
38.9b
(+.f64 y x)
25.5b
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 (sin.f64 y) 2))))
0.2b
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (+.f64 -1 (-.f64 1 (neg.f64 (cos.f64 y)))) z))))))
37.3b
(*.f64 1/2 (*.f64 (cos.f64 y) (+.f64 z z)))
50.8b
(sin.f64 y)
48.7b
z
37.5b
x
Compiler

Compiled 261 to 192 computations (26.4% saved)

localize38.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 118 to 66 computations (44.1% saved)

series4.0ms (0%)

Counts
4 → 84
Calls

21 calls:

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

rewrite87.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1374×bool.json-1
1374×bool.json-2
1330×rational.json-1
1330×rational.json-2
1330×rational.json-4
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
019118
1197102
249696
3104460
4236160
5509560
Stop Event
node limit
Counts
4 → 79
Calls
Call 1
Inputs
(-.f64 1 (neg.f64 (cos.f64 y)))
(+.f64 -1 (-.f64 1 (neg.f64 (cos.f64 y))))
(*.f64 (+.f64 -1 (-.f64 1 (neg.f64 (cos.f64 y)))) z)
(+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (+.f64 -1 (-.f64 1 (neg.f64 (cos.f64 y)))) z)))))
Outputs
((#(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 (+.f64 1 (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (cos.f64 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (cos.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 -1 (cos.f64 y)) -2) (/.f64 (-.f64 -1 (cos.f64 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (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 -1 (-.f64 -1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 -1 (cos.f64 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (cos.f64 y)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 1 (cos.f64 y)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (cos.f64 y)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 1 (cos.f64 y)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 -1 (cos.f64 y)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (cos.f64 y)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (cos.f64 y)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 y)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -1 (cos.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 y)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 -1 (cos.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 -1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 1 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 1 (cos.f64 y)) (+.f64 1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 1 (cos.f64 y)) (+.f64 1 (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 (cos.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 -1 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) -1) -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 (neg.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 (*.f64 (cos.f64 y) 2) 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) 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 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.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 neg.f64 (neg.f64 (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 y)))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (neg.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 (PI.f64) (-.f64 y (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64))))))) (#(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))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))))

simplify230.0ms (1.4%)

Algorithm
egg-herbie
Rules
1818×rational.json-simplify-35
1396×rational.json-simplify-52
1214×rational.json-simplify-2
1012×rational.json-simplify-51
968×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01933171
14372885
29762867
326462855
448652855
557762855
665472855
772732855
877502855
Stop Event
node limit
Counts
163 → 143
Calls
Call 1
Inputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.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 1/24 (pow.f64 y 4)))))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.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)))))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 z) (*.f64 2 x))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (*.f64 2 x)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (pow.f64 y 3))))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (sin.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 1 (cos.f64 y))
(+.f64 (cos.f64 y) 1)
(+.f64 (+.f64 1 (cos.f64 y)) 0)
(+.f64 -1 (-.f64 (cos.f64 y) -2))
(+.f64 2 (+.f64 (cos.f64 y) -1))
(+.f64 0 (+.f64 1 (cos.f64 y)))
(+.f64 (+.f64 (cos.f64 y) -1) 2)
(+.f64 (-.f64 (cos.f64 y) -2) -1)
(+.f64 (/.f64 (-.f64 -1 (cos.f64 y)) -2) (/.f64 (-.f64 -1 (cos.f64 y)) -2))
(*.f64 1 (+.f64 1 (cos.f64 y)))
(*.f64 (+.f64 1 (cos.f64 y)) 1)
(*.f64 -1 (-.f64 -1 (cos.f64 y)))
(*.f64 2 (/.f64 (-.f64 -1 (cos.f64 y)) -2))
(*.f64 (*.f64 (+.f64 1 (cos.f64 y)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 1 (cos.f64 y)) 4))
(*.f64 (-.f64 -1 (cos.f64 y)) -1)
(*.f64 (*.f64 (+.f64 1 (cos.f64 y)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 1 (cos.f64 y)) 2))
(*.f64 (/.f64 (-.f64 -1 (cos.f64 y)) -2) 2)
(/.f64 (+.f64 1 (cos.f64 y)) 1)
(/.f64 (*.f64 (+.f64 1 (cos.f64 y)) 2) 2)
(/.f64 (-.f64 -1 (cos.f64 y)) -1)
(/.f64 (*.f64 (+.f64 1 (cos.f64 y)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 y)) 4)) 8)
(/.f64 (*.f64 2 (-.f64 -1 (cos.f64 y))) -2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 y)) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (cos.f64 y)))) 2)
(neg.f64 (-.f64 -1 (cos.f64 y)))
(-.f64 1 (-.f64 1 (cos.f64 y)))
(-.f64 (cos.f64 y) 0)
(-.f64 (+.f64 1 (cos.f64 y)) 1)
(-.f64 -1 (-.f64 -1 (cos.f64 y)))
(-.f64 0 (neg.f64 (cos.f64 y)))
(-.f64 (+.f64 (cos.f64 y) -1) -1)
(*.f64 1 (cos.f64 y))
(*.f64 (cos.f64 y) 1)
(*.f64 (neg.f64 (cos.f64 y)) -1)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(*.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 y) 1)
(/.f64 (neg.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)
(neg.f64 (neg.f64 (cos.f64 y)))
(cos.f64 y)
(cos.f64 (neg.f64 y))
(cos.f64 (-.f64 (PI.f64) (-.f64 y (PI.f64))))
(cos.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64))))
(+.f64 (*.f64 (cos.f64 y) z) 0)
(+.f64 0 (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(-.f64 (*.f64 (cos.f64 y) z) 0)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)
(-.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)
(*.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 1))
(*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(*.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))
(*.f64 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/2)
(*.f64 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))
(*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 1) 2)
(/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(/.f64 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 2)
(/.f64 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))) 16)
Outputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 2 (*.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 1/24 (pow.f64 y 4)))))
(+.f64 2 (+.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 2 (*.f64 1/24 (pow.f64 y 4))) (*.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)) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)
(+.f64 1 (+.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)) 1))
(+.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/720 (pow.f64 y 6)) (+.f64 (*.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 (*.f64 1/24 (pow.f64 y 4)) 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)) 1)))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 z (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 (pow.f64 y 4) (*.f64 1/24 z))))
(+.f64 z (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) (*.f64 (pow.f64 y 6) (*.f64 z -1/720)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)))))
(+.f64 z (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 (pow.f64 y 4) (*.f64 1/24 z)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))))
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 x))
(+.f64 (*.f64 2 x) (*.f64 2 z))
(*.f64 2 (+.f64 z x))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (*.f64 2 x)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 x) (*.f64 2 y)))
(+.f64 (*.f64 2 z) (*.f64 2 (+.f64 x y)))
(*.f64 2 (+.f64 y (+.f64 z x)))
(*.f64 2 (+.f64 z (+.f64 y x)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 2 y) (+.f64 (+.f64 (*.f64 2 x) (*.f64 (pow.f64 y 2) (*.f64 z -1))) (*.f64 2 z)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 2 (+.f64 x y))))
(+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 2 (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 2 (+.f64 y (+.f64 z x))) (*.f64 (pow.f64 y 2) (neg.f64 z)))
(+.f64 (*.f64 2 (+.f64 z (+.f64 y x))) (*.f64 (pow.f64 y 2) (neg.f64 z)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (pow.f64 y 3))))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 x) (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1)) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 y))))
(+.f64 (*.f64 2 z) (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 x y))))
(+.f64 (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 2 (+.f64 y (+.f64 z x))) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))))
(+.f64 (*.f64 2 (+.f64 z (+.f64 y x))) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (sin.f64 y)))
(*.f64 2 (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 z (*.f64 2 (cos.f64 y)))
(*.f64 2 (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) (+.f64 z z))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 z (*.f64 2 (cos.f64 y)))
(*.f64 2 (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) (+.f64 z z))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(+.f64 1 (cos.f64 y))
(+.f64 (cos.f64 y) 1)
(+.f64 1 (cos.f64 y))
(+.f64 (+.f64 1 (cos.f64 y)) 0)
(+.f64 1 (cos.f64 y))
(+.f64 -1 (-.f64 (cos.f64 y) -2))
(+.f64 1 (cos.f64 y))
(+.f64 2 (+.f64 (cos.f64 y) -1))
(+.f64 1 (cos.f64 y))
(+.f64 0 (+.f64 1 (cos.f64 y)))
(+.f64 1 (cos.f64 y))
(+.f64 (+.f64 (cos.f64 y) -1) 2)
(+.f64 1 (cos.f64 y))
(+.f64 (-.f64 (cos.f64 y) -2) -1)
(+.f64 1 (cos.f64 y))
(+.f64 (/.f64 (-.f64 -1 (cos.f64 y)) -2) (/.f64 (-.f64 -1 (cos.f64 y)) -2))
(+.f64 1 (cos.f64 y))
(*.f64 1 (+.f64 1 (cos.f64 y)))
(+.f64 1 (cos.f64 y))
(*.f64 (+.f64 1 (cos.f64 y)) 1)
(+.f64 1 (cos.f64 y))
(*.f64 -1 (-.f64 -1 (cos.f64 y)))
(+.f64 1 (cos.f64 y))
(*.f64 2 (/.f64 (-.f64 -1 (cos.f64 y)) -2))
(+.f64 1 (cos.f64 y))
(*.f64 (*.f64 (+.f64 1 (cos.f64 y)) 2) 1/2)
(+.f64 1 (cos.f64 y))
(*.f64 4 (/.f64 (+.f64 1 (cos.f64 y)) 4))
(+.f64 1 (cos.f64 y))
(*.f64 (-.f64 -1 (cos.f64 y)) -1)
(+.f64 1 (cos.f64 y))
(*.f64 (*.f64 (+.f64 1 (cos.f64 y)) 4) 1/4)
(+.f64 1 (cos.f64 y))
(*.f64 1/2 (*.f64 (+.f64 1 (cos.f64 y)) 2))
(+.f64 1 (cos.f64 y))
(*.f64 (/.f64 (-.f64 -1 (cos.f64 y)) -2) 2)
(+.f64 1 (cos.f64 y))
(/.f64 (+.f64 1 (cos.f64 y)) 1)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 (+.f64 1 (cos.f64 y)) 2) 2)
(+.f64 1 (cos.f64 y))
(/.f64 (-.f64 -1 (cos.f64 y)) -1)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 (+.f64 1 (cos.f64 y)) 4) 4)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 y)) 4)) 8)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 2 (-.f64 -1 (cos.f64 y))) -2)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 1 (cos.f64 y)) 4))) 16)
(+.f64 1 (cos.f64 y))
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (cos.f64 y)))) 2)
(+.f64 1 (cos.f64 y))
(neg.f64 (-.f64 -1 (cos.f64 y)))
(+.f64 1 (cos.f64 y))
(-.f64 1 (-.f64 1 (cos.f64 y)))
(cos.f64 y)
(-.f64 (cos.f64 y) 0)
(cos.f64 y)
(-.f64 (+.f64 1 (cos.f64 y)) 1)
(cos.f64 y)
(-.f64 -1 (-.f64 -1 (cos.f64 y)))
(cos.f64 y)
(-.f64 0 (neg.f64 (cos.f64 y)))
(cos.f64 y)
(-.f64 (+.f64 (cos.f64 y) -1) -1)
(cos.f64 y)
(*.f64 1 (cos.f64 y))
(cos.f64 y)
(*.f64 (cos.f64 y) 1)
(cos.f64 y)
(*.f64 (neg.f64 (cos.f64 y)) -1)
(cos.f64 y)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(cos.f64 y)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(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 y) 1)
(cos.f64 y)
(/.f64 (neg.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)
(neg.f64 (neg.f64 (cos.f64 y)))
(cos.f64 y)
(cos.f64 y)
(cos.f64 (neg.f64 y))
(cos.f64 y)
(cos.f64 (-.f64 (PI.f64) (-.f64 y (PI.f64))))
(cos.f64 y)
(cos.f64 (-.f64 (PI.f64) (-.f64 (neg.f64 y) (PI.f64))))
(cos.f64 y)
(+.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 (cos.f64 y) z)
(+.f64 0 (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(*.f64 (cos.f64 y) z)
(-.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)
(*.f64 (cos.f64 y) z)
(-.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 1))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 1/4)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 1/2 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 (*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 1) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4)) 8)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))) 16)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))

localize3.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 y)
Compiler

Compiled 11 to 5 computations (54.5% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 26 to 7 computations (73.1% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 33 to 18 computations (45.5% saved)

series2.0ms (0%)

Counts
3 → 48
Calls

12 calls:

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

rewrite75.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1120×bool.json-1
1120×bool.json-2
1118×rational.json-simplify-35
1078×rational.json-1
1078×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01263
113147
237327
383527
4186727
5414827
Stop Event
node limit
Counts
3 → 114
Calls
Call 1
Inputs
(+.f64 (-.f64 1 (neg.f64 (sin.f64 y))) -1)
(-.f64 1 (neg.f64 (sin.f64 y)))
(+.f64 (+.f64 (-.f64 1 (neg.f64 (sin.f64 y))) -1) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (sin.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 (-.f64 -1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 2 (-.f64 2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -2 (-.f64 -2 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 y) -1) -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) 1/2) (*.f64 (sin.f64 y) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 3 (neg.f64 (sin.f64 y))) 3)))) (#(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 (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 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 -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 (*.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 1/2 (neg.f64 (*.f64 (sin.f64 y) -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) 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) -1/2) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sin.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (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 (*.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 (sin.f64 y) 8) 8)))) (#(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) 8)) 16)))) (#(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) 8)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 y) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 2 (*.f64 (sin.f64 y) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 8)) (neg.f64 (*.f64 (sin.f64 y) 8))) -16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (neg.f64 (*.f64 (sin.f64 y) -2))) 4)))) (#(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 (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8)) (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 y)))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (PI.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 (-.f64 y (PI.f64)) (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (+.f64 y (PI.f64)) (neg.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 (-.f64 (PI.f64) (-.f64 (-.f64 y (PI.f64)) (PI.f64))))))) (#(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 (sin.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (sin.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 1 (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (sin.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (sin.f64 y) -1) 2)))) (#(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 (+.f64 1 (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 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2))))) (#(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 4 (/.f64 (+.f64 1 (sin.f64 y)) 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)) 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 (+.f64 1 (sin.f64 y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 -1 (sin.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 (sin.f64 y)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y)))) (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y))))) 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 (sin.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 y) (+.f64 1 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (+.f64 (sin.f64 y) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sin.f64 y) (+.f64 -1 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sin.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (sin.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (sin.f64 y) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (sin.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x x) (neg.f64 (*.f64 (sin.f64 y) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (sin.f64 y) x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (sin.f64 y) x) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (sin.f64 y) x) (+.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (sin.f64 y) x) (+.f64 (sin.f64 y) x))))))

simplify212.0ms (1.3%)

Algorithm
egg-herbie
Rules
1796×rational.json-simplify-35
1050×rational.json-simplify-1
898×rational.json-simplify-2
888×rational.json-simplify-8
856×trig.json-simplify-16
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02331560
14841560
213751560
332561560
442771560
549981560
657201560
762501560
868321560
979381560
Stop Event
node limit
Counts
162 → 139
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)))))
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 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 y))
(+.f64 1 (sin.f64 y))
(+.f64 1 (sin.f64 y))
(+.f64 1 (sin.f64 y))
(+.f64 1 (sin.f64 y))
(+.f64 1 (sin.f64 y))
(+.f64 1 (sin.f64 y))
(+.f64 1 (sin.f64 y))
x
(+.f64 y x)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) x)))
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(sin.f64 y)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
x
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
x
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(-.f64 1 (-.f64 1 (sin.f64 y)))
(-.f64 (sin.f64 y) 0)
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(-.f64 -1 (-.f64 -1 (sin.f64 y)))
(-.f64 0 (neg.f64 (sin.f64 y)))
(-.f64 2 (-.f64 2 (sin.f64 y)))
(-.f64 -2 (-.f64 -2 (sin.f64 y)))
(-.f64 (+.f64 (sin.f64 y) -1) -1)
(-.f64 (+.f64 (sin.f64 y) 2) 2)
(-.f64 (+.f64 (sin.f64 y) -2) -2)
(-.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) -1/2))
(-.f64 (-.f64 3 (neg.f64 (sin.f64 y))) 3)
(*.f64 1 (sin.f64 y))
(*.f64 (sin.f64 y) 1)
(*.f64 (neg.f64 (sin.f64 y)) -1)
(*.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 -2 (*.f64 (sin.f64 y) -1/2))
(*.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 1/2 (neg.f64 (*.f64 (sin.f64 y) -2)))
(*.f64 -1/2 (*.f64 (sin.f64 y) -2))
(*.f64 (*.f64 (sin.f64 y) 1/2) 2)
(*.f64 1/4 (*.f64 (sin.f64 y) 4))
(*.f64 (*.f64 (sin.f64 y) -1/2) -2)
(*.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) 1/2)
(*.f64 (/.f64 (sin.f64 y) 4) 4)
(/.f64 (sin.f64 y) 1)
(/.f64 (neg.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 (sin.f64 y) 8) 8)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) -8)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) 16)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) -16)
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 8)) -8)
(/.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) 2)
(/.f64 (neg.f64 (*.f64 (sin.f64 y) -4)) 4)
(/.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 2 (*.f64 (sin.f64 y) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 8)) (neg.f64 (*.f64 (sin.f64 y) 8))) -16)
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (neg.f64 (*.f64 (sin.f64 y) -2))) 4)
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) -4)) (neg.f64 (*.f64 (sin.f64 y) -4))) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8)) (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8))) 16)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(sin.f64 (-.f64 (PI.f64) y))
(sin.f64 (-.f64 (neg.f64 y) (PI.f64)))
(sin.f64 (-.f64 (-.f64 y (PI.f64)) (PI.f64)))
(sin.f64 (-.f64 (+.f64 y (PI.f64)) (neg.f64 (PI.f64))))
(sin.f64 (-.f64 (PI.f64) (-.f64 (-.f64 y (PI.f64)) (PI.f64))))
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 (+.f64 1 (sin.f64 y)) 0)
(+.f64 -1 (+.f64 (sin.f64 y) 2))
(+.f64 0 (+.f64 1 (sin.f64 y)))
(+.f64 2 (+.f64 (sin.f64 y) -1))
(+.f64 (+.f64 (sin.f64 y) -1) 2)
(+.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 (+.f64 1 (sin.f64 y)) 1)
(*.f64 -1 (-.f64 -1 (sin.f64 y)))
(*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2))
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4))
(*.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 (+.f64 1 (sin.f64 y)) 8) 8)
(/.f64 (*.f64 2 (-.f64 -1 (sin.f64 y))) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8)) 16)
(/.f64 (*.f64 (-.f64 -1 (sin.f64 y)) 4) -4)
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y)))) (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y))))) 4)
(neg.f64 (-.f64 -1 (sin.f64 y)))
(-.f64 (+.f64 (sin.f64 y) x) 0)
(-.f64 (+.f64 (sin.f64 y) (+.f64 1 x)) 1)
(-.f64 (+.f64 -1 (+.f64 (sin.f64 y) x)) -1)
(-.f64 (+.f64 (sin.f64 y) (+.f64 -1 x)) -1)
(*.f64 1 (+.f64 (sin.f64 y) x))
(*.f64 (+.f64 (sin.f64 y) x) 1)
(*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 1/2))
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) 1/2)))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x 1/2)))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (sin.f64 y) x) 4))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (sin.f64 y) x) 2))
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (sin.f64 y) 2)))
(*.f64 1/2 (+.f64 (+.f64 x x) (neg.f64 (*.f64 (sin.f64 y) -2))))
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (sin.f64 y) x) 4))
(*.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 4)
(/.f64 (+.f64 (sin.f64 y) x) 1)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 2)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 4)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8))) 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 (*.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)))))
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(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 y (+.f64 1 (*.f64 -1/6 (pow.f64 y 3))))
(+.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 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y 1)))
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
x
(+.f64 y x)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (+.f64 (*.f64 1/120 (pow.f64 y 5)) x)))
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(sin.f64 y)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
x
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
x
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(+.f64 (sin.f64 y) x)
(-.f64 1 (-.f64 1 (sin.f64 y)))
(sin.f64 y)
(-.f64 (sin.f64 y) 0)
(sin.f64 y)
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(sin.f64 y)
(-.f64 -1 (-.f64 -1 (sin.f64 y)))
(sin.f64 y)
(-.f64 0 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 2 (-.f64 2 (sin.f64 y)))
(sin.f64 y)
(-.f64 -2 (-.f64 -2 (sin.f64 y)))
(sin.f64 y)
(-.f64 (+.f64 (sin.f64 y) -1) -1)
(sin.f64 y)
(-.f64 (+.f64 (sin.f64 y) 2) 2)
(sin.f64 y)
(-.f64 (+.f64 (sin.f64 y) -2) -2)
(sin.f64 y)
(-.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 (sin.f64 y) -1/2))
(sin.f64 y)
(-.f64 (-.f64 3 (neg.f64 (sin.f64 y))) 3)
(sin.f64 y)
(*.f64 1 (sin.f64 y))
(sin.f64 y)
(*.f64 (sin.f64 y) 1)
(sin.f64 y)
(*.f64 (neg.f64 (sin.f64 y)) -1)
(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 -2 (*.f64 (sin.f64 y) -1/2))
(sin.f64 y)
(*.f64 (*.f64 (sin.f64 y) -2) -1/2)
(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 1/2 (neg.f64 (*.f64 (sin.f64 y) -2)))
(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 1/4 (*.f64 (sin.f64 y) 4))
(sin.f64 y)
(*.f64 (*.f64 (sin.f64 y) -1/2) -2)
(sin.f64 y)
(*.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) 1/2)
(sin.f64 y)
(*.f64 (/.f64 (sin.f64 y) 4) 4)
(sin.f64 y)
(/.f64 (sin.f64 y) 1)
(sin.f64 y)
(/.f64 (neg.f64 (sin.f64 y)) -1)
(sin.f64 y)
(/.f64 (*.f64 (sin.f64 y) 2) 2)
(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 (sin.f64 y) -4) -4)
(sin.f64 y)
(/.f64 (*.f64 (sin.f64 y) 8) 8)
(sin.f64 y)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) 8) -8)
(sin.f64 y)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) 16)
(sin.f64 y)
(/.f64 (*.f64 2 (*.f64 (neg.f64 (sin.f64 y)) 8)) -16)
(sin.f64 y)
(/.f64 (neg.f64 (*.f64 (sin.f64 y) 8)) -8)
(sin.f64 y)
(/.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) 2)
(sin.f64 y)
(/.f64 (neg.f64 (*.f64 (sin.f64 y) -4)) 4)
(sin.f64 y)
(/.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8)) 8)
(sin.f64 y)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sin.f64 y) 8)) (*.f64 2 (*.f64 (sin.f64 y) 8))) 32)
(sin.f64 y)
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) 8)) (neg.f64 (*.f64 (sin.f64 y) 8))) -16)
(sin.f64 y)
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) -2)) (neg.f64 (*.f64 (sin.f64 y) -2))) 4)
(sin.f64 y)
(/.f64 (+.f64 (neg.f64 (*.f64 (sin.f64 y) -4)) (neg.f64 (*.f64 (sin.f64 y) -4))) 8)
(sin.f64 y)
(/.f64 (+.f64 (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8)) (neg.f64 (*.f64 (neg.f64 (sin.f64 y)) 8))) 16)
(sin.f64 y)
(neg.f64 (neg.f64 (sin.f64 y)))
(sin.f64 y)
(sin.f64 y)
(sin.f64 (-.f64 (PI.f64) y))
(sin.f64 y)
(sin.f64 (-.f64 (neg.f64 y) (PI.f64)))
(sin.f64 (-.f64 (neg.f64 (PI.f64)) y))
(neg.f64 (sin.f64 (+.f64 y (PI.f64))))
(sin.f64 (-.f64 (-.f64 y (PI.f64)) (PI.f64)))
(sin.f64 (-.f64 (+.f64 y (PI.f64)) (neg.f64 (PI.f64))))
(sin.f64 (-.f64 (neg.f64 y) (PI.f64)))
(sin.f64 (-.f64 (neg.f64 (PI.f64)) y))
(neg.f64 (sin.f64 (+.f64 y (PI.f64))))
(sin.f64 (-.f64 (PI.f64) (-.f64 (-.f64 y (PI.f64)) (PI.f64))))
(sin.f64 (-.f64 (-.f64 y (PI.f64)) (PI.f64)))
(+.f64 1 (sin.f64 y))
(+.f64 (sin.f64 y) 1)
(+.f64 (sin.f64 y) 1)
(+.f64 (+.f64 1 (sin.f64 y)) 0)
(+.f64 (sin.f64 y) 1)
(+.f64 -1 (+.f64 (sin.f64 y) 2))
(+.f64 (sin.f64 y) 1)
(+.f64 0 (+.f64 1 (sin.f64 y)))
(+.f64 (sin.f64 y) 1)
(+.f64 2 (+.f64 (sin.f64 y) -1))
(+.f64 (sin.f64 y) 1)
(+.f64 (+.f64 (sin.f64 y) -1) 2)
(+.f64 (sin.f64 y) 1)
(+.f64 (+.f64 (sin.f64 y) 2) -1)
(+.f64 (sin.f64 y) 1)
(+.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) (*.f64 (+.f64 1 (sin.f64 y)) 1/2))
(+.f64 (sin.f64 y) 1)
(*.f64 1 (+.f64 1 (sin.f64 y)))
(+.f64 (sin.f64 y) 1)
(*.f64 (+.f64 1 (sin.f64 y)) 1)
(+.f64 (sin.f64 y) 1)
(*.f64 -1 (-.f64 -1 (sin.f64 y)))
(+.f64 (sin.f64 y) 1)
(*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 1/2))
(+.f64 (sin.f64 y) 1)
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 1/2)
(+.f64 (sin.f64 y) 1)
(*.f64 4 (/.f64 (+.f64 1 (sin.f64 y)) 4))
(+.f64 (sin.f64 y) 1)
(*.f64 (-.f64 -1 (sin.f64 y)) -1)
(+.f64 (sin.f64 y) 1)
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 1/4)
(+.f64 (sin.f64 y) 1)
(*.f64 1/2 (*.f64 (+.f64 1 (sin.f64 y)) 2))
(+.f64 (sin.f64 y) 1)
(*.f64 (*.f64 (+.f64 1 (sin.f64 y)) 1/2) 2)
(+.f64 (sin.f64 y) 1)
(*.f64 1/4 (*.f64 (+.f64 1 (sin.f64 y)) 4))
(+.f64 (sin.f64 y) 1)
(*.f64 (/.f64 (+.f64 1 (sin.f64 y)) 4) 4)
(+.f64 (sin.f64 y) 1)
(/.f64 (+.f64 1 (sin.f64 y)) 1)
(+.f64 (sin.f64 y) 1)
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 2) 2)
(+.f64 (sin.f64 y) 1)
(/.f64 (-.f64 -1 (sin.f64 y)) -1)
(+.f64 (sin.f64 y) 1)
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 4) 4)
(+.f64 (sin.f64 y) 1)
(/.f64 (*.f64 (+.f64 1 (sin.f64 y)) 8) 8)
(+.f64 (sin.f64 y) 1)
(/.f64 (*.f64 2 (-.f64 -1 (sin.f64 y))) -2)
(+.f64 (sin.f64 y) 1)
(/.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8)) 16)
(+.f64 (sin.f64 y) 1)
(/.f64 (*.f64 (-.f64 -1 (sin.f64 y)) 4) -4)
(+.f64 (sin.f64 y) 1)
(/.f64 (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y)))) 2)
(+.f64 (sin.f64 y) 1)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8)) (*.f64 2 (*.f64 (+.f64 1 (sin.f64 y)) 8))) 32)
(+.f64 (sin.f64 y) 1)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y)))) (neg.f64 (*.f64 2 (-.f64 -1 (sin.f64 y))))) 4)
(+.f64 (sin.f64 y) 1)
(neg.f64 (-.f64 -1 (sin.f64 y)))
(+.f64 (sin.f64 y) 1)
(-.f64 (+.f64 (sin.f64 y) x) 0)
(+.f64 (sin.f64 y) x)
(-.f64 (+.f64 (sin.f64 y) (+.f64 1 x)) 1)
(+.f64 (sin.f64 y) x)
(-.f64 (+.f64 -1 (+.f64 (sin.f64 y) x)) -1)
(+.f64 (sin.f64 y) x)
(-.f64 (+.f64 (sin.f64 y) (+.f64 -1 x)) -1)
(+.f64 (sin.f64 y) x)
(*.f64 1 (+.f64 (sin.f64 y) x))
(+.f64 (sin.f64 y) x)
(*.f64 (+.f64 (sin.f64 y) x) 1)
(+.f64 (sin.f64 y) x)
(*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 1/2))
(+.f64 (sin.f64 y) x)
(*.f64 2 (+.f64 (*.f64 x 1/2) (*.f64 (sin.f64 y) 1/2)))
(+.f64 (sin.f64 y) x)
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) 1/2) (*.f64 x 1/2)))
(+.f64 (sin.f64 y) x)
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 1/2)
(+.f64 (sin.f64 y) x)
(*.f64 4 (/.f64 (+.f64 (sin.f64 y) x) 4))
(+.f64 (sin.f64 y) x)
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 1/4)
(+.f64 (sin.f64 y) x)
(*.f64 1/2 (*.f64 (+.f64 (sin.f64 y) x) 2))
(+.f64 (sin.f64 y) x)
(*.f64 1/2 (+.f64 (+.f64 x x) (*.f64 (sin.f64 y) 2)))
(+.f64 (sin.f64 y) x)
(*.f64 1/2 (+.f64 (+.f64 x x) (neg.f64 (*.f64 (sin.f64 y) -2))))
(+.f64 (sin.f64 y) x)
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) 2) (+.f64 x x)))
(+.f64 (sin.f64 y) x)
(*.f64 (*.f64 (+.f64 (sin.f64 y) x) 1/2) 2)
(+.f64 (sin.f64 y) x)
(*.f64 1/4 (*.f64 (+.f64 (sin.f64 y) x) 4))
(+.f64 (sin.f64 y) x)
(*.f64 (/.f64 (+.f64 (sin.f64 y) x) 4) 4)
(+.f64 (sin.f64 y) x)
(/.f64 (+.f64 (sin.f64 y) x) 1)
(+.f64 (sin.f64 y) x)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 2) 2)
(+.f64 (sin.f64 y) x)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 4) 4)
(+.f64 (sin.f64 y) x)
(/.f64 (*.f64 (+.f64 (sin.f64 y) x) 8) 8)
(+.f64 (sin.f64 y) x)
(/.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) 16)
(+.f64 (sin.f64 y) x)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8)) (*.f64 2 (*.f64 (+.f64 (sin.f64 y) x) 8))) 32)
(+.f64 (sin.f64 y) x)

eval510.0ms (3.1%)

Compiler

Compiled 6691 to 4248 computations (36.5% saved)

prune466.0ms (2.9%)

Pruning

17 alts after pruning (10 fresh and 7 done)

PrunedKeptTotal
New4545459
Fresh257
Picked101
Done178
Total45817475
Error
0.0b
Counts
475 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
30.0b
(-.f64 (+.f64 (sin.f64 y) (+.f64 1 x)) 1)
25.7b
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))
0.1b
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
25.5b
(+.f64 (sin.f64 y) x)
37.4b
(+.f64 z (sin.f64 y))
45.6b
(+.f64 z y)
23.8b
(+.f64 z x)
45.0b
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
25.8b
(+.f64 y (+.f64 z x))
19.9b
(+.f64 y (+.f64 x (*.f64 z (cos.f64 y))))
38.9b
(+.f64 y x)
0.2b
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (-.f64 (+.f64 (cos.f64 y) -1) -1) z))))))
0.3b
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (+.f64 -1 (+.f64 (-.f64 (cos.f64 y) -2) -1)) z))))))
37.3b
(*.f64 1/2 (*.f64 (cos.f64 y) (+.f64 z z)))
50.8b
(sin.f64 y)
48.7b
z
37.5b
x
Compiler

Compiled 267 to 198 computations (25.8% saved)

localize37.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 106 to 64 computations (39.6% saved)

series2.0ms (0%)

Counts
4 → 84
Calls

21 calls:

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

rewrite83.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1250×bool.json-1
1250×bool.json-2
1242×rational.json-simplify-35
1208×rational.json-1
1208×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
017102
117566
245666
391960
4208660
5458660
Stop Event
node limit
Counts
4 → 79
Calls
Call 1
Inputs
(+.f64 (cos.f64 y) -1)
(-.f64 (+.f64 (cos.f64 y) -1) -1)
(*.f64 (-.f64 (+.f64 (cos.f64 y) -1) -1) z)
(+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (-.f64 (+.f64 (cos.f64 y) -1) -1) z)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) -1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) -1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) -1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) -1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) -1) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) -1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) -1) (+.f64 (cos.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) -1) (+.f64 (cos.f64 y) -1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 y) 1))))) (#(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 (+.f64 (cos.f64 y) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (+.f64 (cos.f64 y) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cos.f64 y) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (cos.f64 y) 2))))) (#(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) 2) -2)))) (#(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) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 2) 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) 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 1/4 (*.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 y) 4) 4)))) (#(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 cos.f64 y)))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (neg.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))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))))

simplify243.0ms (1.5%)

Algorithm
egg-herbie
Rules
1568×rational.json-simplify-35
1108×rational.json-simplify-51
900×rational.json-simplify-53
854×rational.json-simplify-26
818×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01973205
14212913
211142895
323062883
443442883
556902883
670332883
778002883
Stop Event
node limit
Counts
163 → 150
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 y 2))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/40320 (pow.f64 y 8)) (*.f64 1/24 (pow.f64 y 4)))))
(-.f64 (cos.f64 y) 1)
(-.f64 (cos.f64 y) 1)
(-.f64 (cos.f64 y) 1)
(-.f64 (cos.f64 y) 1)
(-.f64 (cos.f64 y) 1)
(-.f64 (cos.f64 y) 1)
(-.f64 (cos.f64 y) 1)
(-.f64 (cos.f64 y) 1)
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)))))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 z) (*.f64 2 x))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (*.f64 2 x)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (pow.f64 y 3))))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 x) (*.f64 2 (sin.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(-.f64 (cos.f64 y) 1)
(-.f64 (+.f64 (cos.f64 y) -1) 0)
(-.f64 (+.f64 (cos.f64 y) -2) -1)
(*.f64 (+.f64 (cos.f64 y) -1) 1)
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 1/2))
(*.f64 1 (+.f64 (cos.f64 y) -1))
(*.f64 (*.f64 (+.f64 (cos.f64 y) -1) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) -1) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) -1) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) -1) 2))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) -1) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) -1) 1/2) 2)
(*.f64 (/.f64 (+.f64 (cos.f64 y) -1) 4) 4)
(/.f64 (+.f64 (cos.f64 y) -1) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) -1) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 y) -1) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4)))) 32)
(+.f64 (cos.f64 y) 0)
(+.f64 -1 (+.f64 (cos.f64 y) 1))
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))
(+.f64 (+.f64 (cos.f64 y) -1) 1)
(+.f64 2 (+.f64 (cos.f64 y) -2))
(+.f64 0 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) -1))
(+.f64 (+.f64 (cos.f64 y) 1) -1)
(+.f64 -2 (+.f64 (cos.f64 y) 2))
(+.f64 (+.f64 (cos.f64 y) -2) 2)
(+.f64 (+.f64 (cos.f64 y) 2) -2)
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))
(*.f64 (cos.f64 y) 1)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(*.f64 1 (cos.f64 y))
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(*.f64 (*.f64 (cos.f64 y) 4) 1/4)
(*.f64 1/2 (*.f64 (cos.f64 y) 2))
(*.f64 1/4 (*.f64 (cos.f64 y) 4))
(*.f64 (*.f64 (cos.f64 y) 1/2) 2)
(*.f64 (/.f64 (cos.f64 y) 4) 4)
(*.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)))
(cos.f64 y)
(cos.f64 (neg.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) 0)
(+.f64 0 (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(-.f64 (*.f64 (cos.f64 y) z) 0)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))))) 32)
(-.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)
(*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(*.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(*.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1/2)
(*.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))
(*.f64 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)
(/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(/.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 2)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) 32)
Outputs
(*.f64 -1/2 (pow.f64 y 2))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.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 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/40320 (pow.f64 y 8)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 1/40320 (pow.f64 y 8))) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 1/40320 (pow.f64 y 8)))))
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/720 (pow.f64 y 6))) (*.f64 1/40320 (pow.f64 y 8))))
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (*.f64 1/40320 (pow.f64 y 8)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/40320 (pow.f64 y 8)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6)))))
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)
(+.f64 1 (+.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)) 1))
(+.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 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 1)))
(+.f64 (+.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 1/24 (pow.f64 y 4)) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1) (*.f64 -1/720 (pow.f64 y 6))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 1)))
(+.f64 (*.f64 1/24 (pow.f64 y 4)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) 1)))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 z (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (+.f64 z (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))) (*.f64 (pow.f64 y 4) (*.f64 1/24 z)))
(+.f64 z (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))) (*.f64 -1/720 (*.f64 (pow.f64 y 6) z))))
(+.f64 z (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) (*.f64 1/24 (*.f64 (pow.f64 y 4) z))) (*.f64 -1/720 (*.f64 (pow.f64 y 6) z))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 1/24 z)) (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)))))
(+.f64 (+.f64 z (*.f64 (pow.f64 y 4) (*.f64 1/24 z))) (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 z (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))))
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 z) (*.f64 2 x))
(+.f64 (*.f64 2 x) (*.f64 2 z))
(*.f64 2 (+.f64 z x))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (*.f64 2 x)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 x) (*.f64 y 2)))
(+.f64 (*.f64 2 z) (*.f64 2 (+.f64 y x)))
(*.f64 2 (+.f64 y (+.f64 z x)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 y 2) (+.f64 (+.f64 (*.f64 2 x) (*.f64 (pow.f64 y 2) (*.f64 z -1))) (*.f64 2 z)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 2 (+.f64 y x))))
(+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 2 (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 2 (+.f64 y (+.f64 z x))) (*.f64 (pow.f64 y 2) (neg.f64 z)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 2 y) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1 (*.f64 (pow.f64 y 2) z)) (*.f64 -1/3 (pow.f64 y 3))))))
(+.f64 (*.f64 y 2) (+.f64 (+.f64 (*.f64 2 x) (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1)) (*.f64 -1/3 (pow.f64 y 3)))) (*.f64 2 z)))
(+.f64 (*.f64 2 z) (+.f64 (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 y x))))
(+.f64 (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 y (+.f64 z x))))
(+.f64 (*.f64 2 (+.f64 y (+.f64 z x))) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 -1/3 (pow.f64 y 3))))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (*.f64 2 (sin.f64 y)))
(*.f64 2 (+.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) (*.f64 2 z))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) (*.f64 2 z))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(+.f64 (*.f64 2 x) (+.f64 (*.f64 2 (sin.f64 y)) (*.f64 2 (*.f64 z (cos.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(-.f64 (cos.f64 y) 1)
(+.f64 (cos.f64 y) -1)
(-.f64 (+.f64 (cos.f64 y) -1) 0)
(+.f64 (cos.f64 y) -1)
(-.f64 (+.f64 (cos.f64 y) -2) -1)
(+.f64 (cos.f64 y) -1)
(*.f64 (+.f64 (cos.f64 y) -1) 1)
(+.f64 (cos.f64 y) -1)
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 1/2))
(+.f64 (cos.f64 y) -1)
(*.f64 1 (+.f64 (cos.f64 y) -1))
(+.f64 (cos.f64 y) -1)
(*.f64 (*.f64 (+.f64 (cos.f64 y) -1) 2) 1/2)
(+.f64 (cos.f64 y) -1)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) -1) 4))
(+.f64 (cos.f64 y) -1)
(*.f64 (*.f64 (+.f64 (cos.f64 y) -1) 4) 1/4)
(+.f64 (cos.f64 y) -1)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) -1) 2))
(+.f64 (cos.f64 y) -1)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) -1) 4))
(+.f64 (cos.f64 y) -1)
(*.f64 (*.f64 (+.f64 (cos.f64 y) -1) 1/2) 2)
(+.f64 (cos.f64 y) -1)
(*.f64 (/.f64 (+.f64 (cos.f64 y) -1) 4) 4)
(+.f64 (cos.f64 y) -1)
(/.f64 (+.f64 (cos.f64 y) -1) 1)
(+.f64 (cos.f64 y) -1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) -1) 2) 2)
(+.f64 (cos.f64 y) -1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) -1) 4) 4)
(+.f64 (cos.f64 y) -1)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4)) 8)
(+.f64 (cos.f64 y) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4))) 16)
(+.f64 (cos.f64 y) -1)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) -1) 4)))) 32)
(+.f64 (cos.f64 y) -1)
(+.f64 (cos.f64 y) 0)
(cos.f64 y)
(+.f64 -1 (+.f64 (cos.f64 y) 1))
(cos.f64 y)
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))
(cos.f64 y)
(+.f64 (+.f64 (cos.f64 y) -1) 1)
(cos.f64 y)
(+.f64 2 (+.f64 (cos.f64 y) -2))
(cos.f64 y)
(+.f64 0 (cos.f64 y))
(cos.f64 y)
(+.f64 1 (+.f64 (cos.f64 y) -1))
(cos.f64 y)
(+.f64 (+.f64 (cos.f64 y) 1) -1)
(cos.f64 y)
(+.f64 -2 (+.f64 (cos.f64 y) 2))
(cos.f64 y)
(+.f64 (+.f64 (cos.f64 y) -2) 2)
(cos.f64 y)
(+.f64 (+.f64 (cos.f64 y) 2) -2)
(cos.f64 y)
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))
(cos.f64 y)
(*.f64 (cos.f64 y) 1)
(cos.f64 y)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(cos.f64 y)
(*.f64 1 (cos.f64 y))
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(cos.f64 y)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(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 1/4 (*.f64 (cos.f64 y) 4))
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 1/2) 2)
(cos.f64 y)
(*.f64 (/.f64 (cos.f64 y) 4) 4)
(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)
(cos.f64 y)
(cos.f64 (neg.f64 y))
(cos.f64 y)
(+.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 (cos.f64 y) z)
(+.f64 0 (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(*.f64 (cos.f64 y) z)
(-.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))) 8)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) 16)
(*.f64 (cos.f64 y) z)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 4))))) 32)
(*.f64 (cos.f64 y) z)
(-.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 0)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 1 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1/2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 4 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 1/4)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 1/2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(*.f64 (/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 4) 4)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(/.f64 (*.f64 2 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 1)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(/.f64 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))) 2)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))) 4)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))) 8)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) 16)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (+.f64 x (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y)))))))) 32)
(+.f64 (*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (sin.f64 y))) (*.f64 2 x))
(*.f64 2 (+.f64 (*.f64 (cos.f64 y) z) (+.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (sin.f64 y) (+.f64 (*.f64 (cos.f64 y) z) x)))

localize162.0ms (1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 25 to 9 computations (64% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite108.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1948×bool.json-1
1364×rational.json-simplify-35
1228×bool.json-2
1162×rational.json-1
1162×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
18017
223117
350917
4109617
5242917
6493217
7796517
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) (+.f64 z z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 y) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 (cos.f64 y) z)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z)))) (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 y) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (cos.f64 y) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (cos.f64 y) (+.f64 z z)))))))

simplify486.0ms (3%)

Algorithm
egg-herbie
Rules
3378×rational.json-simplify-35
2454×rational.json-simplify-2
1244×rational.json-simplify-1
1170×rational.json-simplify-53
774×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057699
1133693
2274675
3555663
41783663
53236663
64030663
74300663
84538663
94756663
104987663
115529663
126158663
136553663
146759663
157053663
167286663
177507663
187734663
197946663
Stop Event
node limit
Counts
35 → 32
Calls
Call 1
Inputs
(*.f64 2 z)
(+.f64 (*.f64 2 z) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 y 4) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 -1/360 (*.f64 (pow.f64 y 6) z)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 y 4) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 0)
(+.f64 0 (*.f64 (cos.f64 y) (+.f64 z z)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))
(-.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 0)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 1)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 4)
(/.f64 (*.f64 16 (*.f64 (cos.f64 y) z)) 8)
(/.f64 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z)))) (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z))))) 64)
Outputs
(*.f64 2 z)
(+.f64 z z)
(+.f64 (*.f64 2 z) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 2 z) (*.f64 -1 (*.f64 z (pow.f64 y 2))))
(+.f64 (*.f64 2 z) (*.f64 (pow.f64 y 2) (neg.f64 z)))
(*.f64 z (+.f64 2 (neg.f64 (pow.f64 y 2))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 y 4) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 -1 (*.f64 z (pow.f64 y 2))) (*.f64 1/12 (*.f64 z (pow.f64 y 4)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 z (*.f64 (pow.f64 y 4) 1/12))))
(+.f64 (*.f64 z (neg.f64 (pow.f64 y 2))) (*.f64 z (+.f64 2 (*.f64 1/12 (pow.f64 y 4)))))
(*.f64 z (+.f64 (neg.f64 (pow.f64 y 2)) (+.f64 2 (*.f64 1/12 (pow.f64 y 4)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 -1/360 (*.f64 (pow.f64 y 6) z)) (+.f64 (*.f64 1/12 (*.f64 (pow.f64 y 4) z)) (*.f64 -1 (*.f64 (pow.f64 y 2) z)))))
(+.f64 (*.f64 2 z) (+.f64 (+.f64 (*.f64 -1 (*.f64 z (pow.f64 y 2))) (*.f64 1/12 (*.f64 z (pow.f64 y 4)))) (*.f64 -1/360 (*.f64 z (pow.f64 y 6)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 6) -1/360)) (*.f64 z (*.f64 (pow.f64 y 4) 1/12)))))
(+.f64 (*.f64 z (+.f64 2 (neg.f64 (pow.f64 y 2)))) (+.f64 (*.f64 z (*.f64 1/12 (pow.f64 y 4))) (*.f64 z (*.f64 -1/360 (pow.f64 y 6)))))
(+.f64 (*.f64 z (+.f64 2 (neg.f64 (pow.f64 y 2)))) (*.f64 z (+.f64 (*.f64 -1/360 (pow.f64 y 6)) (*.f64 1/12 (pow.f64 y 4)))))
(+.f64 (*.f64 z (neg.f64 (pow.f64 y 2))) (*.f64 z (+.f64 (*.f64 1/12 (pow.f64 y 4)) (+.f64 2 (*.f64 -1/360 (pow.f64 y 6))))))
(+.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) (*.f64 z (+.f64 2 (+.f64 (*.f64 -1/360 (pow.f64 y 6)) (*.f64 1/12 (pow.f64 y 4))))))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 0)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(+.f64 0 (*.f64 (cos.f64 y) (+.f64 z z)))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(-.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 0)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 1)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 2)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 4)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(/.f64 (*.f64 16 (*.f64 (cos.f64 y) z)) 8)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(/.f64 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z))) 16)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z)))) 32)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z)))) (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 (cos.f64 y) z))))) 64)
(*.f64 2 (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 2 z) (cos.f64 y))
(*.f64 (cos.f64 y) (+.f64 z z))

localize74.0ms (0.5%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
0.2b
(*.f64 -1/6 (pow.f64 y 3))
Compiler

Compiled 31 to 22 computations (29% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 -1/6 (pow.f64 y 3))
0.0ms
x
@0
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
0.0ms
y
@inf
(*.f64 -1/6 (pow.f64 y 3))
0.0ms
y
@-inf
(*.f64 -1/6 (pow.f64 y 3))
0.0ms
y
@inf
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))

rewrite441.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1792×bool.json-1
1792×bool.json-2
1748×rational.json-1
1182×bool.json-3
904×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
110038
226338
354938
4120638
5287438
6634738
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 y 3))
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/6 (pow.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/6 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 y 3) -1/12) (*.f64 (pow.f64 y 3) -1/12))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/6 (pow.f64 y 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/6 (pow.f64 y 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 3) -1/3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 3) -2/3) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 -1/6 (pow.f64 y 3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/6 (pow.f64 y 3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/6 (pow.f64 y 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x) 1/2) (*.f64 y 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y 1/2) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (pow.f64 y 3) -1/12) (/.f64 (+.f64 y x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 y 3) -1/3))) (+.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 y x) 2) (*.f64 (pow.f64 y 3) -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 y y) (+.f64 x (+.f64 x (*.f64 (pow.f64 y 3) -1/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8)) (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)))))))

simplify505.0ms (3.1%)

Algorithm
egg-herbie
Rules
3256×rational.json-simplify-35
2772×rational.json-simplify-51
2436×rational.json-simplify-2
1784×rational.json-simplify-1
874×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0841185
11681185
24271185
311681185
425921185
534111185
636131185
737261185
838231185
939181185
1040131185
1141111185
1242061185
1343011185
1443961185
1543961185
1664671185
1765741185
1866721185
1967651185
2068521185
2169381185
2278231185
2379171185
Stop Event
node limit
Counts
57 → 43
Calls
Call 1
Inputs
x
(+.f64 y x)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(*.f64 -1/6 (pow.f64 y 3))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(*.f64 -1/6 (pow.f64 y 3))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
x
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
x
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) 0)
(+.f64 0 (*.f64 -1/6 (pow.f64 y 3)))
(+.f64 (*.f64 (pow.f64 y 3) -1/12) (*.f64 (pow.f64 y 3) -1/12))
(-.f64 (*.f64 -1/6 (pow.f64 y 3)) 0)
(/.f64 (*.f64 -1/6 (pow.f64 y 3)) 1)
(/.f64 (*.f64 (pow.f64 y 3) -1/3) 2)
(/.f64 (*.f64 (pow.f64 y 3) -2/3) 4)
(/.f64 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8))) 32)
(-.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 0)
(*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1)
(*.f64 1 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)))
(*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1/2))
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x) 1/2) (*.f64 y 1/2)))
(*.f64 2 (+.f64 (*.f64 y 1/2) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x) 1/2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 y 3) -1/12) (/.f64 (+.f64 y x) 2)))
(*.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4))
(*.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2))
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 y 3) -1/3))) (+.f64 y y)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 y x) 2) (*.f64 (pow.f64 y 3) -1/3)))
(*.f64 1/2 (+.f64 (+.f64 y y) (+.f64 x (+.f64 x (*.f64 (pow.f64 y 3) -1/3)))))
(*.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4))
(*.f64 (/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 4)
(/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1)
(/.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2) 2)
(/.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 4)
(/.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8)) (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8))) 32)
Outputs
x
(+.f64 y x)
(+.f64 x y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 -1/6 (pow.f64 y 3))
(+.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 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 -1/6 (pow.f64 y 3))
(+.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 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.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 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
x
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
x
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y x))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) 0)
(*.f64 -1/6 (pow.f64 y 3))
(+.f64 0 (*.f64 -1/6 (pow.f64 y 3)))
(*.f64 -1/6 (pow.f64 y 3))
(+.f64 (*.f64 (pow.f64 y 3) -1/12) (*.f64 (pow.f64 y 3) -1/12))
(*.f64 -1/6 (pow.f64 y 3))
(-.f64 (*.f64 -1/6 (pow.f64 y 3)) 0)
(*.f64 -1/6 (pow.f64 y 3))
(/.f64 (*.f64 -1/6 (pow.f64 y 3)) 1)
(*.f64 -1/6 (pow.f64 y 3))
(/.f64 (*.f64 (pow.f64 y 3) -1/3) 2)
(*.f64 -1/6 (pow.f64 y 3))
(/.f64 (*.f64 (pow.f64 y 3) -2/3) 4)
(*.f64 -1/6 (pow.f64 y 3))
(/.f64 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8) 8)
(*.f64 -1/6 (pow.f64 y 3))
(/.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8)) 16)
(*.f64 -1/6 (pow.f64 y 3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8)) (*.f64 2 (*.f64 (*.f64 -1/6 (pow.f64 y 3)) 8))) 32)
(*.f64 -1/6 (pow.f64 y 3))
(-.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 0)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 1 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1/2))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 2 (+.f64 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x) 1/2) (*.f64 y 1/2)))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 2 (+.f64 (*.f64 y 1/2) (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x) 1/2)))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 2 (+.f64 (*.f64 (pow.f64 y 3) -1/12) (/.f64 (+.f64 y x) 2)))
(*.f64 2 (+.f64 (*.f64 (pow.f64 y 3) -1/12) (/.f64 (+.f64 x y) 2)))
(*.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2) 1/2)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 4 (/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 1/4)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 1/2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 1/2 (+.f64 (+.f64 x (+.f64 x (*.f64 (pow.f64 y 3) -1/3))) (+.f64 y y)))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 y x) 2) (*.f64 (pow.f64 y 3) -1/3)))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 1/2 (+.f64 (+.f64 y y) (+.f64 x (+.f64 x (*.f64 (pow.f64 y 3) -1/3)))))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1/2) 2)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 1/4 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4))
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 (/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 4)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(/.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 1)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(/.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 2) 2)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(/.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 4) 4)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(/.f64 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8) 8)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(/.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8)) 16)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8)) (*.f64 2 (*.f64 (+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x)) 8))) 32)
(+.f64 y (+.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))

localize370.0ms (2.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f64 (cos.f64 y) -2)
0.1b
(*.f64 (+.f64 -1 (+.f64 (-.f64 (cos.f64 y) -2) -1)) z)
0.4b
(+.f64 -1 (+.f64 (-.f64 (cos.f64 y) -2) -1))
0.7b
(+.f64 (-.f64 (cos.f64 y) -2) -1)
Compiler

Compiled 127 to 83 computations (34.6% saved)

series1.0ms (0%)

Counts
4 → 60
Calls

15 calls:

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

rewrite93.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1630×bool.json-1
1630×bool.json-2
1576×rational.json-1
1040×bool.json-3
900×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01268
112468
232368
365638
4143838
5320238
6665838
Stop Event
node limit
Counts
4 → 81
Calls
Call 1
Inputs
(+.f64 (-.f64 (cos.f64 y) -2) -1)
(+.f64 -1 (+.f64 (-.f64 (cos.f64 y) -2) -1))
(*.f64 (+.f64 -1 (+.f64 (-.f64 (cos.f64 y) -2) -1)) z)
(-.f64 (cos.f64 y) -2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) 1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 y) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (cos.f64 y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 (*.f64 (cos.f64 y) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) 1) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 2 (*.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) 1) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) 1) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) 1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 2 (*.f64 (cos.f64 y) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) 1) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) 1) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cos.f64 y) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cos.f64 y) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -2 (cos.f64 y)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 -1 (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (cos.f64 y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 y) 2) 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) 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 1/4 (*.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cos.f64 y) 4) 4)))) (#(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 (cos.f64 y) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 y) 8)) (*.f64 2 (*.f64 (cos.f64 y) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 y)))) (#(struct:change #<rule egg-rr> (2) ((x cos.f64 (neg.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))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (/.f64 z 2)) (*.f64 (cos.f64 y) (/.f64 z 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (cos.f64 y) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8)) (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 y) z) (*.f64 (cos.f64 y) z))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (+.f64 (cos.f64 y) 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (cos.f64 y) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) 2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (+.f64 (cos.f64 y) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 2 (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -2 (cos.f64 y)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 -1 (cos.f64 y)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 4) -2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) 2) 1/2) (*.f64 (+.f64 (cos.f64 y) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) 2) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) 2) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) 2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) 2) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) 2) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) 2) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) 2) (+.f64 (cos.f64 y) 2))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) 2) (+.f64 (cos.f64 y) 2))))))

simplify697.0ms (4.3%)

Algorithm
egg-herbie
Rules
2138×rational.json-simplify-2
1962×rational.json-simplify-1
1838×rational.json-simplify-35
1306×rational.json-simplify-53
1130×rational.json-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01681679
13421679
29461679
323041679
431911679
539401679
642211679
743591679
845011679
947071679
1054901679
1158991679
1264891679
1366961679
1467511679
1567701679
1674401679
1777141679
1879731679
Stop Event
node limit
Counts
141 → 122
Calls
Call 1
Inputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.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 1/24 (pow.f64 y 4)))))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.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)))))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
3
(+.f64 3 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) 2) 1)
(-.f64 (+.f64 (cos.f64 y) 1) 0)
(-.f64 (cos.f64 y) -1)
(-.f64 (+.f64 -1 (cos.f64 y)) -2)
(*.f64 (+.f64 (cos.f64 y) 1) 1)
(*.f64 1 (+.f64 (cos.f64 y) 1))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 1/2))
(*.f64 (+.f64 2 (*.f64 (cos.f64 y) 2)) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) 1) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 1) 4) 1/4)
(*.f64 1/2 (+.f64 2 (*.f64 (cos.f64 y) 2)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 1) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) 1) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 y) 1) 4) 4)
(/.f64 (+.f64 (cos.f64 y) 1) 1)
(/.f64 (+.f64 2 (*.f64 (cos.f64 y) 2)) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 y) 1) 4) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 y) 1) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8))) 32)
(-.f64 (+.f64 (cos.f64 y) 1) 1)
(-.f64 (cos.f64 y) 0)
(-.f64 (+.f64 -2 (cos.f64 y)) -2)
(-.f64 (+.f64 -1 (cos.f64 y)) -1)
(*.f64 (cos.f64 y) 1)
(*.f64 1 (cos.f64 y))
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(*.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 1/4 (*.f64 (cos.f64 y) 4))
(*.f64 (/.f64 (cos.f64 y) 4) 4)
(/.f64 (cos.f64 y) 1)
(/.f64 (*.f64 (cos.f64 y) 2) 2)
(/.f64 (*.f64 (cos.f64 y) 4) 4)
(/.f64 (*.f64 (cos.f64 y) 8) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 y) 8)) (*.f64 2 (*.f64 (cos.f64 y) 8))) 32)
(cos.f64 y)
(cos.f64 (neg.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) 0)
(+.f64 0 (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) (/.f64 z 2)) (*.f64 (cos.f64 y) (/.f64 z 2)))
(-.f64 (*.f64 (cos.f64 y) z) 0)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 (*.f64 (cos.f64 y) z) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8)) (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8))) 32)
(+.f64 -2 (+.f64 (cos.f64 y) 4))
(+.f64 (+.f64 (cos.f64 y) 2) 0)
(+.f64 -1 (+.f64 (cos.f64 y) 3))
(+.f64 (+.f64 (cos.f64 y) 1) 1)
(+.f64 (cos.f64 y) 2)
(+.f64 0 (+.f64 (cos.f64 y) 2))
(+.f64 1 (+.f64 (cos.f64 y) 1))
(+.f64 2 (cos.f64 y))
(+.f64 (+.f64 -2 (cos.f64 y)) 4)
(+.f64 (+.f64 -1 (cos.f64 y)) 3)
(+.f64 (+.f64 (cos.f64 y) 4) -2)
(+.f64 (*.f64 (+.f64 (cos.f64 y) 2) 1/2) (*.f64 (+.f64 (cos.f64 y) 2) 1/2))
(+.f64 (+.f64 (cos.f64 y) 3) -1)
(*.f64 (+.f64 (cos.f64 y) 2) 1)
(*.f64 1 (+.f64 (cos.f64 y) 2))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 1/2))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 2) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) 2) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 2) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) 2) 2))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 2) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) 2) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 y) 2) 4) 4)
(/.f64 (+.f64 (cos.f64 y) 2) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) 2) 2) 2)
(/.f64 (*.f64 (+.f64 (cos.f64 y) 2) 4) 4)
(/.f64 (*.f64 (+.f64 (cos.f64 y) 2) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8))) 32)
Outputs
2
(+.f64 2 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 2 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 2 (*.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 1/24 (pow.f64 y 4)))))
(+.f64 2 (+.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 2 (*.f64 1/24 (pow.f64 y 4))) (*.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)) (*.f64 -1/720 (pow.f64 y 6)))))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
(+.f64 1 (cos.f64 y))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) 1)
(+.f64 1 (+.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)) 1))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.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 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 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.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/720 (pow.f64 y 6)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 1)))
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
(cos.f64 y)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 z (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 z (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (+.f64 z (*.f64 (pow.f64 y 4) (*.f64 z 1/24))) (*.f64 -1/720 (*.f64 (pow.f64 y 6) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) z)))
(+.f64 z (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
3
(+.f64 3 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) 3)
(+.f64 3 (+.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)) 3))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 3 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 -1/720 (pow.f64 y 6)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/24 (pow.f64 y 4)) 3)))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 y 4)) 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)) 3)))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) 2) 1)
(+.f64 1 (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) 1) 0)
(+.f64 1 (cos.f64 y))
(-.f64 (cos.f64 y) -1)
(+.f64 1 (cos.f64 y))
(-.f64 (+.f64 -1 (cos.f64 y)) -2)
(+.f64 1 (cos.f64 y))
(*.f64 (+.f64 (cos.f64 y) 1) 1)
(+.f64 1 (cos.f64 y))
(*.f64 1 (+.f64 (cos.f64 y) 1))
(+.f64 1 (cos.f64 y))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 1/2))
(+.f64 1 (cos.f64 y))
(*.f64 (+.f64 2 (*.f64 (cos.f64 y) 2)) 1/2)
(+.f64 1 (cos.f64 y))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) 1) 4))
(+.f64 1 (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 1) 4) 1/4)
(+.f64 1 (cos.f64 y))
(*.f64 1/2 (+.f64 2 (*.f64 (cos.f64 y) 2)))
(+.f64 1 (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 1) 1/2) 2)
(+.f64 1 (cos.f64 y))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) 1) 4))
(+.f64 1 (cos.f64 y))
(*.f64 (/.f64 (+.f64 (cos.f64 y) 1) 4) 4)
(+.f64 1 (cos.f64 y))
(/.f64 (+.f64 (cos.f64 y) 1) 1)
(+.f64 1 (cos.f64 y))
(/.f64 (+.f64 2 (*.f64 (cos.f64 y) 2)) 2)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) 1) 4) 4)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) 1) 8) 8)
(+.f64 1 (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8)) 16)
(+.f64 1 (cos.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 1) 8))) 32)
(+.f64 1 (cos.f64 y))
(-.f64 (+.f64 (cos.f64 y) 1) 1)
(cos.f64 y)
(-.f64 (cos.f64 y) 0)
(cos.f64 y)
(-.f64 (+.f64 -2 (cos.f64 y)) -2)
(cos.f64 y)
(-.f64 (+.f64 -1 (cos.f64 y)) -1)
(cos.f64 y)
(*.f64 (cos.f64 y) 1)
(cos.f64 y)
(*.f64 1 (cos.f64 y))
(cos.f64 y)
(*.f64 2 (*.f64 (cos.f64 y) 1/2))
(cos.f64 y)
(*.f64 (*.f64 (cos.f64 y) 2) 1/2)
(cos.f64 y)
(*.f64 4 (/.f64 (cos.f64 y) 4))
(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 1/4 (*.f64 (cos.f64 y) 4))
(cos.f64 y)
(*.f64 (/.f64 (cos.f64 y) 4) 4)
(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 (cos.f64 y) 8) 8)
(cos.f64 y)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) 8)) 16)
(cos.f64 y)
(/.f64 (+.f64 (*.f64 2 (*.f64 (cos.f64 y) 8)) (*.f64 2 (*.f64 (cos.f64 y) 8))) 32)
(cos.f64 y)
(cos.f64 y)
(cos.f64 (neg.f64 y))
(cos.f64 y)
(+.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 (cos.f64 y) z)
(+.f64 0 (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) (/.f64 z 2)) (*.f64 (cos.f64 y) (/.f64 z 2)))
(*.f64 (cos.f64 y) z)
(-.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (*.f64 (cos.f64 y) z) 8) 8)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8)) 16)
(*.f64 (cos.f64 y) z)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8)) (*.f64 2 (*.f64 (*.f64 (cos.f64 y) z) 8))) 32)
(*.f64 (cos.f64 y) z)
(+.f64 -2 (+.f64 (cos.f64 y) 4))
(+.f64 2 (cos.f64 y))
(+.f64 (+.f64 (cos.f64 y) 2) 0)
(+.f64 2 (cos.f64 y))
(+.f64 -1 (+.f64 (cos.f64 y) 3))
(+.f64 2 (cos.f64 y))
(+.f64 (+.f64 (cos.f64 y) 1) 1)
(+.f64 2 (cos.f64 y))
(+.f64 (cos.f64 y) 2)
(+.f64 2 (cos.f64 y))
(+.f64 0 (+.f64 (cos.f64 y) 2))
(+.f64 2 (cos.f64 y))
(+.f64 1 (+.f64 (cos.f64 y) 1))
(+.f64 2 (cos.f64 y))
(+.f64 2 (cos.f64 y))
(+.f64 (+.f64 -2 (cos.f64 y)) 4)
(+.f64 2 (cos.f64 y))
(+.f64 (+.f64 -1 (cos.f64 y)) 3)
(+.f64 2 (cos.f64 y))
(+.f64 (+.f64 (cos.f64 y) 4) -2)
(+.f64 2 (cos.f64 y))
(+.f64 (*.f64 (+.f64 (cos.f64 y) 2) 1/2) (*.f64 (+.f64 (cos.f64 y) 2) 1/2))
(+.f64 2 (cos.f64 y))
(+.f64 (+.f64 (cos.f64 y) 3) -1)
(+.f64 2 (cos.f64 y))
(*.f64 (+.f64 (cos.f64 y) 2) 1)
(+.f64 2 (cos.f64 y))
(*.f64 1 (+.f64 (cos.f64 y) 2))
(+.f64 2 (cos.f64 y))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 1/2))
(+.f64 2 (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 2) 2) 1/2)
(+.f64 2 (cos.f64 y))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) 2) 4))
(+.f64 2 (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 2) 4) 1/4)
(+.f64 2 (cos.f64 y))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) 2) 2))
(+.f64 2 (cos.f64 y))
(*.f64 (*.f64 (+.f64 (cos.f64 y) 2) 1/2) 2)
(+.f64 2 (cos.f64 y))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) 2) 4))
(+.f64 2 (cos.f64 y))
(*.f64 (/.f64 (+.f64 (cos.f64 y) 2) 4) 4)
(+.f64 2 (cos.f64 y))
(/.f64 (+.f64 (cos.f64 y) 2) 1)
(+.f64 2 (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) 2) 2) 2)
(+.f64 2 (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) 2) 4) 4)
(+.f64 2 (cos.f64 y))
(/.f64 (*.f64 (+.f64 (cos.f64 y) 2) 8) 8)
(+.f64 2 (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8)) 16)
(+.f64 2 (cos.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8)) (*.f64 2 (*.f64 (+.f64 (cos.f64 y) 2) 8))) 32)
(+.f64 2 (cos.f64 y))

eval131.0ms (0.8%)

Compiler

Compiled 7579 to 5087 computations (32.9% saved)

prune76.0ms (0.5%)

Pruning

18 alts after pruning (8 fresh and 10 done)

PrunedKeptTotal
New3793382
Fresh055
Picked101
Done11011
Total38118399
Error
0.0b
Counts
399 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
30.0b
(-.f64 (+.f64 (sin.f64 y) (+.f64 1 x)) 1)
25.7b
(+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y))
0.1b
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
25.5b
(+.f64 (sin.f64 y) x)
37.4b
(+.f64 z (sin.f64 y))
45.6b
(+.f64 z y)
23.8b
(+.f64 z x)
45.0b
(+.f64 y (+.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
25.8b
(+.f64 y (+.f64 z x))
19.9b
(+.f64 y (+.f64 x (*.f64 z (cos.f64 y))))
38.9b
(+.f64 y x)
0.3b
(*.f64 1/2 (+.f64 x (+.f64 x (*.f64 2 (+.f64 (sin.f64 y) (*.f64 (+.f64 (+.f64 (cos.f64 y) 2) -2) z))))))
37.4b
(*.f64 1/2 (*.f64 (+.f64 -1 (-.f64 1 (neg.f64 (cos.f64 y)))) (+.f64 z z)))
37.3b
(*.f64 1/2 (*.f64 (cos.f64 y) (+.f64 z z)))
62.9b
(*.f64 -1/6 (pow.f64 y 3))
50.8b
(sin.f64 y)
48.7b
z
37.5b
x
Compiler

Compiled 166 to 122 computations (26.5% saved)

regimes56.0ms (0.3%)

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

4 calls:

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

Compiled 257 to 140 computations (45.5% saved)

regimes484.0ms (3%)

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

3 calls:

342.0ms
x
108.0ms
y
30.0ms
z
Results
ErrorSegmentsBranch
5.2b3x
10.3b2y
5.5b3z
Compiler

Compiled 133 to 71 computations (46.6% saved)

bsearch116.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
1.0360179452069724e+39
1.2050067684050333e+40
96.0ms
-0.002607335514921187
-5.3225131678861384e-5
Results
92.0ms148×body256valid
15.0ms36×body1024valid
7.0ms24×body512valid
Compiler

Compiled 273 to 196 computations (28.2% saved)

regimes416.0ms (2.6%)

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

3 calls:

359.0ms
z
26.0ms
x
26.0ms
y
Results
ErrorSegmentsBranch
10.6b3x
10.3b3y
5.5b3z
Compiler

Compiled 126 to 70 computations (44.4% saved)

bsearch66.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
36.0ms
5.695154857106426e+96
3.745903533000362e+103
30.0ms
-2.2547364900229937e+108
-1.1043463568997018e+106
Results
29.0ms167×body256valid
24.0ms59×body1024valid
8.0ms29×body512valid
1.0msbody2048valid
Compiler

Compiled 370 to 269 computations (27.3% saved)

regimes22.0ms (0.1%)

Counts
11 → 1
Calls
Call 1
Inputs
x
z
(+.f64 y x)
(+.f64 z x)
(+.f64 z y)
(+.f64 y (+.f64 z x))
(sin.f64 y)
(+.f64 z (sin.f64 y))
(+.f64 (sin.f64 y) x)
(*.f64 -1/6 (pow.f64 y 3))
(+.f64 (sin.f64 y) (+.f64 x z))
Outputs
(+.f64 (sin.f64 y) (+.f64 x z))
Calls

3 calls:

7.0ms
z
7.0ms
y
6.0ms
x
Results
ErrorSegmentsBranch
11.9b1x
11.9b1y
11.9b1z
Compiler

Compiled 52 to 25 computations (51.9% saved)

regimes120.0ms (0.7%)

Counts
10 → 3
Calls
Call 1
Inputs
x
z
(+.f64 y x)
(+.f64 z x)
(+.f64 z y)
(+.f64 y (+.f64 z x))
(sin.f64 y)
(+.f64 z (sin.f64 y))
(+.f64 (sin.f64 y) x)
(*.f64 -1/6 (pow.f64 y 3))
Outputs
(+.f64 (sin.f64 y) x)
(+.f64 y (+.f64 z x))
(+.f64 (sin.f64 y) x)
Calls

3 calls:

85.0ms
x
17.0ms
z
16.0ms
y
Results
ErrorSegmentsBranch
13.7b3x
13.1b3y
13.5b3z
Compiler

Compiled 46 to 23 computations (50% saved)

bsearch242.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
2.2672321248419857e-8
0.00017573250958829027
219.0ms
-4423724562333958.5
-5280360.007553062
Results
239.0ms272×body256valid
Compiler

Compiled 307 to 217 computations (29.3% saved)

regimes518.0ms (3.2%)

Counts
8 → 3
Calls
Call 1
Inputs
x
z
(+.f64 y x)
(+.f64 z x)
(+.f64 z y)
(+.f64 y (+.f64 z x))
(sin.f64 y)
(+.f64 z (sin.f64 y))
Outputs
(+.f64 z x)
(+.f64 z (sin.f64 y))
(+.f64 z x)
Calls

3 calls:

487.0ms
z
16.0ms
x
14.0ms
y
Results
ErrorSegmentsBranch
13.7b3x
20.2b3y
19.2b7z
Compiler

Compiled 37 to 18 computations (51.4% saved)

bsearch376.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
282.0ms
7.408727490092422e-10
7.103727271466633e-9
94.0ms
-458943229088.4748
-0.002607335514921187
Results
286.0ms67×body1024valid
75.0ms146×body256valid
12.0ms43×body512valid
Compiler

Compiled 258 to 189 computations (26.7% saved)

regimes116.0ms (0.7%)

Counts
7 → 4
Calls
Call 1
Inputs
x
z
(+.f64 y x)
(+.f64 z x)
(+.f64 z y)
(+.f64 y (+.f64 z x))
(sin.f64 y)
Outputs
(+.f64 z x)
(+.f64 y (+.f64 z x))
(sin.f64 y)
(+.f64 z x)
Calls

3 calls:

64.0ms
y
29.0ms
z
22.0ms
x
Results
ErrorSegmentsBranch
19.0b4x
20.2b3y
19.5b7z
Compiler

Compiled 33 to 17 computations (48.5% saved)

bsearch624.0ms (3.9%)

Algorithm
binary-search
Steps
TimeLeftRight
154.0ms
6.307832774348376e-70
1.1883261352588795e-64
119.0ms
5.679999718801412e-168
2.1970533941329772e-144
351.0ms
-1.420601656906762e-220
-1.208542225518667e-222
Results
434.0ms252×body256valid
168.0ms119×body1024valid
17.0ms61×body512valid
Compiler

Compiled 412 to 301 computations (26.9% saved)

regimes185.0ms (1.1%)

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

3 calls:

103.0ms
y
13.0ms
x
13.0ms
z
Results
ErrorSegmentsBranch
20.5b3x
20.2b3y
22.8b3z
Compiler

Compiled 31 to 16 computations (48.4% saved)

bsearch122.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
95.0ms
449.0000813558821
802218.0443287347
28.0ms
-4423724562333958.5
-5280360.007553062
Results
119.0ms272×body256valid
Compiler

Compiled 290 to 200 computations (31% saved)

regimes790.0ms (4.9%)

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

3 calls:

773.0ms
z
12.0ms
x
4.0ms
y
Results
ErrorSegmentsBranch
21.3b3x
23.8b1y
23.8b1z
Compiler

Compiled 26 to 15 computations (42.3% saved)

bsearch410.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
323.0ms
3.3705169089214042e-99
1.1244276001156912e-94
87.0ms
-1.420601656906762e-220
-1.208542225518667e-222
Results
318.0ms63×body1024valid
75.0ms136×body256valid
14.0ms41×body512valid
Compiler

Compiled 228 to 163 computations (28.5% saved)

regimes13.0ms (0.1%)

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

3 calls:

4.0ms
y
4.0ms
z
4.0ms
x
Results
ErrorSegmentsBranch
23.8b1x
23.8b1y
23.8b1z
Compiler

Compiled 23 to 14 computations (39.1% saved)

regimes42.0ms (0.3%)

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

3 calls:

16.0ms
y
16.0ms
x
10.0ms
z
Results
ErrorSegmentsBranch
27.2b5x
32.3b5y
32.1b3z
Compiler

Compiled 20 to 13 computations (35% saved)

bsearch870.0ms (5.4%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
3.3665978194797906e+37
1.0360179452069724e+39
730.0ms
6.307832774348376e-70
1.1883261352588795e-64
98.0ms
3.916373828421698e-115
2.0635043520150764e-108
19.0ms
-59163987810754060.0
-17106133066580814.0
Results
100.0ms91×body1024valid
52.0ms327×body256valid
18.0ms62×body512valid
Compiler

Compiled 354 to 271 computations (23.4% saved)

regimes83.0ms (0.5%)

Accuracy

Total -33.8b remaining (-119.3%)

Threshold costs -33.8b (-119.3%)

Counts
2 → 3
Calls
Call 1
Inputs
x
z
Outputs
x
z
x
Calls

3 calls:

67.0ms
y
8.0ms
x
8.0ms
z
Results
ErrorSegmentsBranch
28.3b3x
34.1b5y
32.1b3z
Compiler

Compiled 17 to 12 computations (29.4% saved)

bsearch517.0ms (3.2%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
3.3665978194797906e+37
1.0360179452069724e+39
491.0ms
-59163987810754060.0
-17106133066580814.0
Results
497.0ms144×body256valid
15.0ms36×body1024valid
3.0ms12×body512valid
Compiler

Compiled 138 to 109 computations (21% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
088503
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
(if (<=.f64 x -3984496719921263/73786976294838206464) (+.f64 (sin.f64 y) (+.f64 x z)) (if (<=.f64 x 1049999999999999929138838317591905173504) (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) (+.f64 z x)))
(if (<=.f64 z -11500000000000000945062190262512698306872936524049187354703856297770225797847011807258242124006018709979136) (*.f64 1/2 (*.f64 (cos.f64 y) (+.f64 z z))) (if (<=.f64 z 2600000000000000064659543592084535772807353108508000041052027233640112335786047992678353618785273905152) (+.f64 (sin.f64 y) (+.f64 x z)) (*.f64 1/2 (*.f64 (cos.f64 y) (+.f64 z z)))))
(+.f64 (sin.f64 y) (+.f64 x z))
(if (<=.f64 y -19000000) (+.f64 (sin.f64 y) x) (if (<=.f64 y 112986307451471/1152921504606846976) (+.f64 y (+.f64 z x)) (+.f64 (sin.f64 y) x)))
(if (<=.f64 x -6110483974416289/2305843009213693952) (+.f64 z x) (if (<=.f64 x 279564095785883/151115727451828646838272) (+.f64 z (sin.f64 y)) (+.f64 z x)))
(if (<=.f64 x -7529191101579425/101745825697019260773923519755878567461315282017759829107608914364075275235254395622580447400994175578963163918967182013639660669771108475957692810857098847138903161308502419410142185759152435680068435915159402496058513611411689167650816) (+.f64 z x) (if (<=.f64 x 8013690196530069/14059105607947488696282932836518693308967803494693489478439861164411992439598399594747002144074658928593502845729752797260025831423419686528151609940203637047296) (+.f64 y (+.f64 z x)) (if (<=.f64 x 5585173065148971/60708402882054033466233184588234965832575213720379360039119137804340758912662765568) (sin.f64 y) (+.f64 z x))))
(if (<=.f64 y -265000000) (+.f64 z x) (if (<=.f64 y 2700) (+.f64 y (+.f64 z x)) (+.f64 z x)))
(if (<=.f64 x -7529191101579425/406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728054558642679084433903830771243428395388555612645234009677640568743036609742720273743660637609984234054445646756670603264) (+.f64 z x) (if (<=.f64 x 2154797213865323/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (+.f64 z y) (+.f64 z x)))
(+.f64 z x)
(if (<=.f64 x -25000000000000000) x (if (<=.f64 x 6346137300386387/21153791001287955166461289857048673274508949854856999017108761448780985319561963066406054734070889115122918784800747465736192) z (if (<=.f64 x 5828006676677187/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 y x) (if (<=.f64 x 34000000000000000556857955178552229888) z x))))
(if (<=.f64 x -25000000000000000) x (if (<=.f64 x 35999999999999999756255514388529676288) z x))
x
Outputs
(+.f64 (sin.f64 y) (+.f64 x (*.f64 z (cos.f64 y))))
(if (<=.f64 x -3984496719921263/73786976294838206464) (+.f64 (sin.f64 y) (+.f64 x z)) (if (<=.f64 x 1049999999999999929138838317591905173504) (+.f64 (*.f64 z (cos.f64 y)) (sin.f64 y)) (+.f64 z x)))
(if (<=.f64 z -11500000000000000945062190262512698306872936524049187354703856297770225797847011807258242124006018709979136) (*.f64 1/2 (*.f64 (cos.f64 y) (+.f64 z z))) (if (<=.f64 z 2600000000000000064659543592084535772807353108508000041052027233640112335786047992678353618785273905152) (+.f64 (sin.f64 y) (+.f64 x z)) (*.f64 1/2 (*.f64 (cos.f64 y) (+.f64 z z)))))
(+.f64 (sin.f64 y) (+.f64 x z))
(if (<=.f64 y -19000000) (+.f64 (sin.f64 y) x) (if (<=.f64 y 112986307451471/1152921504606846976) (+.f64 y (+.f64 z x)) (+.f64 (sin.f64 y) x)))
(if (<=.f64 x -6110483974416289/2305843009213693952) (+.f64 z x) (if (<=.f64 x 279564095785883/151115727451828646838272) (+.f64 z (sin.f64 y)) (+.f64 z x)))
(if (<=.f64 x -7529191101579425/101745825697019260773923519755878567461315282017759829107608914364075275235254395622580447400994175578963163918967182013639660669771108475957692810857098847138903161308502419410142185759152435680068435915159402496058513611411689167650816) (+.f64 z x) (if (<=.f64 x 8013690196530069/14059105607947488696282932836518693308967803494693489478439861164411992439598399594747002144074658928593502845729752797260025831423419686528151609940203637047296) (+.f64 y (+.f64 z x)) (if (<=.f64 x 5585173065148971/60708402882054033466233184588234965832575213720379360039119137804340758912662765568) (sin.f64 y) (+.f64 z x))))
(if (<=.f64 y -265000000) (+.f64 z x) (if (<=.f64 y 2700) (+.f64 y (+.f64 z x)) (+.f64 z x)))
(if (<=.f64 x -7529191101579425/406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728054558642679084433903830771243428395388555612645234009677640568743036609742720273743660637609984234054445646756670603264) (+.f64 z x) (if (<=.f64 x 2154797213865323/615656346818663737691860001564743965704370926101022604186692084441339402679643915803347910232576806887603562348544) (+.f64 z y) (+.f64 z x)))
(+.f64 z x)
(if (<=.f64 x -25000000000000000) x (if (<=.f64 x 6346137300386387/21153791001287955166461289857048673274508949854856999017108761448780985319561963066406054734070889115122918784800747465736192) z (if (<=.f64 x 5828006676677187/1942668892225729070919461906823518906642406839052139521251812409738904285205208498176) (+.f64 y x) (if (<=.f64 x 34000000000000000556857955178552229888) z x))))
(if (<=.f64 x -25000000000000000) x (if (<=.f64 x 35999999999999999756255514388529676288) z x))
x
Compiler

Compiled 246 to 143 computations (41.9% saved)

soundness202.0ms (1.2%)

Algorithm
egg-herbie
Rules
2166×rational.json-simplify-35
1778×rational.json-simplify-1
1258×rational.json-simplify-26
910×rational.json-simplify-2
654×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
12027
23327
35127
48227
513827
629727
772227
8202227
9326127
10400427
11448027
12522727
13564127
14624527
15681627
Stop Event
node limit
Compiler

Compiled 39 to 13 computations (66.7% saved)

end84.0ms (0.5%)

Compiler

Compiled 210 to 86 computations (59% saved)

Profiling

Loading profile data...