Details

Time bar (total: 12.9s)

analyze222.0ms (1.7%)

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)

sample5.8s (44.5%)

Results
3.2s2125×body1024valid
1.5s5094×body256valid
1.1s1030×body512valid
5.0msbody2048valid
Bogosity

preprocess170.0ms (1.3%)

Algorithm
egg-herbie
Rules
2534×rational.json-simplify-42
1818×rational.json-simplify-45
1718×rational.json-simplify-35
1034×rational.json-simplify-2
846×rational.json-simplify-48
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024108
150108
273108
3109108
4187108
5333108
6800108
72041108
84430108
95366108
105761108
116242108
126545108
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x)))
(+.f64 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(+.f64 (*.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z)))
Outputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x)))
(+.f64 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(+.f64 (*.f64 (sin.f64 y) z) (*.f64 x (cos.f64 y)))
(+.f64 (*.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify188.0ms (1.5%)

Algorithm
egg-herbie
Rules
2180×rational.json-simplify-35
1772×rational.json-simplify-1
1258×rational.json-simplify-26
918×rational.json-simplify-2
658×rational.json-simplify-52
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
12027
22927
34327
47527
513127
629027
771627
8204227
9330627
10405027
11452827
12528127
13569727
14630327
15687627
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Outputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.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
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
0.1b
(*.f64 z (cos.f64 y))
0.1b
(*.f64 x (sin.f64 y))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series7.0ms (0.1%)

Counts
3 → 76
Calls

21 calls:

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

rewrite98.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01149
17749
217649
338349
479049
5190649
6434549
7666449
Stop Event
node limit
Counts
3 → 47
Calls
Call 1
Inputs
(*.f64 x (sin.f64 y))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 x (sin.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x (sin.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (sin.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (sin.f64 y)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sin.f64 y)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 z (cos.f64 y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 z (cos.f64 y)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (cos.f64 y)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 z 8) (cos.f64 y)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 z (cos.f64 y)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (sin.f64 y) (+.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)))))

simplify248.0ms (1.9%)

Algorithm
egg-herbie
Rules
2264×rational.json-simplify-2
1932×rational.json-simplify-35
986×exponential.json-simplify-26
906×rational.json-simplify-1
902×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01482437
13322437
27732413
318052389
436342389
545572389
650452389
754952389
863192389
967882389
1075832389
Stop Event
node limit
Counts
123 → 94
Calls
Call 1
Inputs
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 x (sin.f64 y)) 0)
(+.f64 0 (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2)))
(-.f64 (*.f64 x (sin.f64 y)) 0)
(/.f64 (*.f64 x (sin.f64 y)) 1)
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)
(/.f64 (*.f64 (*.f64 x (sin.f64 y)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)))) 64)
(pow.f64 (*.f64 x (sin.f64 y)) 1)
(+.f64 (*.f64 z (cos.f64 y)) 0)
(+.f64 0 (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2)))
(-.f64 (*.f64 z (cos.f64 y)) 0)
(/.f64 (*.f64 z (cos.f64 y)) 1)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 (*.f64 z 8) (cos.f64 y)) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))))) 64)
(pow.f64 (*.f64 z (cos.f64 y)) 1)
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 0)
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2))
(*.f64 2 (+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2))))
(*.f64 2 (+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2))))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (sin.f64 y) (+.f64 x x))))
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)))) 64)
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)
Outputs
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))
(+.f64 (*.f64 y x) (*.f64 x (*.f64 (pow.f64 y 3) -1/6)))
(*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/6)) (*.f64 x (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 y x) (+.f64 (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 -1/5040 (*.f64 x (pow.f64 y 7)))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 1/120 (pow.f64 y 5))) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/6)) (*.f64 x (*.f64 -1/5040 (pow.f64 y 7))))))
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (+.f64 (*.f64 x (*.f64 -1/5040 (pow.f64 y 7))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120))))
(+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/120)) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))))
(+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 5))) (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 z (*.f64 z (*.f64 (pow.f64 y 4) 1/24))))
(+.f64 (+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2))) (*.f64 z (*.f64 1/24 (pow.f64 y 4))))
(+.f64 z (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (+.f64 z (*.f64 (pow.f64 y 4) (*.f64 z 1/24))) (*.f64 -1/720 (*.f64 z (pow.f64 y 6)))))
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 z (*.f64 (pow.f64 y 4) 1/24)) (+.f64 z (*.f64 z (*.f64 (pow.f64 y 6) -1/720)))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (*.f64 z (*.f64 -1/720 (pow.f64 y 6))))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))))
(+.f64 z (+.f64 (*.f64 1/24 (*.f64 z (pow.f64 y 4))) (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 -1/720 (pow.f64 y 6))))))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 (*.f64 y x) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 y x) (+.f64 (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) z) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/6)) z)))
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 x (sin.f64 y)) 0)
(*.f64 (sin.f64 y) x)
(+.f64 0 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2)))
(*.f64 (sin.f64 y) x)
(-.f64 (*.f64 x (sin.f64 y)) 0)
(*.f64 (sin.f64 y) x)
(/.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (sin.f64 y) x)
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)
(*.f64 (sin.f64 y) x)
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)
(*.f64 (sin.f64 y) x)
(/.f64 (*.f64 (*.f64 x (sin.f64 y)) 8) 8)
(*.f64 (sin.f64 y) x)
(/.f64 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)) 16)
(*.f64 (sin.f64 y) x)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) 32)
(*.f64 (sin.f64 y) x)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 x (sin.f64 y)) 8)))) 64)
(*.f64 (sin.f64 y) x)
(pow.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 z (cos.f64 y)) 0)
(*.f64 (cos.f64 y) z)
(+.f64 0 (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2)))
(*.f64 (cos.f64 y) z)
(-.f64 (*.f64 z (cos.f64 y)) 0)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 z (cos.f64 y)) 1)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 (*.f64 z 8) (cos.f64 y)) 8)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))) 16)
(*.f64 (cos.f64 y) z)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) 32)
(*.f64 (cos.f64 y) z)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y)))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 z 8) (cos.f64 y))))) 64)
(*.f64 (cos.f64 y) z)
(pow.f64 (*.f64 z (cos.f64 y)) 1)
(*.f64 (cos.f64 y) z)
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 0)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 2 (+.f64 (*.f64 z (*.f64 (cos.f64 y) 1/2)) (*.f64 x (*.f64 (sin.f64 y) 1/2))))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 2 (+.f64 (*.f64 x (*.f64 (sin.f64 y) 1/2)) (*.f64 z (*.f64 (cos.f64 y) 1/2))))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 1/2)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 4 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 1/4)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 1/2 (+.f64 (*.f64 (cos.f64 y) (+.f64 z z)) (*.f64 (sin.f64 y) (+.f64 x x))))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 1/2 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1/2) 2)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(*.f64 (/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 2) 2)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 4) 4)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8) 8)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)) 16)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) 32)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 8)))) 64)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) 1)
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))

