Details

Time bar (total: 8.4s)

analyze387.0ms (4.6%)

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.5s (30.5%)

Results
1.2s6305×body256valid
768.0ms1277×body1024valid
363.0ms670×body512valid
4.0msbody2048valid
Bogosity

preprocess121.0ms (1.4%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 15 to 11 computations (26.7% saved)

simplify180.0ms (2.2%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 30 to 12 computations (60% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 12 to 8 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series187.0ms (2.2%)

Counts
3 → 44
Calls

18 calls:

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

rewrite75.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01143
111443
233543
376143
4173443
5419743
Stop Event
node limit
Counts
3 → 71
Calls
Call 1
Inputs
(*.f64 z (sin.f64 y))
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(cos.f64 y)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (sin.f64 y)) (*.f64 z (sin.f64 y)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))))))
((#(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 (cos.f64 (-.f64 (PI.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 (cos.f64 (-.f64 (PI.f64) y)))))) (#(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 (-.f64 (PI.f64) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 y) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cos.f64 (-.f64 (PI.f64) y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x and (cos.f64 y) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x or (cos.f64 y) (cos.f64 y))))))

simplify139.0ms (1.7%)

Algorithm
egg-herbie
Rules
1418×rational.json-simplify-35
1226×rational.json-simplify-52
1170×rational.json-simplify-45
1104×rational.json-simplify-48
960×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01852399
13952393
29312375
323542349
441162349
554442349
670222349
Stop Event
node limit
Counts
115 → 126
Calls
Call 1
Inputs
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 1 x)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
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 z (sin.f64 y)) 0)
(+.f64 0 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))
(-.f64 (*.f64 z (sin.f64 y)) 0)
(/.f64 (*.f64 z (sin.f64 y)) 1)
(/.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32)
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0)
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y)))
(+.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1)
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2)
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2)
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4)
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
(+.f64 (cos.f64 y) 0)
(+.f64 0 (cos.f64 y))
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.f64) y))))
(+.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (cos.f64 y) 1/2))
(-.f64 (cos.f64 y) 0)
(-.f64 0 (cos.f64 (-.f64 (PI.f64) y)))
(*.f64 (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 (-.f64 (PI.f64) y)) -1)
(/.f64 (cos.f64 y) 1)
(/.f64 (*.f64 (cos.f64 y) 2) 2)
(/.f64 (*.f64 (cos.f64 y) 4) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) 16)
(/.f64 (cos.f64 (-.f64 (PI.f64) y)) -1)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) 4)))) 32)
(neg.f64 (cos.f64 (-.f64 (PI.f64) y)))
Outputs
(*.f64 y z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 -1/6 (*.f64 z (pow.f64 y 3))))
(+.f64 (*.f64 y z) (*.f64 z (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 z (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (*.f64 1/120 (*.f64 (pow.f64 y 5) z))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 z 1/120)) (*.f64 -1/6 (*.f64 z (pow.f64 y 3)))))
(+.f64 (*.f64 y z) (+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (*.f64 z (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 z -1/6)) (*.f64 z (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 z (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 3) z)) (+.f64 (*.f64 y z) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) z)) (*.f64 1/120 (*.f64 (pow.f64 y 5) z)))))
(+.f64 (*.f64 y z) (+.f64 (+.f64 (*.f64 (pow.f64 y 5) (*.f64 z 1/120)) (*.f64 (pow.f64 y 7) (*.f64 z -1/5040))) (*.f64 -1/6 (*.f64 z (pow.f64 y 3)))))
(+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 y z) (+.f64 (*.f64 z (*.f64 1/120 (pow.f64 y 5))) (*.f64 z (*.f64 (pow.f64 y 7) -1/5040)))))
(+.f64 (*.f64 (pow.f64 y 5) (*.f64 z 1/120)) (+.f64 (*.f64 z (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))) (*.f64 (pow.f64 y 3) (*.f64 z -1/6))))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 z -1/6)) (*.f64 z (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 1/120 (pow.f64 y 5))))))
(+.f64 (*.f64 z (*.f64 -1/6 (pow.f64 y 3))) (*.f64 z (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 1/120 (pow.f64 y 5))))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
x
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 1 x)
(+.f64 x 1)
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) x))
(+.f64 (*.f64 y (*.f64 z -1)) (+.f64 x 1))
(+.f64 x (+.f64 1 (*.f64 y (neg.f64 z))))
(+.f64 (+.f64 x 1) (*.f64 y (neg.f64 z)))
(+.f64 x (-.f64 1 (*.f64 y z)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) x)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 y (*.f64 z -1)))))
(+.f64 1 (+.f64 x (+.f64 (*.f64 y (neg.f64 z)) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 x (+.f64 (+.f64 (*.f64 y (neg.f64 z)) (*.f64 -1/2 (pow.f64 y 2))) 1))
(+.f64 x (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 1 (*.f64 y z))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 3) z)) x))))
(+.f64 1 (+.f64 (*.f64 y (*.f64 z -1)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 x (*.f64 (pow.f64 y 3) (*.f64 z 1/6))))))
(+.f64 1 (+.f64 (*.f64 y (neg.f64 z)) (+.f64 x (+.f64 (*.f64 z (*.f64 1/6 (pow.f64 y 3))) (*.f64 -1/2 (pow.f64 y 2))))))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 (+.f64 x (+.f64 (*.f64 z (*.f64 (pow.f64 y 3) 1/6)) (*.f64 y (neg.f64 z)))) -1))
(+.f64 (*.f64 -1/2 (pow.f64 y 2)) (+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 (pow.f64 y 3) 1/6))) (+.f64 x 1)))
(+.f64 1 (+.f64 (+.f64 x (*.f64 -1/2 (pow.f64 y 2))) (*.f64 z (+.f64 (*.f64 (pow.f64 y 3) 1/6) (neg.f64 y)))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) x)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (+.f64 (cos.f64 y) x))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
1
(+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4))))
(+.f64 (*.f64 -1/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 (*.f64 -1/2 (pow.f64 y 2)) (-.f64 (*.f64 1/24 (pow.f64 y 4)) -1)) (*.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/720 (pow.f64 y 6)) (+.f64 1 (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 z (sin.f64 y)) 0)
(*.f64 z (sin.f64 y))
(+.f64 0 (*.f64 z (sin.f64 y)))
(*.f64 z (sin.f64 y))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (sin.f64 y) 1/2)))
(*.f64 z (sin.f64 y))
(-.f64 (*.f64 z (sin.f64 y)) 0)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 z (sin.f64 y)) 1)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) (+.f64 z z)) 2)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) (*.f64 z 4)) 4)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))) 8)
(*.f64 z (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) 16)
(*.f64 z (sin.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 z 4))))) 32)
(*.f64 z (sin.f64 y))
(+.f64 x (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (+.f64 x (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 0)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 0 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 x (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 -1 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 -1 (+.f64 (+.f64 1 (-.f64 x (*.f64 z (sin.f64 y)))) (cos.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (+.f64 x (cos.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (+.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))) -1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 1 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 1/2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 4 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 1/4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 1/2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1/2) 2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 1/4 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(*.f64 (/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 2) 2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))) -1)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4) 4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))) -2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)) 8)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) -4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) 16)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) 2)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y)))) 4)))) 32)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y)))))) 4)
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (+.f64 x (cos.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) x)
(+.f64 (cos.f64 y) (-.f64 x (*.f64 z (sin.f64 y))))
(-.f64 (+.f64 (cos.f64 y) x) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) 0)
(cos.f64 y)
(+.f64 0 (cos.f64 y))
(cos.f64 y)
(+.f64 -1 (-.f64 1 (cos.f64 (-.f64 (PI.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 (cos.f64 (-.f64 (PI.f64) y)))
(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 (-.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)

eval27.0ms (0.3%)

Compiler

Compiled 1879 to 891 computations (52.6% saved)

prune25.0ms (0.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1197126
Fresh000
Picked011
Done000
Total1198127
Error
0.1b
Counts
127 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
7.3b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.3b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
16.8b
(+.f64 (cos.f64 y) x)
24.4b
(+.f64 x (-.f64 1 (*.f64 y z)))
23.5b
(+.f64 x 1)
46.3b
(*.f64 z (neg.f64 (sin.f64 y)))
36.8b
x
Compiler

Compiled 120 to 87 computations (27.5% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 z (sin.f64 y))
Compiler

Compiled 24 to 11 computations (54.2% saved)

localize3.0ms (0%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize60.0ms (0.7%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 10 computations (54.5% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite929.0ms (11.1%)

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

Useful iterations: 0 (0.0ms)

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

simplify474.0ms (5.7%)

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

Useful iterations: 1 (0.0ms)

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

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
Compiler

Compiled 11 to 5 computations (54.5% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite88.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1910×bool.json-1
1910×bool.json-2
982×rational.json-1
982×rational.json-2
982×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
18815
228315
365115
4146515
5341915
6737415
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 z (neg.f64 (sin.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (sin.f64 y) -1/2)) (*.f64 z (*.f64 (sin.f64 y) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (neg.f64 (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (*.f64 (sin.f64 y) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (sin.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 z (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 z (neg.f64 (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 z (neg.f64 (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 z (neg.f64 (sin.f64 y))) (*.f64 z (neg.f64 (sin.f64 y))))))))

simplify309.0ms (3.7%)

Algorithm
egg-herbie
Rules
1764×rational.json-simplify-35
1454×rational.json-simplify-48
1250×rational.json-simplify-53
952×rational.json-simplify-1
756×rational.json-simplify-43
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
066706
1151698
2333698
3748674
42546674
53567674
64591674
75547674
86841674
97211674
107521674
117668674
127760674
137926674
Stop Event
node limit
Counts
38 → 39
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 y z))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0)
(+.f64 0 (*.f64 z (neg.f64 (sin.f64 y))))
(+.f64 -1 (-.f64 1 (*.f64 z (sin.f64 y))))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) -1/2)) (*.f64 z (*.f64 (sin.f64 y) -1/2)))
(-.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0)
(-.f64 0 (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 z (neg.f64 (sin.f64 y))) 1)
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2)
(/.f64 (*.f64 z (*.f64 (sin.f64 y) -4)) 4)
(/.f64 (*.f64 z (sin.f64 y)) -1)
(/.f64 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8))) 32)
(neg.f64 (*.f64 z (sin.f64 y)))
Outputs
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 y z))
(*.f64 -1 (*.f64 z y))
(*.f64 y (neg.f64 z))
(*.f64 z (neg.f64 y))
(+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))
(+.f64 (*.f64 -1 (*.f64 z y)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(+.f64 (*.f64 y (neg.f64 z)) (*.f64 (pow.f64 y 3) (*.f64 z 1/6)))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))
(*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y)))
(*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))
(+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 -1 (*.f64 z y)) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 -1/120 (*.f64 z (pow.f64 y 5)))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 z 1/6)) (*.f64 z (*.f64 -1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 z (neg.f64 y)) (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 z (*.f64 -1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 z (neg.f64 y)) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/6 (pow.f64 y 3)))))
(+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 7) z)) (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/120 (*.f64 (pow.f64 y 5) z)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 (*.f64 -1 (*.f64 z y)) (+.f64 (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 -1/120 (*.f64 z (pow.f64 y 5)))) (*.f64 1/5040 (*.f64 z (pow.f64 y 7)))))
(+.f64 (*.f64 y (neg.f64 z)) (+.f64 (+.f64 (*.f64 (pow.f64 y 3) (*.f64 z 1/6)) (*.f64 z (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 z (*.f64 1/5040 (pow.f64 y 7)))))
(+.f64 (+.f64 (*.f64 1/6 (*.f64 z (pow.f64 y 3))) (*.f64 z (*.f64 -1/120 (pow.f64 y 5)))) (+.f64 (*.f64 z (neg.f64 y)) (*.f64 z (*.f64 1/5040 (pow.f64 y 7)))))
(+.f64 (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y))) (*.f64 z (+.f64 (*.f64 -1/120 (pow.f64 y 5)) (*.f64 1/5040 (pow.f64 y 7)))))
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (*.f64 z (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 -1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 -1/120 (pow.f64 y 5)))) (*.f64 z (+.f64 (*.f64 1/5040 (pow.f64 y 7)) (*.f64 1/6 (pow.f64 y 3)))))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 0 (*.f64 z (neg.f64 (sin.f64 y))))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 -1 (-.f64 1 (*.f64 z (sin.f64 y))))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(+.f64 (*.f64 z (*.f64 (sin.f64 y) -1/2)) (*.f64 z (*.f64 (sin.f64 y) -1/2)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(-.f64 (*.f64 z (neg.f64 (sin.f64 y))) 0)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(-.f64 0 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(/.f64 (*.f64 z (neg.f64 (sin.f64 y))) 1)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(/.f64 (*.f64 (sin.f64 y) (*.f64 z -2)) 2)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(/.f64 (*.f64 z (*.f64 (sin.f64 y) -4)) 4)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(/.f64 (*.f64 z (sin.f64 y)) -1)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(/.f64 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8) 8)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(/.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) 16)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8)) (*.f64 2 (*.f64 (*.f64 z (neg.f64 (sin.f64 y))) 8))) 32)
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) (neg.f64 z))