eval22.0ms (0.2%)

Compiler

Compiled 1603 to 789 computations (50.8% saved)

prune15.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New90494
Fresh000
Picked011
Done000
Total90595
Error
0.1b
Counts
95 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
30.9b
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z))
21.1b
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
30.2b
(+.f64 (*.f64 y x) z)
0.1b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
14.6b
(+.f64 (*.f64 x (sin.f64 y)) z)
Compiler

Compiled 56 to 37 computations (33.9% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 18 to 6 computations (66.7% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite85.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
16217
214217
329617
459017
5138717
6333317
7598117
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(+.f64 (*.f64 x (sin.f64 y)) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x (sin.f64 y)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x (*.f64 (sin.f64 y) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)))))

simplify303.0ms (2.3%)

Algorithm
egg-herbie
Rules
2172×rational.json-simplify-45
1384×rational.json-simplify-2
1314×rational.json-simplify-1
1096×rational.json-simplify-48
1058×rational.json-simplify-51
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
075982
1158982
2406970
3981964
41509964
53026964
63894964
74052964
84489964
95361964
105769964
115919964
126160964
136576964
Stop Event
node limit
Counts
58 → 37
Calls
Call 1
Inputs
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 0)
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 z 1/2)))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2))
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x (*.f64 (sin.f64 y) 2))))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 1/8)
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4) 4)
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)))) 64)
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)
Outputs
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 y x))
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 z (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 y x)))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/6)) (+.f64 z (*.f64 y x)))
(+.f64 z (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 y x) (+.f64 (+.f64 z (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))) (*.f64 1/120 (*.f64 x (pow.f64 y 5)))))
(+.f64 (+.f64 z (*.f64 (pow.f64 y 3) (*.f64 x -1/6))) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/120)) (*.f64 y x)))
(+.f64 (+.f64 z (*.f64 (pow.f64 y 3) (*.f64 x -1/6))) (*.f64 x (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 z (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(-.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 0)
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 1 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 z 1/2)))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 1/2)
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 1/4)
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 x (*.f64 (sin.f64 y) 2))))
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2)))))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 1/8)
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/2) 2)
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1/4) 4)
(+.f64 z (*.f64 (sin.f64 y) x))
(/.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)
(+.f64 z (*.f64 (sin.f64 y) x))
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 2) 2)
(+.f64 z (*.f64 (sin.f64 y) x))
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 4) 4)
(+.f64 z (*.f64 (sin.f64 y) x))
(/.f64 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8) 8)
(+.f64 z (*.f64 (sin.f64 y) x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)) 16)
(+.f64 z (*.f64 (sin.f64 y) x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) 32)
(+.f64 z (*.f64 (sin.f64 y) x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 8)))) 64)
(+.f64 z (*.f64 (sin.f64 y) x))
(pow.f64 (+.f64 (*.f64 x (sin.f64 y)) z) 1)
(+.f64 z (*.f64 (sin.f64 y) x))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 9
Calls

9 calls:

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

rewrite246.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1524×rational.json-simplify-35
1424×rational.json-simplify-1
1386×exponential.json-3
1386×rational.json-1
1386×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
210213
321413
439713
589613
6231413
7416913
8535313
9686413
10767513
11767513
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 y x) z) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y x) z) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) z) 1)))))

simplify782.0ms (6.1%)

Algorithm
egg-herbie
Rules
6176×rational.json-simplify-51
3534×rational.json-simplify-35
1360×rational.json-simplify-49
1156×rational.json-simplify-2
1124×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053338
1121338
2423338
31174338
41878338
52772338
63259338
73333338
83381338
93413338
103445338
113477338
123509338
133541338
143573338
153605338
163637338
173669338
183701338
194608338
204867338
214960338
225049338
235136338
245222338
255435338
265435338
275521338
285607338
295693338
305779338
315865338
325951338
336037338
346123338
356209338
Stop Event
node limit
Counts
32 → 26
Calls
Call 1
Inputs
z
(*.f64 y x)
(*.f64 y x)
z
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
z
z
(-.f64 (+.f64 (*.f64 y x) z) 0)
(*.f64 (+.f64 (*.f64 y x) z) 1)
(*.f64 1 (+.f64 (*.f64 y x) z))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) z) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) z) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) z) 8))
(/.f64 (+.f64 (*.f64 y x) z) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 y x) z) 1)
Outputs
z
(*.f64 y x)
(*.f64 y x)
z
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
z
z
(-.f64 (+.f64 (*.f64 y x) z) 0)
(+.f64 z (*.f64 y x))
(*.f64 (+.f64 (*.f64 y x) z) 1)
(+.f64 z (*.f64 y x))
(*.f64 1 (+.f64 (*.f64 y x) z))
(+.f64 z (*.f64 y x))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 1/2))
(+.f64 z (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 1/2)
(+.f64 z (*.f64 y x))
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) z) 1/4))
(+.f64 z (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 1/4)
(+.f64 z (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/8)
(+.f64 z (*.f64 y x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) z) 2))
(+.f64 z (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/2) 2)
(+.f64 z (*.f64 y x))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 4))
(+.f64 z (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 1/4) 4)
(+.f64 z (*.f64 y x))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) z) 8))
(+.f64 z (*.f64 y x))
(/.f64 (+.f64 (*.f64 y x) z) 1)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 2) 2)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 4) 4)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 8)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)) 16)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))) 32)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))) 64)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8))))) 128)
(+.f64 z (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) z) 8)))))) 256)
(+.f64 z (*.f64 y x))
(pow.f64 (+.f64 (*.f64 y x) z) 1)
(+.f64 z (*.f64 y x))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite168.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1424×rational.json-1
1424×rational.json-2
1402×rational.json-simplify-35
1266×rational.json-3
1258×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
16723
214523
331523
462723
5147823
6290423
7438023
8605023
9716223
10788123
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)))))

simplify406.0ms (3.1%)

Algorithm
egg-herbie
Rules
1682×rational.json-simplify-1
1496×rational.json-simplify-35
1308×rational.json-simplify-49
832×rational.json-simplify-2
794×rational.json-simplify-38
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0721215
11561215
23731215
310091209
416361209
524291209
629051209
729941209
830761209
931651209
1032701209
1135371209
1242781209
1346451209
1449341209
1551391209
1653201209
1754901209
1860421209
Stop Event
node limit
Counts
57 → 44
Calls
Call 1
Inputs
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 y x)
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(-.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 0)
(*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2))
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)
(/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))))) 128)
(pow.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)
Outputs
z
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 y x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (+.f64 z (*.f64 y x)) (*.f64 -1/2 (*.f64 z (pow.f64 y 2))))
(+.f64 (*.f64 y x) (+.f64 z (*.f64 z (*.f64 (pow.f64 y 2) -1/2))))
(+.f64 (*.f64 y x) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 z (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 z -1/2))))
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (*.f64 y x) (+.f64 z (*.f64 1/24 (*.f64 z (pow.f64 y 4))))))
(+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (+.f64 (*.f64 z (*.f64 (pow.f64 y 4) 1/24)) (+.f64 z (*.f64 y x))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 z (*.f64 1/24 (pow.f64 y 4))) (+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))))
(+.f64 z (+.f64 (*.f64 z (+.f64 (*.f64 -1/2 (pow.f64 y 2)) (*.f64 1/24 (pow.f64 y 4)))) (*.f64 y x)))
(+.f64 (+.f64 z (*.f64 y x)) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2))))))
(*.f64 y x)
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 y x)
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 y x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 y x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 y x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(-.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 0)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 1/2)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 1/4)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 1/2 (+.f64 (*.f64 y (+.f64 x x)) (*.f64 (cos.f64 y) (+.f64 z z))))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1/2) 2)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4))
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(*.f64 (/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 2) 2)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 4) 4)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8) 8)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)) 16)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))) 32)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8)))) 64)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 8))))) 128)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))
(pow.f64 (+.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) 1)
(+.f64 (*.f64 y x) (*.f64 z (cos.f64 y)))

localize16.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 42 to 22 computations (47.6% saved)

series5.0ms (0%)

Counts
2 → 60
Calls

15 calls:

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

rewrite126.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1714×rational.json-simplify-35
1644×exponential.json-3
1644×rational.json-1
1644×rational.json-2
1644×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01356
18956
218756
339256
481856
5210256
6390056
7513556
8717256
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(*.f64 (pow.f64 y 2) (*.f64 z -1/2))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (+.f64 (*.f64 y x) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/4)) (*.f64 (pow.f64 y 2) (*.f64 z -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z -2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)))))

simplify805.0ms (6.2%)

Algorithm
egg-herbie
Rules
3832×rational.json-simplify-35
2166×rational.json-simplify-2
1322×rational.json-simplify-1
852×rational.json-simplify-53
702×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022617
12332617
25532617
314502617
430682617
541092617
644852617
749022617
852812617
955102617
1056642617
1161962617
1262522617
1363322617
1463952617
1565122617
1665842617
1767632617
1869192617
1970742617
2072312617
2174002617
2275882617
2377612617
2479152617
Stop Event
node limit
Counts
97 → 58
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(*.f64 y x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)
(+.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 -1 (-.f64 1 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/4)) (*.f64 (pow.f64 y 2) (*.f64 z -1/4)))
(-.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)
(-.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)
(/.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) 2)
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -2)) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))) 16)
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))))) 128)
(pow.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)
(neg.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))
(-.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 0)
(*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2))
(*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)
(*.f64 1 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))))
(*.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 1/2)
(*.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 1/4)
(*.f64 1/2 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))
(*.f64 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)
(/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)
(/.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 2)
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))))) 128)
(pow.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
z
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 y x))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z)
(*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 y x) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))) z))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z))
(*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 y x) (*.f64 -1 (*.f64 (-.f64 (*.f64 1/2 (pow.f64 y 2)) 1) z)))
(+.f64 (*.f64 y x) (*.f64 z (+.f64 1 (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)))
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 -1/2 z)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 y x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 y x)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(+.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(+.f64 -1 (-.f64 1 (*.f64 (pow.f64 y 2) (*.f64 z 1/2))))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/4)) (*.f64 (pow.f64 y 2) (*.f64 z -1/4)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(-.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 0)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(-.f64 0 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 (pow.f64 y 2) (neg.f64 z)) 2)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z -2)) 4)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))) 8)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))) 16)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)) -1)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))) 32)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) 64)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 y 2) (*.f64 z -2))))))) 128)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(pow.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) 1)
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(neg.f64 (*.f64 (pow.f64 y 2) (*.f64 z 1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 y 2) z))
(*.f64 (pow.f64 y 2) (*.f64 -1/2 z))
(-.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 0)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 1 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 1/2)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 4 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 1/4)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 1/2 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1/2) 2)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 1/4 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(*.f64 (/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (*.f64 2 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x)))) 2)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4) 4)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)) 8)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))) 16)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))) 32)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) 64)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 4)))))) 128)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))
(pow.f64 (+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 y x))) 1)
(+.f64 z (+.f64 (*.f64 y x) (*.f64 -1/2 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (+.f64 (*.f64 y x) (*.f64 (pow.f64 y 2) (*.f64 -1/2 z))))

eval53.0ms (0.4%)

Compiler

Compiled 3512 to 1946 computations (44.6% saved)

prune119.0ms (0.9%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2445249
Fresh000
Picked101
Done224
Total2477254
Error
0.1b
Counts
254 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
30.2b
(+.f64 (*.f64 y x) z)
0.1b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
37.9b
(*.f64 (sin.f64 y) x)
24.6b
(*.f64 (cos.f64 y) z)
52.7b
(*.f64 y x)
14.7b
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2)))))
38.9b
z
Compiler