eval100.0ms (1.2%)

Compiler

Compiled 1770 to 1120 computations (36.7% saved)

prune250.0ms (3%)

Pruning

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New1382140
Fresh022
Picked011
Done055
Total13810148
Error
0.1b
Counts
148 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
7.3b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.3b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
44.9b
(-.f64 1 (*.f64 y z))
16.8b
(+.f64 (cos.f64 y) x)
24.4b
(+.f64 x (-.f64 1 (*.f64 y z)))
23.5b
(+.f64 x 1)
46.3b
(*.f64 z (neg.f64 (sin.f64 y)))
57.7b
(*.f64 z (neg.f64 y))
36.8b
x
Compiler

Compiled 83 to 60 computations (27.7% saved)

localize5.0ms (0.1%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize5.0ms (0.1%)

Compiler

Compiled 14 to 7 computations (50% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 20 to 7 computations (65% saved)

series1.0ms (0%)

Counts
1 → 16
Calls

6 calls:

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

rewrite86.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1850×bool.json-1
1850×bool.json-2
1236×bool.json-3
910×rational.json-1
910×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
19321
228021
362621
4136521
5312521
6698721
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 z (sin.f64 y))) (cos.f64 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 z (sin.f64 y))) (-.f64 1 (neg.f64 (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (sin.f64 y) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (*.f64 (cos.f64 y) 2) (*.f64 z (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))))))