Compiled 59 to 41 computations (30.5% saved)

localize18.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 49 to 27 computations (44.9% saved)

series4.0ms (0%)

Counts
3 → 96
Calls

24 calls:

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

rewrite241.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1704×rational.json-1
1704×rational.json-2
1704×rational.json-3
1012×rational.json-simplify-35
988×exponential.json-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01269
18469
218669
337963
476163
5187063
6428863
7703463
Stop Event
node limit
Counts
3 → 53
Calls
Call 1
Inputs
(*.f64 (sin.f64 y) (*.f64 x 2))
(+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))
(+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) x) (*.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 y) x) 16) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 z (*.f64 (sin.f64 y) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z 1/2) (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z 4) (*.f64 (sin.f64 y) (*.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)))))

simplify247.0ms (1.9%)

Algorithm
egg-herbie
Rules
2054×rational.json-simplify-1
2044×rational.json-simplify-35
1618×rational.json-simplify-2
990×rational.json-simplify-51
976×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01423589
13173283
27043283
318653241
441073241
549363241
652253241
754953241
860483241
969693241
1078573241
Stop Event
node limit
Counts
149 → 111
Calls
Call 1
Inputs
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 -1/2520 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(*.f64 2 (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(*.f64 2 (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
z
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
z
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
z
(+.f64 (*.f64 2 (*.f64 y x)) z)
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
z
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(*.f64 2 (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(*.f64 2 (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)
(+.f64 0 (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (sin.f64 y) x))
(-.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1)
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 2)
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 4)
(/.f64 (*.f64 (*.f64 (sin.f64 y) x) 16) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)))) 64)
(pow.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1)
(-.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 0)
(*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x)))
(*.f64 2 (+.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) (*.f64 z 1/2)))
(*.f64 2 (+.f64 (*.f64 z 1/2) (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2))))
(*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)
(*.f64 1 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))))
(*.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 1/2)
(*.f64 4 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))))
(*.f64 1/2 (+.f64 (*.f64 z 4) (*.f64 (sin.f64 y) (*.f64 x 4))))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))))
(*.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2)
(*.f64 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) 4)
(/.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)
(/.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 2)
(/.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 4)
(/.f64 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)))) 64)
(pow.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)
(-.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 0)
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)))
(*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)
(*.f64 1 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z))
(*.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))
(*.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 1/4)
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))))
(*.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))
(*.f64 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)
(/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)
(/.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 2)
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)))) 64)
(pow.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)
Outputs
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 3) (*.f64 x -1/3)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 x (*.f64 (pow.f64 y 3) -1/3)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 x (*.f64 -1/3 (pow.f64 y 3))))
(*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 2 y)))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 3) (*.f64 x -1/3))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (*.f64 x (*.f64 1/60 (pow.f64 y 5)))))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 5) (*.f64 x 1/60))))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y))))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/3 (pow.f64 y 3)))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 -1/2520 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) (*.f64 -1/2520 (*.f64 x (pow.f64 y 7))))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (+.f64 (*.f64 x (*.f64 1/60 (pow.f64 y 5))) (*.f64 x (*.f64 -1/2520 (pow.f64 y 7))))))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 5) (*.f64 x 1/60))) (*.f64 (pow.f64 y 7) (*.f64 x -1/2520))))
(+.f64 (*.f64 x (+.f64 (*.f64 -1/2520 (pow.f64 y 7)) (*.f64 -1/3 (pow.f64 y 3)))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y))))
(+.f64 (*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 -1/2520 (pow.f64 y 7)))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y))))
(+.f64 (*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 2 y))) (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/2520 (pow.f64 y 7)))))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 z (*.f64 y x)))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) (*.f64 2 z)))
(+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (*.f64 2 (+.f64 z (*.f64 y x))))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (*.f64 2 (+.f64 (*.f64 y x) z)))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 2 z) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 2 z) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 2 (*.f64 y x)) (*.f64 (pow.f64 y 3) (*.f64 x -1/3)))))
(+.f64 (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (*.f64 x (*.f64 1/60 (pow.f64 y 5)))) (*.f64 2 (+.f64 z (*.f64 y x))))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) (*.f64 (pow.f64 y 5) (*.f64 x 1/60))))
(+.f64 (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/3 (pow.f64 y 3)))) (*.f64 2 (+.f64 (*.f64 y x) z)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) (*.f64 2 z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
z
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
z
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
z
(+.f64 (*.f64 2 (*.f64 y x)) z)
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) z))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) z))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (*.f64 2 (*.f64 y x)) z))
(+.f64 (*.f64 x (+.f64 (*.f64 -1/3 (pow.f64 y 3)) (*.f64 2 y))) z)
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 1/60 (*.f64 (pow.f64 y 5) x)) (+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/60)) (+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/3)) z)))
(+.f64 (*.f64 2 (*.f64 y x)) (+.f64 (*.f64 x (*.f64 (pow.f64 y 3) -1/3)) (+.f64 z (*.f64 x (*.f64 1/60 (pow.f64 y 5))))))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 (+.f64 (*.f64 2 (*.f64 y x)) z) (*.f64 (pow.f64 y 5) (*.f64 x 1/60))))
(+.f64 (*.f64 x (*.f64 -1/3 (pow.f64 y 3))) (+.f64 z (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y)))))
(+.f64 (*.f64 x (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 -1/3 (pow.f64 y 3)))) (+.f64 (*.f64 2 (*.f64 y x)) z))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
z
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 2 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 2 (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 0 (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(-.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 0)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 2)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 4)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(/.f64 (*.f64 (*.f64 (sin.f64 y) x) 16) 8)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)) 16)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) 32)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (sin.f64 y) x) 16)))) 64)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(pow.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 1)
(*.f64 (sin.f64 y) (*.f64 x 2))
(*.f64 2 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) (+.f64 x x))
(-.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 0)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 (+.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) (*.f64 z 1/2)))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 2 (+.f64 (*.f64 z 1/2) (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2))))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 1 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 1/2)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 4 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 1/4)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 1/2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 1/2 (+.f64 (*.f64 z 4) (*.f64 (sin.f64 y) (*.f64 x 4))))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 1/4 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(*.f64 (/.f64 (+.f64 z (*.f64 (sin.f64 y) x)) 2) 4)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x))) 2)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (*.f64 2 (*.f64 4 (+.f64 z (*.f64 (sin.f64 y) x)))) 4)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8) 8)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)) 16)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) 32)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 8)))) 64)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(pow.f64 (*.f64 2 (+.f64 z (*.f64 (sin.f64 y) x))) 1)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) z))
(-.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 0)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 2 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)))
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z 1/2)))
(*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 1 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 1/2)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 4 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 1/4)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (+.f64 (*.f64 (sin.f64 y) x) (*.f64 z 1/2)) 2)
(*.f64 2 (+.f64 (*.f64 x (sin.f64 y)) (*.f64 z 1/2)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(*.f64 (/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(/.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(/.f64 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 4)))) 2)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 4) 4)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(/.f64 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8) 8)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)) 16)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) 32)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 8)))) 64)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))
(pow.f64 (+.f64 (*.f64 (sin.f64 y) (+.f64 x x)) z) 1)
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 2)) z)
(+.f64 (*.f64 2 (*.f64 x (sin.f64 y))) z)
(+.f64 z (*.f64 (sin.f64 y) (+.f64 x x)))

localize3.0ms (0%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 11 to 5 computations (54.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite116.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1604×rational.json-simplify-35
1330×exponential.json-3
1330×rational.json-1
1330×rational.json-2
1330×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14711
211311
324711
448211
5109611
6223711
7364211
8482611
9674311
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 y) z) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 y) z) 1)))))

simplify393.0ms (3%)

Algorithm
egg-herbie
Rules
1802×rational.json-simplify-35
1764×rational.json-simplify-2
1544×rational.json-simplify-53
1306×rational.json-simplify-1
1208×rational.json-simplify-42
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
064390
1156390
2305390
3611378
41963378
53765378
64320378
74496378
84649378
94820378
105005378
116279378
127314378
137739378
147785378
157790378
167794378
Stop Event
node limit
Counts
26 → 33
Calls
Call 1
Inputs
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) 0)
(+.f64 0 (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(-.f64 (*.f64 (cos.f64 y) z) 0)
(/.f64 (*.f64 (cos.f64 y) z) 1)
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 8)
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))))) 256)
(pow.f64 (*.f64 (cos.f64 y) z) 1)
Outputs
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 z (*.f64 -1/2 (*.f64 z (pow.f64 y 2))))
(+.f64 z (*.f64 z (*.f64 (pow.f64 y 2) -1/2)))
(+.f64 z (*.f64 z (*.f64 -1/2 (pow.f64 y 2))))
(+.f64 z (*.f64 (pow.f64 y 2) (*.f64 z -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 z (+.f64 (*.f64 1/24 (*.f64 z (pow.f64 y 4))) (*.f64 -1/2 (*.f64 z (pow.f64 y 2)))))
(+.f64 z (+.f64 (*.f64 z (*.f64 (pow.f64 y 2) -1/2)) (*.f64 (pow.f64 y 4) (*.f64 z 1/24))))
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (*.f64 (pow.f64 y 4) (*.f64 z 1/24))))
(+.f64 z (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/2 (pow.f64 y 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (+.f64 (+.f64 z (*.f64 1/24 (*.f64 z (pow.f64 y 4)))) (*.f64 -1/720 (*.f64 z (pow.f64 y 6)))))
(+.f64 z (+.f64 (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 6) (*.f64 z -1/720))) (*.f64 z (*.f64 (pow.f64 y 2) -1/2))))
(+.f64 z (+.f64 (*.f64 z (*.f64 -1/2 (pow.f64 y 2))) (+.f64 (*.f64 (pow.f64 y 4) (*.f64 z 1/24)) (*.f64 (pow.f64 y 6) (*.f64 z -1/720)))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4))))))
(+.f64 z (+.f64 (*.f64 (pow.f64 y 2) (*.f64 z -1/2)) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))))
(+.f64 z (+.f64 (*.f64 -1/2 (*.f64 z (pow.f64 y 2))) (*.f64 z (+.f64 (*.f64 1/24 (pow.f64 y 4)) (*.f64 -1/720 (pow.f64 y 6))))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 z (cos.f64 y))
(+.f64 0 (*.f64 (cos.f64 y) z))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) (*.f64 z 1/2)) (*.f64 (cos.f64 y) (*.f64 z 1/2)))
(*.f64 z (cos.f64 y))
(-.f64 (*.f64 (cos.f64 y) z) 0)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 (cos.f64 y) (+.f64 z z)) 2)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 4)) 4)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 (cos.f64 y) (*.f64 z 8)) 8)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))) 16)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))) 32)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))) 64)
(*.f64 z (cos.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) 128)
(*.f64 z (cos.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 y) (*.f64 z 8))))))) 256)
(*.f64 z (cos.f64 y))
(pow.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 z (cos.f64 y))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 11 to 5 computations (54.5% saved)