simplify216.0ms (2.6%)

Algorithm
egg-herbie
Rules
1800×rational.json-simplify-35
1796×rational.json-simplify-1
1710×rational.json-simplify-52
1040×rational.json-simplify-2
784×rational.json-simplify-26
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0981228
12101222
24461222
39781208
419111208
526361036
637141036
743151036
846281036
949891036
1055321036
1164721036
1279121036
Stop Event
node limit
Counts
50 → 57
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1 (*.f64 y z)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(cos.f64 y)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 0)
(+.f64 0 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 -1 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1))
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) -1)
(+.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))
(+.f64 (-.f64 -1 (*.f64 z (sin.f64 y))) (-.f64 1 (neg.f64 (cos.f64 y))))
(*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)
(*.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))
(*.f64 2 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))
(*.f64 2 (-.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (sin.f64 y) (*.f64 z 1/2))))
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 1/2)
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)
(*.f64 4 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 1/4)
(*.f64 1/2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2))
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 y) 2) (*.f64 z (*.f64 (sin.f64 y) 2))))
(*.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) 2)
(*.f64 1/4 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))
(*.f64 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)
(/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 2)
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) -2)
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8) 8)
(/.f64 (*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))))) 4)
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))
Outputs
1
(+.f64 1 (*.f64 -1 (*.f64 y z)))
(+.f64 1 (*.f64 z (neg.f64 y)))
(+.f64 1 (neg.f64 (*.f64 y z)))
(-.f64 1 (*.f64 y z))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 1 (+.f64 (*.f64 z (neg.f64 y)) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 (-.f64 1 (*.f64 y z)) (*.f64 -1/2 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 (pow.f64 y 3) z)))))
(+.f64 1 (+.f64 (*.f64 -1 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(+.f64 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 (pow.f64 y 3) (*.f64 z 1/6))) (+.f64 1 (*.f64 z (neg.f64 y))))
(+.f64 1 (+.f64 (neg.f64 (*.f64 y z)) (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/6 (*.f64 z (pow.f64 y 3))))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 z (+.f64 (*.f64 1/6 (pow.f64 y 3)) (neg.f64 y)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3))))))
(+.f64 (*.f64 z (+.f64 (neg.f64 y) (*.f64 1/6 (pow.f64 y 3)))) (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))
(cos.f64 y)
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 -1 (*.f64 z (sin.f64 y)))
(neg.f64 (*.f64 z (sin.f64 y)))
(*.f64 z (neg.f64 (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (*.f64 -1 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 0)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 0 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 -1 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (neg.f64 (*.f64 z (sin.f64 y))) (cos.f64 y))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (+.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1) -1)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(+.f64 (-.f64 -1 (*.f64 z (sin.f64 y))) (-.f64 1 (neg.f64 (cos.f64 y))))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 1 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 -1 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 2 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 2 (-.f64 (*.f64 (cos.f64 y) 1/2) (*.f64 (sin.f64 y) (*.f64 z 1/2))))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 1/2)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 4 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 1/4)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 1/2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 1/2 (-.f64 (*.f64 (cos.f64 y) 2) (*.f64 z (*.f64 (sin.f64 y) 2))))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 (/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -2) 2)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 1/4 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(*.f64 (/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 1)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 2) 2)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) -1)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 4) 4)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))) -2)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8) 8)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)) 4) -4)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) 16)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) 2)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8)) (*.f64 2 (*.f64 (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) 8))) 32)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))) (neg.f64 (*.f64 2 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y))))) 4)
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
(neg.f64 (-.f64 (*.f64 z (sin.f64 y)) (cos.f64 y)))
(+.f64 (cos.f64 y) (neg.f64 (*.f64 z (sin.f64 y))))
(+.f64 (cos.f64 y) (*.f64 z (neg.f64 (sin.f64 y))))
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))