series0.0ms (0%)

Counts
1 → 4
Calls

6 calls:

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

rewrite85.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
14911
212111
325111
448911
5112011
6320111
7671611
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (sin.f64 y) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 y) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 (sin.f64 y) (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (sin.f64 y) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 y) x) 1)))))

simplify223.0ms (1.7%)

Algorithm
egg-herbie
Rules
2464×rational.json-simplify-2
1614×rational.json-simplify-35
1318×rational.json-simplify-53
934×rational.json-simplify-1
862×rational.json-simplify-48
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060304
1142304
2272286
3548274
41713274
53182274
63820274
74020274
84491274
95350274
105789274
116670274
127897274
Stop Event
node limit
Counts
16 → 30
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 (sin.f64 y) x) 0)
(+.f64 0 (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 (sin.f64 y) (*.f64 x 1/2)))
(-.f64 (*.f64 (sin.f64 y) x) 0)
(/.f64 (*.f64 (sin.f64 y) x) 1)
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 8)
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))))) 64)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
Outputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))
(+.f64 (*.f64 y x) (*.f64 x (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 1/120 (*.f64 x (pow.f64 y 5)))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 1/120 (*.f64 x (pow.f64 y 5))) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) (*.f64 -1/5040 (*.f64 x (pow.f64 y 7))))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 (pow.f64 y 5) (*.f64 x 1/120)) (+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (*.f64 (pow.f64 y 7) -1/5040)))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (+.f64 (*.f64 x (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))) (*.f64 (pow.f64 y 5) (*.f64 x 1/120))))
(+.f64 (*.f64 (pow.f64 y 3) (*.f64 x -1/6)) (*.f64 x (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7))))))
(+.f64 (*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (*.f64 1/120 (pow.f64 y 5)))))
(+.f64 (*.f64 x (*.f64 -1/6 (pow.f64 y 3))) (*.f64 x (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (+.f64 y (*.f64 1/120 (pow.f64 y 5))))))
(+.f64 (*.f64 (sin.f64 y) x) 0)
(*.f64 x (sin.f64 y))
(+.f64 0 (*.f64 (sin.f64 y) x))
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 (sin.f64 y) (*.f64 x 1/2)) (*.f64 (sin.f64 y) (*.f64 x 1/2)))
(*.f64 x (sin.f64 y))
(-.f64 (*.f64 (sin.f64 y) x) 0)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) (+.f64 x x)) 2)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 4)) 4)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) (*.f64 x 8)) 8)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))) 16)
(*.f64 x (sin.f64 y))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) 32)
(*.f64 x (sin.f64 y))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8)))) (*.f64 2 (*.f64 2 (*.f64 (sin.f64 y) (*.f64 x 8))))) 64)
(*.f64 x (sin.f64 y))
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 x (sin.f64 y))

eval45.0ms (0.4%)

Compiler

Compiled 2845 to 1760 computations (38.1% saved)

prune28.0ms (0.2%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New1731174
Fresh011
Picked011
Done145
Total1747181
Error
0.1b
Counts
181 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
30.2b
(+.f64 (*.f64 y x) z)
0.1b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
37.9b
(*.f64 (sin.f64 y) x)
24.6b
(*.f64 (cos.f64 y) z)
52.7b
(*.f64 y x)
30.2b
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z)))
38.9b
z
Compiler

Compiled 58 to 40 computations (31% saved)

localize13.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 43 to 21 computations (51.2% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

15 calls:

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

rewrite229.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
2288×rational.json-simplify-35
1574×rational.json-simplify-1
1224×rational.json-1
1224×rational.json-2
1224×rational.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01038
17038
215332
330332
459032
5147532
6310632
7479832
8602432
9693132
10694732
11694732
12729532
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(*.f64 2 (*.f64 y x))
(+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y x) (*.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 2 (*.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 y (*.f64 x 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 y x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 y (*.f64 x 8)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 y x)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 16 (*.f64 y x))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (*.f64 y x)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 y x) z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (+.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 y x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 4 (+.f64 (*.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) z) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 y x) z) 2) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)))))

simplify526.0ms (4.1%)

Algorithm
egg-herbie
Rules
4968×rational.json-simplify-41
2146×rational.json-simplify-35
1622×rational.json-simplify-2
910×rational.json-simplify-51
774×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0881551
12101251
24991251
315271251
433691251
543801251
646011251
747581251
848651251
949581251
1050501251
1152451251
1253481251
1354511251
1454511251
Stop Event
node limit
Counts
75 → 43
Calls
Call 1
Inputs
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 y x) (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) 0)
(+.f64 0 (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 y (*.f64 x 3/2)))
(+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2)))
(-.f64 (*.f64 2 (*.f64 y x)) 0)
(/.f64 (*.f64 2 (*.f64 y x)) 1)
(/.f64 (*.f64 y (*.f64 x 4)) 2)
(/.f64 (*.f64 y (*.f64 x 8)) 4)
(/.f64 (*.f64 16 (*.f64 y x)) 8)
(/.f64 (*.f64 2 (*.f64 16 (*.f64 y x))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))))) 256)
(pow.f64 (*.f64 2 (*.f64 y x)) 1)
(-.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 0)
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)
(*.f64 1 (*.f64 2 (+.f64 (*.f64 y x) z)))
(*.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) z) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/4)
(*.f64 1/2 (*.f64 4 (+.f64 (*.f64 y x) z)))
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)))
(*.f64 (+.f64 (*.f64 y x) z) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 8))
(*.f64 (/.f64 (+.f64 (*.f64 y x) z) 2) 4)
(*.f64 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)) 1/2)
(/.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)
(/.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 4)
(/.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) 128)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))))) 256)
(pow.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)
Outputs
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 z)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 z) (*.f64 2 (*.f64 y x)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 y x) (*.f64 y x))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 2 (*.f64 y x)) 0)
(*.f64 2 (*.f64 y x))
(+.f64 0 (*.f64 2 (*.f64 y x)))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 y (*.f64 x 1/2)) (*.f64 y (*.f64 x 3/2)))
(*.f64 2 (*.f64 y x))
(+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2)))
(*.f64 2 (*.f64 y x))
(-.f64 (*.f64 2 (*.f64 y x)) 0)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 y x)) 1)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 y (*.f64 x 4)) 2)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 y (*.f64 x 8)) 4)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 16 (*.f64 y x)) 8)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 16 (*.f64 y x))) 16)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))) 32)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))) 64)
(*.f64 2 (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) 128)
(*.f64 2 (*.f64 y x))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 16 (*.f64 y x))))))) 256)
(*.f64 2 (*.f64 y x))
(pow.f64 (*.f64 2 (*.f64 y x)) 1)
(*.f64 2 (*.f64 y x))
(-.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 0)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 1 (*.f64 2 (+.f64 (*.f64 y x) z)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 1/2)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 4 (/.f64 (+.f64 (*.f64 y x) z) 2))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 1/4)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 1/2 (*.f64 4 (+.f64 (*.f64 y x) z)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 1/2 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 (+.f64 (*.f64 y x) z) 2)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) z) 8))
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 (/.f64 (+.f64 (*.f64 y x) z) 2) 4)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(*.f64 (+.f64 (*.f64 y (*.f64 x 4)) (*.f64 z 4)) 1/2)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 4 (+.f64 (*.f64 y x) z)) 2)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 (+.f64 (*.f64 y x) z) 8) 4)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8) 8)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)) 16)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))) 32)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))) 64)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) 128)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 8)))))) 256)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))
(pow.f64 (*.f64 2 (+.f64 (*.f64 y x) z)) 1)
(+.f64 (*.f64 2 (*.f64 y x)) (*.f64 2 z))
(*.f64 2 (+.f64 (*.f64 y x) z))

eval10.0ms (0.1%)

Compiler

Compiled 606 to 394 computations (35% saved)