eval26.0ms (0.3%)

Compiler

Compiled 1617 to 833 computations (48.5% saved)

prune20.0ms (0.2%)

Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New1192121
Fresh011
Picked011
Done088
Total11912131
Error
0.1b
Counts
131 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
7.3b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.3b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
44.9b
(-.f64 1 (*.f64 y z))
16.8b
(+.f64 (cos.f64 y) x)
24.4b
(+.f64 x (-.f64 1 (*.f64 y z)))
23.5b
(+.f64 x 1)
46.3b
(*.f64 z (neg.f64 (sin.f64 y)))
57.7b
(*.f64 z (neg.f64 y))
42.5b
(cos.f64 y)
36.8b
x
49.0b
1
Compiler

Compiled 92 to 68 computations (26.1% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
Compiler

Compiled 6 to 4 computations (33.3% saved)

eval7.0ms (0.1%)

Compiler

Compiled 308 to 224 computations (27.3% saved)

prune64.0ms (0.8%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New36036
Fresh022
Picked011
Done099
Total361248
Error
0.1b
Counts
48 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
7.3b
(-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))
26.3b
(-.f64 (cos.f64 y) (*.f64 z (sin.f64 y)))
44.9b
(-.f64 1 (*.f64 y z))
16.8b
(+.f64 (cos.f64 y) x)
24.4b
(+.f64 x (-.f64 1 (*.f64 y z)))
23.5b
(+.f64 x 1)
46.3b
(*.f64 z (neg.f64 (sin.f64 y)))
57.7b
(*.f64 z (neg.f64 y))
42.5b
(cos.f64 y)
36.8b
x
49.0b
1
Compiler

Compiled 92 to 68 computations (26.1% saved)

regimes678.0ms (8.1%)

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

4 calls:

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

Compiled 83 to 43 computations (48.2% saved)

regimes47.0ms (0.6%)

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

3 calls:

19.0ms
x
19.0ms
z
7.0ms
y
Results
ErrorSegmentsBranch
0.5b3x
7.3b1y
0.7b3z
Compiler

Compiled 62 to 33 computations (46.8% saved)

bsearch47.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
8.020692147270294e-28
3.562816848213261e-27
28.0ms
-2.8172710865107615
-0.024515808889069374
Results
18.0ms116×body256valid
18.0ms42×body1024valid
8.0ms18×body512valid
Compiler

Compiled 271 to 200 computations (26.2% saved)

regimes45.0ms (0.5%)

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

3 calls:

18.0ms
x
17.0ms
z
7.0ms
y
Results
ErrorSegmentsBranch
6.1b3x
7.3b1y
0.7b3z
Compiler

Compiled 55 to 32 computations (41.8% saved)

bsearch39.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
0.004389055584836638
0.13773444996912138
28.0ms
-518.6016422963615
-0.06385495578161579
Results
23.0ms139×body256valid
10.0ms24×body1024valid
4.0ms13×body512valid
Compiler

Compiled 238 to 178 computations (25.2% saved)

regimes52.0ms (0.6%)

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

3 calls:

17.0ms
y
17.0ms
x
16.0ms
z
Results
ErrorSegmentsBranch
14.9b3x
12.5b3y
6.5b3z
Compiler

Compiled 47 to 28 computations (40.4% saved)

bsearch44.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
1.732750873226534e+71
7.698859489509765e+71
23.0ms
-2.747994099914352e+223
-5.636806999643287e+222
Results
22.0ms142×body256valid
14.0ms30×body1024valid
6.0ms20×body512valid
Compiler

Compiled 222 to 169 computations (23.9% saved)

regimes47.0ms (0.6%)

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

3 calls:

16.0ms
z
15.0ms
y
15.0ms
x
Results
ErrorSegmentsBranch
15.7b3x
12.5b3y
12.9b3z
Compiler

Compiled 42 to 25 computations (40.5% saved)

bsearch51.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
0.9895587613212368
15978125019.606092
23.0ms
-2892304.4344630404
-460.64730039333045
Results
48.0ms288×body256valid
Compiler

Compiled 360 to 265 computations (26.4% saved)

regimes289.0ms (3.5%)

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

3 calls:

137.0ms
x
24.0ms
z
15.0ms
y
Results
ErrorSegmentsBranch
16.0b5x
18.9b3y
18.6b5z
Compiler

Compiled 38 to 24 computations (36.8% saved)

bsearch133.0ms (1.6%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
3.562816848213261e-27
2.4895900464054025e-25
46.0ms
1.2454164087307464e-234
1.3636964875183497e-223
29.0ms
-1.7777880875634243e-200
-1.9097651610454688e-202
29.0ms
-2.8172710865107615
-0.024515808889069374
Results
58.0ms122×body1024valid
50.0ms313×body256valid
19.0ms61×body512valid
Compiler

Compiled 489 to 388 computations (20.7% saved)

regimes45.0ms (0.5%)

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

3 calls:

16.0ms
z
14.0ms
x
14.0ms
y
Results
ErrorSegmentsBranch
20.3b3x
19.0b3y
19.6b3z
Compiler

Compiled 36 to 23 computations (36.1% saved)

bsearch43.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
2.8070194461771254e+50
1.9747328548579293e+52
23.0ms
-8.956085671780674e+51
-1.1781472414483397e+48
Results
40.0ms240×body256valid
Compiler

Compiled 288 to 223 computations (22.6% saved)

regimes34.0ms (0.4%)

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

3 calls:

16.0ms
z
12.0ms
x
4.0ms
y
Results
ErrorSegmentsBranch
20.7b3x
23.5b1y
20.6b4z
Compiler

Compiled 29 to 20 computations (31% saved)

bsearch88.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
4.342581674359666e+303
2.6023531364453597e+306
22.0ms
5.745112206562561e+83
2.7018031384172097e+84
34.0ms
-2.701630638667712e+232
-2.747994099914352e+223
Results
40.0ms255×body256valid
32.0ms73×body1024valid
11.0ms40×body512valid
Compiler

Compiled 361 to 287 computations (20.5% saved)

regimes19.0ms (0.2%)

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

3 calls:

8.0ms
z
6.0ms
y
4.0ms
x
Results
ErrorSegmentsBranch
23.5b1x
23.5b1y
21.8b2z
Compiler

Compiled 24 to 17 computations (29.2% saved)

bsearch36.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
36.0ms
-2.701630638667712e+232
-2.747994099914352e+223
Results
14.0ms90×body256valid
13.0ms30×body1024valid
7.0ms24×body512valid
Compiler

Compiled 153 to 121 computations (20.9% saved)

regimes12.0ms (0.1%)

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

3 calls:

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

Compiled 20 to 15 computations (25% saved)

regimes42.0ms (0.5%)

Accuracy

Total -38.4b remaining (-161.8%)

Threshold costs -38.4b (-161.8%)

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

3 calls:

19.0ms
y
14.0ms
z
9.0ms
x
Results
ErrorSegmentsBranch
23.8b3x
32.0b7y
34.4b5z
Compiler

Compiled 17 to 13 computations (23.5% saved)

bsearch84.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
1.0713221835621463e-11
1332325900467.5364
34.0ms
-3.3907633680382184e-6
-5.39940538618472e-9
Results
34.0ms80×body1024valid
25.0ms162×body256valid
18.0ms59×body512valid
3.0msbody2048valid
Compiler

Compiled 208 to 184 computations (11.5% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
083550
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 x -3602879701896397/144115188075855872) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 x 1045347431181123/348449143727040986586495598010130648530944) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -3039929748475085/2251799813685248) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 3602879701896397/36028797018963968) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -5699999999999999944577084249238382192094665210453594988130606504799884218148470382373604432699478663643801364498212798397898671270518023160096839279450507605988563478198240431427194802578584988364155583966086909792866009088) (*.f64 z (neg.f64 (sin.f64 y))) (if (<=.f64 z 359999999999999995461406280032747478250074244466564231611773212300410880) (+.f64 (cos.f64 y) x) (*.f64 z (neg.f64 (sin.f64 y)))))
(if (<=.f64 y -470) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x)))
(if (<=.f64 x -3602879701896397/144115188075855872) (+.f64 x 1) (if (<=.f64 x -4853773991529749/22062609052407949194914912829723655182432452436340449411589077584864795549696863280514640007775234351335139574205343723266588256764674929278332446003804266456490594464708719691973688066349246310341854370928394768482304) (cos.f64 y) (if (<=.f64 x 8949657474523425/7159725979618740301104695983418709622680434793042663132360362425577766001338226039836321066456157093857339877304749930018599215189268344175111256510391144905128218576994803025566700315369744694061260002057936311868982638401684395903839696776618573824) (+.f64 x (-.f64 1 (*.f64 y z))) (if (<=.f64 x 5226737155905615/21778071482940061661655974875633165533184) (cos.f64 y) (+.f64 x 1)))))
(if (<=.f64 y -4399999999999999868403155739908541577233789091840) (+.f64 x 1) (if (<=.f64 y 290000000000000001357145105027161795433413098864640) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x 1)))
(if (<=.f64 z -750000000000000042356558265390631061130469786487293781025423873116592422975683647891914821192094987234826127010652271572424485483455192907978870109202459834564837955228046739863923178561943457689699691228976314954301386522221346816) (*.f64 z (neg.f64 y)) (if (<=.f64 z 2700000000000000177537804058633432932314233312775077709074428568766181286728584658944) (+.f64 x 1) (if (<=.f64 z 2149999999999999888885765909703391860615426528075601486688469603024504034783658203537208871882561370845154197146095385555034029117484082930919036481192567889778244402586939212892113104342870854497979068528045890507076718706863451769174254988755459099642124738450384293033112548090436464509761614833529126912) (-.f64 1 (*.f64 y z)) x)))
(if (<=.f64 z -6199999999999999733945772058804073242161779144372561320049617612161435021357169464044693067430540739475828057794859772943053003558251907117002790295608520803976922433008213086360448187567746394980151531879155561912880711377879040) (*.f64 z (neg.f64 y)) (+.f64 x 1))
(+.f64 x 1)
(if (<=.f64 x -61796592646927/18446744073709551616) x (if (<=.f64 x 7656119366529843/9007199254740992) 1 x))
1
Outputs
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
(if (<=.f64 x -3602879701896397/144115188075855872) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 x 1045347431181123/348449143727040986586495598010130648530944) (-.f64 (cos.f64 y) (*.f64 z (sin.f64 y))) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -3039929748475085/2251799813685248) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y))) (if (<=.f64 z 3602879701896397/36028797018963968) (+.f64 (cos.f64 y) x) (-.f64 (+.f64 x 1) (*.f64 z (sin.f64 y)))))
(if (<=.f64 z -5699999999999999944577084249238382192094665210453594988130606504799884218148470382373604432699478663643801364498212798397898671270518023160096839279450507605988563478198240431427194802578584988364155583966086909792866009088) (*.f64 z (neg.f64 (sin.f64 y))) (if (<=.f64 z 359999999999999995461406280032747478250074244466564231611773212300410880) (+.f64 (cos.f64 y) x) (*.f64 z (neg.f64 (sin.f64 y)))))
(if (<=.f64 y -470) (+.f64 (cos.f64 y) x) (if (<=.f64 y 1) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 (cos.f64 y) x)))
(if (<=.f64 x -3602879701896397/144115188075855872) (+.f64 x 1) (if (<=.f64 x -4853773991529749/22062609052407949194914912829723655182432452436340449411589077584864795549696863280514640007775234351335139574205343723266588256764674929278332446003804266456490594464708719691973688066349246310341854370928394768482304) (cos.f64 y) (if (<=.f64 x 8949657474523425/7159725979618740301104695983418709622680434793042663132360362425577766001338226039836321066456157093857339877304749930018599215189268344175111256510391144905128218576994803025566700315369744694061260002057936311868982638401684395903839696776618573824) (+.f64 x (-.f64 1 (*.f64 y z))) (if (<=.f64 x 5226737155905615/21778071482940061661655974875633165533184) (cos.f64 y) (+.f64 x 1)))))
(if (<=.f64 y -4399999999999999868403155739908541577233789091840) (+.f64 x 1) (if (<=.f64 y 290000000000000001357145105027161795433413098864640) (+.f64 x (-.f64 1 (*.f64 y z))) (+.f64 x 1)))
(if (<=.f64 z -750000000000000042356558265390631061130469786487293781025423873116592422975683647891914821192094987234826127010652271572424485483455192907978870109202459834564837955228046739863923178561943457689699691228976314954301386522221346816) (*.f64 z (neg.f64 y)) (if (<=.f64 z 2700000000000000177537804058633432932314233312775077709074428568766181286728584658944) (+.f64 x 1) (if (<=.f64 z 2149999999999999888885765909703391860615426528075601486688469603024504034783658203537208871882561370845154197146095385555034029117484082930919036481192567889778244402586939212892113104342870854497979068528045890507076718706863451769174254988755459099642124738450384293033112548090436464509761614833529126912) (-.f64 1 (*.f64 y z)) x)))
(if (<=.f64 z -6199999999999999733945772058804073242161779144372561320049617612161435021357169464044693067430540739475828057794859772943053003558251907117002790295608520803976922433008213086360448187567746394980151531879155561912880711377879040) (*.f64 z (neg.f64 y)) (+.f64 x 1))
(+.f64 x 1)
(if (<=.f64 x -61796592646927/18446744073709551616) x (if (<=.f64 x 7656119366529843/9007199254740992) 1 x))
1
Compiler

Compiled 254 to 164 computations (35.4% saved)

soundness0.0ms (0%)

end91.0ms (1.1%)

Compiler

Compiled 221 to 114 computations (48.4% saved)

Profiling

Loading profile data...