prune12.0ms (0.1%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New42143
Fresh011
Picked011
Done055
Total42850
Error
0.1b
Counts
50 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
30.2b
(+.f64 (*.f64 y x) z)
0.1b
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
37.9b
(*.f64 (sin.f64 y) x)
24.6b
(*.f64 (cos.f64 y) z)
52.7b
(*.f64 y x)
30.2b
(*.f64 1/2 (+.f64 z (+.f64 (+.f64 (*.f64 y (*.f64 x 3/2)) (*.f64 y (*.f64 x 1/2))) z)))
30.2b
(*.f64 1/2 (+.f64 z (+.f64 (*.f64 2 (*.f64 y x)) z)))
38.9b
z
Compiler

Compiled 78 to 54 computations (30.8% saved)

regimes37.0ms (0.3%)

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

4 calls:

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

Compiled 120 to 61 computations (49.2% saved)

regimes94.0ms (0.7%)

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

3 calls:

34.0ms
z
32.0ms
y
25.0ms
x
Results
ErrorSegmentsBranch
5.5b3x
8.7b5y
7.1b3z
Compiler

Compiled 99 to 52 computations (47.5% saved)

bsearch58.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
5.053843011193707e+61
8.348537531282851e+61
41.0ms
-3.204835188873037e-91
-1.6165842927581834e-102
Results
25.0ms57×body1024valid
21.0ms139×body256valid
8.0ms28×body512valid
Compiler

Compiled 330 to 245 computations (25.8% saved)

regimes79.0ms (0.6%)

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

3 calls:

27.0ms
x
26.0ms
y
22.0ms
z
Results
ErrorSegmentsBranch
5.6b3x
8.7b5y
7.1b3z
Compiler

Compiled 74 to 39 computations (47.3% saved)

bsearch52.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
5.053843011193707e+61
8.348537531282851e+61
38.0ms
-3.204835188873037e-91
-1.6165842927581834e-102
Results
26.0ms162×body256valid
17.0ms41×body1024valid
6.0ms21×body512valid
Compiler

Compiled 270 to 195 computations (27.8% saved)

regimes82.0ms (0.6%)

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

3 calls:

33.0ms
z
28.0ms
y
19.0ms
x
Results
ErrorSegmentsBranch
11.0b3x
9.2b6y
12.6b7z
Compiler

Compiled 60 to 35 computations (41.7% saved)

bsearch196.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
80.0ms
2.315829213662888e+189
2.1677701931159204e+209
21.0ms
0.0001673401896680197
7.690939866672559
28.0ms
-0.003422578037935901
-1.3298643990163413e-14
45.0ms
-7.704874662714785e+84
-1.8729048674612314e+75
21.0ms
-4.103699330492612e+189
-2.9939001924919907e+189
Results
98.0ms224×body1024valid
46.0ms288×body256valid
42.0ms144×body512valid
Compiler

Compiled 692 to 505 computations (27% saved)

regimes43.0ms (0.3%)

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

3 calls:

15.0ms
z
13.0ms
x
13.0ms
y
Results
ErrorSegmentsBranch
18.0b3x
15.2b3y
17.7b3z
Compiler

Compiled 56 to 33 computations (41.1% saved)

bsearch31.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
3.0ms
5.893632056097838e-14
6.344751712011336e-14
28.0ms
-0.003422578037935901
-1.3298643990163413e-14
Results
29.0ms176×body256valid
Compiler

Compiled 205 to 145 computations (29.3% saved)

regimes16.0ms (0.1%)

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

3 calls:

5.0ms
x
4.0ms
z
4.0ms
y
Results
ErrorSegmentsBranch
30.2b1x
30.2b1y
30.2b1z
Compiler

Compiled 52 to 31 computations (40.4% saved)

regimes26.0ms (0.2%)

Accuracy

Total -28.3b remaining (-83.3%)

Threshold costs -28.3b (-83.3%)

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

3 calls:

11.0ms
x
11.0ms
z
3.0ms
y
Results
ErrorSegmentsBranch
34.1b4x
38.9b1y
33.9b3z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch64.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
33.0ms
1.7137137094964654e-164
1.040141712217307e-161
31.0ms
-2.985703867875477e-185
-7.716168248865292e-188
Results
27.0ms62×body1024valid
26.0ms167×body256valid
8.0ms27×body512valid
Compiler

Compiled 210 to 157 computations (25.2% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065378
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(if (<=.f64 x -2660458394548483/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) (if (<=.f64 x 59999999999999999817723503236360894134390639559794877150527488) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z)))
(if (<=.f64 x -3170532486744675/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (+.f64 (*.f64 x (sin.f64 y)) z) (if (<=.f64 x 51000000000000000986863131915674664860860819185421754684145664) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z)))
(if (<=.f64 y -3499999999999999957160618822890283391003173277157352446441301472936027706846573864581553735771894078729537818412382514889261452387905887598383586854912310666219032459116640812352997269962752) (*.f64 (cos.f64 y) z) (if (<=.f64 y -57999999999999998435749346502495219922922977430039984493490115914787391356796928) (*.f64 (sin.f64 y) x) (if (<=.f64 y -4150517416584649/18446744073709551616) (*.f64 (cos.f64 y) z) (if (<=.f64 y 8070450532247929/1152921504606846976) (+.f64 (*.f64 y x) z) (if (<=.f64 y 54000000000000000752366127399475995521206222102697380802987789017937798414564603012956686817805606759349446691179873027421013414077058490668575536085796850093357387094331989199770655871991808) (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))))))
(if (<=.f64 y -2674777890687885/9223372036854775808) (*.f64 (cos.f64 y) z) (if (<=.f64 y 4912146075884389/79228162514264337593543950336) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) z)
(if (<=.f64 z -3674162482993007/2449441655328671218473925200700819802261115891310932980616707775308160183158275122807205904404441104841876294862561960570988912251863537292521360689146388717906188066642938460312627143172697498123763712) z (if (<=.f64 z 4943758783237121/4052261297735344686047273304385899561535592023674254785152009111026028136145418111718463914987406049109568248643848426935932764722081811824108276205189417663145685354884286644224) (*.f64 y x) z))
z
Outputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(if (<=.f64 x -2660458394548483/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) (*.f64 1/2 (+.f64 z (+.f64 z (*.f64 (sin.f64 y) (*.f64 x 2))))) (if (<=.f64 x 59999999999999999817723503236360894134390639559794877150527488) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z)))
(if (<=.f64 x -3170532486744675/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (+.f64 (*.f64 x (sin.f64 y)) z) (if (<=.f64 x 51000000000000000986863131915674664860860819185421754684145664) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z)))
(if (<=.f64 y -3499999999999999957160618822890283391003173277157352446441301472936027706846573864581553735771894078729537818412382514889261452387905887598383586854912310666219032459116640812352997269962752) (*.f64 (cos.f64 y) z) (if (<=.f64 y -57999999999999998435749346502495219922922977430039984493490115914787391356796928) (*.f64 (sin.f64 y) x) (if (<=.f64 y -4150517416584649/18446744073709551616) (*.f64 (cos.f64 y) z) (if (<=.f64 y 8070450532247929/1152921504606846976) (+.f64 (*.f64 y x) z) (if (<=.f64 y 54000000000000000752366127399475995521206222102697380802987789017937798414564603012956686817805606759349446691179873027421013414077058490668575536085796850093357387094331989199770655871991808) (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))))))
(if (<=.f64 y -2674777890687885/9223372036854775808) (*.f64 (cos.f64 y) z) (if (<=.f64 y 4912146075884389/79228162514264337593543950336) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) z)
(if (<=.f64 z -3674162482993007/2449441655328671218473925200700819802261115891310932980616707775308160183158275122807205904404441104841876294862561960570988912251863537292521360689146388717906188066642938460312627143172697498123763712) z (if (<=.f64 z 4943758783237121/4052261297735344686047273304385899561535592023674254785152009111026028136145418111718463914987406049109568248643848426935932764722081811824108276205189417663145685354884286644224) (*.f64 y x) z))
z
Compiler

Compiled 172 to 98 computations (43% saved)

soundness0.0ms (0%)

end55.0ms (0.4%)

Compiler

Compiled 151 to 59 computations (60.9% saved)

Profiling

Loading profile data...